:root{--black:#050607;--near:#0b0f12;--cream:#f2efe8;--muted:rgba(242,239,232,.67);--red:#d92f2b;--gold:#e4ad2b;--line:rgba(255,255,255,.16);--shell:min(90vw,1500px);--pad:max(5vw,28px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--black);color:var(--cream);font-family:"DM Sans",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:var(--shell);margin-inline:auto}.red-dot{color:var(--red)}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);transition:.35s;background:linear-gradient(to bottom,rgba(0,0,0,.65),transparent)}.site-header.scrolled{height:68px;background:rgba(5,6,7,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{width:245px}.brand img{width:100%}.nav{display:flex;gap:2rem;align-items:center;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase}.nav a{opacity:.76}.nav a:hover{opacity:1}.nav-cta{border:1px solid var(--red);border-radius:99px;padding:.8rem 1.3rem}.eyebrow{margin:0 0 1.5rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.hero{position:relative;height:100vh;min-height:720px;overflow:hidden;display:flex;align-items:center}.hero-image,.hero-vignette{position:absolute;inset:-7%}.hero-image{background:url('../img/hero-cam.jpg') center 45%/cover no-repeat;transform:scale(1.06)}.hero-vignette{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.44) 43%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.72) 100%),linear-gradient(to top,rgba(0,0,0,.45),transparent 44%)}.hero-copy{position:relative;z-index:2;padding-top:5rem}.hero-title{margin:0;font-family:"Fraunces",Georgia,serif;font-size:clamp(5rem,10vw,10.5rem);line-height:.78;letter-spacing:-.065em;font-weight:500}.hero-title span{display:block}.hero-subtitle{font-size:clamp(1rem,1.6vw,1.55rem);letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin:2rem 0 1.1rem}.hero-lead{max-width:610px;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.25vw,1.25rem)}.watch-link{display:inline-flex;align-items:center;gap:.9rem;margin-top:1.5rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.17em}.watch-link .play{width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center}.watch-link i{display:block;width:78px;height:1px;background:rgba(255,255,255,.55)}.hero-side{position:absolute;z-index:2;right:6vw;top:50%;transform:translateY(-50%);font-size:.77rem;line-height:2.2;letter-spacing:.27em;text-transform:uppercase}.hero-rail{position:absolute;left:2.2vw;top:52%;transform:translateY(-50%);z-index:2;display:grid;gap:.45rem;justify-items:center;font-size:.51rem;text-transform:uppercase;letter-spacing:.18em}.hero-rail i{height:33px;width:1px;background:rgba(255,255,255,.42)}.scroll-cue{position:absolute;bottom:1.6rem;left:50%;z-index:3;transform:translateX(-50%);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase}.scroll-cue span{display:block;width:1px;height:50px;background:rgba(255,255,255,.55);margin:.55rem auto 0}
.scene{position:relative;height:175vh;background:var(--black)}.scene-stage{position:sticky;top:0;height:100vh;overflow:hidden}.scene-number{position:absolute;right:2vw;bottom:2vw;z-index:20;font-family:"Fraunces",serif;font-size:clamp(5rem,12vw,13rem);line-height:.7;color:rgba(255,255,255,.035)}
.need-stage{background:#080a0b}.need-photo-panel,.need-copy-panel{position:absolute;top:0;bottom:0;width:50%;will-change:transform}.need-photo-panel{left:0;overflow:hidden;transform:translateX(-110vw)}.need-photo{position:absolute;inset:-6%;background:url('../img/dancer.jpg') center/cover no-repeat}.need-photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.72))}.need-copy-panel{right:0;background:linear-gradient(135deg,#111518,#050607 72%);padding:12vh 7vw 9vh;display:flex;flex-direction:column;justify-content:center;transform:translateX(110vw)}.need-copy h2,.path-left-panel h2,.solutions-head h2,.process-intro-copy h2,.contact-copy h2{font-family:"Fraunces",Georgia,serif;font-weight:500;letter-spacing:-.055em;line-height:.92;margin:0}.need-copy h2{font-size:clamp(4rem,7.6vw,8rem)}.need-outcomes{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem 2rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.need-outcomes span:first-child{color:var(--gold)}
.path-stage{background:#0b1115}.path-backdrop{position:absolute;inset:-8%;background:url('../img/mountain.jpg') center/cover no-repeat;filter:saturate(.7) brightness(.52);will-change:transform}.path-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,13,.9),rgba(5,11,15,.35) 50%,rgba(4,10,13,.76))}.path-left-panel,.path-flow-panel{position:absolute;z-index:3;top:10vh;bottom:10vh;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);will-change:transform}.path-left-panel{left:5vw;width:31vw;padding:5vw;background:rgba(5,7,8,.62);transform:translateX(-120vw)}.path-left-panel h2{font-size:clamp(4rem,6vw,7rem)}.path-flow-panel{right:5vw;width:56vw;padding:5vw;background:rgba(12,20,24,.66);display:flex;flex-direction:column;justify-content:center;transform:translateX(120vw)}.path-flow{display:grid;grid-template-columns:1fr auto 1.15fr auto 1fr;align-items:center;gap:1.5rem}.flow-node{aspect-ratio:1;border:1px solid rgba(255,255,255,.58);border-radius:50%;display:grid;place-items:center;text-align:center;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em}.flow-arrow{font-size:2rem;color:var(--gold)}.flow-brand{text-align:center}.flow-brand img{width:min(150px,10vw);margin:auto}.flow-brand span{display:block;margin-top:.8rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.16em}.path-flow-panel>p{max-width:620px;margin:3rem auto 0;color:rgba(255,255,255,.7);text-align:center;font-size:1.08rem}
.solutions-section{position:relative;height:480vh;background:#050607}.solutions-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.solutions-head{position:absolute;z-index:4;top:8.5rem;left:50%;transform:translateX(-50%)}.solutions-head h2{font-size:clamp(3rem,5vw,6rem)}.solution-track-wrap{position:absolute;left:0;right:0;bottom:7vh;overflow:visible}.solution-track{display:flex;width:max-content;gap:1.1rem;padding:0 5vw;will-change:transform}.solution-card{width:min(31vw,430px);height:58vh;min-height:460px;position:relative;overflow:hidden;background:#101316;border:1px solid rgba(255,255,255,.11);flex:0 0 auto}.solution-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.64);transform:scale(1.08)}.solution-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.93) 0%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.08))}.solution-card>div{position:absolute;z-index:2;left:1.7rem;right:1.7rem;bottom:1.6rem}.solution-card>div>span{font-size:.64rem;letter-spacing:.14em;color:var(--gold)}.solution-card h3{font-family:"Fraunces",serif;font-size:clamp(2.4rem,3.2vw,4rem);font-weight:500;line-height:.9;letter-spacing:-.04em;margin:.6rem 0}.solution-card p{margin:0;color:rgba(255,255,255,.72)}.solutions-progress{position:absolute;left:5vw;right:5vw;bottom:2.5vh;height:1px;background:rgba(255,255,255,.16)}.solutions-progress span{display:block;width:0;height:1px;background:var(--red)}
.process-section{position:relative;background:#090b0d}.process-intro-panel{height:100vh;position:sticky;top:0;overflow:hidden}.process-bg{position:absolute;inset:-8%;background:url('../img/mountain.jpg') center/cover no-repeat;filter:brightness(.28) saturate(.65)}.process-intro-copy{position:relative;z-index:2;padding-top:20vh}.process-intro-copy h2{font-size:clamp(5rem,9vw,10rem);max-width:9ch}.process-intro-copy>p:last-child{font-size:1.2rem;color:var(--muted);margin-top:2rem}.process-stack{position:relative}.process-card{position:sticky;top:0;height:100vh;padding:14vh 7vw 10vh;display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:7vw;will-change:transform;box-shadow:0 -40px 90px rgba(0,0,0,.28)}.process-card>div span{font-size:.68rem;letter-spacing:.18em}.process-card h3{font-family:"Fraunces",serif;font-size:clamp(4rem,8vw,9rem);font-weight:500;line-height:.85;margin:1rem 0}.process-card p{font-size:1.1rem;max-width:34rem}.process-card strong{font-family:"Fraunces",serif;font-size:clamp(3rem,6vw,7rem);line-height:.95;font-weight:500;letter-spacing:-.045em}.process-card-1{background:#181b1d}.process-card-2{background:#6b1b18}.process-card-3{background:#b5871f;color:#080808}.process-card-4{background:#1a1420}.process-card:not(:first-child){transform:translateX(110vw)}
.story-stage{background:#080a0b}.story-image-panel,.story-quote-panel{position:absolute;top:8vh;bottom:8vh;will-change:transform}.story-image-panel{left:0;width:56vw;overflow:hidden;transform:translateX(-115vw)}.story-image{position:absolute;inset:-8%;background:url('../img/quote.jpg') center/cover no-repeat;filter:brightness(.7)}.story-image-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.78))}.story-quote-panel{right:5vw;width:46vw;padding:6vw;display:flex;flex-direction:column;justify-content:center;background:#0e1215;border:1px solid rgba(255,255,255,.13);transform:translateX(115vw)}.story-quote-panel blockquote{font-family:"Fraunces",serif;font-size:clamp(3rem,5vw,6rem);line-height:.98;letter-spacing:-.045em;margin:0}.story-quote-panel>p{margin:2rem 0 0;color:var(--muted);font-size:1.1rem}
.contact-section{position:relative;min-height:110vh;overflow:hidden;padding:13vh 0;background:#080b0d}.contact-bg{position:absolute;inset:-7%;background:url('../img/contact.jpg') center/cover no-repeat;filter:brightness(.54)}.contact-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.77),rgba(0,0,0,.24) 45%,rgba(0,0,0,.67))}.contact-stage{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}.contact-copy,.contact-form{will-change:transform}.contact-copy{transform:translateX(-110vw)}.contact-copy h2{font-size:clamp(4rem,7vw,8rem)}.contact-copy>p:last-of-type{max-width:500px;color:rgba(255,255,255,.72);font-size:1.08rem}.contact-logo{width:235px;margin-top:3rem}.contact-form{transform:translateX(110vw);padding:3rem;background:rgba(8,12,15,.9);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:#12181c;color:#fff;padding:1rem;margin-bottom:1rem;font:inherit}.contact-form textarea{resize:vertical}.contact-form button{border:0;border-radius:99px;background:var(--red);color:#fff;padding:1rem 1.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.contact-form small{display:block;margin-top:1rem;color:rgba(255,255,255,.47)}.footer{padding:2.5rem 0;background:#030405;border-top:1px solid rgba(255,255,255,.08);font-size:.7rem;color:rgba(255,255,255,.55)}.footer-inner{display:flex;justify-content:space-between}.footer nav{display:flex;gap:1.5rem}
@media(max-width:900px){.nav a:not(.nav-cta){display:none}.brand{width:190px}.hero-side,.hero-rail{display:none}.hero-title{font-size:clamp(4.2rem,18vw,7rem)}.scene{height:155vh}.need-photo-panel{width:100%;height:47%;bottom:auto}.need-copy-panel{top:42%;width:100%;height:58%;padding:6vh 7vw}.need-copy h2{font-size:clamp(3.2rem,12vw,5rem)}.path-left-panel{top:6vh;left:5vw;width:90vw;height:35vh;bottom:auto}.path-flow-panel{top:39vh;right:5vw;width:90vw;bottom:5vh}.path-flow{gap:.55rem}.flow-node{font-size:.52rem}.solution-card{width:76vw}.solutions-head{top:6rem}.process-card{grid-template-columns:1fr;padding:12vh 7vw;gap:2rem}.story-image-panel{top:0;width:100vw;height:52%;bottom:auto}.story-quote-panel{top:42%;right:5vw;width:90vw;bottom:5vh}.contact-stage{grid-template-columns:1fr}.contact-form{padding:1.5rem}.contact-section{padding:10vh 0}.footer-inner{flex-direction:column;gap:1rem}.footer nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.need-photo-panel,.need-copy-panel,.path-left-panel,.path-flow-panel,.process-card,.story-image-panel,.story-quote-panel,.contact-copy,.contact-form{transform:none!important}.solution-track{transform:none!important}.solutions-section{height:auto}.solutions-sticky{position:relative;height:auto;padding:8rem 0}.solutions-head{position:relative;top:auto;left:auto;transform:none;margin-bottom:3rem}.solution-track-wrap{position:relative;bottom:auto;overflow-x:auto}.process-intro-panel{position:relative}.process-card{position:relative}.scene{height:auto}.scene-stage{position:relative;height:auto;min-height:100vh}}
