:root{--ink:#181817;--panel:#20201f;--cream:#f1eee8;--muted:#aaa49a;--bronze:#b58a50;--orange:#cc8240;--line:#393631;--cold:#9ba7a6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:Barlow,Arial,sans-serif;font-size:18px;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:78px;padding:0 clamp(24px,4vw,68px);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#090908,transparent);transition:.3s}
.site-header.scrolled{background:rgba(10,10,9,.94);backdrop-filter:blur(12px);border-bottom:1px solid #25231f}
.brand{font-family:Bebas Neue,sans-serif;letter-spacing:.3em;font-size:1.5rem}
.site-header nav{display:flex;gap:36px}
.site-header nav a{font-family:Barlow Condensed,sans-serif;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:#b7b1a7}
.site-header nav a:hover{color:var(--cream)}
.menu-button{display:none;background:none;border:0;padding:8px}
.menu-button span:not(.sr-only){display:block;background:var(--cream);height:1px;width:24px;margin:5px}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:115px clamp(24px,4vw,68px) 72px}
.hero-image{position:absolute;inset:0;background:url('assets/recovery-suite.png') center/cover no-repeat}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.98) 0%,rgba(8,8,7,.86) 32%,rgba(8,8,7,.28) 68%,rgba(8,8,7,.2)),linear-gradient(0deg,rgba(8,8,7,.84) 0%,transparent 40%)}
.hero-content{position:relative;z-index:2;width:min(760px,65vw)}
.eyebrow,.section-index{font-family:Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.23em;font-size:.72rem;color:var(--bronze);font-weight:600}
.hero h1,.section-heading h2,.manifesto h2,.choice h2,.story h2,.contact h2{font-family:Bebas Neue,sans-serif;font-weight:400;line-height:.88;letter-spacing:.01em;margin:.38em 0}
.hero h1{font-size:clamp(5rem,10.8vw,10rem)}
h1 em{font-style:normal;color:var(--orange)}
.hero-copy{width:min(540px,100%);color:#bab5ad;font-size:1.1rem}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:34px}
.button{display:inline-flex;min-height:52px;padding:0 28px;align-items:center;justify-content:center;font-family:Barlow Condensed,sans-serif;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:600;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.button-primary{background:var(--orange);color:#141311}
.button-primary:hover{background:#dc9e5c}
.text-link{font-family:Barlow Condensed,sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
.text-link span{color:var(--orange);margin-left:8px}
.hero-rail{position:absolute;z-index:2;right:clamp(24px,4vw,68px);bottom:78px;display:grid;gap:18px;border-right:2px solid var(--orange);padding-right:16px;text-align:right}
.hero-rail div{display:flex;align-items:baseline;justify-content:flex-end;gap:10px}
.hero-rail strong{font:2rem Bebas Neue}
.hero-rail span{text-transform:uppercase;font:500 .63rem Barlow Condensed;letter-spacing:.16em;color:var(--muted)}
.concept-note{position:absolute;right:clamp(24px,4vw,68px);bottom:25px;z-index:2;font-size:.65rem;color:#6f6b65;text-transform:uppercase;letter-spacing:.1em}
.section-pad{padding:clamp(78px,10vw,150px) clamp(24px,6vw,92px)}
.manifesto{border-top:1px solid var(--line)}
.manifesto-grid{display:grid;grid-template-columns:2fr 1fr;gap:9vw;align-items:end}
.manifesto h2{font-size:clamp(3.3rem,6.7vw,7rem);margin:.3em 0 0}
.manifesto h2 span,.section-heading h2 span,.choice h2 span,.story h2 span,.contact h2 span{color:var(--orange)}
.manifesto-grid>p,.section-heading>p{color:var(--muted);font-size:1.05rem}
.experience{background:#0d0d0c}
.section-heading{display:grid;grid-template-columns:1.7fr 1fr;gap:8vw;align-items:end;margin-bottom:64px}
.section-heading h2,.choice h2,.story h2,.contact h2{font-size:clamp(4rem,7.8vw,8rem)}
.modality-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.modality{padding:35px 28px 38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:340px;transition:.3s}
.modality:hover{background:#151410;transform:translateY(-4px)}
.modality .number{font:500 .7rem Barlow Condensed;letter-spacing:.14em;color:var(--bronze)}
.modality h3{font:400 2.1rem Bebas Neue;letter-spacing:.05em;margin:28px 0 10px}
.modality p{color:var(--muted);font-size:.94rem}
.line-icon{height:58px;margin-top:34px;position:relative}
.line-icon:before,.line-icon:after{content:"";position:absolute}
.heat:before{width:30px;height:45px;border:1px solid var(--orange);border-radius:50% 50% 20% 20%;left:8px}
.heat:after{height:35px;border-left:1px solid var(--orange);left:23px;top:5px}
.cold:before{width:44px;height:44px;border:1px solid var(--cold);transform:rotate(45deg);left:5px;top:2px}
.cold:after{width:54px;border-top:1px solid var(--cold);left:0;top:24px}
.shower:before{width:48px;height:22px;border-radius:50% 50% 0 0;border:1px solid #b4ada3;left:3px}
.shower:after{height:35px;width:42px;left:7px;top:20px;background:repeating-linear-gradient(90deg,transparent 0 7px,#777 8px 9px)}
.space:before{width:50px;height:42px;border:1px solid #8b857c;left:2px;top:4px}
.space:after{width:24px;height:16px;border-left:1px solid var(--orange);border-bottom:1px solid var(--orange);left:15px;top:17px}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:radial-gradient(circle at 70% 50%,rgba(181,138,80,.16) 0,transparent 38%)}
.choice-panel{border:1px solid #51483b;padding:clamp(28px,4vw,55px);background:rgba(24,24,23,.82)}
.choice-tabs{display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}
.choice-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#77716a;padding:14px 8px;font:600 .75rem Barlow Condensed;letter-spacing:.2em;cursor:pointer}
.choice-tabs button[aria-selected=true]{color:var(--cream);border-color:var(--orange)}
.choice-content{min-height:300px;padding-top:40px}
.choice-kicker{text-transform:uppercase;font:600 .7rem Barlow Condensed;letter-spacing:.18em;color:var(--orange)}
.choice-content h3{font:400 clamp(3rem,5vw,5rem)/.9 Bebas Neue;margin:18px 0}
.choice-content>p:last-child{color:var(--muted);max-width:560px}
.choice-meter{display:flex;align-items:center;gap:12px;font:500 .62rem Barlow Condensed;letter-spacing:.14em;color:#777}
.choice-meter div{height:2px;background:#333;flex:1}
.choice-meter i{display:block;width:35%;height:2px;background:var(--orange);transition:.35s}
.principles{background:#20201f;color:var(--cream)}
.principles .section-index{color:var(--bronze)}
.principle-list article{display:grid;grid-template-columns:.4fr 1fr 1fr;gap:5vw;padding:40px 0;border-top:1px solid var(--line)}
.principle-list article>span{font:600 .75rem Barlow Condensed;letter-spacing:.19em;color:var(--bronze)}
.principle-list h3{font:400 clamp(2rem,4vw,4rem)/.95 Bebas Neue;margin:0}
.principle-list p{margin:0;color:var(--muted)}
.story{position:relative;display:grid;grid-template-columns:1fr 1.2fr;min-height:800px;overflow:hidden}
.story-mark{font:40vw/.8 Bebas Neue;color:#10100e;align-self:center;text-align:center;text-shadow:0 0 1px #40372f}
.story-copy{position:relative;z-index:1}
.story blockquote{border-left:2px solid var(--orange);padding-left:25px;margin:35px 0;font:300 1.5rem/1.45 Barlow}
.story-copy>p:not(.section-index){color:var(--muted)}
.signature{margin-top:35px;display:grid}
.signature strong{font:400 1.7rem Bebas Neue;letter-spacing:.07em}
.signature span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bronze)}
.contact{text-align:center;border-top:1px solid var(--line);background:linear-gradient(rgba(10,10,9,.92),rgba(10,10,9,.98)),url('assets/recovery-suite.png') center/cover}
.contact-inner{max-width:980px;margin:auto}
.contact-inner>p:not(.eyebrow,.small){color:#b5afa7;max-width:650px;margin:0 auto 34px}
.contact .small{font-size:.72rem;color:#706b64}
.contact h2{margin:.25em 0}
.contact .button{margin-bottom:18px}
footer{padding:52px clamp(24px,6vw,92px);border-top:1px solid var(--line);display:grid;grid-template-columns:.6fr 1fr 1.2fr;gap:40px;color:#858078;font-size:.82rem}
footer .brand{color:var(--cream)}
footer div:last-of-type{text-align:right}
footer .legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-size:.68rem}
footer a:hover{color:var(--orange)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){.site-header nav{position:absolute;top:78px;left:0;right:0;padding:25px 28px;background:#0a0a09;display:none;flex-direction:column;border-bottom:1px solid var(--line)}
.site-header nav.open{display:flex}
.menu-button{display:block}
.hero-content{width:100%}
.hero h1{font-size:clamp(4.5rem,20vw,8rem)}
.hero-rail{display:none}
.manifesto-grid,.section-heading,.choice,.story{grid-template-columns:1fr}
.manifesto-grid,.section-heading{gap:24px}
.modality-grid{grid-template-columns:1fr 1fr}
.choice-intro{margin-bottom:10px}
.story-mark{position:absolute;inset:0;font-size:90vw;opacity:.5}
.story-copy{max-width:700px}
.principle-list article{grid-template-columns:1fr;gap:12px}
footer{grid-template-columns:1fr 1fr}
footer div:last-of-type{text-align:left}
.hero-image{background-position:62% center}
.hero-shade{background:linear-gradient(90deg,rgba(8,8,7,.96),rgba(8,8,7,.55)),linear-gradient(0deg,rgba(8,8,7,.9),transparent)}
}

@media(max-width:560px){body{font-size:16px}
.site-header{height:66px}
.site-header nav{top:66px}
.hero{padding-top:96px;align-items:flex-end}
.hero h1{font-size:24vw}
.hero-copy{font-size:1rem}
.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}
.modality-grid{grid-template-columns:1fr}
.modality{min-height:auto}
.choice-tabs{overflow-x:auto;gap:18px}
.section-pad{padding:72px 24px}
.section-heading h2,.choice h2,.story h2,.contact h2{font-size:17vw}
.principle-list h3{font-size:2.7rem}
footer{grid-template-columns:1fr}
.concept-note{left:24px;right:auto}
.manifesto h2{font-size:14vw}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
}

.contact .button{border:0;cursor:pointer;margin-bottom:0}
.interest-form{display:flex;justify-content:center;gap:10px;max-width:720px;margin:0 auto 15px}
.interest-form input[type=email]{flex:1;min-width:0;min-height:54px;padding:0 20px;border:1px solid #5c503e;background:rgba(18,18,17,.88);color:var(--cream);font:400 1rem Barlow;outline:none}
.interest-form input[type=email]::placeholder{color:#77716a}
.interest-form input[type=email]:focus{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.interest-form .button{white-space:nowrap}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.form-status{min-height:1.5em;margin:0 auto 8px!important;color:var(--orange)!important;font-size:.9rem!important}
.form-status.success{color:#c7d6b5!important}
.form-status.error{color:#e89578!important}

@media(max-width:560px){.interest-form{flex-direction:column}
.interest-form .button{width:100%}
}
