/* ==========================================================================
   DÉJÀ VU ROBOTICS · FTC #13216 — design system
   Concept: an engineering drawing set. Hairline grids, registration marks,
   figure captions and sheet numbers; purple is the team colour, pink is
   reserved for "live" states and the BIOBUZZ pollen motif.
   ========================================================================== */

@font-face{font-family:"Big Shoulders Display";src:url("fonts/bsd-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url("fonts/bsd-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url("fonts/bsd-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/geist-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/geist-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/geistmono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  /* colour */
  --ink:#0B0A0F;        /* page */
  --ink-2:#131119;      /* raised surfaces, used sparingly */
  --ink-3:#1B1823;
  --paper:#F2EFF6;      /* light sections */
  --paper-2:#E6E1EE;
  --fg:#F2EFF6;
  --fg-2:#B7B1C4;       /* secondary text on ink */
  --fg-3:#7E7890;       /* captions, labels */
  --line:rgba(242,239,246,.10);
  --line-2:rgba(242,239,246,.20);
  --purple:#8C5BFF;     /* text/lines on ink */
  --purple-deep:#5B2BD1;/* fills */
  --pink:#FF5FA8;
  --on-purple:#FFFFFF;

  /* type */
  --display:"Big Shoulders Display","Bebas Neue","Arial Narrow",Impact,sans-serif;
  --sans:"Geist","Helvetica Neue",Arial,system-ui,sans-serif;
  --mono:"Geist Mono","IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;

  --step--1:clamp(12px,.72rem + .1vw,13px);
  --step-0:clamp(16px,.95rem + .2vw,18px);
  --step-1:clamp(19px,1.05rem + .6vw,24px);
  --step-2:clamp(24px,1.2rem + 1.4vw,40px);
  --step-3:clamp(40px,1.6rem + 3.6vw,84px);
  --step-4:clamp(56px,2rem + 7vw,148px);
  --step-5:clamp(84px,3rem + 13.5vw,280px);

  /* layout */
  --gutter:clamp(16px,3.2vw,40px);
  --max:1360px;
  --nav-h:64px;
  --ease:cubic-bezier(.22,.8,.18,1);
  --ease-in:cubic-bezier(.6,0,.8,.2);
  --dur:.9s;
  color-scheme:dark;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--fg);font:400 var(--step-0)/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color .7s var(--ease),color .7s var(--ease)}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,figure,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
::selection{background:var(--purple);color:#fff}
:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--paper);color:var(--ink);padding:10px 14px;font:500 14px/1 var(--sans);transition:top .2s}
.skip:focus{top:12px}

