:root{--bg:#000;--fg:#fff;--muted:#9a9a9a;--line:#1f1f1f;--violet:#ff7a1a;--amber:#ffb829;--teal:#15846e;--max:1280px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:300 18px/1.6 "Inter Tight",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;color:#000;padding:8px 12px;z-index:99}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(20px,4vw,48px);background:rgba(0,0,0,.8);backdrop-filter:blur(10px)}
.logo{font-weight:600;text-decoration:none;letter-spacing:-.02em;font-size:20px}.mark{color:var(--violet)}
.nav nav{display:flex;gap:28px}.nav nav a{text-decoration:none;font-size:15px;color:#bdbdbd}.nav nav a:hover{color:#fff}
.pill{display:inline-block;background:var(--violet);color:#111;border:0;border-radius:999px;padding:14.4px 22px;font:600 14px/1 "Inter Tight",sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.pill:hover{background:#ff9442;transform:translateY(-1px)}.pill.sm{padding:11px 18px}
.ghost{color:#fff;text-decoration:none;font-weight:400;border-bottom:1px solid transparent;transition:border-color .2s}.ghost:hover{border-color:#fff}
.label{text-transform:uppercase;font-size:14px;font-weight:600;color:var(--amber);letter-spacing:.35px;margin-bottom:20px}
h1,h2,h3{font-weight:400}
h1{font-size:clamp(48px,8vw,113px);line-height:.98;letter-spacing:-.035em}
h2{font-size:clamp(36px,4.6vw,64px);line-height:1.02;letter-spacing:-.03em}
h3{font-size:26px;letter-spacing:-.02em;line-height:1.15}
.hero{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(60px,10vw,140px) clamp(20px,4vw,48px);min-height:min(88vh,860px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden}
.hero-copy{position:relative;z-index:2}
.lead{font-weight:200;max-width:480px;margin:32px 0 40px;color:#e6e6e6}
.ctas{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
#constellation{width:100%;height:min(620px,70vh,620px);min-height:420px}
.section{max-width:var(--max);margin:0 auto;padding:clamp(80px,10vw,150px) clamp(20px,4vw,48px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,96px);align-items:end;margin-bottom:72px}
.body{font-weight:200;color:#d6d6d6;max-width:520px}.body p+p{margin-top:16px}
.n{color:var(--muted);font-size:14px;font-weight:600;display:block;margin-bottom:16px}
.list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:48px 40px}
.list p,.steps p,.meta p{color:var(--muted);font-weight:300;margin-top:12px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.steps li{border-top:1px solid #333;padding-top:24px}
.work{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;margin-bottom:120px}
.shots{position:relative;padding-right:9%}
.shots img{border-radius:10px}
.shots .phone,.shots .wide2{position:absolute;right:0;bottom:-8%;width:24%;border-radius:14px;border:3px solid #222}
.shots .wide2{width:44%}
.tag{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.35px;color:var(--amber)!important;margin:0 0 12px!important}
.meta h3{font-size:clamp(30px,3vw,42px)}
.meta .ghost{display:inline-block;margin-top:20px}
.offer{max-width:860px}
.big{font-size:clamp(30px,3.6vw,48px);line-height:1.1;letter-spacing:-.025em;margin-bottom:24px}
.violet{color:var(--violet)}.offer .pill{margin-top:32px}
.ph{color:var(--amber);font-weight:400}
.form{display:grid;gap:18px;max-width:520px;align-self:start}
.form label{display:grid;gap:6px;font-size:14px;color:#bdbdbd}
.form input,.form textarea{background:#0a0a0a;border:1px solid #333;border-radius:10px;padding:12px 14px;color:#fff;font:inherit;font-size:16px}
.form input:focus,.form textarea:focus{border-color:var(--violet);outline:none}
.form button{justify-self:start}.note{font-size:14px;color:var(--muted)}
.foot{max-width:var(--max);margin:0 auto;padding:40px clamp(20px,4vw,48px);display:flex;justify-content:space-between;color:var(--muted);font-size:14px;border-top:1px solid var(--line)}
.js:not(.motion) [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js:not(.motion) [data-reveal].in{opacity:1;transform:none}
@media (max-width:900px){
 .nav nav{display:none}
 .hero{grid-template-columns:1fr;min-height:auto}
 #constellation{position:absolute;inset:0;height:100%;opacity:.35;z-index:1}
 .split,.work{grid-template-columns:1fr}.split{align-items:start;margin-bottom:48px}
 .steps{grid-template-columns:1fr 1fr}
 .work{margin-bottom:96px}
}
@media (max-width:520px){.steps{grid-template-columns:1fr}.foot{flex-direction:column;gap:12px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transform:none;transition:none}.pill{transition:none}}
/* ---- scroll motion v2 ---- */
#constellation{position:fixed!important;inset:0;width:100vw!important;height:100vh!important;min-height:0!important;z-index:0;pointer-events:none;opacity:1!important}
main,.foot{position:relative;z-index:1}.nav{position:sticky;top:0;z-index:10}
.hero{grid-template-columns:1fr}
.hero-h .hl{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero-h .hl>span{display:inline-block;will-change:transform}
.mline{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.mline>span{display:inline-block}
.work-pin{overflow:hidden}
.work-track{display:block}
.shots{overflow:visible}.shots>img:first-child{will-change:transform}
.n{font-variant-numeric:tabular-nums}
@media (min-width:901px){
 .motion #work{height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:96px;padding-bottom:32px;overflow:hidden}
 .motion #work>.split{margin-bottom:clamp(20px,4vh,48px)}
 .motion .work-pin{flex:1 1 auto;display:flex;align-items:center;min-height:0}
 .motion .work-track{display:flex;gap:6vw;padding-left:clamp(20px,4vw,48px);width:max-content;will-change:transform}
 .motion .work{width:min(78vw,1100px,calc((100vh - 360px) * 2.1));flex:none;margin:0}
 .motion #work{max-width:none;padding-left:0;padding-right:0}
 .motion #work>.split{max-width:var(--max);margin-left:auto;margin-right:auto;padding:0 clamp(20px,4vw,48px)}
}
@media (max-width:900px){#constellation{opacity:.7!important}}


.hero-copy,.split,.list,.steps,.offer,.form{text-shadow:0 1px 12px rgba(0,0,0,.85)}
/* Lenis requires native smooth-scroll off, otherwise every frame's scrollTo is re-animated by the browser */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
html.motion{scroll-behavior:auto}
.pin-spacer{z-index:1}#work,.hero-wrap{position:relative;z-index:1}
#gl{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;display:block}
@media (max-width:900px){#gl{opacity:.85}}
