@font-face{font-family:"Redstone Display";font-weight:900;font-display:swap;src:url(/fonts/rubik-900-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Redstone Display";font-weight:900;font-display:swap;src:url(/fonts/rubik-900-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/inter-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}

:root{
  --red:#6d0a1f;
  --red-deep:#4a0715;
  --paper:#efe8e0;
  --ink:#1b1313;
  --muted:#574a47;
  --on-red:#f3ece4;
  --black:#000000;
  --brick:#dc143c;
  --brick-deep:#a80f2e;
  --bright:#c4112f;
  --tan:#e2d5c4;
  --rule:#1b1313;
  --s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem;
  --display:"Inter",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--body);min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration-thickness:2px;text-underline-offset:.2em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.skip{position:absolute;left:var(--s2);top:-4rem;background:var(--ink);color:var(--paper);padding:var(--s1) var(--s2);z-index:10}
.skip:focus{top:var(--s2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(100% - 2*var(--s3),62rem);margin-inline:auto}

/* page themes */
.page-home{background:var(--black)}
.page-about{background:var(--paper)}
.page-awards{background:var(--black)}
.page-sponsors{background:var(--black);color:var(--on-red)}
.page-contact{background:var(--red)}

.top{background:var(--red);color:var(--on-red)}
.page-awards .top{background:var(--black);border-bottom:3px solid var(--red)}
.page-contact .top{background:var(--red-deep)}
.page-sponsors .top{background:var(--black);border-bottom:3px solid var(--red)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--s3);padding-block:var(--s1)}
.brand{display:flex;align-items:center;gap:var(--s2);min-height:44px;color:inherit;text-decoration:none;font:900 1.0625rem/1 'Redstone Display',var(--display);letter-spacing:.02em;text-transform:uppercase}
.top ul{display:flex;flex-wrap:wrap;gap:0 var(--s3);list-style:none;margin:0;padding:0}
.top nav a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;font-size:.95rem}
.top nav a:hover{text-decoration:underline;text-underline-offset:.25em}
.top :focus-visible{outline-color:var(--on-red)}
.top nav li.lang{margin-left:var(--s1);padding-left:var(--s3);border-left:1px solid rgba(243,236,228,.4)}
@media (max-width:30rem){.top nav li.lang{margin-left:0;padding-left:0;border-left:0}}
.top .icon-link{min-width:44px;justify-content:center}
.top nav a:not(.icon-link){position:relative}
.top nav a:not(.icon-link)::after{content:"";position:absolute;left:0;right:0;bottom:.55rem;height:3px;background:var(--on-red);transform:scaleX(0);transform-origin:left}
.top nav a:not(.icon-link):hover,.top nav a.act{text-decoration:none}
.top nav a:not(.icon-link):hover::after,.top nav a.act::after{transform:scaleX(1)}
.top nav a.act{font-weight:600}

.intro{background:var(--red);color:var(--on-red);border-top:1px solid rgba(243,236,228,.25);position:relative;overflow:hidden}
.intro .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-items:end;padding-block:var(--s5) calc(var(--s5) + 4rem);position:relative;z-index:1}
h1{margin:0;font:900 clamp(2.5rem,11vw,5.25rem)/1 'Redstone Display',var(--display);letter-spacing:.01em;text-transform:uppercase}
.lead{max-width:36ch;margin:var(--s3) 0 0;font-size:1.1875rem;line-height:1.5}
.intro-logo{order:-1;width:4.75rem;height:auto;margin-bottom:calc(-1 * var(--s2))}
@media (min-width:52rem){
  .intro .wrap{grid-template-columns:minmax(0,1fr) auto}
  .intro-logo{order:0;width:clamp(11rem,17vw,15rem);margin:0;align-self:center}
}
.tag{margin:var(--s2) 0 0;font:700 clamp(1.25rem,5vw,1.75rem)/1 var(--display);letter-spacing:.04em}
.tag .bumper{font-size:clamp(1.1rem,4.5vw,1.5rem)}
.statline{display:flex;align-items:baseline;gap:var(--s2);margin:var(--s4) 0 0}
.big-num{font:900 clamp(3.5rem,14vw,7rem)/.9 'Redstone Display',var(--display);color:#fff;letter-spacing:-.02em}
.stat-label{font:700 1.125rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.06em;opacity:.85}

.bumper{display:inline-block;padding:.1rem .9rem;background:var(--red);color:var(--on-red);border:3px solid var(--ink);border-bottom-width:.5rem;border-bottom-color:var(--black);box-shadow:4px 4px 0 var(--ink);font-weight:700;font-size:1.25rem;line-height:1.3;letter-spacing:.04em;transform:rotate(-1.5deg)}
.page-home .bumper{border-color:var(--on-red);border-bottom-color:var(--black);box-shadow:4px 4px 0 var(--black)}

/* teasers on home */
.teasers{background:var(--paper);color:var(--ink);padding-block:var(--s5);position:relative}
.teasers::before{content:"";position:absolute;left:0;right:0;top:0;height:3.5rem;background:var(--black);clip-path:polygon(0 0,100% 40%,100% 0);transform:translateY(-99%)}
.grid-teasers{display:grid;grid-template-columns:1fr;gap:var(--s2)}
@media (min-width:40rem){.grid-teasers{grid-template-columns:1fr 1fr}}
.teaser{display:grid;gap:.4rem;padding:var(--s3);background:var(--red);color:var(--on-red);text-decoration:none;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--black);min-height:9rem}
.teaser:nth-child(even){background:var(--black)}
.teaser:hover{color:#fff}
.teaser:hover .t-go{color:var(--brick-deep)}
.t-label{font:900 1.25rem/1 'Redstone Display',var(--display);text-transform:uppercase;letter-spacing:.02em}
.t-body{font-size:.95rem;opacity:.9;max-width:28ch}
.t-go{font-weight:700;text-decoration:underline;text-underline-offset:.2em;margin-top:auto;text-decoration-color:var(--brick)}

/* page heroes */
.page-hero{position:relative;overflow:hidden;padding-block:var(--s5) calc(var(--s5) + 2rem)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.75rem,12vw,6rem)}
.hero-num{position:absolute;right:-.1em;bottom:-.25em;font:900 clamp(8rem,28vw,16rem)/.8 'Redstone Display',var(--display);letter-spacing:-.04em;opacity:.18;pointer-events:none;user-select:none;z-index:0}
.hero-num.outline{color:transparent;-webkit-text-stroke:3px rgba(243,236,228,.35);opacity:1;text-stroke:3px rgba(243,236,228,.35)}

