:root{--cobalt:#1F3BFF;--night:#0A1033;--paper:#F6F7FB;--sun:#FFC933;--soft:#DCE1FF;--ink2:#434B72}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:400 17px/1.6 'DM Sans',system-ui,sans-serif;background:var(--paper);color:var(--night)}
h1,h2,h3,.logo{font-family:'Bricolage Grotesque','DM Sans',sans-serif;line-height:1.05;margin:0}
h2{font-weight:800;font-size:clamp(32px,5vw,56px);letter-spacing:-.025em}
h3{font-weight:800;font-size:22px}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.cta :focus-visible,.wrap :focus-visible{outline-color:var(--cobalt)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:10}
.lead{color:var(--ink2);max-width:560px;margin:14px 0 0}
.wrap{max-width:1200px;margin:0 auto;padding:clamp(56px,8vw,104px) clamp(20px,5vw,48px)}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(20px,5vw,48px);background:var(--cobalt);color:#fff}
.logo{font-weight:800;font-size:26px}.logo span{font-weight:500;font-size:14px;margin-left:8px;letter-spacing:.04em}
nav{display:flex;align-items:center;gap:6px 28px}
nav a:not(.btn){padding:12px 0;font-weight:500}
nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border-radius:10px;font-weight:600;border:2px solid transparent;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-y{background:var(--sun);color:var(--night)}.btn-y:hover{background:#FFD95E}
.btn-w{border-color:#fff;color:#fff}.btn-w:hover{background:rgba(255,255,255,.14)}
.btn-n{background:var(--night);color:#fff}.btn-n:hover{background:#1A2457}
.btn-o{border-color:var(--night)}.btn-o:hover{background:rgba(10,16,51,.08)}
.top .btn{min-height:44px;padding:0 20px}
.menu-btn{display:none;min-height:44px;padding:0 18px;border:2px solid #fff;border-radius:10px;background:none;color:#fff;font:600 16px 'DM Sans',sans-serif;cursor:pointer}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero{background:var(--cobalt);color:#fff;padding:clamp(56px,10vw,140px) clamp(20px,5vw,48px) clamp(64px,9vw,120px)}
.hero-in{max-width:1200px;margin:0 auto}
.hero h1{font-weight:800;font-size:clamp(44px,8.5vw,120px);letter-spacing:-.035em;max-width:11em}
.hero p{font-size:clamp(18px,2vw,21px);color:var(--soft);max-width:600px;margin:28px 0 0}
.band{background:var(--sun);color:var(--night);overflow:hidden;white-space:nowrap;padding:20px 0;font:800 clamp(22px,3vw,34px)/1 'Bricolage Grotesque',sans-serif}
.track{display:inline-flex;animation:slide 34s linear infinite}
.track span{display:inline-flex;align-items:center;padding-left:28px}
.track span::after{content:"";width:10px;height:10px;background:var(--night);margin-left:56px;transform:rotate(45deg)}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.track{animation:none}html{scroll-behavior:auto}}
.rows{list-style:none;margin:48px 0 0;padding:0;border-top:2px solid var(--night)}
.rows li{border-bottom:1px solid #C5CBE6}
.rows a{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px 40px;align-items:center;padding:28px 12px;transition:background .15s}
.rows a:hover{background:#fff}
.rows p{margin:0;color:var(--ink2)}
.rows span{font-weight:600;color:var(--cobalt);text-decoration:underline;text-underline-offset:5px}
.work{background:var(--night);color:#fff;padding:clamp(56px,8vw,104px) clamp(20px,5vw,48px)}
.work-in,.process-in{max-width:1200px;margin:0 auto}
.work .lead{color:var(--soft)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:48px}
.tile{display:flex;flex-direction:column;justify-content:flex-end;min-height:280px;padding:24px;border-radius:6px;transition:transform .15s}
.tile:hover{transform:translateY(-3px)}
.tile strong{font:800 24px/1.1 'Bricolage Grotesque',sans-serif}
.tile span{margin-top:6px}
.t1{background:var(--cobalt)}.t2{background:#18245F}.t3{background:var(--sun);color:var(--night)}.t4{background:var(--paper);color:var(--night)}
@media (min-width:900px){.big{grid-column:span 2}}
.process{background:var(--cobalt);color:#fff;padding:clamp(56px,8vw,104px) clamp(20px,5vw,48px)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;margin-top:48px}
.steps b{display:block;font:800 clamp(64px,8vw,104px)/1 'Bricolage Grotesque',sans-serif;color:var(--sun)}
.steps h3{margin:14px 0 8px}
.steps p{margin:0;color:var(--soft)}
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:40px}
.logos div{display:flex;align-items:center;justify-content:center;height:84px;border:2px dashed #A9B1D6;border-radius:6px;color:var(--ink2);font-size:14px}
.cta{background:var(--sun);padding:clamp(56px,9vw,120px) clamp(20px,5vw,48px)}
.cta-in{max-width:1200px;margin:0 auto}
.cta h2{font-size:clamp(40px,7vw,96px);max-width:12em}
.cta p{font-size:19px;max-width:520px;margin:20px 0 0}
.cta .small{font-size:16px;font-weight:600}
footer{background:var(--night);color:#fff;padding:clamp(48px,6vw,80px) clamp(20px,5vw,48px) 32px}
.foot{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:32px}
.foot h3{font-size:16px;margin-bottom:12px}
.foot a:not(.logo){display:block;padding:6px 0;color:var(--soft)}
.foot a:not(.logo):hover{color:#fff;text-decoration:underline}
.foot p{color:var(--soft);margin:10px 0 0}
.copy{max-width:1200px;margin:48px auto 0;color:var(--soft);font-size:14px}
@media (max-width:860px){
.menu-btn{display:inline-flex;align-items:center}
nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 12px}
nav.open{display:flex}
.top{flex-wrap:wrap}
nav a:not(.btn){padding:14px 0;border-bottom:1px solid rgba(255,255,255,.25)}
nav .btn{margin-top:14px}
.rows a{grid-template-columns:1fr}
}
