@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@300;400;500;600&display=swap');
:root{--bg:#0b0b0b;--ink:#fffdf9;--muted:#91a0ad;--line:#343434;--panel:#46535f;--ease:cubic-bezier(.52,.01,0,1);color-scheme:dark;font-family:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-weight:400}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:20;background:var(--ink);color:#111;padding:.8rem 1rem}.skip-link:focus{top:1rem}.header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(20px,4vw,64px)}.brand{font-size:17px;letter-spacing:-.04em}.brand span{color:var(--muted)}.nav{display:flex;gap:28px;align-items:center;font-size:13px;text-transform:uppercase}.nav a{transition:color .4s var(--ease)}.nav a:hover{color:var(--muted)}.nav-cta{border:1px solid var(--ink);border-radius:5px;padding:10px 15px}.menu-button{display:none;background:none;border:0;color:inherit;text-transform:uppercase}.hero{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center;padding:100px clamp(20px,4vw,64px) 48px}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,11,.78) 0%,rgba(11,11,11,.1) 55%,rgba(11,11,11,.42) 100%);pointer-events:none}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;animation:focus 6.65s var(--ease) infinite alternate}.hero-copy{position:relative;z-index:2;width:100%;max-width:1440px;margin:auto}.hero-note{font-size:12px;letter-spacing:.12em;margin:0 0 clamp(28px,5vh,56px)}h1{font-size:clamp(58px,9vw,136px);font-weight:300;line-height:.9;letter-spacing:-.055em;margin:0;max-width:1100px}h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--ink)}.hero-bottom{margin-top:clamp(40px,7vh,80px);display:flex;align-items:end;gap:clamp(40px,12vw,180px)}.hero-bottom p{font-size:clamp(17px,1.4vw,21px);line-height:1.5;max-width:500px;margin:0}.text-link{font-size:16px;border-bottom:1px solid;padding-bottom:8px}.text-link span{margin-left:34px}.scroll-mark{position:absolute;z-index:2;right:clamp(20px,4vw,64px);bottom:45px;font-size:10px;line-height:1.3;letter-spacing:.12em;text-align:right}.proof-band{background:var(--panel);padding:clamp(64px,9vw,120px) clamp(20px,4vw,64px);display:grid;grid-template-columns:.8fr 2fr;gap:8vw}.proof-band>p{font-size:clamp(24px,3vw,44px);letter-spacing:-.03em;margin:0}.proof-band dl{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin:0}.proof-band dt{font-size:clamp(27px,3.2vw,50px);letter-spacing:-.05em}.proof-band dd{margin:10px 0 0;color:#d7dde2;font-size:14px;line-height:1.45}.section{padding:clamp(90px,12vw,170px) clamp(20px,4vw,64px);max-width:1600px;margin:auto}.section-intro{display:grid;grid-template-columns:.75fr 2fr;gap:8vw}.section-intro>p,.brief>div>p:first-child{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}h2{font-size:clamp(44px,6.8vw,96px);line-height:.96;letter-spacing:-.055em;font-weight:300;margin:0}.format-list{margin-top:clamp(70px,10vw,140px);margin-left:calc(25% + 6vw)}.format-list article{display:grid;grid-template-columns:60px minmax(180px,1fr) 1.4fr;gap:24px;padding:30px 0;border-top:1px solid var(--line);align-items:start}.format-list article:last-child{border-bottom:1px solid var(--line)}.format-list span,.case-grid span{color:var(--muted);font-size:13px}.format-list h3,.process h3{font-weight:400;font-size:clamp(24px,2.6vw,38px);margin:0;letter-spacing:-.03em}.format-list p,.process p{color:#b9c2ca;line-height:1.55;margin:5px 0 0;max-width:440px}.statement{background:var(--ink);color:#111;padding:clamp(100px,14vw,200px) clamp(20px,4vw,64px)}.statement p{font-size:18px;margin:0 0 80px}.statement h2{max-width:1350px}.compare-table{margin-top:90px}.compare-row{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;border-top:1px solid var(--line);padding:22px 0;gap:24px}.compare-row:last-child{border-bottom:1px solid var(--line)}.compare-row span,.compare-row strong{font-weight:400}.compare-row span:nth-child(2){color:#727f89}.compare-row strong{color:var(--ink)}.compare-head{font-size:12px;text-transform:uppercase;color:var(--muted)}.cases{background:#121212;max-width:none}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:1px solid var(--line)}.case-grid a{min-height:420px;padding:32px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.case-grid a:last-child{border:0}.case-grid a::before{content:"";position:absolute;width:200px;height:200px;border:1px solid var(--line);transform:rotate(45deg);top:30px;right:-70px;transition:transform .7s var(--ease),border-color .7s}.case-grid a:hover::before{transform:rotate(105deg);border-color:#6f879c}.case-grid h3{font-size:clamp(36px,4vw,62px);font-weight:300;letter-spacing:-.05em;margin:12px 0}.case-grid p{color:#aab4bc;line-height:1.5;max-width:360px}.process ol{list-style:none;margin:90px 0 0 calc(25% + 6vw);padding:0}.process li{display:grid;grid-template-columns:70px 1fr;padding:28px 0;border-top:1px solid var(--line)}.process li:last-child{border-bottom:1px solid var(--line)}.process li>span{color:var(--muted)}.testimonial{background:var(--panel);padding:clamp(90px,12vw,180px) clamp(20px,8vw,130px)}blockquote{font-size:clamp(34px,5vw,72px);line-height:1.1;letter-spacing:-.045em;margin:0;max-width:1350px}blockquote+p{margin:50px 0 0;color:#d2d8dd}.brief{padding:clamp(90px,12vw,170px) clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,10vw,160px);background:#070707}.brief-lead{font-size:19px;line-height:1.55;max-width:480px;margin-top:50px;color:#bcc4ca}.brief form{display:flex;flex-direction:column;gap:25px}.brief label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:10px}.brief label span{font-size:11px}.brief input,.brief select,.brief textarea{width:100%;border:0;border-bottom:1px solid #596067;background:transparent;color:var(--ink);border-radius:0;padding:14px 0;outline:none}.brief input:focus,.brief select:focus,.brief textarea:focus{border-color:var(--ink)}.brief textarea{resize:vertical}.consent{flex-direction:row!important;align-items:flex-start}.consent input{width:18px;height:18px;margin:0;accent-color:#fff}.brief button{border:1px solid var(--ink);background:var(--ink);color:#111;padding:18px 22px;display:flex;justify-content:space-between;cursor:pointer;transition:background .4s,color .4s}.brief button:hover{background:transparent;color:var(--ink)}.form-note{color:var(--muted);font-size:12px;line-height:1.5;margin:0}.faq{max-width:1000px}.faq>h2{margin-bottom:60px}.faq details{border-top:1px solid var(--line);padding:25px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:clamp(20px,2.3vw,29px);cursor:pointer;list-style:none}.faq summary::after{content:"+";float:right}.faq details[open] summary::after{content:"−"}.faq details p{color:#aeb8c0;line-height:1.55;max-width:650px}footer{border-top:1px solid var(--line);padding:36px clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:end;font-size:13px;color:var(--muted)}footer>div{display:flex;gap:22px;justify-content:flex-end}footer a:hover{color:var(--ink)}@keyframes focus{from{transform:scale(1.01);filter:saturate(.85)}to{transform:scale(1.04);filter:saturate(1.1)}}
@media(max-width:820px){.header{align-items:flex-start}.menu-button{display:block;position:relative;z-index:2}.nav{display:none;position:absolute;top:18px;right:14px;background:#111;border:1px solid var(--line);padding:50px 24px 24px;flex-direction:column;align-items:flex-end}.nav.open{display:flex}.hero{min-height:820px}.hero::after{background:linear-gradient(180deg,rgba(11,11,11,.48),rgba(11,11,11,.3) 45%,#0b0b0b 86%)}.hero-art{height:62%;top:9%;object-position:56% center}.hero-copy{align-self:flex-end}.hero-note{margin-bottom:22px}h1{font-size:clamp(52px,17vw,82px);line-height:.92}.hero-bottom{display:block;margin-top:30px}.hero-bottom p{font-size:16px;max-width:360px}.text-link{display:inline-block;margin-top:28px}.scroll-mark{display:none}.proof-band{grid-template-columns:1fr}.proof-band dl{grid-template-columns:1fr 1fr}.section-intro,.brief{grid-template-columns:1fr}.section-intro{gap:30px}.format-list,.process ol{margin-left:0}.format-list article{grid-template-columns:42px 1fr}.format-list article p{grid-column:2}.compare-row{grid-template-columns:.7fr 1fr 1fr;font-size:13px}.case-grid{grid-template-columns:1fr}.case-grid a{min-height:340px;border-right:0;border-bottom:1px solid var(--line)}footer{grid-template-columns:1fr}footer>div{justify-content:flex-start}}
@media(max-width:480px){.proof-band dl{grid-template-columns:1fr 1fr;gap:32px 18px}.format-list article{grid-template-columns:32px 1fr;padding:24px 0}.compare-table{overflow-x:auto}.compare-row{min-width:620px}.brief{gap:50px}.case-grid a{min-height:300px;padding:24px 0}footer>div{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-art{animation:none}*,*::before,*::after{transition-duration:.01ms!important}}

/* V2 — optical motion and neo-grotesk typography */
:root{--scroll:0;--hero-progress:0;--chroma:0px;--display:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;font-family:var(--display)}
body{font-family:var(--display);font-kerning:normal;font-feature-settings:"ss01" 1,"kern" 1;overflow-x:clip}
.scroll-progress{position:fixed;z-index:30;left:0;top:0;width:100%;height:2px;pointer-events:none;transform:scaleX(var(--scroll));transform-origin:left;background:linear-gradient(90deg,#ff2a2a,#2aff2a 52%,#2a7fff);will-change:transform}
.header{position:fixed;transition:background-color .45s var(--ease),backdrop-filter .45s var(--ease)}
.header.is-scrolled{background:rgba(11,11,11,.72);backdrop-filter:blur(14px)}
.brand{font-size:1.05rem;font-weight:400;letter-spacing:-.045em}
.nav{font-size:.75rem;letter-spacing:.015em}
.hero{isolation:isolate}
.hero-optics{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:calc(var(--hero-progress) * .38);mix-blend-mode:screen;filter:contrast(1.15) saturate(1.4)}
.hero-art{animation:none;transform-origin:54% 52%;will-change:transform,filter,opacity}
.hero-art--main{transform:translate3d(0,calc(var(--hero-progress) * -22px),0) scale(calc(1.01 + var(--hero-progress) * .09));filter:saturate(calc(.9 + var(--hero-progress) * .32)) contrast(calc(1 + var(--hero-progress) * .12))}
.hero-art--red{opacity:.65;mix-blend-mode:screen;filter:sepia(1) saturate(8) hue-rotate(315deg);transform:translate3d(calc(var(--hero-progress) * -18px),calc(var(--hero-progress) * 6px),0) scale(calc(1.01 + var(--hero-progress) * .085))}
.hero-art--cyan{opacity:.55;mix-blend-mode:screen;filter:sepia(1) saturate(7) hue-rotate(145deg);transform:translate3d(calc(var(--hero-progress) * 18px),calc(var(--hero-progress) * -5px),0) scale(calc(1.01 + var(--hero-progress) * .095))}
.hero-copy{transform:translate3d(0,calc(var(--hero-progress) * -34px),0);opacity:calc(1 - var(--hero-progress) * .34);will-change:transform,opacity}
h1{font-weight:300;letter-spacing:-.045em;line-height:.92;text-wrap:balance}
h2{font-weight:300;letter-spacing:-.043em;text-wrap:balance}
.hero-bottom p,.format-list p,.process p,.case-grid p,.brief-lead,.faq details p{letter-spacing:.008em}
.nav-cta,.brief button{position:relative;isolation:isolate;overflow:hidden;transition:color .38s var(--ease),border-color .38s var(--ease),transform .18s ease-out}
.nav-cta::before,.brief button::before{content:"";position:absolute;z-index:-1;inset:-1px;background:var(--ink);transform:translateY(102%);transition:transform .46s var(--ease)}
.nav-cta:hover,.nav-cta:focus-visible{color:#111;border-color:var(--ink)}
.nav-cta:hover::before,.nav-cta:focus-visible::before,.brief button:hover::before,.brief button:focus-visible::before{transform:translateY(0)}
.brief button{background:transparent;color:var(--ink);min-height:58px;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}
.brief button:hover,.brief button:focus-visible{color:#111}
.text-link{position:relative;border:0;padding:0 0 11px;min-width:180px;display:flex;justify-content:space-between;overflow:hidden}
.text-link::before,.text-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform-origin:right;transition:transform .52s var(--ease)}
.text-link::after{transform:translateX(-105%);transform-origin:left}
.text-link:hover::before{transform:scaleX(0)}.text-link:hover::after{transform:translateX(0)}
.text-link span{margin-left:2rem;transition:transform .45s var(--ease)}.text-link:hover span{transform:translate(4px,4px)}
.menu-button,.nav a,.text-link,.case-grid a,.brief button,summary{outline-offset:5px}
:focus-visible{outline:1px solid var(--ink)}
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,44px,0);clip-path:inset(0 0 18% 0);transition:opacity .75s var(--ease),transform .9s var(--ease),clip-path .9s var(--ease)}
.motion-ready [data-reveal="line"]{transform:translate3d(46px,0,0);clip-path:inset(0 12% 0 0)}
.motion-ready [data-reveal="case"]{transform:translate3d(0,0,0);clip-path:inset(0 0 100% 0)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0);clip-path:inset(0)}
.section-intro h2,.statement h2,blockquote{transition-delay:.08s}
.format-list article:nth-child(2),.case-grid a:nth-child(2),.process li:nth-child(2){transition-delay:.07s}
.format-list article:nth-child(3),.case-grid a:nth-child(3),.process li:nth-child(3){transition-delay:.14s}
.process li:nth-child(4){transition-delay:.21s}
.case-grid a::after{content:"VIEW CASE ↗";position:absolute;left:28px;top:28px;font-size:.7rem;letter-spacing:.08em;transform:translateY(-16px);opacity:0;transition:transform .45s var(--ease),opacity .45s var(--ease)}
.case-grid a:hover::after{transform:translateY(0);opacity:1}
.case-grid a:hover h3{transform:translateX(10px)}.case-grid h3{transition:transform .5s var(--ease)}
@media(max-width:820px){.hero-optics{opacity:calc(var(--hero-progress) * .24)}.hero-copy{transform:none;opacity:1}.hero-art--main{transform:translate3d(0,calc(var(--hero-progress) * -12px),0) scale(calc(1 + var(--hero-progress) * .05))}.motion-ready [data-reveal]{transform:translate3d(0,28px,0)}}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.hero-optics{display:none}.hero-art,.hero-copy{transform:none!important;filter:none!important;opacity:1!important}.motion-ready [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}}