.about-hero{background:var(--paper);color:var(--ink);border-bottom:0}
.about-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4rem;background:var(--tan);clip-path:polygon(0 100%,100% 30%,100% 100%,0 100%)}
.kicker{margin:0 0 var(--s2)}
.awards-hero{background:var(--red);color:var(--on-red)}
.awards-hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;background:var(--black);clip-path:polygon(0 60%,100% 0,100% 40%,0 100%)}
.lead-on{margin:var(--s3) 0 0;font-size:1.25rem;font-weight:600;max-width:30ch}
.sponsors-hero{background:var(--black);color:var(--on-red);min-height:55vh;display:flex;align-items:flex-end}
.sponsors-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:4rem;background:var(--red);clip-path:polygon(0 100%,100% 0,100% 100%)}
.soon.mega{margin:var(--s3) 0 0;font:900 clamp(2.5rem,12vw,5.5rem)/1 'Redstone Display',var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--on-red);border-bottom:6px solid var(--brick);display:inline-block;padding-bottom:.15em}
.contact-hero{background:var(--red);color:var(--on-red);padding-bottom:calc(4.5rem + var(--s4))}
.contact-hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4.5rem;background:var(--paper);clip-path:polygon(0 70%,100% 0,100% 30%,0 100%);z-index:0;pointer-events:none}
.awards-hero{padding-bottom:calc(5rem + var(--s4))}
.awards-hero::before{z-index:0;pointer-events:none}
.sponsors-hero{padding-bottom:calc(4rem + var(--s4))}
.sponsors-hero::after{z-index:0;pointer-events:none}
.about-hero{padding-bottom:calc(4rem + var(--s3))}
.about-hero::after{z-index:0;pointer-events:none}
.contact-mail{margin:var(--s3) 0 0;max-width:100%;font:700 clamp(1rem,calc(4.2vw + .4rem),2rem)/1.25 var(--display);overflow-wrap:anywhere;word-break:break-word}

