:root{--navy:#0b2f4a;--sea:#1f9ad6;--sky:#29a9e1;--sand:#f7f3ea;--coral:#ff5a5f;--coral2:#e0484d;--ink:#1d2733;--mut:#5b6875;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}a{color:var(--sea)}h1,h2,h3{line-height:1.15;color:var(--navy);margin:0 0 .5em}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.15rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);box-shadow:0 1px 0 #e6ecf1;backdrop-filter:blur(6px)}.hdr .wrap{display:flex;align-items:center;gap:20px;height:70px}
.logo img{width:170px;height:auto}.mainnav{display:flex;gap:18px;margin-left:auto;font-weight:600;font-size:.95rem}.mainnav a{color:var(--navy);text-decoration:none}.mainnav a:hover,.mainnav a[aria-current]{color:var(--sea)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:.15s;white-space:nowrap;cursor:pointer}
.btn.book{background:var(--coral);color:#fff}.btn.book:hover{background:var(--coral2);transform:translateY(-1px)}.btn.ghost{border-color:var(--navy);color:var(--navy);background:#fff}.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.light{background:rgba(255,255,255,.95);color:var(--navy)}.btn.call{background:var(--navy);color:#fff}.btn.big{padding:15px 26px;font-size:1.05rem}.btn.block{display:flex;width:100%;margin:8px 0}
.hero,.phero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--navy)}.hero.short{min-height:min(70vh,600px)}
.hero>img,.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(5,25,40,.78))}
.htext{position:relative;padding-top:120px;padding-bottom:56px;width:100%}.htext h1{color:#fff;font-size:clamp(2rem,5.2vw,3.7rem);max-width:900px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.tag{font-size:clamp(1.05rem,2vw,1.3rem);max-width:760px;margin:.2em 0 1em;text-shadow:0 1px 8px rgba(0,0,0,.4)}.kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.85rem;opacity:.95}
.hbtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.trust{display:flex;flex-wrap:wrap;gap:22px;list-style:none;padding:0;margin:26px 0 0;font-size:.98rem}.trust b{font-size:1.15rem}
.rating{display:inline-block;background:#fff;color:var(--ink);padding:5px 12px;border-radius:999px;font-weight:700;font-size:.92rem;text-decoration:none}.htext .rating{margin:.2em 0}
.badge{position:absolute;top:14px;left:14px;background:#ffd166;color:#4a3500;padding:6px 12px;border-radius:999px;font-weight:800;font-size:.85rem}.badge.lg{position:static;display:inline-block;margin-bottom:10px;font-size:1rem}
.crumbs{font-size:.88rem;margin-bottom:14px}.htext .crumbs{text-shadow:0 1px 6px rgba(0,0,0,.7);font-weight:600}.crumbs a{color:#fff}.phead .crumbs a{color:var(--sea)}.crumbs span{margin:0 4px}
.sec{padding:56px 0}.alt{background:var(--sand)}.lead{color:var(--mut);font-size:1.1rem;max-width:760px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 28px rgba(11,47,74,.12);display:flex;flex-direction:column}
.card.big{grid-column:1/-1;flex-direction:row}.card.big .cimg{flex:1.5}.card.big .cbody{flex:1;align-self:center}
.cimg{position:relative;display:block;overflow:hidden;aspect-ratio:3/2}.card.big .cimg{aspect-ratio:auto;min-height:420px}.cimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .cimg img{transform:scale(1.04)}
.cbody{padding:22px 24px 24px}.cbody h3{font-size:1.35rem}.cbody h3 a{color:var(--navy);text-decoration:none}.loc{margin:0;color:var(--sea);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}
.facts{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:10px 0;color:var(--mut);font-size:.95rem}.facts b{color:var(--ink)}
.crow .rating{background:var(--sand);padding:4px 10px}.cbtns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ph-ocean{width:100%;height:100%;min-height:260px;background:linear-gradient(160deg,#0e6ba8 0%,#29a9e1 55%,#bfe6f7 56%,#f3e3c3 100%);display:flex;align-items:flex-end;padding:18px}.ph-ocean span{color:#fff;font-weight:800;font-size:1.2rem;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.phero.ocean{background:linear-gradient(165deg,#083a5e 0%,#0e6ba8 45%,#29a9e1 70%,#e9d7b1 71%,#f6ecd7 100%);min-height:560px}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.why div{background:#fff;border-radius:var(--r);padding:22px;box-shadow:0 3px 14px rgba(11,47,74,.07)}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:20px 0}.rev{margin:0;background:#fff;border:1px solid #e6ecf1;border-radius:var(--r);padding:20px}.rev .st{color:#f5a623;letter-spacing:2px}.rev blockquote{margin:8px 0 12px;font-size:1.02rem}.rev figcaption{color:var(--mut);font-size:.9rem}
.guides{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.guides a{background:#fff;border-radius:var(--r);padding:20px;text-decoration:none;color:var(--ink);box-shadow:0 3px 14px rgba(11,47,74,.07)}.guides strong{display:block;color:var(--navy);font-size:1.1rem}.guides span{color:var(--mut);font-size:.93rem}
.faq details{border-bottom:1px solid #e3e9ee;padding:14px 0}.faq summary{font-weight:700;cursor:pointer;color:var(--navy);font-size:1.05rem}.faq p{margin:.6em 0 0;color:#3b4855}
.cta{background:linear-gradient(135deg,var(--navy),#0e6ba8);color:#fff;text-align:center;padding:64px 0}.cta h2{color:#fff}
.pgrid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}.bookcard{position:sticky;top:90px;margin-top:40px;background:#fff;border-radius:var(--r);padding:22px;box-shadow:0 10px 36px rgba(11,47,74,.18);border:1px solid #e6ecf1}
.bk-t{font-weight:800;color:var(--navy);font-size:1.2rem;margin:0 0 6px}.bookcard .rating{background:var(--sand)}.small{font-size:.88rem;color:var(--mut)}
.hl{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.hl li{background:var(--sand);border-radius:12px;padding:16px}.hl strong{display:block;color:var(--navy)}.hl span{color:#3b4855;font-size:.95rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:10px;margin-top:18px}.gallery .g{display:block;overflow:hidden;border-radius:10px}.gallery .g img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery .g:hover img{transform:scale(1.05)}.gallery .g0{grid-column:span 2;grid-row:span 2}.gallery .gw{grid-column:span 2}
.more{margin-top:12px}.ctabar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;background:var(--navy);color:#fff;border-radius:var(--r);padding:18px 22px;margin-top:28px}.ctabar p{margin:0}.ctabar .rating{margin-left:8px}.ctabar .btn.ghost{background:transparent;color:#fff;border-color:#fff}.ctabar .btn.call{background:#fff;color:var(--navy)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}.sleep{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.sleep li{border:1px solid #e3e9ee;border-radius:12px;padding:14px}.sleep strong{display:block;color:var(--navy)}
.amen{columns:3 260px;column-gap:30px}.ag{break-inside:avoid;margin-bottom:18px}.ag h3{font-size:1rem;margin-bottom:.3em}.ag ul{margin:0;padding-left:18px;color:#3b4855}
.note{background:#fff7dc;border:1px solid #f3d98b;border-radius:12px;padding:16px}
.phead{background:var(--sand);padding:46px 0 30px}.phead h1{font-size:clamp(1.9rem,4vw,2.8rem)}.phead .tag{text-shadow:none;color:var(--mut)}
.contactbox{background:var(--sand);border-radius:var(--r);padding:28px}.bigtel{font-size:2.2rem;font-weight:800;margin:.2em 0}.bigtel a{color:var(--navy);text-decoration:none}.links li{margin:6px 0}
footer{background:#08243a;color:#c9d6e0;padding:50px 0 20px;margin-top:0}.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}footer strong{display:block;color:#fff;margin:0 0 8px}footer a{display:block;color:#c9d6e0;text-decoration:none;margin:4px 0}footer a:hover{color:#fff}footer img{width:190px;margin-bottom:10px}.legal{font-size:.82rem;opacity:.75;margin-top:26px}
.mbar{display:none}
#lb{position:fixed;inset:0;background:rgba(5,15,25,.94);z-index:100;display:none;align-items:center;justify-content:center}#lb.on{display:flex}#lb img{max-width:94vw;max-height:84vh;width:auto;border-radius:6px}#lb p{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#fff;margin:0;font-size:.95rem}
#lb button{position:absolute;background:rgba(255,255,255,.15);color:#fff;border:0;font-size:2rem;width:54px;height:54px;border-radius:50%;cursor:pointer}#lb .x{top:16px;right:16px}#lb .pv{left:14px;top:50%}#lb .nx{right:14px;top:50%}
@media (max-width:980px){.mainnav{display:none}.pgrid{grid-template-columns:1fr}.bookcard{display:none}.why,.guides{grid-template-columns:1fr 1fr}.card.big{flex-direction:column}.card.big .cimg{min-height:0;aspect-ratio:3/2}}
@media (max-width:700px){.cards,.two,.hl,.fgrid{grid-template-columns:1fr}.why,.guides{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.gallery .gw{grid-column:auto}.gallery .modd{display:none}.logo img{width:140px}.hdr .btn.call{padding:8px 12px;font-size:.9rem}
 .hero,.phero{min-height:78vh}.sec{padding:40px 0}.prop .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.15)}.mbar .btn.book{flex:1}.mbar .badge{position:static;flex:1;text-align:center;padding:12px}.prop footer{padding-bottom:90px}}

@media(min-width:1440px){html{zoom:1.12}}@media(min-width:1700px){html{zoom:1.25}}@media(min-width:2200px){html{zoom:1.45}}