/* ---------- surfaces: the page background changes as sections scroll in ---------- */
body[data-surface="paper"] .nav{--nav-fg:var(--ink);--nav-line:rgba(11,10,15,.12);--nav-bg:rgba(242,239,246,.82)}
[data-surface-zone="paper"]{--fg:#0B0A0F;--fg-2:#3E3A48;--fg-3:#6E6880;--line:rgba(11,10,15,.12);--line-2:rgba(11,10,15,.24);--purple:#5B2BD1;color:var(--fg);background:var(--paper)}

/* ---------- layout primitives ---------- */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
.section{position:relative;padding-block:clamp(88px,12vw,180px)}
.section--tight{padding-block:clamp(64px,8vw,120px)}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- type ---------- */
.label{font:500 var(--step--1)/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.label b{font-weight:500;color:var(--fg)}
.label--accent{color:var(--purple)}
.display{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.88}
.h1{font:800 var(--step-4)/.86 var(--display);text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance}
.h2{font:800 var(--step-3)/.9 var(--display);text-transform:uppercase;letter-spacing:-.005em;text-wrap:balance}
.h3{font:700 var(--step-2)/1 var(--display);text-transform:uppercase;letter-spacing:.005em}
.lede{font:400 var(--step-1)/1.45 var(--sans);color:var(--fg-2);max-width:40ch;text-wrap:pretty}
.prose{color:var(--fg-2);max-width:62ch;text-wrap:pretty}
.prose p+p{margin-top:1em}
.prose strong{color:var(--fg);font-weight:500}
.statement{font:400 clamp(26px,1.1rem + 2.2vw,52px)/1.18 var(--sans);letter-spacing:-.02em;color:var(--fg-3);text-wrap:pretty}
.statement em{font-style:normal;color:var(--fg)}
.mono{font-family:var(--mono)}
.num{font-variant-numeric:tabular-nums}

/* section header: sheet number + title block like a drawing title block */
.shead{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.shead__meta{grid-column:1 / span 3;display:flex;flex-direction:column;gap:10px;padding-bottom:10px}
.shead__meta .idx{font:500 var(--step--1)/1 var(--mono);color:var(--purple);letter-spacing:.08em}
.shead__title{grid-column:4 / span 9}
.shead__note{grid-column:4 / span 6;margin-top:22px}
@media (max-width:860px){.shead__meta,.shead__title,.shead__note{grid-column:1 / -1}.shead__meta{flex-direction:row;gap:16px;padding-bottom:18px}}

/* ---------- links & buttons ---------- */
.ulink{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size .45s var(--ease);padding-bottom:2px}
.ulink:hover,.ulink:focus-visible{background-size:100% 1px}
.ulink--on{background-size:100% 1px}

.btn{--b:var(--fg);position:relative;display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 22px;font:500 15px/1 var(--sans);letter-spacing:.01em;border:1px solid var(--b);color:var(--b);background:transparent;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .35s var(--ease),border-color .35s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--b);transform:scaleY(0);transform-origin:50% 100%;transition:transform .45s var(--ease);z-index:-1}
.btn:hover,.btn:focus-visible{color:var(--ink)}
.btn:hover::before,.btn:focus-visible::before{transform:scaleY(1)}
.btn .arr{display:inline-block;transition:transform .45s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn--solid{background:var(--purple-deep);border-color:var(--purple-deep);color:#fff}
.btn--solid::before{background:var(--fg)}
.btn--solid:hover,.btn--solid:focus-visible{color:var(--ink);border-color:var(--fg)}
[data-surface-zone="paper"] .btn:hover,[data-surface-zone="paper"] .btn:focus-visible{color:var(--paper)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- registration marks / technical details ---------- */
.reg{position:absolute;width:14px;height:14px;pointer-events:none}
.reg::before,.reg::after{content:"";position:absolute;background:var(--line-2)}
.reg::before{left:6.5px;top:0;width:1px;height:14px}
.reg::after{top:6.5px;left:0;height:1px;width:14px}
.reg--tl{left:-7px;top:-7px}.reg--tr{right:-7px;top:-7px}.reg--bl{left:-7px;bottom:-7px}.reg--br{right:-7px;bottom:-7px}

.figure{position:relative}
.figure__media{position:relative;overflow:hidden;background:var(--ink-2)}
.figure__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.figure:hover .figure__media img{transform:scale(1.03)}
.figcap{display:flex;justify-content:space-between;gap:16px;margin-top:12px;font:500 var(--step--1)/1.4 var(--mono);letter-spacing:.04em;color:var(--fg-3);text-transform:uppercase}
.figcap b{color:var(--fg-2);font-weight:500}

/* ---------- NAV ---------- */
.nav{--nav-fg:var(--fg);--nav-line:var(--line);--nav-bg:rgba(11,10,15,.78);position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);color:var(--nav-fg);transition:transform .5s var(--ease),color .5s var(--ease)}
.nav::before{content:"";position:absolute;inset:0;background:var(--nav-bg);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--nav-line);opacity:0;transition:opacity .4s var(--ease),background-color .6s var(--ease)}
.nav.is-scrolled::before{opacity:1}
.nav.is-hidden{transform:translateY(-100%)}
.nav__in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--nav-h)}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:34px;height:auto;transition:transform .6s var(--ease)}
.brand:hover img{transform:rotate(-30deg)}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__txt strong{font:800 19px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.brand__txt span{font:500 10.5px/1 var(--mono);letter-spacing:.12em;color:var(--fg-3);margin-top:4px}
body[data-surface="paper"] .brand img{filter:invert(1)}
.nav__links{position:relative;display:flex;align-items:center;gap:4px}
.nav__links a{position:relative;padding:10px 14px;font:500 14px/1 var(--sans);color:inherit;opacity:.72;transition:opacity .3s}
.nav__links a:hover,.nav__links a[aria-current="page"]{opacity:1}
.nav__ind{position:absolute;bottom:2px;height:1px;background:var(--purple);left:0;width:0;transition:transform .55s var(--ease),width .55s var(--ease),opacity .3s;opacity:0;pointer-events:none}
.nav__cta{height:40px;padding:0 16px;margin-left:12px;font-size:14px}
.nav__toggle{display:none;align-items:center;gap:10px;height:40px;padding:0 4px;background:none;border:0;cursor:pointer;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.nav__toggle .bars{position:relative;width:22px;height:10px}
.nav__toggle .bars::before,.nav__toggle .bars::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .45s var(--ease),top .45s var(--ease)}
.nav__toggle .bars::before{top:0}.nav__toggle .bars::after{top:8.5px}
body.menu-open .nav__toggle .bars::before{top:4.25px;transform:rotate(45deg)}
body.menu-open .nav__toggle .bars::after{top:4.25px;transform:rotate(-45deg)}
@media (max-width:900px){.nav__links{display:none}.nav__toggle{display:inline-flex}}

/* mobile menu */
.menu{position:fixed;inset:0;z-index:45;background:var(--ink);color:var(--fg);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--nav-h) + env(safe-area-inset-top,0px) + 32px) var(--gutter) calc(32px + env(safe-area-inset-bottom,0px));clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .7s var(--ease),visibility 0s .7s}
body.menu-open .menu{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .7s var(--ease),visibility 0s 0s}
body.menu-open{overflow:hidden}
body.menu-open .nav{color:var(--fg)}
body.menu-open .nav::before{opacity:0}
.menu ol{display:flex;flex-direction:column;gap:6px}
.menu li{overflow:hidden;border-bottom:1px solid var(--line)}
.menu li a{display:flex;align-items:baseline;justify-content:space-between;padding:14px 0;font:800 clamp(40px,11vw,72px)/.95 var(--display);text-transform:uppercase;transform:translateY(105%);transition:transform .7s var(--ease)}
.menu li a span{font:500 12px/1 var(--mono);color:var(--fg-3);letter-spacing:.1em}
.menu li a[aria-current="page"]{color:var(--purple)}
body.menu-open .menu li a{transform:none}
body.menu-open .menu li:nth-child(2) a{transition-delay:.05s}
body.menu-open .menu li:nth-child(3) a{transition-delay:.1s}
body.menu-open .menu li:nth-child(4) a{transition-delay:.15s}
body.menu-open .menu li:nth-child(5) a{transition-delay:.2s}
.menu__foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* scroll progress + section index */
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:60;pointer-events:none;transform-origin:0 50%;transform:scaleX(var(--p,0));background:var(--purple)}
.sindex{position:fixed;right:clamp(10px,1.6vw,24px);top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:10px;mix-blend-mode:difference}
.sindex a{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:14px;color:#fff;font:500 10.5px/1 var(--mono);letter-spacing:.1em}
.sindex a span{opacity:0;transform:translateX(6px);transition:opacity .3s,transform .4s var(--ease)}
.sindex a i{display:block;width:12px;height:1px;background:#fff;opacity:.45;transition:width .45s var(--ease),opacity .3s}
.sindex a:hover span,.sindex a.is-active span{opacity:1;transform:none}
.sindex a.is-active i{width:28px;opacity:1}
@media (max-width:1100px){.sindex{display:none}}

/* ---------- page transition curtain ---------- */
.curtain{position:fixed;inset:0;z-index:100;background:var(--ink);display:grid;place-items:center;pointer-events:none;transform:translateY(0);transition:transform .8s var(--ease)}
.curtain img{width:64px;opacity:.9}
.curtain .label{position:absolute;bottom:28px;left:var(--gutter)}
html.js .curtain{transform:translateY(0)}
html.js.is-ready .curtain{transform:translateY(-100%)}
html.js.is-leaving .curtain{transform:translateY(0);transition:transform .55s var(--ease-in)}
html.js.is-leaving.from-below .curtain{transition:none}
html:not(.js) .curtain{display:none}
html.js .curtain{animation:curtainSafe 0s 3.5s forwards}
html.js.is-leaving .curtain{animation:none}
@keyframes curtainSafe{to{visibility:hidden}}
@media (prefers-reduced-motion:reduce){.curtain{display:none}}

/* ---------- reveal system ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);transition-delay:var(--d,0s)}
html.js [data-reveal].in{opacity:1;transform:none}
html.js [data-reveal="fade"]{transform:none}
/* image mask reveal */
html.js [data-mask]{clip-path:inset(100% 0 0 0);transition:clip-path 1.25s var(--ease);transition-delay:var(--d,0s)}
html.js [data-mask].in{clip-path:inset(0 0 0 0)}
html.js [data-mask] img{transform:scale(1.12);transition:transform 1.6s var(--ease)}
html.js [data-mask].in img{transform:scale(1)}
/* split lines */
.sl{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.sl>span{display:block}
html.js [data-lines] .sl>span{transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--i,0) * 90ms + var(--d,0s))}
html.js [data-lines].in .sl>span{transform:none}
/* hairline draw */
html.js [data-draw]{transform:scaleX(0);transform-origin:0 50%;transition:transform 1.4s var(--ease);transition-delay:var(--d,0s)}
html.js [data-draw].in{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){
  html.js [data-reveal],html.js [data-mask],html.js [data-mask] img,html.js [data-lines] .sl>span,html.js [data-draw]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
}

/* ==========================================================================
   HOME
   ========================================================================== */

/* hero */
.hero{position:relative;min-height:max(640px,100svh);padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px));display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.hero__grid{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero__grid i{position:absolute;background:var(--line)}
.hero__grid .v{top:0;bottom:0;width:1px}
.hero__grid .h{left:0;right:0;height:1px}
html.js .hero__grid .v{transform:scaleY(0);transform-origin:50% 0;transition:transform 1.6s var(--ease)}
html.js .hero__grid .h{transform:scaleX(0);transform-origin:0 50%;transition:transform 1.6s var(--ease)}
html.js.is-ready .hero__grid i{transform:none}
.hero__body{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;column-gap:var(--gutter);padding-block:clamp(20px,3vw,40px) clamp(20px,3vw,36px)}
.hero__meta{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.season{display:inline-flex;align-items:center;gap:10px}
.season .live{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(255,95,168,.6);animation:ping 2.4s var(--ease) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(255,95,168,.55)}80%,100%{box-shadow:0 0 0 9px rgba(255,95,168,0)}}
@media (prefers-reduced-motion:reduce){.season .live{animation:none}}
.season__ticker{display:inline-block;height:1.3em;line-height:1.3em;overflow:hidden;vertical-align:top}
.season__ticker span{display:block;height:1.3em;line-height:1.3em;white-space:nowrap;transition:transform .7s var(--ease)}

.hero__stage{grid-column:1 / -1;position:relative;align-self:center;margin-block:clamp(20px,4vh,48px)}
.hero__photo{position:relative;margin:0 0 0 auto;width:min(68%,980px);aspect-ratio:3/2}
.hero__photo .figure__media{position:absolute;inset:0}
html.js .hero__photo .figure__media{clip-path:inset(0 0 100% 0);transition:clip-path 1.5s var(--ease) .25s}
html.js.is-ready .hero__photo .figure__media{clip-path:inset(0 0 0 0)}
html.js .hero__photo img{transform:scale(1.14);transition:transform 2.2s var(--ease) .25s}
html.js.is-ready .hero__photo img{transform:scale(1.02)}
.hero__photo img{filter:saturate(.92) contrast(1.04)}
.hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,15,.55),rgba(11,10,15,0) 38%);pointer-events:none}
.hero__title{position:absolute;left:0;bottom:-.08em;z-index:3;font:900 var(--step-5)/.78 var(--display);text-transform:uppercase;letter-spacing:-.02em;margin:0;pointer-events:none}
.hero__title .sl{padding-bottom:.02em}
.hero__title .r2{padding-left:.42em}
.hero__title .out{color:transparent;-webkit-text-stroke:1.5px var(--fg)}
html.js .hero__title .sl>span{transform:translateY(102%);transition:transform 1.2s var(--ease)}
html.js .hero__title .sl:nth-child(2)>span{transition-delay:.12s}
html.js.is-ready .hero__title .sl>span{transform:none}
.hero__num{position:absolute;right:0;top:-34px;font:500 var(--step--1)/1 var(--mono);color:var(--fg-3);letter-spacing:.1em}
.hero__foot{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end;row-gap:20px}
.hero__intro{grid-column:1 / span 5}
.hero__intro p{color:var(--fg-2);font-size:var(--step-1);line-height:1.4;max-width:34ch}
.hero__intro p em{font-style:normal;color:var(--fg)}
.hero__actions{grid-column:7 / span 4;display:flex;flex-wrap:wrap;gap:12px}
.hero__scroll{grid-column:12 / span 1;justify-self:end;display:flex;flex-direction:column;align-items:center;gap:10px;font:500 10.5px/1 var(--mono);letter-spacing:.14em;color:var(--fg-3);writing-mode:vertical-rl}
.hero__scroll i{display:block;width:1px;height:56px;background:var(--line-2);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--fg);animation:drop 2.4s var(--ease) infinite}
@keyframes drop{to{top:100%}}
@media (prefers-reduced-motion:reduce){.hero__scroll i::after{animation:none}}
html.js .hero [data-load]{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,.5s)}
html.js.is-ready .hero [data-load]{opacity:1;transform:none}
/* crosshair readout */
.xhair{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s}
.hero:hover .xhair{opacity:1}
.xhair .xh,.xhair .yh{position:absolute;background:rgba(242,239,246,.14)}
.xhair .xh{left:0;right:0;height:1px;top:var(--y,50%)}
.xhair .yh{top:0;bottom:0;width:1px;left:var(--x,50%)}
.xhair .read{position:absolute;left:var(--x,50%);top:var(--y,50%);transform:translate(10px,10px);font:500 10.5px/1 var(--mono);letter-spacing:.08em;color:var(--fg-3);white-space:nowrap}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.xhair{display:none}}