.block{position:relative;overflow:hidden}
.block>.wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);padding-block:var(--s5)}
h2{margin:0;font:900 1.375rem/1.1 'Redstone Display',var(--display);letter-spacing:.02em;text-transform:uppercase}
@media (min-width:52rem){
  .page-home .block .wrap{grid-template-columns:11rem minmax(0,1fr);gap:var(--s4)}
}
.page-about .block .wrap,.page-awards .block .wrap,.page-sponsors .block .wrap,.page-contact .block .wrap{grid-template-columns:minmax(0,1fr)}

.prose{max-width:62ch}
.prose p{margin:0 0 var(--s2)}
.body>:last-child,.prose p:last-child{margin-bottom:0}


.about-body{background:var(--paper);color:var(--ink)}
.about{display:flex;flex-direction:column;gap:var(--s4)}
@media (min-width:52rem){
  .about{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"prose facts" "journey facts" "program program";gap:var(--s4)}
  .about > .prose{grid-area:prose}
  .about > .facts{grid-area:facts}
  .about > .program{grid-area:program}
  .about > .journey{grid-area:journey}
}
.facts{margin:0;border-top:1px solid var(--rule);max-width:34rem;display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);column-gap:var(--s3)}
.facts div{display:contents}
.facts dt,.facts dd{padding:.6rem 0;border-bottom:1px solid var(--rule);min-width:0;overflow-wrap:anywhere}
.facts dt{color:var(--muted)}
.facts dd{margin:0;font-weight:600}
.facts .count{display:inline-block;position:static}
.program{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--s2);align-items:center;max-width:26rem;padding:var(--s2);background:#fff;color:var(--ink);text-decoration:none;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--black);margin-top:0;font-weight:600}
.program img{width:100%;height:auto}
.program span{overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:.2em}
.program:hover{color:var(--red)}
.program:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--black)}

.awards-body{background:var(--black);color:var(--on-red)}
.awards-body.dark{background:var(--black)}

.sponsors-body{background:var(--paper);color:var(--ink)}
.sponsors-body a{color:var(--red)}
.sponsors-body a:hover{color:var(--ink)}
.contact-body{background:var(--paper);color:var(--ink)}
.contact-body a{color:var(--red)}
.contact-body a:hover{color:var(--ink)}

