:root{color-scheme:dark;--bg:#101110;--fg:#f2f3ef;--muted:#a4a89e;--accent:#d5fc70;--line:#34382e;--ease:cubic-bezier(.2,.7,.25,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
a:hover{color:var(--accent)}
.shell{width:min(1280px,calc(100% - 80px));margin-inline:auto}
.skip{position:absolute;top:-100px;left:15px;background:var(--accent);color:var(--bg);padding:14px;z-index:10}
.skip:focus{top:15px}
header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.logo{font-size:40px;font-weight:800;letter-spacing:-5px;line-height:1}
.logo span{font-size:16px;vertical-align:top;margin-left:6px;color:var(--accent)}
nav{display:flex;align-items:center;gap:30px;font-size:14px}
.nav-contact{border:1px solid #62665a;border-radius:30px;padding:11px 18px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(58px,6.1vw,88px);line-height:1.02;letter-spacing:-.065em;margin-bottom:24px;font-weight:700}
h1 em{font-style:normal;color:var(--accent)}
h2{font-size:clamp(40px,4.5vw,64px);letter-spacing:-.055em;line-height:1.07;margin-bottom:0}
.title-line{display:block}
.hero{position:relative;isolation:isolate;overflow:hidden;padding-bottom:0}
.hero-top{position:relative;z-index:2;font-size:12px;letter-spacing:.12em;color:var(--muted);padding-top:24px;line-height:1.5}
.hero-content{position:relative;z-index:2;padding:70px 0 72px;max-width:780px}
.hero-proof{display:inline-block;color:var(--accent);font-size:14px;margin-bottom:20px;border-bottom:1px solid #5e743d;padding-bottom:6px}
.hero-content h1{max-width:740px}
.hero-content>p{max-width:370px;font-size:18px;line-height:1.5;color:#c9cdc2;margin-bottom:28px}
.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.hero-portrait{position:absolute;inset:30px -6% 0 auto;width:76%;z-index:0;opacity:.46;pointer-events:none}
.hero-portrait img{width:100%;height:100%;object-fit:contain;object-position:right bottom;filter:grayscale(1);mask-image:linear-gradient(to bottom,#000 52%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 52%,transparent 100%)}
.button,.nav-contact,.text-link,footer>a{display:inline-flex;align-items:center;gap:12px}
.button{background:var(--accent);color:var(--bg);padding:16px 23px;border-radius:30px;font-weight:700;font-size:15px;min-height:52px;transition:background .25s,transform .25s}
.button:hover{background:#e4ff9f;color:var(--bg);transform:translateY(-2px)}
.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.arrow-icon{display:inline-block;width:19px;height:19px;flex:0 0 19px;vertical-align:middle;transition:transform .25s}
a:hover>.arrow-icon,.work>a:hover .arrow-icon{transform:translate(2px,-2px)}
.proof-band{position:relative;overflow:hidden;background:var(--accent);color:var(--bg)}
.proof-band>.shell{padding-block:34px}
.proof-band strong{display:flex;align-items:center;gap:32px;font-size:clamp(48px,8.6vw,124px);line-height:1.05;letter-spacing:-.06em}
.proof-band small{display:block;font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.35;max-width:150px}
.clients{padding-block:30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}
.clients h2{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted)}
.client-list{display:flex;align-items:center;gap:80px}
.brand-passarella{font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1.3px;line-height:1.05;text-align:center}
.brand-passarella span{display:block;font-size:12px;letter-spacing:4px;font-weight:500;margin-top:7px}
.brand-hyb{font-family:'Arial Black','Helvetica Neue',Arial,sans-serif;font-size:30px;letter-spacing:-1.5px;font-weight:950;line-height:.85}
.brand-hyb span{color:#a36a4b}
.section{padding-block:82px}
.section-heading{margin-bottom:32px}
.section-heading h2 span,.contact h2 span{color:var(--accent)}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.work{min-width:0}
.work-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.1em;color:var(--muted);padding:0 2px 12px}
.video-wrap{aspect-ratio:9/16;width:100%;min-height:500px;background:#1c1e19;border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:transform .4s var(--ease),border-color .4s}
iframe{width:100%;height:100%;border:0;display:block;background:white;color-scheme:light}
.work>a{display:flex;align-items:center;justify-content:space-between;padding:16px 2px 4px;font-size:14px;min-height:44px}
.results{background:#e8ebe3;color:var(--bg);padding-block:65px}
.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:600;margin:0 0 20px}
.case-heading h2{font-size:clamp(36px,4.4vw,64px);max-width:1000px;overflow-wrap:break-word}
.case-process{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:38px}
.case-process>div{border-top:1px solid #a9b39c;padding-top:16px}
.case-process span{font-size:12px;letter-spacing:.08em;color:#48523e}
.case-process p{font-size:18px;line-height:1.4;max-width:285px;margin:14px 0 0}
.metrics-caption{font-size:14px;line-height:1.5;margin:36px 0 16px;font-weight:600}
.stats{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:24px}
.stats>div{border-top:1px solid #a9b39c;padding-top:20px;min-width:0}
.stats strong{display:block;font-size:clamp(40px,5vw,72px);letter-spacing:-.06em;line-height:1.1}
.stats>div>span{display:block;margin-top:10px;font-size:14px;max-width:240px}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.method-grid>div{position:relative;border-top:1px solid var(--line);padding-top:18px;min-width:0}
.method-grid>div:before{content:"";position:absolute;height:2px;top:-1px;left:0;right:0;background:var(--accent);transform:scaleX(0);transform-origin:left center}
.method-grid>div>span{color:var(--accent);font-size:13px}
.method-grid h3{font-size:25px;letter-spacing:-.035em;line-height:1.15;margin:28px 0 12px;max-width:230px}
.method-grid p{color:var(--muted);font-size:16px;line-height:1.5;margin:0}
.about{padding-block:64px;border-top:1px solid var(--line)}
.about>div{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.about h2 span{color:var(--accent)}
.about-copy p{font-size:21px;line-height:1.45;color:#c9cdc2;max-width:510px;margin:0}
.contact{border-top:1px solid var(--line);padding-block:70px}
.contact h2{font-size:clamp(45px,6.2vw,86px);margin-bottom:30px}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:24px;font-size:13px;color:var(--muted)}
/* Motion stays attached to content and ends after its first appearance. */
[data-reveal]{transition:opacity .7s ease,transform .7s var(--ease)}
.motion-pending{opacity:0;transform:translateY(22px)}
.work:nth-child(2){transition-delay:80ms}.work:nth-child(3){transition-delay:160ms}
.motion-ready .title-line{animation:titleIn 750ms var(--ease) both}
.motion-ready .title-line:nth-child(2){animation-delay:100ms}
.motion-ready .hero-portrait img{animation:portraitIn 1100ms ease both}
.motion-ready .method-grid.is-visible>div:before{animation:methodLine 800ms ease both}
.motion-ready .method-grid.is-visible>div:nth-child(2):before{animation-delay:150ms}
.motion-ready .method-grid.is-visible>div:nth-child(3):before{animation-delay:300ms}
.motion-ready .method-grid.is-visible>div:nth-child(4):before{animation-delay:450ms}
[data-count]{font-variant-numeric:tabular-nums}
.count-visual{display:inline;font:inherit;letter-spacing:inherit;color:inherit;margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.odometer{display:inline-flex;align-items:flex-start;letter-spacing:0;vertical-align:top;line-height:1;height:1em;white-space:nowrap}
.digit-window{display:block;width:.56em;height:1em;overflow:hidden}
.digit-strip{display:flex;flex-direction:column;animation:digitRoll var(--roll-duration,1800ms) var(--ease) both}
.digit-strip>span{display:block;flex:0 0 1em;height:1em;line-height:1;text-align:center}
.odometer-separator{display:block;width:.23em;text-align:center}
.odometer-plus{display:block;width:.65em;line-height:1}
.proof-band.is-counting:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#101110;transform-origin:left center;animation:metricLine 2200ms var(--ease) both}
@keyframes titleIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes portraitIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes methodLine{to{transform:scaleX(1)}}
@keyframes digitRoll{from{transform:translateY(0)}to{transform:translateY(var(--roll-end))}}
@keyframes metricLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(hover:hover) and (pointer:fine){.work:hover .video-wrap{transform:translateY(-5px);border-color:#a2b783}.work:hover>a{color:var(--accent)}}
@media(max-width:1050px){.shell{width:calc(100% - 56px)}.hero-content{max-width:680px}.hero-content h1{max-width:640px}.video-wrap{min-height:430px}.work-grid{gap:18px}.method-grid{grid-template-columns:repeat(2,1fr);row-gap:30px}.method-grid h3{max-width:none}.proof-band strong{gap:24px}}
@media(max-width:720px){
 .shell{width:calc(100% - 36px)}
 header{height:72px}nav{gap:0}nav>a:not(.nav-contact){display:none}.logo{font-size:36px}.nav-contact{font-size:13px;padding:10px 13px;gap:8px}
 .hero-top{padding-top:18px;font-size:12px;letter-spacing:.07em;max-width:260px}
 .hero-content{padding:164px 0 32px;max-width:none}
 .hero-proof{font-size:13px;margin-bottom:16px;padding-bottom:4px}
 .hero-content h1{font-size:clamp(40px,10.5vw,64px);line-height:1.04;max-width:600px;margin-bottom:18px}
 .hero-content>p{font-size:16px;line-height:1.45;max-width:300px;margin-bottom:22px}
 .hero-portrait{inset:48px -7% auto auto;width:132%;height:340px;opacity:.48}
 .hero-portrait img{object-position:right top;mask-image:linear-gradient(#000 42%,transparent 100%);-webkit-mask-image:linear-gradient(#000 42%,transparent 100%)}
 .hero-actions{gap:22px}.button{font-size:14px;padding:14px 19px;min-height:48px}.text-link{font-size:13px;gap:6px}.arrow-icon{width:18px;height:18px;flex-basis:18px}
 .proof-band>.shell{padding-block:25px}.proof-band strong{display:block;font-size:clamp(47px,12.3vw,83px)}.proof-band small{font-size:15px;max-width:none;margin-top:8px}
 .clients{padding-block:25px;display:block}.clients h2{text-align:center;margin-bottom:22px}.client-list{justify-content:center;gap:46px}.brand-passarella{font-size:22px}.brand-passarella span{font-size:11px;letter-spacing:3px}.brand-hyb{font-size:27px}
 .section{padding-block:54px}.section-heading{margin-bottom:26px}h2{font-size:42px}
 .work-grid{grid-template-columns:minmax(0,1fr);gap:32px;max-width:440px;margin-inline:auto}.video-wrap{min-height:0;aspect-ratio:9/16}.work-label{padding-bottom:10px}.work:nth-child(2),.work:nth-child(3){transition-delay:0s}.work>a{padding-top:12px}
 .results{padding-block:48px}.case-heading h2{font-size:clamp(32px,8.3vw,48px);line-height:1.12}.eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:16px}
 .case-process{grid-template-columns:1fr;gap:16px;margin-top:27px}.case-process>div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding-top:14px}.case-process span{font-size:12px;line-height:1.6}.case-process p{font-size:16px;line-height:1.4;margin:0;max-width:none}.metrics-caption{font-size:13px;margin-top:30px;margin-bottom:16px;max-width:290px}
 .stats{grid-template-columns:1fr;gap:18px}.stats>div{padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.stats strong{font-size:clamp(39px,10.5vw,56px)}.stats>div>span{font-size:13px;max-width:133px;text-align:right;margin:0}
 .method-grid{gap:26px 18px}.method-grid h3{font-size:23px;margin-top:22px;overflow-wrap:normal}.method-grid p{font-size:15px}
 .about{padding-block:48px}.about>div{grid-template-columns:1fr;gap:24px}.about-copy p{font-size:18px;max-width:440px}
 .contact{padding-block:50px}.contact h2{font-size:clamp(38px,10.1vw,60px);margin-bottom:25px}.contact .button{max-width:100%}
 footer{font-size:12px;gap:12px;padding-block:20px}
}
@media(min-width:480px) and (max-width:720px){.hero-content{padding-top:195px}.hero-portrait{height:380px;width:115%;right:-4%}}
@media(max-width:360px){.hero-actions{gap:18px;flex-wrap:wrap}.method-grid{grid-template-columns:1fr}.case-process>div{grid-template-columns:96px 1fr}.stats strong{font-size:38px}.stats>div>span{max-width:120px}.nav-contact{font-size:12px}.hero-content h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-pending{opacity:1;transform:none}.digit-strip{transform:translateY(var(--roll-end))}}