@media (max-width:900px){
  .hero{min-height:auto}
  .hero__photo{width:100%;aspect-ratio:4/3.4}
  .hero__photo::after{background:linear-gradient(0deg,rgba(11,10,15,.7),rgba(11,10,15,0) 45%)}
  .hero__title{font-size:clamp(76px,24vw,200px);bottom:-.06em}
  .hero__intro,.hero__actions{grid-column:1 / -1}
  .hero__actions{margin-top:22px}
  .hero__scroll{display:none}
}

/* marquee strip — the only infinite motion on the page; slow and quiet */
.strip{border-block:1px solid var(--line);overflow:hidden;padding-block:16px}
.strip__track{display:flex;width:max-content;animation:slide 200s linear infinite}
.strip:hover .strip__track{animation-play-state:paused}
.strip__track span{display:flex;align-items:center;gap:28px;padding-right:28px;font:500 var(--step--1)/1 var(--mono);letter-spacing:.12em;color:var(--fg-3);text-transform:uppercase;white-space:nowrap}
.strip__track span b{color:var(--fg);font-weight:500}
.strip__track span i{width:5px;height:5px;background:var(--purple);transform:rotate(45deg)}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.strip__track{animation:none}}

/* about */
.about__statement{grid-column:4 / span 9}
.about__fig{grid-column:1 / span 6;margin-top:clamp(56px,8vw,120px)}
.about__fig .figure__media{aspect-ratio:3/2}
.about__spec{grid-column:8 / span 5;margin-top:clamp(56px,8vw,120px);align-self:end}
.spec{border-top:1px solid var(--line)}
.spec__row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding-block:22px;border-bottom:1px solid var(--line)}
.spec__row dt{font:500 var(--step--1)/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--purple)}
.spec__row dd{color:var(--fg-2)}
.about__facts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(56px,8vw,110px);border-top:1px solid var(--line)}
.fact{padding:22px 20px 0 0;border-right:1px solid var(--line);padding-left:0}
.fact+.fact{padding-left:20px}
.fact:last-child{border-right:0}
.fact .n{font:800 var(--step-3)/.9 var(--display);letter-spacing:-.01em}
.fact .l{margin-top:10px}
@media (max-width:860px){
  .about__statement,.about__fig,.about__spec{grid-column:1 / -1}
  .about__spec{margin-top:40px}
  .about__facts{grid-template-columns:1fr 1fr}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(3){padding-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line);margin-top:22px}
}

