:root{--navy:#0a3d62;--navy-dark:#062945;--navy-mid:#124f7d;--accent:#2f9bd6;--accent-dark:#1c7fb3;--sky:#8ecbe8;--sky-tint:#eaf6fc;--ink:#0d2436;--text:#4a6178;--line:#d7e6f0;--soft:#f2f8fc;--white:#fff;--shadow:0 14px 40px rgba(6,41,69,.11);--montserrat:"Montserrat",Arial,sans-serif;--lato:"Lato",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--lato);font-size:16px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}h1,h2,h3,.btn,.navlinks,.eyebrow,strong{font-family:var(--montserrat)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.6rem,5vw,4.6rem);letter-spacing:-.04em;line-height:1.04;font-weight:700}h2{font-size:clamp(1.9rem,3.3vw,3rem);letter-spacing:-.03em;line-height:1.1;font-weight:700}h3{font-size:1.15rem;line-height:1.3;font-weight:700}p{color:var(--text);line-height:1.65}.section{padding:72px 0}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}.eyebrow:before{content:"";display:block;width:34px;height:2px;background:var(--accent)}.eyebrow.light{color:#eaf5fc}.eyebrow.centered{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 22px;border:1px solid transparent;border-radius:5px;font-size:.87rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 9px 22px rgba(47,155,214,.28)}.btn-primary:hover{background:var(--accent-dark)}.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(6,41,69,.35)}.btn-outline{border-color:#bcd3e2;background:#fff;color:var(--navy)}.btn-outline:hover{border-color:var(--accent)}.btn-block{width:100%}.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--accent-dark);font-family:var(--montserrat);font-size:.86rem;font-weight:700}.center-heading{text-align:center;max-width:820px;margin:0 auto 36px}.center-heading p{font-size:1.06rem;margin-bottom:0}.reveal{animation:rise .7s both}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

header{height:76px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(10,61,98,.08);backdrop-filter:blur(12px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--montserrat);font-weight:700;font-size:1.25rem;color:var(--navy)}.brand span{color:var(--accent)}.navlinks{display:flex;align-items:center;gap:30px;font-size:.83rem;font-weight:600}.navlinks>a:not(.btn){height:76px;display:flex;align-items:center;position:relative}.navlinks>a.active:not(.btn):after,.navlinks>a:not(.btn):hover:after{content:"";position:absolute;left:0;right:0;bottom:16px;height:2px;background:var(--accent)}.menu{display:none;border:0;background:transparent;color:var(--navy);font-size:1.7rem;cursor:pointer}
@media(max-width:900px){.menu{display:block}.navlinks{position:fixed;top:76px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px 26px;gap:2px;box-shadow:0 18px 30px rgba(6,41,69,.12);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.nav.mobile-open .navlinks{opacity:1;pointer-events:auto;transform:none}.navlinks>a:not(.btn){height:auto;padding:13px 4px;border-bottom:1px solid var(--line)}.navlinks>a.active:not(.btn):after,.navlinks>a:not(.btn):hover:after{display:none}.navlinks>.btn{margin-top:10px}}

.hero,.page-hero{position:relative;color:#fff;background-color:var(--navy-dark);background-size:cover;background-position:center}.hero{background-image:linear-gradient(100deg,rgba(6,41,69,.94) 0%,rgba(6,41,69,.78) 45%,rgba(6,41,69,.25) 78%),url('/assets/hero-home.jpg')}.home-hero{min-height:560px;display:flex;align-items:center;padding:60px 0}.hero-copy{max-width:660px}.hero h1{color:#fff;margin-bottom:14px}.hero-lead{font-size:1.35rem;color:#e7f3fa;margin-bottom:24px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.page-hero{min-height:280px;display:flex;align-items:center;padding:56px 0;background-image:linear-gradient(100deg,rgba(6,41,69,.95) 0%,rgba(6,41,69,.8) 48%,rgba(6,41,69,.25) 82%),url('/assets/hero-home.jpg')}.page-hero h1{font-size:clamp(2.3rem,4.3vw,3.6rem);margin-bottom:10px}.page-hero p{color:#eaf5fc;font-size:1.12rem;max-width:640px}

.search-bar{position:relative;z-index:3;margin-top:-46px;padding:0 0 40px}.search-card{background:#fff;border-radius:8px;box-shadow:0 22px 55px rgba(6,41,69,.2);padding:22px;display:grid;grid-template-columns:repeat(5,1fr) auto;gap:14px;align-items:end}.search-card .field{display:flex;flex-direction:column;gap:6px}.search-card label{font-family:var(--montserrat);font-size:.72rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}.search-card input,.search-card select{border:1px solid #cfe1ec;border-radius:5px;padding:11px 12px;color:var(--ink)}.search-card .btn{height:46px}
@media(max-width:1050px){.search-card{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.search-card{grid-template-columns:1fr;padding:18px}}

.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:10px}
@media(max-width:980px){.property-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.property-grid{grid-template-columns:1fr}}
.property-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.property-photo{aspect-ratio:4/3;background:var(--soft);overflow:hidden}.property-photo img{width:100%;height:100%;object-fit:cover}.property-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.property-body h3{margin:0}.property-location{color:var(--text);font-size:.85rem;display:flex;align-items:center;gap:6px}.property-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.78rem;color:var(--text);margin:2px 0}.property-meta span{display:flex;align-items:center;gap:5px}.property-amenities{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 6px}.amenity-pill{background:var(--sky-tint);color:var(--navy);font-size:.68rem;font-weight:700;font-family:var(--montserrat);padding:5px 10px;border-radius:20px}.property-rate{font-family:var(--montserrat);font-weight:700;color:var(--navy);font-size:1.05rem;margin-top:auto}.property-rate small{display:block;font-family:var(--lato);font-weight:400;font-size:.72rem;color:var(--text)}.property-actions{display:flex;gap:10px;margin-top:10px}.property-actions .btn{flex:1;padding:11px 10px;font-size:.8rem}
.empty-state{text-align:center;padding:60px 20px;color:var(--text);background:var(--soft);border-radius:8px}.empty-state h3{color:var(--navy);margin-bottom:8px}

.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,180px);gap:8px;border-radius:8px;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;cursor:pointer}.gallery a:first-child{grid-row:1/3}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:140px 140px}.gallery a:first-child{grid-column:1/3;grid-row:1}.gallery a:nth-child(n+4){display:none}}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;margin-top:34px;align-items:start}.detail-section{padding:26px 0;border-bottom:1px solid var(--line)}.detail-section:first-child{padding-top:0}.detail-section h2{font-size:1.4rem;margin-bottom:14px}.spec-row{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:4px}.spec-row div{display:flex;flex-direction:column}.spec-row strong{font-family:var(--montserrat);font-size:1.15rem;color:var(--navy)}.spec-row small{color:var(--text);font-size:.74rem}
.amenity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px}.amenity-grid div{display:flex;align-items:center;gap:9px;font-size:.88rem;color:var(--ink)}.amenity-grid div:before{content:"✓";color:var(--accent-dark);font-weight:700}
.booking-card{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px rgba(6,41,69,.12);padding:24px}.booking-card .rate{font-family:var(--montserrat);font-weight:700;font-size:1.5rem;color:var(--navy)}.booking-card .rate small{font-family:var(--lato);font-weight:400;font-size:.8rem;color:var(--text)}.booking-card .price-row{display:flex;justify-content:space-between;font-size:.86rem;color:var(--text);padding:9px 0;border-bottom:1px solid var(--line)}.booking-card .price-row.total{font-weight:700;color:var(--ink);border-bottom:0;padding-top:12px}
.mini-cal{margin-top:8px}.mini-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-family:var(--montserrat);font-weight:700;font-size:.85rem;color:var(--navy)}.mini-cal-head button{border:1px solid var(--line);background:#fff;border-radius:4px;width:28px;height:28px;cursor:pointer;color:var(--navy)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-size:.72rem;text-align:center}.cal-grid .dow{color:var(--text);font-weight:700;padding-bottom:4px}.cal-grid .day{padding:6px 0;border-radius:4px;color:var(--ink)}.cal-grid .day.blocked{background:#fbe4e4;color:#a24242;text-decoration:line-through}.cal-grid .day.past{color:#c3cfd8}.cal-grid .day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}

.stay-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
@media(max-width:900px){.stay-type-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.stay-type-grid{grid-template-columns:1fr}}
.stay-type-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:26px}.stay-type-card .icon{width:52px;height:52px;border-radius:50%;background:var(--sky-tint);color:var(--navy);display:grid;place-items:center;font-size:1.4rem;margin-bottom:16px}.stay-type-card h3{margin-bottom:8px}.stay-type-card p{font-size:.88rem;margin:0}

