@font-face{font-family:Inter;src:url("../fonts/Inter.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../fonts/Manrope.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans.woff2") format("woff2");font-weight:500 800;font-style:normal;font-display:swap}
:root{--bg:#0a0a0a;--elev:#121212;--fg:#f5f3ee;--muted:#9a9a9a;--line:#2a2a2a;--accent:#fd6934;--gold:#f09f17;--ink:#111;--paper:#fafafa;--sans:Inter,system-ui,sans-serif;--display:"Plus Jakarta Sans",Inter,sans-serif;--nav:Manrope,Inter,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);min-height:100%}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:var(--display);text-wrap:balance;line-height:1.05;margin:.2em 0}
h1{font-size:clamp(2rem,6vw,4.4rem);font-weight:800;letter-spacing:-.03em}
h2{font-size:clamp(1.7rem,4vw,3rem);font-weight:800}
h3{font-size:1.15rem}
p{line-height:1.6;text-wrap:pretty}
.wrap{width:min(1180px,calc(100% - 2.2rem));margin-inline:auto;padding-inline:0}
.gold{color:var(--gold)}.accent{color:var(--accent)}.muted{color:var(--muted)}.ink-muted{color:#444}
.up{text-transform:uppercase;letter-spacing:.18em}.tiny{font-size:11px}.center{text-align:center}.max{max-width:40rem}
.eyebrow{font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.offer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1rem;padding:.55rem 1.2rem;border-bottom:1px solid var(--line);font-family:var(--nav);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.offer p{margin:0}.clock{font-variant-numeric:tabular-nums;letter-spacing:.28em}
.site-header{position:sticky;top:0;z-index:40;background:rgba(10,10,10,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px;width:min(1180px,calc(100% - 2.2rem));margin-inline:auto}
.brand{display:flex;align-items:center;gap:.65rem}.brand img{width:40px;height:40px;object-fit:contain}
.brand span,.brand-text{font-family:var(--display);font-weight:800;letter-spacing:.28em;text-transform:uppercase;font-size:15px}
.desk-nav{display:none;align-items:center;gap:1.6rem}
.desk-nav a,.desk-nav button{font-family:var(--nav);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.desk-nav a:hover,.desk-nav button:hover{color:var(--accent)}
.drop{position:relative}.drop-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:10rem;background:var(--elev);border:1px solid var(--line);border-radius:8px;padding:.25rem 0;z-index:5}
.drop-menu a{display:block;padding:.5rem .85rem;font-size:12px}.drop.open .drop-menu{display:block}
.head-actions{display:flex;align-items:center;gap:.6rem}
.icon-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:999px}
.mobile-nav{position:fixed;inset:0;z-index:50;background:var(--bg)}
.mobile-nav nav{display:flex;flex-direction:column;width:min(1180px,calc(100% - 2.2rem));margin:1rem auto;gap:0}
.mobile-nav nav a{padding:1rem 0;border-bottom:1px solid var(--line);font-family:var(--nav);letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.call-desk{display:none}
@media(min-width:1024px){.desk-nav{display:flex}.call-desk{display:inline-flex}.icon-btn.js-menu-open{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.5rem;border-radius:999px;font-family:var(--nav);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-align:center}
.btn-light{background:var(--fg);color:var(--bg)}.btn-dark{background:var(--ink);color:var(--paper)}
.btn-outline{border:1px solid var(--fg)}.btn-outline-dark{border:1px solid var(--ink);color:var(--ink)}
.btn-accent{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}
.btn-gold{border:1px solid var(--gold);color:var(--gold)}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}.cta-row.center{justify-content:center}
.hero{display:grid;gap:2rem;padding:3rem 0;align-items:center}
.hero .lead{color:var(--muted);max-width:28rem}
.hero-media{position:relative}.hero-media>img:first-child{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1.4rem}
.float-card{display:none;position:absolute;left:-1rem;bottom:-1.2rem;width:7.5rem;height:7.5rem;object-fit:cover;border-radius:1rem;border:4px solid var(--bg)}
@media(min-width:900px){.hero{grid-template-columns:1.05fr .95fr}.hero-media>img:first-child{aspect-ratio:4/5}.float-card{display:block}}
.glimpse{display:grid;gap:2rem;padding:3rem 0;align-items:center}
.glimpse-media{position:relative;min-height:280px}
.glimpse-media .main{width:100%;height:340px;object-fit:cover;border-radius:1rem}
.glimpse-media .s1{position:absolute;top:1.5rem;right:0;width:7rem;height:7rem;object-fit:cover;border-radius:.8rem;border:4px solid var(--bg)}
.glimpse-media .s2{position:absolute;bottom:.4rem;left:18%;width:5.5rem;height:5.5rem;object-fit:cover;border-radius:999px;border:4px solid var(--bg)}
blockquote{font-family:var(--display);font-size:clamp(1.3rem,3vw,1.9rem);font-weight:650;line-height:1.3;margin:1rem 0}
.stat{font-family:var(--display);font-size:2.5rem;font-weight:800;margin:1.2rem 0 0}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.pills span{border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-family:var(--nav);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
@media(min-width:900px){.glimpse{grid-template-columns:1fr 1fr}.glimpse-media .main{height:420px}}
.about{display:grid;gap:2rem;padding:4rem 0;align-items:center;scroll-margin-top:90px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.pair img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1rem}
.pair img:last-child{margin-top:2.2rem}
.ticks{list-style:none;padding:0;margin:1.4rem 0 0}.ticks li{display:flex;gap:.7rem;align-items:center;margin:.45rem 0}
.ticks li:before{content:"";width:6px;height:6px;border-radius:99px;background:var(--accent);flex:none}
@media(min-width:900px){.about{grid-template-columns:1fr 1fr}}
.light{background:var(--paper);color:var(--ink);padding:3.5rem 0;scroll-margin-top:90px}
.split{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:end}
.cards-2{display:grid;gap:1rem;margin-top:2rem}
@media(min-width:700px){.cards-2{grid-template-columns:1fr 1fr}}
.card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.08)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.story-grid .card img{aspect-ratio:3/4}.pad{padding:1.1rem 1.15rem}.pad p{font-size:.92rem}
.svc-grid{display:grid;gap:1rem;margin:1.6rem 0}
@media(min-width:800px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc-card{position:relative;border-radius:1rem;overflow:hidden;min-height:360px;color:#fff}
.svc-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.svc-card div{position:absolute;inset:auto 0 0;padding:1.2rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}
.svc-card span{color:var(--gold);font-family:var(--nav);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.process{display:grid;gap:2rem;align-items:center}
.process>img{width:100%;max-height:560px;object-fit:cover;border-radius:1rem;aspect-ratio:3/4}
.process ol{list-style:none;padding:0;margin:1.4rem 0 0}
.process li{display:grid;grid-template-columns:auto 1fr;gap:1rem;margin:0 0 1.2rem}
.process li>span{font-family:var(--display);font-size:1.5rem;font-weight:800;color:var(--accent)}
@media(min-width:900px){.process{grid-template-columns:.9fr 1.1fr}.process>img{aspect-ratio:3/4}}
.amenities{padding:4rem 0}.circles{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:2rem 0}
.circles article{width:min(100%,260px);text-align:center}
.circles img{width:220px;height:220px;margin-inline:auto;border-radius:999px;object-fit:cover;border:4px solid var(--elev)}
@media(min-width:800px){.circles article.up{margin-top:-2rem}}
.story-grid{display:grid;gap:1rem;margin-top:1.5rem}
@media(min-width:800px){.story-grid{grid-template-columns:repeat(3,1fr)}.story-grid article:nth-child(n+4){display:none}}
.cta-banner{position:relative;isolation:isolate;overflow:hidden;text-align:center}
.cta-banner .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-banner .shade{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.cta-inner{position:relative;z-index:1;padding:5rem 1.2rem}
.cta-inner h2{color:var(--gold);text-transform:uppercase;max-width:50rem;margin-inline:auto}
.footer{border-top:1px solid var(--line);padding:3.5rem 0 0}
.grid-3{display:grid;gap:2rem}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:.45rem 0}
.footer .h3{font-family:var(--display);font-size:1.25rem;font-weight:700}
.label{font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin:0 0 .3rem}
.social{display:flex;gap:.5rem;margin:1rem 0}
.social a{width:40px;height:40px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center}
.social svg{width:16px;height:16px}
.foot-note{border-top:1px solid var(--line);margin-top:2.5rem;padding:1rem;text-align:center;font-family:var(--nav);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
@media(min-width:800px){.grid-3{grid-template-columns:1fr 1fr 1fr}}
.hub{padding:3rem 0 4rem}.hub-hero {
    text-align: center;
    margin-bottom: 2.5rem;
    justify-items: center;
}
.hub-hero img{margin:0 auto 1rem;width:64px;height:64px;object-fit:contain}
.loc-grid{display:grid;gap:1.2rem}@media(min-width:800px){.loc-grid{grid-template-columns:1fr 1fr}}
.loc-card{border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--elev)}
.loc-card>img{width:100%;aspect-ratio:16/10;object-fit:cover}
.loc-card .pad{padding:1.2rem;display:flex;flex-direction:column;gap:.7rem}
.loc-card h2{font-family:var(--nav);font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.bio{max-width:26rem;margin:0 auto;padding:2.5rem 1.2rem 4rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.85rem}
.bio>img:first-child{width:72px;height:72px;object-fit:contain}
.bio h1 span{display:block;font-size:1.1rem;font-weight:600;color:var(--fg);margin-top:.3rem}
.bio-hero{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:1rem}
.bio .btn{width:100%}
.svc-block{padding:3rem 0}.svc-split{display:grid;gap:2rem;align-items:center}
.svc-split>img{width:100%;border-radius:1rem;object-fit:cover;max-height:640px}
.ghost{font-family:var(--display);font-size:4rem;font-weight:800;color:rgba(17,17,17,.1);margin:0;line-height:1}
.feat-grid{display:grid;gap:1.1rem;margin:1.4rem 0}
@media(min-width:700px){.feat-grid{grid-template-columns:1fr 1fr}.svc-split{grid-template-columns:.85fr 1.15fr}.svc-split.flip{grid-template-columns:1.15fr .85fr}.svc-split.flip>img{order:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