/* team directory */
.team__comp{grid-column:1 / -1;margin-bottom:56px}
.comp{display:flex;height:6px;gap:3px}
.comp i{display:block;height:100%;background:var(--fg-3);transform-origin:0 50%}
.comp i.sw{background:var(--purple)}
.comp i.hw{background:var(--fg)}
.comp i.cad{background:var(--fg-2)}
.comp i.out{background:var(--pink)}
.comp__key{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:14px}
.comp__key span{display:inline-flex;align-items:center;gap:8px}
.comp__key span::before{content:"";width:10px;height:6px;background:var(--c)}
.dir{grid-column:1 / -1;border-top:1px solid var(--line)}
.dir__row{position:relative;display:grid;grid-template-columns:72px minmax(0,1.3fr) minmax(0,1fr) 120px;align-items:center;gap:var(--gutter);padding-block:20px;border-bottom:1px solid var(--line);isolation:isolate}
.dir__row::before{content:"";position:absolute;inset:0;background:var(--ink-3);transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--ease);z-index:-1}
.dir__row:hover::before{transform:scaleY(1)}
.dir__row .i{font:500 var(--step--1)/1 var(--mono);color:var(--fg-3);padding-left:4px}
.dir__row .name{font:800 clamp(34px,1.6rem + 2.6vw,72px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.005em;transition:transform .55s var(--ease),color .3s}
.dir__row:hover .name{transform:translateX(12px)}
.dir__row .role{color:var(--fg-2)}
.dir__row .tag{justify-self:end;display:inline-flex;align-items:center;gap:8px;font:500 var(--step--1)/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);padding-right:4px}
.dir__row .tag::before{content:"";width:8px;height:8px;background:var(--c,var(--fg-3))}
.dir__row--lead .name{font-size:clamp(40px,1.8rem + 3.6vw,96px)}
.dir__row--mentor .name{color:var(--fg-2)}
.dir__sub{display:flex;justify-content:space-between;padding:28px 0 12px}
@media (max-width:760px){
  .dir__row{grid-template-columns:44px 1fr;row-gap:6px}
  .dir__row .role{grid-column:2}
  .dir__row .tag{grid-column:2;justify-self:start}
}

/* sponsors (paper surface) */
.logos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:56px}
.logos__group{grid-column:span 6;display:flex;flex-direction:column}
.logos__group--wide{grid-column:1 / -1}
.logos__head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.logos__cells{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.logo-cell{position:relative;display:grid;place-items:center;aspect-ratio:16/9;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(18px,2.4vw,34px)}
.logos__cells{overflow:hidden}.logo-cell{margin-right:-1px}
.logo-cell img{width:auto;max-width:min(78%,190px);max-height:58px;object-fit:contain;filter:invert(1);opacity:.62;transition:opacity .35s,transform .5s var(--ease)}
.logo-cell:hover img{opacity:1;transform:scale(1.04)}
.logo-cell .nm{position:absolute;left:12px;bottom:10px;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .4s var(--ease)}
.logo-cell:hover .nm{opacity:1;transform:none}
.logo-cell::after{content:"";position:absolute;right:-1px;top:-1px;width:10px;height:10px;border-top:1.5px solid var(--purple);border-right:1.5px solid var(--purple);opacity:0;transition:opacity .3s}
.logo-cell:hover::after{opacity:1}
@media (max-width:860px){.logos__group{grid-column:1 / -1}.logos__cells{--cols:2!important}}

/* get involved — index of pathways */
.paths{border-top:1px solid var(--line)}
.path{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,.9fr) 48px;gap:var(--gutter);align-items:center;padding-block:clamp(22px,3vw,34px);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.path .i{font:500 var(--step--1)/1 var(--mono);color:var(--fg-3)}
.path .t{font:800 clamp(38px,1.6rem + 3.4vw,92px)/.92 var(--display);text-transform:uppercase;transition:transform .6s var(--ease)}
.path .d{color:var(--fg-2);max-width:40ch}
.path .a{justify-self:end;width:48px;height:48px;border:1px solid var(--line-2);display:grid;place-items:center;transition:background .4s var(--ease),border-color .4s,transform .5s var(--ease)}
.path .a svg{width:16px;height:16px;transition:transform .5s var(--ease)}
.path__img{position:absolute;right:calc(var(--gutter) + 72px);top:50%;width:min(22vw,280px);aspect-ratio:4/3;transform:translateY(-50%);clip-path:inset(50% 50% 50% 50%);transition:clip-path .7s var(--ease);z-index:-1;pointer-events:none}
.path__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2)}
.path:hover .t{transform:translateX(14px)}
.path:hover .a{background:var(--purple-deep);border-color:var(--purple-deep)}
.path:hover .a svg{transform:rotate(-45deg)}
.path:hover .path__img{clip-path:inset(0 0 0 0)}
.path:hover .d{opacity:.0}
.path .d{transition:opacity .3s}
@media (max-width:860px){
  .path{grid-template-columns:40px 1fr 48px}
  .path .d{grid-column:2 / span 1;grid-row:2}
  .path:hover .d{opacity:1}
  .path__img{display:none}
}

