:root{--ink:#1d2a33;--mut:#5b6b75;--bg:#fbfaf7;--alt:#eef2f1;--pri:#1f5d63;--pri2:#16474c;--acc:#c98b3c;--r:14px;--sh:0 6px 24px rgba(20,40,50,.09)}
*{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:var(--bg)}
img{max-width:100%;height:auto;display:block}a{color:var(--pri)}h1,h2,h3{line-height:1.2;font-family:Georgia,"Times New Roman",serif;font-weight:600}h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 .5rem}h3{font-size:1.15rem;margin:.2rem 0 .4rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}.center{text-align:center}.lead{font-size:1.1rem;color:var(--mut);max-width:760px}.center .lead{margin-left:auto;margin-right:auto}
.top{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.94);backdrop-filter:blur(8px);border-bottom:1px solid #e4e6e3}
.nav{display:flex;align-items:center;gap:18px;min-height:64px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand small{display:block;color:var(--mut);font-size:.75rem}.logo{font-size:1.6rem}
.links{display:flex;gap:18px;margin-left:auto}.links a{text-decoration:none;color:var(--ink);font-weight:500}.links a:hover{color:var(--pri)}
.langs{display:flex;gap:2px;background:#e9ecea;border-radius:99px;padding:3px}.langs a{padding:4px 9px;border-radius:99px;font-size:.8rem;text-decoration:none;color:var(--mut);font-weight:600}.langs a[aria-current]{background:#fff;color:var(--pri);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.btns.center{justify-content:center}
.btn{display:inline-block;padding:12px 22px;border-radius:99px;background:var(--pri);color:#fff;text-decoration:none;font-weight:600;border:2px solid var(--pri)}.btn:hover{background:var(--pri2)}
.btn.light{background:#fff;color:var(--pri);border-color:#fff}.btn.ghost{background:transparent;color:var(--pri)}.btn.ghost:hover{background:#fff}.btn.wa{background:#1f9d55;border-color:#1f9d55}
.hero{position:relative;min-height:min(82vh,720px);display:flex;align-items:flex-end;color:#fff;background:linear-gradient(180deg,rgba(10,25,35,.15),rgba(10,25,35,.72)),var(--img) center/cover;padding:120px 0 70px}
@media(max-width:700px){.hero{background-image:linear-gradient(180deg,rgba(10,25,35,.2),rgba(10,25,35,.78)),var(--img-sm);min-height:78vh}}
.hero h1{font-size:clamp(2rem,5vw,3.6rem);max-width:820px;margin:.2rem 0}.hero .lead{color:#eef3f5}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#f4d7ad;font-weight:700}
.hero-cap{position:absolute;right:10px;bottom:6px;font-size:.7rem;opacity:.75}
.sec{padding:72px 0}.alt{background:var(--alt)}.grid{display:grid;gap:22px}
.cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:26px}.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);text-decoration:none;color:inherit;transition:transform .2s}.card:hover{transform:translateY(-3px)}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.pad{padding:20px}.pad p{color:var(--mut);margin:.2rem 0 .8rem}.more{color:var(--pri);font-weight:700}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.chips li{background:#e8f0ef;color:var(--pri2);border-radius:99px;padding:3px 11px;font-size:.82rem;font-weight:600}.chips.big li{font-size:.92rem;padding:5px 14px;background:#fff}
.feats{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:24px}.feat{background:#fff;border-radius:var(--r);padding:22px;box-shadow:var(--sh)}.feat p{color:var(--mut);margin:0}.ic{font-size:1.8rem}
.region{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;margin-top:26px;align-items:start}.rimg img{width:100%;height:auto;aspect-ratio:900/576;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh)}.rimg figcaption{font-size:.75rem;color:var(--mut);margin-top:6px}
.regs{grid-template-columns:1fr 1fr}.rg{border-left:3px solid var(--acc);padding:2px 0 2px 14px}.rg p{margin:0;color:var(--mut)}
@media(max-width:900px){.region{grid-template-columns:1fr}.regs{grid-template-columns:1fr}}
.aptHero{padding:28px 0 40px}.aptHero h1{font-size:clamp(2rem,4.5vw,3rem);margin:.2rem 0}.crumb a{text-decoration:none;font-weight:600}.sub{color:var(--mut);margin:.2rem 0 1rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px;max-height:560px;overflow:hidden;border-radius:var(--r)}
.gallery .g img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:opacity .2s}.gallery .g:hover img{opacity:.88}.gallery .big{grid-column:span 2;grid-row:span 2}
.gallery.open{max-height:none}.gallery-toggle{margin-top:10px}
@media(max-width:700px){.gallery{grid-template-columns:1fr 1fr;max-height:640px}}
.two{display:grid;grid-template-columns:1.6fr 1fr;gap:36px}@media(max-width:900px){.two{grid-template-columns:1fr}}
.rooms{display:grid;grid-template-columns:1fr 1fr;gap:14px}.room{background:#fff;border-radius:12px;padding:16px;box-shadow:var(--sh)}.room p{margin:0;color:var(--mut)}@media(max-width:600px){.rooms{grid-template-columns:1fr}}
.box{background:#fff;border-radius:var(--r);padding:22px;box-shadow:var(--sh);margin-bottom:18px}.box h2{font-size:1.4rem}
.info{margin:0}.info div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding:8px 0}.info dt{font-weight:700}.info dd{margin:0;text-align:right;color:var(--mut)}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plans img{border-radius:8px}
.video{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#dfe6e5}.video iframe{width:100%;height:100%;border:0}.video.soon{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mut);text-align:center;padding:10px}.video.soon span{font-size:2rem;width:58px;height:58px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--pri)}
.embed{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin:22px 0}.embed iframe{width:100%;height:780px;border:0;display:block}@media(max-width:700px){.embed iframe{height:900px}}
.foot{background:#16313b;color:#cfdadd;padding:40px 0;font-size:.92rem}.foot a{color:#fff}.foot .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.fl{display:flex;gap:18px}.credit{flex-basis:100%;font-size:.75rem;opacity:.8;margin:0}
.legal h2{font-size:1.3rem;margin-top:1.6rem}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:50;display:flex;align-items:center;justify-content:center}.lb[hidden]{display:none}.lb img{max-width:94vw;max-height:88vh}.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;padding:10px 16px}.lb .x{top:6px;right:8px}.lb .pv{left:4px}.lb .nx{right:4px}
@media(max-width:760px){.links{display:none}.brand small{display:none}.nav{gap:10px}.langs{margin-left:auto}.sec{padding:52px 0}}
.rcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:34px}
.rcat{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:18px 20px}
.rcat h3{margin:0 0 10px;font-size:1.05rem}
.rlist{list-style:none;margin:0;padding:0}
.rlist li{padding:8px 0;border-top:1px solid rgba(0,0,0,.07)}
.rlist li:first-child{border-top:0}
.rlist a{text-decoration:none;color:inherit}.rlist a strong{color:var(--acc,#1f6f5c)}
.rlist span{display:block;font-size:.88rem;color:var(--mut);margin-top:2px}
.vmap{margin:14px 0 0}.vmap img{width:100%;height:auto;border-radius:8px;box-shadow:var(--sh)}.vmap figcaption{font-size:.75rem;color:var(--mut);margin-top:6px}

.video video{width:100%;height:100%;display:block;background:#000;object-fit:contain}
.rats{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 22px}.rat{background:#fff;border-radius:999px;padding:10px 18px;box-shadow:var(--sh);text-decoration:none;color:inherit}.rat span{color:#e0a100;font-weight:700}.rat small{color:var(--mut)}
.revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.rev{margin:0;background:#fff;border-radius:var(--r);padding:18px 20px;box-shadow:var(--sh);display:flex;flex-direction:column;justify-content:space-between}.rev blockquote{margin:0 0 12px;font-style:italic;line-height:1.5}.rev figcaption{font-size:.9rem;color:var(--mut)}.rev .src{font-weight:600;color:var(--pri)}
