:root{--night: #0c0b0a;--ink: #141210;--panel: #1a1714;--bronze: #b8956a;--gold: #d4af7a;--gold-soft: #e8d5b0;--ivory: #f3eee4;--sand: #cfc6b8;--muted: #9a9186;--line: rgba(212, 175, 122, .22);--shadow: 0 30px 80px rgba(0, 0, 0, .35);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Outfit", system-ui, sans-serif;--max: 1180px;--nav: 78px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--night);color:var(--ivory);line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.site{min-height:100vh;background:radial-gradient(ellipse 80% 40% at 10% -10%,rgba(184,149,106,.12),transparent 50%),var(--night)}.container{width:min(100% - 2.5rem,var(--max));margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}.eyebrow:before{content:"";width:28px;height:1px;background:var(--gold)}.section-title{font-family:var(--font-display);font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:600;line-height:1.08;letter-spacing:-.02em}.lead{margin-top:1rem;max-width:38rem;color:var(--sand);font-size:1.05rem;font-weight:300}.band{padding:clamp(4.5rem,9vw,7.5rem) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.55rem;border-radius:999px;border:1px solid transparent;cursor:pointer;font-size:.86rem;font-weight:500;letter-spacing:.04em;transition:transform .25s var(--ease),background .25s ease,border-color .25s ease}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--night)}.btn-gold:hover{background:var(--gold-soft)}.btn-ghost{border-color:var(--line);color:var(--ivory);background:transparent}.btn-ghost:hover{border-color:var(--gold)}.btn-dark{background:var(--night);color:var(--ivory);border-color:#ffffff14}.nav{position:fixed;inset:0 0 auto;z-index:80;height:var(--nav);transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease;border-bottom:1px solid transparent}.nav.solid{background:#0c0b0ae0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom-color:var(--line)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;color:var(--gold)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text strong{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:.12em}.brand-text span{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:1.7rem}.nav-links a{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .25s var(--ease)}.nav-links a:hover,.nav-links a.active{color:var(--ivory)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta{display:flex;align-items:center;gap:.6rem}.nav-cta .btn{padding:.7rem 1.15rem;font-size:.78rem}.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ivory);width:42px;height:42px;cursor:pointer}.hero{position:relative;min-height:100vh;min-height:100dvh;display:grid;align-items:end;overflow:hidden}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0}.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:drift 28s var(--ease) infinite alternate;filter:contrast(1.05) saturate(.92)}@keyframes drift{to{transform:scale(1.14)}}.hero-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0c0b0ac7,#0c0b0a59 48%,#0c0b0a8c),linear-gradient(180deg,#0c0b0a33,#0c0b0ad1)}.hero-content{position:relative;z-index:1;width:min(100% - 2.5rem,var(--max));margin:0 auto;padding:calc(var(--nav) + 4rem) 0 5.5rem}.hero h1{font-family:var(--font-display);font-size:clamp(3.4rem,9vw,7.2rem);font-weight:600;line-height:.9;letter-spacing:-.03em;max-width:12ch;margin:.8rem 0 1.2rem}.hero h1 em{font-style:italic;color:var(--gold-soft)}.hero-copy{max-width:32rem;color:var(--sand);font-size:1.08rem;font-weight:300;margin-bottom:1.8rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero-meta{display:grid;grid-template-columns:repeat(3,max-content);gap:2.4rem;margin-top:3.2rem;padding-top:1.6rem;border-top:1px solid rgba(243,238,228,.14)}.hero-meta strong{display:block;font-family:var(--font-display);font-size:1.8rem;font-weight:600;line-height:1;color:var(--gold-soft)}.hero-meta span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.frame{position:relative;overflow:hidden;min-height:460px}.frame img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0;filter:contrast(1.04) saturate(.9)}.frame-tag{position:absolute;left:1.2rem;bottom:1.2rem;background:#0c0b0ac7;border:1px solid var(--line);padding:.55rem .9rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.prose p+p{margin-top:1rem}.prose p{color:var(--sand);font-weight:300}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}.chip{border:1px solid var(--line);padding:.4rem .75rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft)}.grid-3,.grid-4,.program-grid,.plan-grid,.review-grid,.gallery-grid{display:grid;gap:1.15rem}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stat-card,.value-card,.hours-card{border:1px solid var(--line);background:#1a17148c;padding:1.4rem 1.3rem}.stat-card strong{font-family:var(--font-display);font-size:2.1rem;color:var(--gold);display:block;line-height:1}.stat-card span,.value-card p,.hours-card p{color:var(--muted);font-size:.88rem}.value-card h3,.hours-card h3{font-family:var(--font-display);font-size:1.35rem;margin-bottom:.4rem}.program-grid{grid-template-columns:1.4fr 1fr;margin-top:2.4rem}.program-card{position:relative;min-height:340px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem;isolation:isolate}.program-card.tall{min-height:520px;grid-row:span 2}.program-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease);filter:contrast(1.05) saturate(.88)}.program-card:hover img{transform:scale(1.07)}.program-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 20%,rgba(12,11,10,.92) 100%);z-index:-1}.program-card small{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font-size:.68rem}.program-card h3{font-family:var(--font-display);font-size:2rem;margin:.25rem 0 .4rem}.program-card p{color:var(--sand);font-size:.92rem;font-weight:300;max-width:34rem}.plan-grid{grid-template-columns:repeat(4,1fr);margin-top:2.4rem}.plan{border:1px solid var(--line);padding:1.6rem 1.35rem 1.4rem;background:var(--panel);display:flex;flex-direction:column;min-height:100%}.plan.featured{background:var(--ivory);color:var(--night);border-color:var(--ivory);transform:translateY(-8px)}.plan.featured p,.plan.featured li{color:#4d463c}.plan h3{font-family:var(--font-display);font-size:1.6rem}.plan .price{font-family:var(--font-display);font-size:2.4rem;margin:.6rem 0 .2rem;line-height:1}.plan .period{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.plan.featured .period{color:#7a7266}.plan ul{list-style:none;display:grid;gap:.45rem;margin:.8rem 0 1.4rem;flex:1;font-size:.9rem;color:var(--sand)}.plan li:before{content:"— ";color:var(--gold)}.fineprint{margin-top:1.4rem;font-size:.82rem;color:var(--muted)}.review-grid{grid-template-columns:repeat(3,1fr);margin-top:2.2rem}.review{border:1px solid var(--line);padding:1.6rem 1.4rem;background:#1a171466}.stars{color:var(--gold);letter-spacing:.12em;font-size:.85rem;margin-bottom:.8rem}.review blockquote{font-family:var(--font-display);font-size:1.22rem;font-style:italic;line-height:1.4;margin-bottom:1.2rem}.review cite{font-style:normal;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.gallery-grid{grid-template-columns:repeat(4,1fr);margin-top:2rem}.gallery-item{position:relative;overflow:hidden;aspect-ratio:4 / 5}.gallery-item:nth-child(1),.gallery-item:nth-child(8){grid-column:span 2;aspect-ratio:16 / 10}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);filter:contrast(1.06) saturate(.88)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item span{position:absolute;left:1rem;bottom:1rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory)}.page-hero{position:relative;min-height:52vh;display:grid;align-items:end;overflow:hidden}.page-hero img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.88)}.page-hero-fit{min-height:0;width:100%;aspect-ratio:16 / 9}.page-hero-fit img{object-fit:contain;object-position:center;filter:contrast(1.04) saturate(.95)}.page-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0c0b0a40,#0c0b0ae0)}.page-hero .container{position:relative;z-index:1;padding:calc(var(--nav) + 4rem) 0 3rem}.page-hero h1{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5rem);line-height:.95;max-width:12ch}.contact-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.4rem;margin-top:2.2rem}.channel{display:flex;gap:1rem;border:1px solid var(--line);padding:1.15rem 1.2rem;margin-bottom:.75rem;background:#1a171473}.channel strong{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}.channel p{color:var(--sand);font-size:.92rem}.form{background:var(--ivory);color:var(--night);padding:clamp(1.5rem,4vw,2.2rem)}.form h3{font-family:var(--font-display);font-size:2rem;margin-bottom:.35rem}.form>p{color:#6b6358;margin-bottom:1.3rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.field{display:grid;gap:.3rem}.field.full{grid-column:1 / -1}.field label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7a7266}.field input,.field select,.field textarea{border:1px solid rgba(12,11,10,.15);background:#fff;color:var(--night);padding:.8rem .9rem;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bronze)}.form-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.map{margin-top:1.6rem;height:320px;border:1px solid var(--line);overflow:hidden}.map iframe{width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}.faq{border-top:1px solid var(--line)}.faq button{width:100%;text-align:left;background:none;border:0;color:var(--ivory);padding:1.15rem 0;display:flex;justify-content:space-between;gap:1rem;cursor:pointer;font-size:1.05rem}.faq p{color:var(--sand);padding-bottom:1.1rem;font-weight:300}.footer{border-top:1px solid var(--line);padding:3rem 0 1.5rem;background:#0a0908}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}.footer p,.footer a,.footer li{color:var(--muted);font-size:.9rem}.footer ul{list-style:none;display:grid;gap:.45rem}.footer h4{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:.9rem}.footer a:hover{color:var(--ivory)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.2rem;font-size:.78rem;color:var(--muted)}.sticky{display:none;position:fixed;inset:auto 0 0;z-index:70;background:#0c0b0af0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));gap:.5rem;border-top:1px solid var(--line)}.sticky a{flex:1;text-align:center;padding:.8rem;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.sticky .gold{background:var(--gold);color:var(--night)}.wa-float{position:fixed;right:1.2rem;bottom:1.2rem;z-index:75;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:var(--shadow)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000009e;display:grid;place-items:center;padding:1.2rem}.modal{width:min(100%,460px);background:var(--ivory);color:var(--night);padding:1.8rem 1.6rem}.modal h3{font-family:var(--font-display);font-size:2rem}.hours-list{display:grid;gap:.45rem;margin-top:1rem}.hours-list div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.55rem 0;font-size:.92rem}.hours-list span{color:var(--sand)}.reveal{animation:rise .8s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:980px){.split,.contact-shell,.footer-grid,.plan-grid,.review-grid,.grid-3{grid-template-columns:1fr}.program-grid,.grid-4,.gallery-grid{grid-template-columns:1fr 1fr}.program-card.tall{grid-row:auto;min-height:340px}.plan.featured{transform:none}.hero-meta{grid-template-columns:1fr 1fr;gap:1.2rem}.nav-links,.nav-cta .hide-sm{display:none}.nav-links.open{display:flex;position:fixed;inset:var(--nav) 0 auto;background:#0c0b0af7;flex-direction:column;padding:1.4rem 1.4rem 1.8rem;gap:0;border-bottom:1px solid var(--line)}.nav-links.open a{padding:.9rem 0;border-bottom:1px solid var(--line)}.menu-btn{display:grid;place-items:center}.sticky{display:flex}.wa-float{bottom:5.2rem}.site{padding-bottom:4.2rem}}@media(max-width:620px){.program-grid,.gallery-grid,.grid-4,.form-grid{grid-template-columns:1fr}.gallery-item:nth-child(1),.gallery-item:nth-child(8){grid-column:auto;aspect-ratio:4 / 5}.hero-actions{flex-direction:column;align-items:stretch}.frame{min-height:320px}}
