:root{
  --ink:#0B1020; --ink-2:#555E6E; --ink-3:#9AA1AD; --paper:#FFFFFF; --mist:#F4F5F7; --rule:#E4E7EB;
  --magenta:#E6007E; --orange:#F39200; --yellow:#FFC800; --green:#3AAA35; --cyan:#009FE3; --purple:#662483;
  --toronto:#E5322D; --montreal:#8A35AE; --teal:#0E3B47;
  --thread:linear-gradient(90deg,var(--magenta) 0 16.6%,var(--orange) 0 33.3%,var(--yellow) 0 50%,var(--green) 0 66.6%,var(--cyan) 0 83.3%,var(--purple) 0);
  --ease:cubic-bezier(.2,.8,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --gut:clamp(20px,3.9vw,56px); --max:1440px;
  --display:"Inter Tight","Geist",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--paper);color:var(--ink);font:400 17px/1.6 "Geist",system-ui,sans-serif;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video,canvas,svg{display:block;max-width:100%}
picture{display:contents}
picture>source{display:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:4px}
.d{font-family:var(--display);font-weight:600;letter-spacing:-.032em;line-height:.98}
.mono{font-family:"Geist Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.h2{font-size:clamp(42px,5.6vw,94px)}
.hl{color:var(--magenta)}
.label{display:flex;align-items:center;gap:12px;color:var(--ink-2)}
.label::before{content:"";width:28px;height:1px;background:currentColor}
.thread{height:3px;background:var(--thread)}

/* PARTNERS + FOOTER */
.partners{padding:80px 0 84px;border-top:1px solid var(--rule);overflow:hidden}
.partners .label{justify-content:center;margin-bottom:40px}
.pmarq{white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.plogos{display:inline-flex;gap:80px;align-items:center;animation:tick 60s linear infinite;padding-right:80px}
.pmarq:hover .plogos{animation-play-state:paused}
.plogos a{display:block;flex:none;line-height:0}
.plogos a:focus-visible{outline:2px solid var(--magenta);outline-offset:6px;border-radius:4px}
.plogos img{height:40px;width:auto;max-width:180px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.plogos img:hover{filter:none;opacity:1}
@keyframes tick{to{transform:translateX(-50%)}}

.js .rv{opacity:0;transform:translateY(26px)}
.js .rv.in{opacity:1;transform:none;transition:opacity 1.1s var(--ease-out),transform 1.1s var(--ease-out)}

.sec-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:52px}
.sec-head p{max-width:380px;color:var(--ink-2)}
@media (max-width:900px){
  .sec-head{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .pmarq{white-space:normal;-webkit-mask-image:none;mask-image:none;padding:0 var(--gut)}
  .plogos{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 56px;padding:0;max-width:1100px;margin:0 auto}
}
@media (max-width:600px){
  .plogos{gap:52px;padding-right:52px}
  .plogos img{height:34px}
}