/* BIOBUZZ */
.bio{position:relative;overflow:hidden}
.bio__hex{position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='90' viewBox='0 0 52 90'%3E%3Cpath d='M26 0l26 15v30L26 60 0 45V15zM26 60l26 15M26 60L0 75M26 60v30' fill='none' stroke='rgba(242,239,246,0.05)' stroke-width='1'/%3E%3C/svg%3E");background-size:52px 90px;-webkit-mask-image:radial-gradient(70% 60% at 80% 30%,#000,transparent 75%);mask-image:radial-gradient(70% 60% at 80% 30%,#000,transparent 75%)}
.bio__title{font:900 var(--step-5)/.8 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.bio__title .p{color:var(--pink)}
.bio__intro{grid-column:1 / span 5;margin-top:28px}
.bio__facts{grid-column:7 / span 6;margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.bio__facts div{padding:18px 16px 0 0}
.bio__facts div+div{padding-left:16px;border-left:1px solid var(--line)}
.bio__facts .n{font:800 var(--step-3)/.9 var(--display)}
@media (max-width:860px){.bio__intro,.bio__facts{grid-column:1 / -1}}

/* match timeline */
.match{grid-column:1 / -1;margin-top:clamp(64px,8vw,110px)}
.match__bar{position:relative;display:grid;grid-template-columns:30fr 120fr;height:72px;border:1px solid var(--line-2)}
.match__bar>div{position:relative;display:flex;align-items:flex-end;padding:10px 12px;font:500 var(--step--1)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;overflow:hidden}
.match__bar>div+div{border-left:1px solid var(--line-2)}
.match__bar .fill{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s linear}
.match__bar .auto .fill{background:rgba(140,91,255,.38)}
.match__bar .tr .fill{background:repeating-linear-gradient(135deg,rgba(242,239,246,.16) 0 4px,transparent 4px 8px)}
.match__bar .tele .fill{background:rgba(255,95,168,.22)}
.match.in .auto .fill{transform:scaleX(1);transition-duration:1.2s}
.match.in .tr .fill{transform:scaleX(1);transition-delay:1.4s;transition-duration:.4s}
.match.in .tele .fill{transform:scaleX(1);transition-delay:1.2s;transition-duration:2.6s}
.match__bar span{position:relative}
.match__ticks{position:relative;height:28px;margin-top:6px}
.match__ticks span{position:absolute;top:0;transform:translateX(-50%);font:500 10.5px/1 var(--mono);color:var(--fg-3);padding-top:8px}
.match__ticks span::before{content:"";position:absolute;left:50%;top:0;width:1px;height:5px;background:var(--line-2)}
.match__ticks span:first-child{transform:none}.match__ticks span:first-child::before{left:0}
.match__ticks span:last-child{transform:translateX(-100%)}.match__ticks span:last-child::before{left:auto;right:0}
@media (max-width:640px){.match__bar>div{font-size:10px;padding:8px 6px}.match__bar .tr span{display:none}}
@media (prefers-reduced-motion:reduce){.match__bar .fill{transform:scaleX(1)!important;transition:none!important}}

.bio__how{grid-column:1 / span 6;margin-top:clamp(64px,8vw,110px)}
.bio__score{grid-column:8 / span 5;margin-top:clamp(64px,8vw,110px)}
@media (max-width:860px){.bio__how,.bio__score{grid-column:1 / -1}.bio__score{margin-top:48px}}
.steps{counter-reset:s;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding-block:18px;border-bottom:1px solid var(--line)}
.steps li b{display:flex;align-items:center;gap:10px;font:500 var(--step--1)/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}
.steps li b::before{content:"";width:9px;height:10px;background:var(--pink);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.steps li p{color:var(--fg-2)}
.score{width:100%;border-collapse:collapse;font:400 15px/1.4 var(--sans)}
.score caption{text-align:left;padding-bottom:14px}
.score th,.score td{padding:13px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline}
.score thead th{font:500 var(--step--1)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);border-bottom-color:var(--line-2)}
.score td{color:var(--fg-2)}
.score td:first-child{color:var(--fg)}
.score td.pts{text-align:right;font:500 16px/1 var(--mono);color:var(--fg)}
.score th.pts{text-align:right}
.score tr.hi td.pts{color:var(--pink)}
.src{margin-top:18px}
.src a{color:var(--fg-2)}

/* legacy preview */
.ruler{grid-column:1 / -1;position:relative;margin-top:8px}
.ruler__line{height:1px;background:var(--line-2)}
.ruler__ticks{display:grid;grid-template-columns:repeat(9,minmax(0,1fr))}
.ruler__ticks a{position:relative;display:block;padding:18px 0 0;color:var(--fg-3);transition:color .3s}
.ruler__ticks a::before{content:"";position:absolute;left:0;top:-1px;width:1px;height:12px;background:var(--line-2);transition:height .4s var(--ease),background .3s}
.ruler__ticks a .y{font:500 var(--step--1)/1 var(--mono);letter-spacing:.04em}
.ruler__ticks a .g{display:block;margin-top:10px;font:800 clamp(14px,1.35vw,22px)/1 var(--display);text-transform:uppercase;color:var(--fg-2);transition:color .3s}
.ruler__ticks a.gap .g{color:var(--fg-3);font-weight:600}
.ruler__ticks a:hover,.ruler__ticks a:focus-visible{color:var(--fg)}
.ruler__ticks a:hover::before{height:22px;background:var(--purple)}
.ruler__ticks a:hover .g{color:var(--fg)}
.ruler__ticks a.now .g{color:var(--pink)}
.ruler__ticks a.now::before{background:var(--pink);height:18px}
@media (max-width:860px){.ruler{overflow-x:auto;padding-bottom:10px}.ruler__ticks{min-width:820px}.ruler__line{min-width:820px}}
.thennow{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);margin-top:clamp(64px,8vw,110px);align-items:start}
.thennow .a{grid-column:1 / span 5}
.thennow .b{grid-column:7 / span 6;margin-top:clamp(40px,8vw,120px)}
.thennow .a .figure__media{aspect-ratio:3/2}
.thennow .b .figure__media{aspect-ratio:3/2}
.thennow__note{grid-column:1 / span 5;margin-top:-80px;align-self:end}
@media (max-width:860px){.thennow .a,.thennow .b,.thennow__note{grid-column:1 / -1;margin-top:28px}}

/* What is FIRST (paper) */
.first__quote{grid-column:1 / span 7}
.first__quote blockquote{margin:0;font:400 clamp(26px,1.1rem + 2vw,48px)/1.15 var(--sans);letter-spacing:-.02em;text-wrap:balance}
.first__quote cite{display:block;margin-top:18px;font-style:normal}
.first__body{grid-column:9 / span 4}
.values{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(56px,7vw,100px);border-top:1px solid var(--line)}
.value{padding:22px 22px 26px 0;border-bottom:1px solid var(--line)}
.value:not(:nth-child(3n+1)){padding-left:22px;border-left:1px solid var(--line)}
.value h3{font:800 clamp(28px,1.2rem + 1.6vw,48px)/1 var(--display);text-transform:uppercase;margin-top:12px;transition:color .3s}
.value p{color:var(--fg-2);margin-top:8px}
.value:hover h3{color:var(--purple)}
@media (max-width:860px){.first__quote,.first__body{grid-column:1 / -1}.first__body{margin-top:28px}.values{grid-template-columns:1fr}.value:not(:nth-child(3n+1)){padding-left:0;border-left:0}}

/* footer */
.foot{position:relative;border-top:1px solid var(--line);padding-top:clamp(72px,9vw,130px);padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));overflow:hidden}
.foot__cta{grid-column:1 / span 8}
.foot__cols{grid-column:9 / span 4;display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter)}
.foot__cols ul{display:flex;flex-direction:column;gap:10px;margin-top:16px;color:var(--fg-2)}
.foot__word{grid-column:1 / -1;margin-top:clamp(64px,9vw,130px);font:900 clamp(80px,25.5vw,420px)/.78 var(--display);text-transform:uppercase;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px var(--line-2);white-space:nowrap;user-select:none}
.foot__base{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.totop{background:none;border:0;cursor:pointer;padding:0}
@media (max-width:860px){.foot__cta,.foot__cols{grid-column:1 / -1}.foot__cols{margin-top:48px}}

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
.phead{position:relative;padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px) + clamp(56px,9vw,130px));padding-bottom:clamp(48px,7vw,96px);overflow:hidden}
.phead__meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,56px)}
.phead__title{font:900 clamp(72px,3rem + 11vw,240px)/.8 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.phead__lede{margin-top:clamp(28px,4vw,48px)}
html.js .phead [data-load]{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,.45s)}
html.js.is-ready .phead [data-load]{opacity:1;transform:none}
html.js .phead__title .sl>span{transform:translateY(102%);transition:transform 1.2s var(--ease)}
html.js .phead__title .sl:nth-child(2)>span{transition-delay:.1s}
html.js.is-ready .phead__title .sl>span{transform:none}

/* ---------- LEGACY ---------- */
.lgx-ruler{position:sticky;top:calc(var(--nav-h) + env(safe-area-inset-top,0px));z-index:20;background:rgba(11,10,15,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-block:1px solid var(--line)}
.lgx-ruler ol{display:grid;grid-template-columns:repeat(9,minmax(0,1fr))}
.lgx-ruler a{position:relative;display:block;padding:14px 0 12px;font:500 var(--step--1)/1 var(--mono);color:var(--fg-3);letter-spacing:.04em;transition:color .3s}
.lgx-ruler a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line)}
.lgx-ruler a span{display:block;padding-left:12px}
.lgx-ruler a small{display:block;padding-left:12px;margin-top:6px;font:700 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:inherit}
.lgx-ruler a.is-active{color:var(--fg)}
.lgx-ruler a.is-active small{color:var(--purple)}
.lgx-ruler__bar{position:absolute;left:0;bottom:-1px;height:2px;background:var(--purple);width:var(--w,0%);transition:width .3s linear}
@media (max-width:760px){.lgx-ruler ol{grid-template-columns:repeat(9,96px);overflow-x:auto}.lgx-ruler{overflow-x:auto}}