.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:30rem}
th,td{text-align:left;padding:var(--s2);border-bottom:1px solid var(--rule)}
th{font:600 .9375rem/1.2 var(--display);border-bottom:2px solid var(--rule)}
.dark th{border-bottom-color:var(--on-red);color:var(--on-red)}
.dark td{border-bottom-color:rgba(243,236,228,.25)}
td.yr{color:var(--on-red);font-weight:700;width:6rem;font-variant-numeric:tabular-nums}
.dark table{min-width:24rem}
.after{margin:var(--s3) 0 0;color:#d9d0c8;max-width:62ch}
td.res.first{font-weight:600;color:#fff}
td.res.first::before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.5rem;background:var(--brick);transform:skewX(-25deg)}
td.res:not(.first)::before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.5rem;background:#fff;transform:skewX(-25deg)}
.dark tbody tr{cursor:default}
.dark tbody tr.hl td{background:rgba(243,236,228,.13)}
.dark tbody tr:hover td{background:rgba(243,236,228,.08)}
.dark tbody tr.off{opacity:.25}

.chart{margin:0 0 var(--s4);max-width:38rem}
.chart figcaption{margin-bottom:var(--s2);font-weight:600}
.bricks{list-style:none;margin:0;padding:0 0 .5rem;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.4rem;align-items:end;border-bottom:3px solid var(--on-red)}
.bricks li{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.5rem;min-height:6.6rem}
.stack{display:flex;flex-direction:column-reverse;gap:.4rem;width:100%;max-width:3.25rem}
.b,.button.b{display:block;position:relative;height:1.5rem;background:var(--on-red);border-radius:2px}
.b.r{background:var(--brick)}
.b::before,.b::after{content:"";position:absolute;top:-.3rem;width:26%;height:.3rem;background:inherit;border-radius:2px 2px 0 0}
.b::before{left:14%}.b::after{right:14%}
button.b{appearance:none;width:100%;padding:0;border:0;margin:0;cursor:pointer;font:inherit;color:inherit}
button.b:focus-visible{outline:3px solid var(--on-red);outline-offset:3px}
.b.on{box-shadow:0 0 0 3px var(--black),0 0 0 5px var(--on-red)}
.b.off{opacity:.18}
.yl{font-size:.8125rem;font-weight:600;color:var(--on-red);position:relative;padding-bottom:.25rem}
.yl::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brick);transform:scaleX(0)}
.bricks li.now .yl{color:#fff}
.bricks li.now .yl::after{transform:scaleX(1)}
@media (max-width:30rem){.bricks{gap:.2rem}.yl{font-size:.65rem}}
.readout{margin:var(--s2) 0 0;min-height:1.65em;font-weight:600;color:var(--on-red)}
.readout b{color:#fff}
.filters{display:flex;flex-wrap:wrap;gap:var(--s1);margin:0 0 var(--s3)}
.f{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.35rem .85rem;background:transparent;color:var(--on-red);border:2px solid rgba(243,236,228,.55);font:600 .9375rem/1 var(--body);cursor:pointer}
.f span{font-variant-numeric:tabular-nums;opacity:.7}
.f:hover{border-color:var(--on-red)}
.f[aria-pressed="true"]{background:var(--on-red);color:var(--black);border-color:var(--on-red)}
.mk{display:inline-block;width:.55rem;height:.55rem;transform:skewX(-25deg);background:var(--brick)}
.mk.c{background:#fff;box-shadow:0 0 0 1px var(--black)}

.actions{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.copy{display:inline-flex;align-items:center;min-height:44px;padding:.4rem var(--s2);background:var(--on-red);color:var(--red);border:2px solid var(--on-red);font:600 1rem/1 var(--body);cursor:pointer;box-shadow:4px 4px 0 var(--black)}
.page-contact .copy{color:var(--red);background:var(--on-red);border-color:var(--ink);box-shadow:4px 4px 0 var(--black)}
.page-contact .social{color:var(--ink)!important;border-color:var(--ink);box-shadow:4px 4px 0 var(--black)}
.page-contact .social:hover{background:var(--red);color:var(--on-red)!important}
.copy:hover{background:#fff}
.copy.done{background:var(--black);color:var(--on-red);border-color:var(--black)}
.social{display:inline-flex;align-items:center;gap:var(--s1);min-height:44px;padding:.4rem var(--s2);border:2px solid var(--on-red);text-decoration:none;font-weight:600;color:var(--on-red)!important;box-shadow:4px 4px 0 var(--black)}
.social:hover{background:var(--on-red);color:var(--brick-deep)!important}
.ico{flex:none}

.foot{background:var(--ink);color:#d9d0c8;margin-top:auto}
.foot .wrap{padding-block:var(--s4)}
.foot p{margin:0 0 var(--s1)}
.foot a{color:inherit}
.small{font-size:.875rem;max-width:62ch}
.page-sponsors .foot,.page-home .foot,.page-awards .foot,.page-contact .foot{border-top:3px solid var(--red)}

.progress{position:fixed;left:0;top:0;right:0;height:7px;z-index:20;pointer-events:none}
.progress span{display:block;height:100%;background:var(--brick);border-bottom:2px solid var(--black);transform:scaleX(0);transform-origin:left}
.count{font-variant-numeric:tabular-nums}
.reel{display:inline-block;height:1.3em;overflow:hidden;vertical-align:top;font-variant-numeric:tabular-nums}
.reel .strip{display:block}
.reel .strip span{display:block;height:1.3em;text-align:center}

.intro::before{content:"";position:absolute;left:0;right:0;bottom:0;height:6rem;background:var(--black);clip-path:polygon(0 70%,100% 0,100% 30%,0 100%);transform-origin:left;z-index:0;pointer-events:none}
.intro::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6rem;background:var(--paper);clip-path:polygon(0 100%,100% 30%,100% 100%);z-index:0;pointer-events:none}
.gears{position:absolute;left:-6rem;bottom:-5rem;width:44rem;height:auto;fill:rgba(243,236,228,.2);z-index:0;pointer-events:none}
@media (max-width:40rem){.gears{width:30rem;left:-5rem;bottom:-4rem}}
.gears.sec{width:28rem;right:-8rem;top:-3rem;left:auto;bottom:auto;fill:rgba(106,11,15,.08)}
.dark .gears.sec,.awards-body .gears.sec{fill:rgba(243,236,228,.08)}
.sponsors-body .gears.sec{fill:rgba(106,11,15,.08);left:-8rem;right:auto}
.contact-body .gears.sec{fill:rgba(106,11,15,.08);right:-8rem;bottom:-4rem;top:auto}
.about-body .gears.sec{fill:rgba(106,11,15,.1)}
@media (max-width:40rem){.gears.sec{width:18rem}}

.gx .intro{cursor:grab;touch-action:pan-y}
.gx .intro.drag{cursor:grabbing}
.gx .intro.drag *{user-select:none}
.gx .intro a,.gx .intro button,.gx .intro .lead{cursor:auto}
.gx .intro a,.gx .intro button{cursor:pointer}
.gx .intro img{-webkit-user-drag:none;user-select:none}
.gx .gears .g1,.gx .gears .g2{animation:none}

.social,.top nav a,a,.teaser,.copy,.f,.program{transition:color .2s,background-color .2s,border-color .2s,box-shadow .12s,transform .12s}

@media (min-width:52rem){
  .top{position:sticky;top:0;z-index:15}
  .top .wrap{transition:padding .25s}
  .top.condensed .wrap{padding-block:0}
  .top.condensed .brand img{transform:scale(.8)}
  [id]{scroll-margin-top:4.5rem}
}
@media (min-width:52rem) and (min-height:44rem){
  .dark .chart{position:sticky;top:3.5rem;z-index:2;background:var(--black);padding-top:var(--s2);margin-top:calc(-1 * var(--s2))}
}

@media (prefers-reduced-motion:no-preference){
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes slide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
  @keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  .intro h1{animation:rise .6s .05s cubic-bezier(.2,.7,.2,1) both}
  .intro .lead,.intro .statline{animation:rise .6s .2s cubic-bezier(.2,.7,.2,1) both}
  .intro-logo{animation:slide .7s .3s cubic-bezier(.2,.7,.2,1) both}
  .intro::before{animation:draw .9s .15s cubic-bezier(.2,.7,.2,1) both}
  .gears .g1{animation:spin 48s linear infinite}
  .gears .g2{animation:spin-rev 30s linear infinite}
  @keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
  @keyframes spin-rev{from{transform:rotate(18deg)}to{transform:rotate(-342deg)}}
  .brand img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .brand:hover img{transform:rotate(-6deg)}
  .top nav a:not(.icon-link)::after{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
  .yl::after{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
  .bricks li .yl{transition:color .2s}
  .program{transition:transform .2s,box-shadow .2s}
  .program:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--black)}
  .copy,.social,.f,.teaser{transition:transform .12s cubic-bezier(.2,.7,.2,1),box-shadow .12s,background-color .2s,color .2s,border-color .2s}
  .copy:active,.social:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--black)}
  .f:active{transform:translateY(2px)}
  .teaser:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--black)}
  .reel .strip{transition:transform 1.4s cubic-bezier(.25,.9,.25,1) var(--rd,0ms)}
  .dark tbody td{transition:background-color .2s}
  .intro-logo{translate:var(--lx,0) var(--ly,0);rotate:var(--lr,0deg)}
  .intro .gears{translate:var(--gx,0) var(--gy,0)}
  .intro .intro-text{translate:0 var(--ty,0)}
  .intro::before{translate:0 var(--wy,0)}
  .intro::after{translate:0 var(--wy2,0)}
  .mo .dark .b{opacity:.22;transform:translateY(-.5rem);transition:opacity .25s ease,transform .45s cubic-bezier(.3,1.4,.5,1),box-shadow .15s}
  .mo .dark .b.lit{opacity:1;transform:none}
  .mo .dark .b.lit.off{opacity:.18}
  .mo .dark .b.lit.on{transform:translateY(-4px)}
  .mo .dark tbody tr{opacity:.3;transform:translateX(-12px);transition:opacity .35s ease,transform .45s cubic-bezier(.3,1.4,.5,1)}
  .mo .dark tbody tr.seen{opacity:1;transform:none}
  .mo .dark tbody tr.seen.off{opacity:.25}
  .mo .page-hero h1,.mo .teaser{opacity:0;transform:translateY(.6em);animation:rise .55s cubic-bezier(.3,1.4,.5,1) both}
  .mo .teaser:nth-child(1){animation-delay:.05s}
  .mo .teaser:nth-child(2){animation-delay:.12s}
  .mo .teaser:nth-child(3){animation-delay:.19s}
  .mo .teaser:nth-child(4){animation-delay:.26s}
  .mo .block .rv{opacity:0;transform:translateY(16px);transition:opacity .4s ease calc(var(--k,0) * 90ms + 120ms),transform .55s cubic-bezier(.3,1.3,.5,1) calc(var(--k,0) * 90ms + 120ms)}
  .mo .block.in .rv{opacity:1;transform:none}
  .mo .facts dt,.mo .facts dd{opacity:0;transform:translateX(-14px);transition:opacity .35s ease calc(var(--k,0) * 70ms + 250ms),transform .45s cubic-bezier(.3,1.3,.5,1) calc(var(--k,0) * 70ms + 250ms)}
  .mo .block.in .facts dt,.mo .block.in .facts dd{opacity:1;transform:none}
  body.leaving{opacity:0;transition:opacity .18s ease}
}
@media (prefers-reduced-motion:reduce){
  .gears .g2{transform:rotate(18deg)}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* about journey */
.journey h3{margin:0 0 var(--s2);font:900 1.125rem/1.1 'Redstone Display',var(--display);text-transform:uppercase;letter-spacing:.02em}
.journey h3::before{content:"";display:block;width:1.6rem;height:.45rem;margin-bottom:var(--s2);background:var(--brick);box-shadow:2.1rem 0 0 var(--black);transform:skewX(-28deg);transform-origin:left}
.timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--ink);max-width:40rem}
.timeline li{position:relative;padding:.7rem 0 .7rem var(--s3);border-bottom:1px solid rgba(27,19,19,.2)}
.timeline li::before{content:"";position:absolute;left:-.4rem;top:1.05rem;width:.7rem;height:.7rem;background:var(--brick);transform:skewX(-20deg)}
.timeline .jy{display:block;margin:0 0 .25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--red)}
.timeline span{display:block;line-height:1.45}
@media (min-width:40rem){
  .timeline li{display:grid;grid-template-columns:4.25rem 1fr;gap:var(--s2);align-items:start}
  .timeline .jy{display:inline-block;margin:0}
  .timeline span{display:inline}
}
.more{margin:var(--s3) 0 0}
.more a{font-weight:700}
.about .prose a{font-weight:600}