.form-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{color:var(--navy);font-family:var(--montserrat);font-size:.8rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #c9d8e5;border-radius:5px;padding:12px 13px;color:var(--ink);background:#fff}input:focus,select:focus,textarea:focus{outline:3px solid rgba(47,155,214,.15);border-color:var(--accent)}textarea{min-height:120px;resize:vertical}.field-error{color:#b3392f;font-size:.76rem;display:none}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#c0453a}.field.invalid .field-error{display:block}.form-message{display:none;margin-top:16px;padding:14px;border-radius:5px;background:#e7f4fb;color:#0c4f75}.form-message.error{background:#fdecea;color:#9b2c2c}.form-message.show{display:block}
.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.review-item{background:var(--soft);padding:12px}.review-item span{display:block;font-size:.72rem;color:var(--text)}.review-item strong{font-size:.84rem}

footer{padding:46px 0 22px;background:linear-gradient(110deg,var(--navy-dark),var(--navy-mid));color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:30px}.footer-brand p{color:#cfe4f1;font-size:.85rem;margin-top:10px}footer h3{font-size:.82rem;margin:0 0 13px;color:#fff}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a,.footer-contact p{color:#d3e6f1;font-size:.8rem;line-height:1.4;margin:0}.footer-links a:hover{color:var(--sky)}.footer-contact p+p{margin-top:7px}.disclaimer{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:.7rem;line-height:1.6;text-align:center;color:#aecbdb}.copyright{display:flex;justify-content:space-between;gap:20px;margin-top:12px;color:#9cbcce;font-size:.69rem}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.copyright{flex-direction:column;gap:6px}}

.admin-table{width:100%;min-width:900px;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;vertical-align:top;font-size:.8rem;padding:10px 8px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:capitalize;background:#eef3f8;color:var(--navy)}.status-inquiry{background:#fdf1da;color:#a5690b}.status-pending_payment{background:#e1ecf9;color:#1f5aa8}.status-confirmed{background:#d9f5ea;color:#0a7a54}.status-canceled{background:#fbe2e2;color:#a12626}.status-new{background:#e4edf7;color:#1c5a9c}.status-contacted{background:#fdf1da;color:#a5690b}.status-closed{background:#d4f7eb;color:#04664a}
.tab-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.booking-card{position:static}.form-grid{grid-template-columns:1fr}.review-summary{grid-template-columns:1fr}}