.lgx{position:relative}
.lgx__season{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);padding-block:clamp(72px,10vw,150px);border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 70px)}
.lgx__year{grid-column:1 / span 4;position:relative}
.lgx__yearIn{position:sticky;top:calc(var(--nav-h) + 110px)}
.lgx__year .yy{font:800 clamp(64px,2rem + 6vw,140px)/.82 var(--display);letter-spacing:-.02em;color:var(--fg-3);transition:color .6s var(--ease)}
.lgx__season.is-active .yy{color:var(--fg)}
.lgx__year .label{margin-top:16px;display:block}
.lgx__main{grid-column:5 / span 8}
.lgx__game{font:900 clamp(52px,2rem + 6vw,140px)/.82 var(--display);text-transform:uppercase;letter-spacing:-.015em}
.lgx__season.now .lgx__game{color:var(--pink)}
.lgx__text{margin-top:28px}
.awards{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.award{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line-2);font:500 var(--step--1)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg)}
.award--hi{border-color:var(--purple);color:#fff;background:rgba(140,91,255,.14)}
.award--hi::before{content:"";width:7px;height:7px;background:var(--purple);transform:rotate(45deg)}
.lgx__figs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--gutter);margin-top:clamp(36px,5vw,64px)}
.lgx__figs .f1{grid-column:1 / span 5}
.lgx__figs .f2{grid-column:6 / span 3;margin-top:clamp(40px,8vw,120px)}
.lgx__figs .f3{grid-column:2 / span 4}
.lgx__figs .solo{grid-column:1 / span 6}
.lgx__figs .figure__media{aspect-ratio:var(--ar,3/2)}
.lgx__nophoto{margin-top:28px;padding:18px 0;border-top:1px dashed var(--line-2);border-bottom:1px dashed var(--line-2);color:var(--fg-3)}
@media (max-width:860px){
  .lgx__year,.lgx__main{grid-column:1 / -1}
  .lgx__yearIn{position:static}
  .lgx__year{margin-bottom:22px}
  .lgx__figs .f1,.lgx__figs .f2,.lgx__figs .f3,.lgx__figs .solo{grid-column:1 / -1;margin-top:0}
}
.handoff{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:center}
.handoff__a{grid-column:1 / span 5}
.handoff__mid{grid-column:6 / span 2;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.handoff__mid .line{width:1px;height:120px;background:linear-gradient(var(--line-2),var(--purple))}
.handoff__b{grid-column:8 / span 5}
.handoff .figure__media{aspect-ratio:3/2}
@media (max-width:860px){.handoff__a,.handoff__b,.handoff__mid{grid-column:1 / -1}.handoff__mid{flex-direction:row;margin-block:24px}.handoff__mid .line{width:80px;height:1px;background:linear-gradient(90deg,var(--line-2),var(--purple))}}

/* ---------- OUTREACH ---------- */
.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--gutter);align-items:start}
.mosaic .m1{grid-column:1 / span 7}
.mosaic .m1 .figure__media{aspect-ratio:4/3}
.mosaic .m2{grid-column:9 / span 4;margin-top:clamp(40px,10vw,160px)}
.mosaic .m2 .figure__media{aspect-ratio:2/3}
.mosaic .m3{grid-column:3 / span 5}
.mosaic .m3 .figure__media{aspect-ratio:3/2}
.mosaic__note{grid-column:8 / span 5;align-self:center}
@media (max-width:860px){.mosaic .m1,.mosaic .m2,.mosaic .m3,.mosaic__note{grid-column:1 / -1;margin-top:0}}
.aims{counter-reset:a;border-top:1px solid var(--line)}
.aim{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);padding-block:clamp(26px,3.4vw,44px);border-bottom:1px solid var(--line);align-items:baseline}
.aim .i{grid-column:1 / span 2;font:500 var(--step--1)/1 var(--mono);color:var(--purple)}
.aim h3{grid-column:3 / span 5;font:800 clamp(32px,1.3rem + 2.4vw,64px)/.95 var(--display);text-transform:uppercase}
.aim p{grid-column:8 / span 5;color:var(--fg-2)}
@media (max-width:860px){.aim .i,.aim h3,.aim p{grid-column:1 / -1}.aim h3{margin-top:10px}.aim p{margin-top:12px}}

.ledger{border-top:1px solid var(--line-2)}
.ledger__row{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) 140px;gap:var(--gutter);align-items:baseline;padding-block:22px;border-bottom:1px solid var(--line);transition:background .3s}
.ledger__row:hover{background:var(--ink-2)}
.ledger__row .dt{font:500 15px/1.2 var(--mono);color:var(--fg)}
.ledger__row .dt small{display:block;color:var(--fg-3);font-size:11px;letter-spacing:.08em;margin-top:6px}
.ledger__row .nm{font:700 clamp(22px,1rem + 1vw,30px)/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.ledger__row .dsc{color:var(--fg-2)}
.ledger__row .dsc a{color:var(--fg);margin-left:8px}
.ledger__row .st{justify-self:end;display:inline-flex;align-items:center;gap:8px;font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
.ledger__row .st::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--fg-3)}
.ledger__row .st.live{color:var(--pink)}.ledger__row .st.live::before{background:var(--pink)}
.ledger__row .st.up{color:var(--purple)}.ledger__row .st.up::before{background:var(--purple)}
.ledger__row.past .nm,.ledger__row.past .dt{color:var(--fg-3)}
.ledger__empty{padding-block:34px;border-bottom:1px solid var(--line);color:var(--fg-3);display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
.ledger__empty .label{color:var(--fg-2)}
@media (max-width:760px){.ledger__row{grid-template-columns:1fr auto}.ledger__row .dt{grid-column:1}.ledger__row .st{grid-column:2;grid-row:1}.ledger__row .nm,.ledger__row .dsc{grid-column:1 / -1}}

.tabs{display:inline-flex;border:1px solid var(--line-2);margin-bottom:28px}
.tabs button{position:relative;height:42px;padding:0 18px;background:none;border:0;cursor:pointer;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);transition:color .3s}
.tabs button+button{border-left:1px solid var(--line-2)}
.tabs button[aria-selected="true"]{color:var(--fg);background:var(--ink-3)}
.tabs button[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--purple)}
.schools{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.schools .logo-cell{width:min(100%,280px);border-top:0}
.schools .logo-cell img{filter:none;opacity:.8}

/* ---------- CONTACT ---------- */
.give{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}
.give__donate{grid-column:1 / span 6;position:sticky;top:calc(var(--nav-h) + 40px)}
.give__form{grid-column:8 / span 5}
@media (max-width:900px){.give__donate,.give__form{grid-column:1 / -1;position:static}.give__form{margin-top:72px}}
.donate-card{border:1px solid var(--line-2);padding:clamp(24px,3vw,40px);position:relative}
.donate-card .amt{font:900 clamp(56px,2rem + 5vw,120px)/.85 var(--display);text-transform:uppercase}
.uses{margin-top:28px;border-top:1px solid var(--line)}
.uses li{display:grid;grid-template-columns:48px 1fr;padding-block:14px;border-bottom:1px solid var(--line);color:var(--fg-2)}
.uses li span{font:500 var(--step--1)/1.6 var(--mono);color:var(--purple)}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.field label{font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-2);color:var(--fg);font:400 18px/1.4 var(--sans);padding:10px 0 12px;border-radius:0;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.field select option{background:var(--ink);color:var(--fg)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--purple)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{box-shadow:0 1px 0 0 var(--purple)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter)}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.note{margin-top:18px;padding:14px 16px;border-left:2px solid var(--purple);background:var(--ink-2);color:var(--fg-2);font-size:15px}
.ways{border-top:1px solid var(--line)}