/* contact actions on paper */
.page-contact .actions{margin-top:var(--s3)}

/* awards page: keep black body, brick only on markers */
.page-awards .awards-hero .hero-num.outline{-webkit-text-stroke:3px rgba(243,236,228,.28)}

/* drop unused home stat block styles stay harmless */

/* mobile: no content overlap, clamp motion */
@media (max-width:51.99rem){
  .page-hero{padding-block:var(--s4) var(--s3)}
  .about-hero{padding-block:var(--s4) calc(2.5rem + var(--s4))}
  .about-hero::after{height:2.5rem}
  .about-body > .wrap{padding-block:var(--s4)}
  .about-body .gears.sec{opacity:.35;width:14rem;right:-5rem;top:auto;bottom:-2rem}
  .contact-hero{padding-bottom:calc(4.5rem + var(--s4))}
  .awards-hero{padding-bottom:calc(5rem + var(--s4))}
  .sponsors-hero{padding-bottom:calc(4rem + var(--s4))}
  .intro-logo,.intro .gears,.intro .intro-text,.intro::before,.intro::after{translate:none!important;rotate:none!important}
  .mo .block .rv,.mo .facts dt,.mo .facts dd{opacity:1!important;transform:none!important;transition:none!important}
  .bumper{font-size:1.05rem;padding:.1rem .7rem}
  .facts{max-width:100%}
  .facts{column-gap:var(--s2)}
  .program{max-width:100%;grid-template-columns:5.5rem minmax(0,1fr)}
  .teasers{padding-block:var(--s4)}
}

.brand img{width:auto;height:2.75rem}