/* paper zones: without the JS surface switcher, give them their own background */
html.force [data-reveal],html.force [data-mask],html.force [data-mask] img,html.force [data-lines] .sl>span,html.force [data-draw]{opacity:1!important;transform:none!important;clip-path:none!important}
[data-surface-zone="paper"] .logo-cell img{filter:invert(1)}
.figure__media picture{display:contents}
.bio__glance{border-top:1px solid var(--line)}
.bio__glance div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding-block:16px;border-bottom:1px solid var(--line)}
.bio__glance dt{font:800 32px/1 var(--display);color:var(--fg)}
.bio__glance dd{color:var(--fg-2);align-self:center}
.foot a{transition:color .3s}.foot a:hover{color:var(--fg)}
.lgx-ruler__in{position:relative}
.nogap{gap:0}

/* accent room: capitals with accents (DÉJÀ) need space above inside the line masks */
.hero__title .sl,.phead__title .sl,.h2 .sl,.h1 .sl,.bio__title .sl,.lgx__game .sl{padding-top:.16em;margin-top:-.16em}
.hero__title .vu{color:var(--purple)}
.hero__slogan{font:500 var(--step-2)/1.08 var(--sans);letter-spacing:-.025em;color:var(--fg)!important;margin-bottom:14px;max-width:none!important}
body[data-surface="paper"] .nav .btn--solid{background:var(--ink);border-color:var(--ink);color:var(--paper)}
body[data-surface="paper"] .nav .btn--solid::before{background:var(--purple-deep)}
body[data-surface="paper"] .nav .btn--solid:hover{color:#fff;border-color:var(--purple-deep)}
body[data-surface="paper"] .nav__toggle{color:var(--ink)}
body.menu-open .nav__toggle{color:var(--fg)}
body.menu-open[data-surface="paper"] .brand img{filter:none}
.sponsor-cta{padding-top:22px;border-top:1px solid var(--line-2)}
.bio__head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.bio__mark{width:min(30vw,300px);height:auto;color:var(--fg);flex:none;margin-bottom:.6em}
.bio__mark .hx{transition:fill-opacity .8s var(--ease);transition-delay:var(--d,0s)}
html.js .bio__mark .hx.on{fill-opacity:0}
html.js .bio__head.in .bio__mark .hx.on{fill-opacity:.9}
@media (max-width:700px){.bio__mark{display:none}}
.dir__row .tag::before{border-radius:0}
.ledger__row .dt{display:block}


.shead__btn{grid-column:10 / span 3;justify-self:end;align-self:end}
.hero__num{top:auto;bottom:-26px}
@media (max-width:860px){
  .shead__btn{grid-column:1 / -1;justify-self:start;margin-top:28px}
  .spec__row{grid-template-columns:84px 1fr;gap:14px}
  .hero__prog{display:none}
  .hero__num{display:none}
  .bio__facts div:first-child{padding-left:0}
}
.ledger__sub{padding:28px 0 12px;border-bottom:1px solid var(--line)}
.foot__word{padding-top:.16em}
.out-schools{grid-column:1 / span 6}.out-cta{grid-column:8 / span 5}
@media (max-width:860px){.out-schools,.out-cta{grid-column:1 / -1}.out-cta{margin-top:48px}}
@media (min-width:901px){
  .hero__photo{width:min(62%,900px);aspect-ratio:auto;height:min(54svh,560px)}
  .hero__title{font-size:clamp(84px,2rem + 12vw,230px)}
  .hero__stage{margin-block:clamp(12px,2.5vh,32px)}
}
.season{white-space:nowrap}
@media (max-width:600px){.season__ticker span:not(:first-child){display:none}.hero__title{text-shadow:0 2px 30px rgba(11,10,15,.45)}}
@media (min-width:901px){
  .hero__title{bottom:0}
  .hero__actions{grid-column:7 / span 5;flex-wrap:nowrap}
  .hero__foot{padding-top:18px}
}

/* ---------- legacy: events & awards ---------- */
.evts{margin-top:clamp(28px,4vw,44px)}
.evts__h{padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.evt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--gutter);align-items:start;padding-block:16px;border-bottom:1px solid var(--line)}
.evt__n{font:500 16px/1.4 var(--sans);color:var(--fg)}
.evt__a{display:flex;flex-wrap:wrap;gap:6px}
.evt__a .label{padding-top:6px}
.award--hi{border-color:var(--purple);color:#fff;background:rgba(140,91,255,.14)}
.award--top{border-color:var(--pink);color:#fff;background:rgba(255,95,168,.14)}
.award--top::before{content:"";width:7px;height:7px;background:var(--pink);transform:rotate(45deg)}
.award--alliance{border-style:dashed;color:var(--fg-2)}
@media (max-width:760px){.evt{grid-template-columns:1fr;gap:10px}}
.lstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.lstats>div{padding:20px 20px 0 0}
.lstats>div+div{padding-left:20px;border-left:1px solid var(--line)}
.lstats .n{font:800 var(--step-3)/.9 var(--display);letter-spacing:-.01em}
.lstats .label{margin-top:10px;display:block}
.lstats>div:nth-child(2) .n{color:var(--pink)}
.lstats-wrap{grid-column:1 / -1;margin-top:clamp(48px,6vw,80px)}
@media (max-width:760px){.lstats{grid-template-columns:1fr 1fr}.lstats>div:nth-child(3){padding-left:0;border-left:0}.lstats>div:nth-child(n+3){margin-top:22px;border-top:1px solid var(--line)}}

/* ---------- sponsors: tiers on a dark surface ---------- */
.spons{background:var(--ink-2);border-block:1px solid var(--line)}
.spons .logo-cell img,.tiers .logo-cell img{filter:none;opacity:.8}
.spons .logo-cell:hover img{opacity:1}
.tiers{display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.tier__head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.tier__name{display:inline-flex;align-items:center;gap:10px}
.tier__name b{color:var(--fg);font-weight:500}
.tier__name i{display:block;width:9px;height:9px;transform:rotate(45deg);background:var(--fg-3)}
.tier--diamond .tier__name i{background:var(--pink);box-shadow:0 0 0 3px rgba(255,95,168,.18)}
.tier--gold .tier__name i{background:var(--purple)}
.tier--silver .tier__name i{background:var(--fg-2)}
.tier--outreach .tier__name i{background:transparent;border:1px solid var(--fg-2)}
.tier .logos__cells{border-left:1px solid var(--line)}
.tier .logo-cell{aspect-ratio:16/10}
.tier--diamond .logo-cell{aspect-ratio:16/11}
.tier--diamond .logo-cell img{max-width:min(82%,260px);max-height:none}
.tier--gold .logo-cell img{max-width:min(78%,210px);max-height:none}
.tier--silver .logo-cell{aspect-ratio:4/3}
.tier--silver .logo-cell img{max-width:min(80%,160px)}
.tier--diamond .logo-cell::after{border-color:var(--pink)}
.spons__foot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);margin-top:clamp(56px,7vw,96px);align-items:end}
.spons__foot .tier{grid-column:1 / span 6}
.spons__foot .sponsor-cta{grid-column:8 / span 5}
@media (max-width:860px){
  .tier .logos__cells{--cols:2!important}
  .tier--silver .logos__cells{--cols:3!important}
  .spons__foot .tier,.spons__foot .sponsor-cta{grid-column:1 / -1}
  .spons__foot .sponsor-cta{margin-top:48px}
}
@media (max-width:480px){.tier--silver .logos__cells{--cols:2!important}}

/* sponsors: light section that eases in and out of the dark page */
.spons{--band:clamp(180px,26vh,280px);background:var(--paper);border-block:0;position:relative;isolation:isolate;padding-block:calc(var(--band) + clamp(24px,4vw,56px))}
.spons::before,.spons::after{content:"";position:absolute;left:0;right:0;height:var(--band);z-index:-1;pointer-events:none}
.spons::before{top:0;background:linear-gradient(180deg, rgb(11,10,15) 0%, rgb(17,16,21) 10%, rgb(35,34,39) 20%, rgb(61,59,65) 30%, rgb(92,91,96) 40%, rgb(126,124,130) 50%, rgb(161,158,165) 60%, rgb(192,190,196) 70%, rgb(218,215,222) 80%, rgb(236,233,240) 90%, rgb(242,239,246) 100%)}
.spons::after{bottom:0;background:linear-gradient(0deg, rgb(11,10,15) 0%, rgb(17,16,21) 10%, rgb(35,34,39) 20%, rgb(61,59,65) 30%, rgb(92,91,96) 40%, rgb(126,124,130) 50%, rgb(161,158,165) 60%, rgb(192,190,196) 70%, rgb(218,215,222) 80%, rgb(236,233,240) 90%, rgb(242,239,246) 100%)}
.spons .logo-cell img,.spons .tiers .logo-cell img{filter:invert(1);opacity:.72}
.spons .logo-cell:hover img{opacity:1}
.spons .tier--diamond .tier__name i{box-shadow:0 0 0 3px rgba(255,95,168,.22)}

.ostats{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;border-top:1px solid var(--line)}
.ostats>div{padding:20px 16px 20px 0;border-bottom:1px solid var(--line)}
.ostats>div:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
.ostats dt{font:800 var(--step-3)/.9 var(--display);letter-spacing:-.01em;color:var(--fg)}
.ostats>div:first-child dt{color:var(--pink)}
.ostats dd{margin-top:10px;color:var(--fg-2);font-size:15px;line-height:1.4}

/* ---------- home roster ---------- */
.roster{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.roster__p a{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px 18px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:100%;isolation:isolate}
.roster__p a::before{content:"";position:absolute;inset:0;background:var(--ink-3);transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--ease);z-index:-1}
.roster__p a:hover::before{transform:scaleY(1)}
.roster__i{font:500 var(--step--1)/1 var(--mono);color:var(--fg-3)}
.roster__n{font:800 clamp(30px,1.2rem + 1.8vw,52px)/.95 var(--display);text-transform:uppercase;transition:transform .5s var(--ease)}
.roster__p a:hover .roster__n{transform:translateX(6px)}
.roster__r{display:flex;align-items:center;gap:8px;color:var(--fg-2);font-size:14px;line-height:1.3}
.roster__r i{flex:none;width:8px;height:8px}
@media (max-width:1000px){.roster{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.roster{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- team page ---------- */
.leads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-2)}
.lead{display:flex;flex-direction:column;gap:14px;padding:24px 24px 28px 0}
.lead+.lead{padding-left:24px;border-left:1px solid var(--line)}
.lead__n{font:900 clamp(56px,2rem + 5vw,128px)/.85 var(--display);text-transform:uppercase;letter-spacing:-.01em}
.lead__r{color:var(--fg-2)}
@media (max-width:860px){.leads{grid-template-columns:1fr}.lead+.lead{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.subs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(56px,7vw,96px)}
.sub{scroll-margin-top:calc(var(--nav-h) + 24px)}
.sub__head{display:grid;grid-template-columns:auto 1fr auto;align-items:end;column-gap:14px;padding-bottom:18px}
.sub__mark{width:12px;height:12px;background:var(--c);transform:rotate(45deg);margin-bottom:.9em}
.sub__count{padding-bottom:.6em}
.sub__desc{grid-column:1 / -1;margin-top:14px;max-width:46ch}
.sub__list .dir__row{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr)}
.sub__list .dir__row .name{font-size:clamp(32px,1.4rem + 2vw,60px)}
.sub__list .dir__row--lead .i{color:var(--c)}
@media (max-width:860px){.subs{grid-template-columns:1fr}}
@media (max-width:560px){.sub__list .dir__row{grid-template-columns:52px 1fr}.sub__list .dir__row .role{grid-column:2}}

.roster__wrap{grid-column:1 / -1}
.roster--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.roster--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.roster__heads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:12px}
.roster__heads--m{grid-template-columns:1fr;margin-top:clamp(28px,4vw,48px)}
.roster__heads .label{display:inline-flex;align-items:center;gap:8px}
.roster__heads i{width:8px;height:8px;display:block}
@media (max-width:560px){.roster--3{grid-template-columns:1fr 1fr}.roster__heads:not(.roster__heads--m){display:none}}
@media (min-width:561px){.sub__list .dir__row{grid-template-columns:48px minmax(0,1.7fr) minmax(0,1fr)}.sub__list .dir__row .name{font-size:clamp(30px,1.1rem + 1.8vw,54px);white-space:nowrap}}

/* outreach: stats row + even photo row */
.ostats--row{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}
.ostats--row>div{padding:22px 20px 24px 0;border-bottom:0}
.ostats--row>div+div{padding-left:20px;border-left:1px solid var(--line)}
.ophotos{display:grid;grid-template-columns:1.4fr .85fr 1.2fr;gap:var(--gutter);margin-top:clamp(40px,5vw,72px);align-items:start}
.ophotos .figure__media{height:clamp(260px,28vw,420px)}
.ophotos .figcap{gap:10px}
@media (max-width:860px){
  .ostats--row{grid-template-columns:1fr 1fr}
  .ostats--row>div:nth-child(3){padding-left:0;border-left:0}
  .ostats--row>div:nth-child(n+3){border-top:1px solid var(--line)}
  .ophotos{grid-template-columns:1fr 1fr}
  .ophotos .figure:first-child{grid-column:1 / -1}
  .ophotos .figure__media{height:auto;aspect-ratio:4/3}
  .ophotos .figure:nth-child(2) .figure__media{aspect-ratio:3/4}
  .ophotos .figure:nth-child(3) .figure__media{aspect-ratio:3/4}
}
@media (max-width:480px){.ophotos{grid-template-columns:1fr}.ophotos .figure .figure__media{aspect-ratio:4/3!important}}

/* outreach: schools + invite */
.out-schools,.out-cta{align-self:stretch;display:flex;flex-direction:column}
.out-cta{justify-content:flex-end;padding-left:clamp(0px,3vw,48px);border-left:1px solid var(--line)}
.schoolrow{display:grid;grid-template-columns:1fr 1fr;margin-top:16px;border-top:1px solid var(--line-2);flex:1}
.schoolrow li{display:flex;align-items:center;gap:18px;padding:24px 16px 24px 0}
.schoolrow li+li{padding-left:20px;border-left:1px solid var(--line)}
.schoolrow img{width:auto;flex:none;opacity:.85}
.schoolrow span{font:500 var(--step--1)/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
@media (max-width:860px){.out-cta{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:32px}}
@media (max-width:480px){.schoolrow{grid-template-columns:1fr}.schoolrow li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
