

:root{
  --ink:#08090A;
  --ink-2:#111417;
  --ink-3:#1B2025;
  --rule:#262C33;
  --gold:#FFC700;
  --gold-deep:#C49900;
  --paper:#FFFFFF;
  --mute:#8B939C;
  --maxw:1200px;
  --pad:clamp(20px,5vw,64px);
}

*,*::before,*::after{box-sizing:border-box}
/* `hidden` must win. .btn and .res set `display`, which otherwise beats the
   browser's [hidden]{display:none} and shows a link the build meant to hide. */
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:'Barlow',system-ui,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- type ---------- */
.eyebrow{
  font-family:'Barlow Semi Condensed',sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 14px;
  display:flex;align-items:center;gap:12px;
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule);max-width:120px}

h1,h2,h3{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  line-height:.92;
  letter-spacing:.005em;
  margin:0;
}
h2{font-size:clamp(38px,5.2vw,66px)}
h3{font-size:clamp(22px,2.4vw,28px);line-height:1;letter-spacing:.02em}
.lede{font-size:clamp(17px,1.5vw,19px);color:#C9CFD6;max-width:62ch;margin:18px 0 0}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Barlow Semi Condensed',sans-serif;
  font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;
  padding:16px 30px;border:2px solid transparent;border-radius:2px;
  text-decoration:none;cursor:pointer;
  transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease;
}
.btn--gold{background:var(--gold);color:#000;border-color:var(--gold)}
.btn--gold:hover{background:#FFD63C;border-color:#FFD63C;transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--paper);border-color:#3A424B}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* ---------- section rhythm ---------- */
.sect{padding:clamp(72px,9vw,120px) 0;position:relative}
.sect--panel{background:var(--ink-2)}
.sect__head{margin-bottom:clamp(36px,5vw,56px)}

/* gold angle rule — echoes the wind-screen chevron language */
.slash{
  height:6px;width:100%;
  background:repeating-linear-gradient(115deg,var(--gold) 0 22px,transparent 22px 44px);
  opacity:.9;
}

/* ---------- header ---------- */
.hdr{
  position:sticky;top:0;z-index:50;
  background:rgba(8,9,10,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.hdr__in{display:flex;align-items:center;gap:28px;height:72px}
.hdr__mark{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.hdr__mark img{height:38px;width:auto}
.hdr__mark span{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:19px;line-height:1;letter-spacing:.06em;
}
.hdr__mark small{display:block;font-size:10.5px;letter-spacing:.2em;color:var(--mute);font-weight:600}
.nav{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav a{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:14px;
  letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:#D3D8DE;
  padding:6px 0;border-bottom:2px solid transparent;
}
.nav a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.hdr .btn{padding:12px 22px;font-size:13.5px;margin-left:auto;flex:0 0 auto}
@media(max-width:900px){.nav{display:none}}
@media(max-width:430px){
  .hdr__in{gap:12px}
  .hdr__mark span{font-size:16px}
  .hdr__mark small{font-size:9px;letter-spacing:.14em}
  .hdr .btn{padding:11px 16px;font-size:12.5px}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--ink)}
.hero__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 40%;
  filter:grayscale(.35) contrast(1.05);
  opacity:.42;
}
.hero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,9,10,.97) 0%,rgba(8,9,10,.86) 46%,rgba(8,9,10,.30) 100%),
    linear-gradient(0deg,var(--ink) 0%,transparent 42%);
}
.hero__in{position:relative;padding:clamp(90px,13vw,168px) 0 clamp(64px,8vw,104px)}
.hero h1{
  font-size:clamp(52px,9.4vw,124px);
  line-height:.85;
  letter-spacing:-.01em;
}
.hero h1 em{font-style:normal;color:var(--gold);display:block}
.hero__tag{
  margin:24px 0 0;max-width:44ch;
  font-size:clamp(18px,1.9vw,22px);color:#D6DBE1;
}
.hero__theme{
  display:inline-block;margin-bottom:22px;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gold-deep);
  padding:8px 16px;border-radius:2px;
}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero__note{
  margin-top:26px;font-size:14.5px;color:var(--mute);
  font-family:'Barlow Semi Condensed',sans-serif;letter-spacing:.04em;
}

/* ---------- scoreboard (signature) ---------- */
.board{
  background:var(--ink);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:clamp(46px,6vw,72px) 0;
}
.board__frame{
  border:1px solid #2E353D;
  background:
    linear-gradient(180deg,#0D1013 0%,#070809 100%);
  box-shadow:inset 0 1px 0 #333B44, 0 24px 60px rgba(0,0,0,.6);
  border-radius:4px;
  overflow:hidden;
}
.board__bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 22px;border-bottom:1px solid #21272E;
  background:#0A0C0E;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);
}
.board__bar b{color:var(--gold);font-weight:700}
.board__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.board__cell{
  padding:clamp(26px,3.4vw,42px) clamp(14px,2vw,26px);
  border-right:1px solid #1A1F25;
  text-align:center;
}
.board__cell:last-child{border-right:0}
.board__num{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:clamp(50px,7.4vw,92px);line-height:.86;
  color:var(--gold);
  letter-spacing:.01em;
  text-shadow:0 0 26px rgba(255,194,14,.30);
  position:relative;display:inline-block;
}
/* LED dot-matrix mask — this is the signature detail */
.board__num::after{
  content:"";position:absolute;inset:-4px;pointer-events:none;
  background-image:radial-gradient(circle at center,rgba(8,9,10,.62) 34%,transparent 36%);
  background-size:5px 5px;
  mix-blend-mode:normal;
}
.board__label{
  margin-top:14px;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;
  font-size:12.5px;letter-spacing:.19em;text-transform:uppercase;color:#98A1AA;
  line-height:1.5;
}
@media(max-width:520px){
  .board__bar{flex-direction:column;align-items:flex-start;gap:6px;letter-spacing:.16em;font-size:11px}
}
@media(max-width:820px){
  .board__grid{grid-template-columns:repeat(2,1fr)}
  .board__cell:nth-child(2){border-right:0}
  .board__cell:nth-child(1),.board__cell:nth-child(2){border-bottom:1px solid #1A1F25}
}

/* ---------- 3-up action cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule)}
.card{
  background:var(--ink);padding:clamp(30px,3.4vw,42px);
  display:flex;flex-direction:column;
  transition:background .18s ease;
}
.card:hover{background:#0F1316}
.card__idx{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:34px;
}
.card h3{margin-bottom:12px}
.card p{color:#B6BDC5;font-size:16px;margin:0 0 30px}
.card__link{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:14px;
  letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--gold);
  display:inline-flex;align-items:center;gap:9px;margin-top:auto;
}
.card__link:hover{gap:15px}
.card__link span{transition:transform .16s ease}
@media(max-width:860px){.cards{grid-template-columns:1fr}}

/* ---------- projects ---------- */
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.proj{background:var(--ink);border:1px solid var(--rule);border-radius:3px;overflow:hidden}
.proj__img{aspect-ratio:3/2;overflow:hidden;background:#14181C}
.proj__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.proj:hover .proj__img img{transform:scale(1.04)}
.proj__body{padding:22px 22px 26px}
.chip{
  display:inline-block;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  padding:5px 11px;border-radius:2px;margin-bottom:13px;
}
.chip--done{background:var(--gold);color:#000}
.chip--live{background:transparent;color:var(--gold);border:1px solid var(--gold-deep)}
.proj h3{font-size:21px;margin-bottom:9px}
.proj p{margin:0;color:#A9B1BA;font-size:15.5px;line-height:1.55}
@media(max-width:900px){.projects{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.projects{grid-template-columns:1fr}}

/* ---------- sponsor wall ---------- */
.tiers{
  display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px;
}
.tier{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;
  font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;
  color:#AEB6BF;border:1px solid var(--rule);border-radius:2px;padding:9px 15px;
}
.tier b{color:var(--gold);font-weight:700}
.marquee{
  position:relative;overflow:hidden;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:clamp(26px,3vw,38px) 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.marquee__track{display:flex;align-items:center;gap:clamp(32px,4vw,56px);width:max-content;animation:hab-slide 46s linear infinite}
/* The seamless loop needs a duplicate logo set. It is hidden from assistive
   tech, but the wrapper MUST be display:contents — otherwise its children
   stop being flex items and stack vertically, which made the track render
   1344px tall instead of ~64px. */
.marquee__dupe{display:contents}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track img{
  height:clamp(40px,4.6vw,58px);width:auto;object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1);opacity:.62;
  transition:opacity .2s ease,filter .2s ease;
}
.marquee__track img:hover{opacity:1;filter:none}
@keyframes hab-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
  .marquee{-webkit-mask-image:none;mask-image:none}
}

/* ---------- split feature (podcast) ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center}
.split__media{position:relative;border:1px solid var(--rule);border-radius:3px;overflow:hidden;aspect-ratio:16/9;background:#111}
.split__media img{width:100%;height:100%;object-fit:cover;opacity:.72}
.split__play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  text-decoration:none;
}
.split__play i{
  width:74px;height:74px;border-radius:50%;background:var(--gold);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 40px rgba(0,0,0,.55);
  transition:transform .18s ease;
}
.split__play:hover i{transform:scale(1.09)}
.split__play svg{margin-left:4px}
@media(max-width:860px){.split{grid-template-columns:1fr}}

/* ---------- requests / two-column info ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule);border:1px solid var(--rule)}
.duo>div{background:var(--ink-2);padding:clamp(28px,3.6vw,44px)}
.duo h3{margin-bottom:14px}
.duo p{color:#B2BAC2;font-size:16px;margin:0 0 22px}
.steps{list-style:none;margin:0 0 26px;padding:0;counter-reset:s}
.steps li{
  counter-increment:s;position:relative;padding-left:38px;margin-bottom:13px;
  color:#C2C9D1;font-size:15.5px;line-height:1.5;
}
.steps li::before{
  content:counter(s);position:absolute;left:0;top:1px;
  width:24px;height:24px;border:1px solid var(--gold-deep);border-radius:2px;
  color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;
  display:flex;align-items:center;justify-content:center;
}
@media(max-width:820px){.duo{grid-template-columns:1fr}}

/* ---------- closing CTA ---------- */
.close{
  background:var(--gold);color:#000;text-align:center;
  padding:clamp(64px,8vw,104px) 0;
}
.close h2{font-size:clamp(40px,6.4vw,84px);color:#000}
.close p{max-width:56ch;margin:20px auto 0;font-size:18px;color:#241C00;font-weight:500}
.close .btn{margin-top:36px;background:#000;color:var(--gold);border-color:#000}
.close .btn:hover{background:#141414;border-color:#141414}
.close .btn:focus-visible{outline-color:#000}

/* ---------- footer ---------- */
.ftr{background:var(--ink);border-top:1px solid var(--rule);padding:clamp(52px,6vw,76px) 0 34px}
.ftr__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:34px}
.ftr h4{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;
}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:9px}
.ftr a{color:#AEB6BF;text-decoration:none;font-size:15px}
.ftr a:hover{color:var(--gold)}
.ftr p{color:var(--mute);font-size:15px;margin:0 0 10px}
.ftr__mark{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ftr__mark img{height:44px;width:auto}
.ftr__legal{
  margin-top:44px;padding-top:24px;border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;
  font-size:13.5px;color:var(--mute);
}
.ftr__legal a{font-size:13.5px}
@media(max-width:900px){.ftr__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ftr__grid{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}

/* ===================== ADDED FOR INTERIOR PAGES ===================== */

/* compact page header */
.phead{position:relative;overflow:hidden;border-bottom:1px solid var(--rule)}
.phead__bg{position:absolute;inset:0;background-size:cover;background-position:center 42%;filter:grayscale(.4) contrast(1.05);opacity:.34}
.phead__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.96),rgba(8,9,10,.72) 55%,rgba(8,9,10,.35))}
.phead__in{position:relative;padding:clamp(64px,9vw,112px) 0 clamp(46px,6vw,72px)}
.phead h1{font-size:clamp(42px,7.4vw,88px);line-height:.88}
.phead h1 em{font-style:normal;color:var(--gold)}
.phead .lede{margin-top:20px}
.crumb{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:12.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:16px;
}
.crumb a{color:var(--gold);text-decoration:none}
.crumb a:hover{text-decoration:underline}

/* prose */
.prose{max-width:70ch}
.prose p{color:#C2C9D1;margin:0 0 20px}
.prose p:last-child{margin-bottom:0}

/* pillar grid (what the boosters do) */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.pillar{background:var(--ink);padding:clamp(26px,3.2vw,38px)}
.pillar h3{margin-bottom:11px}
.pillar p{margin:0;color:#AEB6BF;font-size:15.5px}
.pillar__k{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:block;
}
@media(max-width:760px){.pillars{grid-template-columns:1fr}}

/* FAQ */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{
  cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(19px,2vw,23px);line-height:1.15;letter-spacing:.02em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  color:var(--gold);font-size:26px;font-weight:400;line-height:1;
}
.faq details[open] summary::after{content:"\2212"}
.faq summary:hover{color:var(--gold)}
.faq__body{padding:0 44px 26px 0;color:#B6BDC5;font-size:16px}
.faq__body p{margin:0 0 14px}
.faq__body ul{margin:0 0 14px;padding-left:20px}
.faq__body li{margin-bottom:7px}
.faq__body p:last-child,.faq__body ul:last-child{margin-bottom:0}

/* board roster */
.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.seat{background:var(--ink-2);padding:22px 20px}
.seat b{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  text-transform:uppercase;font-size:21px;line-height:1.05;letter-spacing:.02em;
}
.seat span{
  display:block;margin-top:7px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;
  font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);
}
.seat.is-open b{color:var(--mute)}
.seat.is-open span{color:var(--mute)}
@media(max-width:900px){.roster{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.roster{grid-template-columns:1fr}}

/* sponsor tier cards */
.tiercards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.tc{background:var(--ink);padding:clamp(24px,3vw,34px);display:flex;flex-direction:column}
.tc--hero{background:var(--ink-2);box-shadow:inset 0 3px 0 var(--gold)}
.tc__name{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.tc__amt{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(34px,4vw,46px);line-height:.9;margin-bottom:18px}
.tc ul{list-style:none;margin:0;padding:0}
.tc li{
  position:relative;padding-left:20px;margin-bottom:9px;color:#B0B8C1;font-size:15px;line-height:1.45;
}
.tc li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--gold)}
@media(max-width:900px){.tiercards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tiercards{grid-template-columns:1fr}}

/* giving ladder */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.rung{background:var(--ink);padding:clamp(24px,3vw,34px);text-align:left}
.rung b{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--gold);
  font-size:clamp(32px,4vw,44px);line-height:.9;margin-bottom:14px;
}
.rung span{display:block;color:#B0B8C1;font-size:15.5px;line-height:1.5}
@media(max-width:860px){.ladder{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.ladder{grid-template-columns:1fr}}

/* season / schedule rows */
.rows{border-top:1px solid var(--rule)}
.row{
  display:grid;grid-template-columns:190px 1fr auto;gap:20px;align-items:baseline;
  padding:20px 0;border-bottom:1px solid var(--rule);
}
.row b{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:21px;letter-spacing:.02em;
}
.row p{margin:0;color:#A9B1BA;font-size:15.5px}
.row .tag{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.17em;text-transform:uppercase;color:var(--gold);white-space:nowrap;
}
@media(max-width:720px){
  .row{grid-template-columns:1fr;gap:7px}
  .row .tag{order:-1}
}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gal figure{margin:0;overflow:hidden;background:#14181C;aspect-ratio:1;border:1px solid var(--rule)}
.gal figure:nth-child(1),.gal figure:nth-child(6){grid-column:span 2;grid-row:span 2;aspect-ratio:1}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,opacity .3s ease;opacity:.9}
.gal figure:hover img{transform:scale(1.05);opacity:1}
@media(max-width:820px){.gal{grid-template-columns:repeat(2,1fr)}.gal figure:nth-child(1),.gal figure:nth-child(6){grid-column:span 2;grid-row:auto}}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.q{border:1px solid var(--rule);border-radius:3px;padding:clamp(24px,3vw,32px);background:var(--ink-2);position:relative}
.q::before{
  content:"\201C";position:absolute;top:6px;left:18px;color:var(--gold);opacity:.3;
  font-family:Georgia,serif;font-size:76px;line-height:1;
}
.q p{position:relative;margin:0 0 18px;color:#D2D8DE;font-size:16px;font-style:italic;line-height:1.6}
.q cite{
  font-style:normal;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);
}
@media(max-width:900px){.quotes{grid-template-columns:1fr}}

/* resource links */
.reslist{border-top:1px solid var(--rule)}
.res{
  display:flex;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--rule);
  text-decoration:none;transition:padding-left .18s ease;
}
.res:hover{padding-left:10px}
.res:hover .res__t{color:var(--gold)}
.res__t{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(20px,2.2vw,26px);line-height:1.05;letter-spacing:.02em;
}
.res__d{margin:6px 0 0;color:#9AA2AB;font-size:15px}
.res__k{
  margin-left:auto;flex:0 0 auto;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);
  border:1px solid var(--gold-deep);padding:5px 11px;border-radius:2px;
}
.res--soon{opacity:.5;pointer-events:none}
.res--soon .res__k{color:var(--mute);border-color:var(--rule)}

/* form */
.formwrap{border:1px solid var(--rule);background:var(--ink-2);padding:clamp(26px,3.4vw,40px);border-radius:3px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f{display:flex;flex-direction:column}
.f--full{grid-column:1/-1}
.f label{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.17em;text-transform:uppercase;color:#9AA2AB;margin-bottom:8px;
}
.f{min-width:0}
.f input,.f select,.f textarea{width:100%;min-width:0;
  background:var(--ink);border:1px solid var(--rule);border-radius:2px;color:#fff;
  font-family:'Barlow',sans-serif;font-size:16px;padding:13px 14px;
}
.f textarea{min-height:130px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips label{
  display:inline-flex;align-items:center;border:1px solid var(--rule);border-radius:2px;
  padding:11px 17px;cursor:pointer;color:#C2C9D1;letter-spacing:.1em;margin:0;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:14px;
}
.chips input{position:absolute;opacity:0;width:0;height:0}
.chips input:checked + span{color:#000}
.chips label:has(input:checked){background:var(--gold);border-color:var(--gold);color:#000}
.chips label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:640px){.fgrid{grid-template-columns:1fr}}

/* info strip */
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.info>div{background:var(--ink-2);padding:26px 24px}
.info h4,.info .ik{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;
}
.info p{margin:0;color:#C2C9D1;font-size:16px;line-height:1.55}
.info a{color:#fff}
@media(max-width:800px){.info{grid-template-columns:1fr}}

/* countdown */
.cd{display:flex;gap:2px;background:var(--rule);border:1px solid var(--rule);width:max-content;max-width:100%}
.cd div{background:var(--ink);padding:18px 24px;text-align:center;min-width:88px}
.cd b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:38px;line-height:1;color:var(--gold)}
.cd span{
  display:block;margin-top:7px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;
  font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--mute);
}

/* note / caution block */
.note{
  border-left:3px solid var(--gold);background:rgba(255,194,14,.06);
  padding:18px 22px;color:#D2D8DE;font-size:15.5px;
}
.note b{color:var(--gold)}

/* responsive two-column prose split */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
@media(max-width:820px){.two{grid-template-columns:1fr}}

/* long unbreakable strings (emails, URLs) must not blow out grid tracks */
.info>div,.duo>div,.card,.pillar,.tc,.rung,.seat,.ftr__grid>div{min-width:0}
.info p,.info a,.ftr p,.ftr a,.res__d{overflow-wrap:anywhere}

/* footer partner strip */
.ftrsp{border-top:1px solid var(--rule);background:var(--ink-2);padding:clamp(28px,3.6vw,40px) 0}
.ftrsp .spstrip__row{
  display:grid;align-items:center;justify-items:center;
  grid-template-columns:repeat(auto-fit,minmax(100px,1fr));
  gap:clamp(16px,2.2vw,24px) clamp(12px,1.8vw,20px);
}
.ftrsp .spstrip__more{display:inline-block;margin-top:18px;margin-left:0}

.nav{gap:20px}
.hdr__mark{min-width:0}

/* sticky in-page section nav — the device that makes big pages navigable */
.subnav{
  position:sticky;top:72px;z-index:40;
  background:rgba(8,9,10,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.subnav__in{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a{
  flex:0 0 auto;padding:16px 0;margin-right:30px;text-decoration:none;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;color:#9AA2AB;
  border-bottom:2px solid transparent;white-space:nowrap;
}
.subnav a:hover{color:#fff}
.subnav a.is-active{color:var(--gold);border-bottom-color:var(--gold)}
@media(max-width:620px){.subnav a{font-size:12px;margin-right:22px;padding:14px 0}}
.sect[id],.close[id]{scroll-margin-top:130px}

/* ===================== SPONSOR RECOGNITION ===================== */
.sp{
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  height:clamp(44px,5vw,64px);width:clamp(120px,13vw,170px);
}
.sp img{
  max-height:100%;max-width:100%;height:auto;width:auto;object-fit:contain;display:block;
  filter:grayscale(1) brightness(0) invert(1);opacity:.6;
  transition:opacity .2s ease,filter .2s ease;
}
.sp:hover img{opacity:1;filter:none}
.sp--sm{height:clamp(34px,3.6vw,46px);width:clamp(96px,10vw,132px)}

/* compact strip */
.spstrip{
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:clamp(26px,3.4vw,38px) 0;
}
.spstrip__lab{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin:0 0 20px;
}
.spstrip__row{
  display:grid;align-items:center;justify-items:center;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
  gap:clamp(18px,2.4vw,28px) clamp(14px,2vw,24px);
}
.spstrip__more{
  margin-left:auto;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  text-decoration:none;white-space:nowrap;
}
.spstrip__more:hover{text-decoration:underline}
@media(max-width:600px){.spstrip__more{margin-left:0;width:100%;margin-top:6px}}

/* tier directory */
.dir__tier{margin-bottom:clamp(36px,4.6vw,60px)}
.dir__head{
  display:flex;align-items:baseline;gap:16px;
  padding-bottom:14px;margin-bottom:26px;border-bottom:1px solid var(--rule);
}
.dir__head h3{margin:0}
.dir__head span{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.16em;color:var(--gold);margin-left:auto;
}
.dir__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.dir__card{
  background:var(--ink-2);padding:28px 22px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:18px;text-align:center;min-height:172px;min-width:0;
}
.dir__card .sp{height:58px;width:100%}
.dir__card b{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:17px;letter-spacing:.03em;line-height:1.1;overflow-wrap:anywhere;
}
.dir__card .sp img{opacity:.85}
@media(max-width:900px){.dir__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.dir__grid{grid-template-columns:1fr}}

/* "your logo here" band */
.spcta{
  border:1px dashed var(--gold-deep);border-radius:3px;
  padding:clamp(28px,3.6vw,44px);display:flex;flex-wrap:wrap;gap:22px;align-items:center;
  background:rgba(255,194,14,.04);
}
.spcta div{flex:1 1 320px;min-width:0}
.spcta h3{margin-bottom:9px}
.spcta p{margin:0;color:#B6BDC5;font-size:16px}

/* named sponsor grid (banquet) */
.bqgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.bq{background:var(--ink);padding:clamp(22px,2.8vw,32px);min-width:0}
.bq__t{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;
}
.bq b{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  text-transform:uppercase;font-size:clamp(20px,2.2vw,25px);line-height:1.05;overflow-wrap:anywhere;
}
@media(max-width:820px){.bqgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.bqgrid{grid-template-columns:1fr}}


/* active nav + mobile menu */
.nav a.is-here{color:var(--gold);border-bottom-color:var(--gold)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:10px;margin-left:6px;flex:0 0 auto}
.burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:transform .2s ease,opacity .2s ease}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{display:none;flex-direction:column;border-top:1px solid var(--rule);padding:8px 0 18px;background:rgba(8,9,10,.98)}
.mnav a{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:16px;
  letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:#D3D8DE;
  padding:14px clamp(20px,5vw,64px);border-bottom:1px solid #16191D;
}
.mnav a.is-here{color:var(--gold)}
.mnav__cta{color:var(--gold)!important;border-bottom:0!important}
@media(max-width:1520px){
  .nav{gap:14px}
  .nav a{font-size:12.5px;letter-spacing:.08em}
}
@media(max-width:1300px){
  .nav{display:none}
  .burger{display:block}
  .mnav:not([hidden]){display:flex}
  .hdr__cta{margin-left:auto}
}
@media(max-width:620px){
  .hdr__in{gap:10px}
  .hdr__mark span{display:none}
  .hdr__mark img{height:34px}
  .hdr__cta{padding:11px 16px;font-size:12.5px;letter-spacing:.1em}
  .burger{padding:8px;margin-left:0}
}

/* ================================================================
   1 — ACCESSIBILITY (WCAG 2.1 AA)
   ================================================================ */

/* skip link */
.skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--gold);color:#000;padding:14px 22px;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;font-size:14px;text-decoration:none;
}
.skip:focus{left:0}

/* visually hidden but read by screen readers */
.vh{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* CONTRAST FIXES — every value below re-checked against #08090A / #111417.
   Old --mute #8B939C on ink = 6.0:1 (ok for body, fails as 12px bold on
   some panels). Old #6E767E footer legal = 4.0:1 — FAILED AA. */
:root{
  --mute:#9BA3AC;        /* 7.0:1 on --ink */
  --mute-2:#8E969F;      /* 6.1:1 — smallest permitted use */
  --body:#C9CFD6;        /* 12.2:1 */
  --body-2:#B6BDC5;      /* 10.0:1 */
}
.ftr__legal{color:var(--mute-2)}
.ftr__legal a{color:var(--body-2)}
.ftr p{color:var(--body-2)}
.rung span,.tc li,.card p,.pillar p,.q p,.info p,.faq__body,.proj p,.row p{color:var(--body-2)}
.res__d{color:var(--mute)}
.hero__note,.spstrip__lab,.board__label,.seat.is-open b,.seat.is-open span{color:var(--mute)}
.subnav a{color:var(--body-2)}

/* focus — visible on every interactive element, never removed */
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.faq summary:focus-visible{outline-offset:-3px}

/* WCAG 2.2.2 — auto-moving content needs a pause control */
.marquee{position:relative}
.marquee.is-paused .marquee__track{animation-play-state:paused}
.marquee__pause{
  position:absolute;right:clamp(12px,3vw,28px);bottom:8px;z-index:2;
  background:rgba(8,9,10,.85);border:1px solid var(--rule);border-radius:2px;
  color:var(--body-2);cursor:pointer;padding:7px 12px;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
}
.marquee__pause:hover{color:var(--gold);border-color:var(--gold-deep)}
@media(prefers-reduced-motion:reduce){.marquee__pause{display:none}}

/* touch targets — 44px minimum (WCAG 2.5.8) */
.nav a,.mnav a,.subnav a,.card__link,.spstrip__more,.ftr a,.crumb a{min-height:44px;display:inline-flex;align-items:center}
.ftr li a{min-height:36px}
.burger{min-width:44px;min-height:44px}

/* forms — real semantics, real states */
.f label .req{color:var(--gold);margin-left:3px}
.f .hint{margin-top:7px;font-size:13.5px;color:var(--mute)}
.f .err{
  margin-top:7px;font-size:13.5px;color:#FF9A8B;display:none;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;letter-spacing:.04em;
}
.f.is-invalid .err{display:block}
.f.is-invalid input,.f.is-invalid select,.f.is-invalid textarea{border-color:#FF9A8B}
.formstatus{
  margin-top:20px;padding:16px 20px;border-left:3px solid var(--gold);
  background:rgba(255,194,14,.07);color:var(--body);font-size:15.5px;display:none;
}
.formstatus.is-on{display:block}
.formstatus.is-err{border-left-color:#FF9A8B;background:rgba(255,154,139,.07)}

/* skeleton while sponsor data resolves — prevents layout shift */
.sp-skel{display:flex;gap:clamp(24px,3.4vw,48px);align-items:center;padding:0}
.sp-skel i{
  display:block;width:120px;height:44px;border-radius:2px;
  background:linear-gradient(90deg,#14181C 25%,#1C2228 37%,#14181C 63%);
  background-size:400% 100%;animation:shimmer 1.4s ease infinite;
}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.sp-skel i{animation:none}}

/* ================================================================
   7 — MOTION & CHROME
   ================================================================ */

/* scroll reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1)}
.rv.is-in{opacity:1;transform:none}
.no-js .rv,.rv-off .rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* header auto-hide on scroll down, return on scroll up */
.hdr{transition:transform .28s ease}
.hdr.is-hidden{transform:translateY(-100%)}
.subnav{transition:top .28s ease}
.hdr.is-hidden ~ .subnav,body.hdr-hidden .subnav{top:0}

/* anchor offset accounts for header + subnav, and is measured at runtime */
:root{--chrome:72px}
[id]{scroll-margin-top:calc(var(--chrome) + 18px)}

/* persistent mobile give bar */
.givebar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  background:rgba(8,9,10,.97);backdrop-filter:blur(10px);
  border-top:1px solid var(--rule);padding:10px clamp(14px,4vw,20px);
  padding-bottom:calc(10px + env(safe-area-inset-bottom));
  gap:10px;
}
.givebar a{flex:1 1 0;justify-content:center;padding:14px 10px;font-size:13px;letter-spacing:.1em}
@media(max-width:760px){
  .givebar{display:flex}
  body{padding-bottom:78px}
}

/* ================================================================
   4 — PRINT
   Board proposals live or die on paper. So does this site: sponsor
   levels, the scholarship rubric, and the coach request process all
   get printed. Ink-saving light ground, black type, no dark fills.
   ================================================================ */
@media print{
  @page{margin:16mm 14mm}
  *,*::before,*::after{
    background:transparent!important;color:#000!important;
    border-color:#9a9a9a!important;
    box-shadow:none!important;text-shadow:none!important;
    filter:none!important;opacity:1!important;
  }
  html,body{background:#fff!important;font-size:11pt;line-height:1.45}
  body{padding-bottom:0!important}

  /* chrome that means nothing on paper */
  .hdr,.mnav,.burger,.subnav,.givebar,.skip,.marquee__pause,
  .hero__bg,.hero__scrim,.phead__bg,.phead__scrim,.slash,
  .gal,.split__media,.ftrsp,.spstrip,.btn,.hero__cta,.spcta,
  .formwrap,.crumb,.chips,.formstatus{display:none!important}

  .rv{opacity:1!important;transform:none!important}

  h1,h2,h3,h4{font-family:'Barlow Condensed',Arial Narrow,sans-serif;page-break-after:avoid}
  h1{font-size:26pt;line-height:1}
  h2{font-size:18pt;line-height:1.05}
  h3{font-size:13pt}
  .eyebrow{font-size:8pt;letter-spacing:.16em}
  .eyebrow::after{display:none}
  .lede{font-size:11.5pt}

  .sect,.phead__in{padding:12pt 0!important}
  .sect__head{margin-bottom:10pt!important}
  .lede{margin-top:6pt!important}
  p{margin:0 0 6pt!important;orphans:3;widows:3}
  .steps li{margin-bottom:4pt!important;padding-left:22pt!important}
  .steps li::before{width:14pt;height:14pt;border-color:#666!important;font-size:8pt}
  .wrap{padding:0!important;max-width:none}

  /* keep structure legible with rules instead of fills */
  .cards,.pillars,.tiercards,.ladder,.roster,.duo,.info,.dir__grid,.bqgrid{
    display:block!important;border:0!important;
  }
  .card,.pillar,.tc,.rung,.seat,.duo>div,.info>div,.dir__card,.bq{
    border:0!important;border-bottom:.5pt solid #999!important;
    padding:7pt 0!important;page-break-inside:avoid;
  }
  .tc,.rung,.seat,.dir__card,.bq{page-break-inside:avoid}
  .row{border-bottom:.5pt solid #bbb!important;padding:5pt 0!important;page-break-inside:avoid}
  .note,.formwrap,.spcta{border:.5pt solid #999!important;padding:8pt!important}
  .faq details{border-bottom:.5pt solid #bbb!important}
  .faq details>*{display:block!important}
  .faq summary::after{display:none}
  .faq__body{padding:0 0 8pt!important}
  .close{border-top:1pt solid #000!important;padding:10pt 0 0!important;text-align:left!important}
  .close h2{font-size:15pt}
  .close p{font-size:10.5pt}
  section{page-break-inside:auto}
  .sect__head{page-break-after:avoid}

  /* expand every accordion so nothing is hidden on paper */
  details{display:block!important}
  details>summary{list-style:none}

  /* print the destination of links */
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8.5pt;word-break:break-all}
  a[href^="mailto"]::after{content:" (" attr(href) ")";font-size:8.5pt}
  a[href^="#"]::after,a[href$=".html"]::after{content:""}

  .sp img{filter:none!important;opacity:1!important;max-height:34pt}
  .marquee{-webkit-mask-image:none!important;mask-image:none!important;overflow:visible!important}
  .marquee__track{animation:none!important;width:auto!important;flex-wrap:wrap!important;gap:14pt!important}

  .printfoot{display:block!important;margin-top:14pt;padding-top:7pt;border-top:.5pt solid #999;font-size:8.5pt}
}
.printfoot{display:none}

/* ================================================================
   Directory as a semantic list (added with the external registry)
   ================================================================ */
.dir__grid{list-style:none;margin:0;padding:0}
.dir__card{list-style:none}
.chips label.is-on{background:var(--gold);border-color:var(--gold);color:#000}
.chips label.is-on span{color:#000}

/* no-JS: sponsors are the one thing that cannot render without it,
   so say so rather than showing an empty band */
.no-js [data-hab]::after{
  content:"Our community partners are listed on the Support page.";
  display:block;color:var(--mute);font-size:15px;
}
.no-js .marquee{border:0;padding:0}

/* ================================================================
   Small-screen typography floor.
   The display face is condensed, so a single long word ("SCHOLARSHIPS",
   "THOUSANDS") is the one thing that can still exceed a 320px box if the
   webfont fails to load and a wider fallback is substituted. These floors
   plus break-word make that impossible at any width.
   ================================================================ */
h1,h2,h3,.res__t,.seat b,.row b,.bq b,.dir__card b{overflow-wrap:break-word}
h2{font-size:clamp(30px,5.4vw,66px)}
.close h2{font-size:clamp(32px,6.4vw,84px)}
.phead h1{font-size:clamp(34px,7.2vw,88px)}
.hero h1{font-size:clamp(40px,9.2vw,124px)}
@media(max-width:360px){
  h2{font-size:28px}
  .phead h1{font-size:32px}
  .hero h1{font-size:36px}
  .close h2{font-size:30px}
  .tc__amt{font-size:30px}
  .board__num{font-size:44px}
}

/* ================================================================
   2025–26 FUNDING LEDGER
   Full transparency, presented as a document rather than a dashboard.
   ================================================================ */

/* headline figures */
.lstats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.lstat{background:var(--ink);padding:clamp(24px,3.2vw,38px) clamp(14px,2vw,26px);text-align:center;min-width:0}
.lstat b{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:clamp(30px,4.2vw,54px);line-height:.9;color:var(--gold);
  letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums;
}
@media(max-width:1080px){.lstat b{font-size:clamp(26px,3.6vw,40px)}}
@media(max-width:400px){.lstat b{font-size:24px}}
.lstat span{
  display:block;margin-top:12px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;
  font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--mute);line-height:1.5;
}
@media(max-width:760px){.lstats{grid-template-columns:1fr 1fr}}

/* category bars */
.lbar{margin-bottom:22px}
.lbar:last-child{margin-bottom:0}
.lbar__top{display:flex;gap:14px;align-items:baseline;margin-bottom:9px}
.lbar__top b{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(17px,1.9vw,21px);letter-spacing:.02em;line-height:1.1;
}
.lbar__top span{
  margin-left:auto;flex:0 0 auto;white-space:nowrap;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:12.5px;letter-spacing:.12em;color:var(--gold);
}
.lbar__track{height:8px;background:var(--ink-3);border-radius:1px;overflow:hidden}
.lbar__track i{
  display:block;height:100%;background:var(--gold);border-radius:1px;
  transform-origin:left;animation:lgrow .9s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes lgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.lbar__track i{animation:none}}

/* itemised table */
.lhead{
  display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;
  margin:clamp(30px,3.6vw,44px) 0 6px;
}
.lhead:first-child{margin-top:0}
.lhead span{
  margin-left:auto;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);
}
.lnote{margin:0 0 14px;color:var(--mute);font-size:15px}
.ledger{width:100%;border-collapse:collapse;margin-top:14px;font-size:15.5px}
.ledger th,.ledger td{text-align:left;padding:13px 14px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.ledger thead th{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
  padding-bottom:10px;border-bottom:1px solid var(--gold-deep);
}
.ledger tbody th{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:17px;letter-spacing:.02em;white-space:nowrap;padding-right:22px;
}
.ledger td{color:var(--body-2)}
.ledger .when{color:var(--mute);white-space:nowrap;font-size:14.5px}
.ledger .num{text-align:right;padding-right:0;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--body)}
.ledger tbody tr:hover td,.ledger tbody tr:hover th{background:var(--ink-2)}
.ledger tfoot th{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);border-bottom:0;padding-top:16px;
}
.ledger tfoot td{border-bottom:0;padding-top:16px;color:var(--gold);font-weight:600}

.ltotal{
  display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;
  margin-top:clamp(28px,3.4vw,40px);padding-top:22px;border-top:2px solid var(--gold);
}
.ltotal span{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.17em;text-transform:uppercase;color:var(--mute);
}
.ltotal b{
  margin-left:auto;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:clamp(32px,4.2vw,52px);line-height:.9;color:var(--gold);
  font-variant-numeric:tabular-nums;
}

/* narrow screens: the table becomes stacked records */
@media(max-width:660px){
  .ledger,.ledger tbody,.ledger tr,.ledger td,.ledger th{display:block;width:100%}
  .ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ledger tr{padding:14px 0;border-bottom:1px solid var(--rule)}
  .ledger th,.ledger td{border-bottom:0;padding:0}
  .ledger tbody th{font-size:18px;margin-bottom:4px;white-space:normal}
  .ledger .when{display:inline;font-size:13.5px}
  .ledger .when::before{content:"· "}
  .ledger .num{display:inline-block;text-align:left;margin-top:6px;color:var(--gold);font-weight:600;font-size:17px}
  .ledger tfoot tr{border-bottom:0}
  .ledger tfoot th{padding-top:10px}
  .ledger tfoot td{color:var(--gold)}
  .ltotal b{margin-left:0;width:100%}
}

@media print{
  .lbar__track i{animation:none!important;background:#666!important}
  .lbar__track{border:.5pt solid #999!important}
  .ledger{font-size:9pt}
  .ledger th,.ledger td{padding:3pt 6pt 3pt 0!important;border-bottom:.5pt solid #ccc!important}
  .ledger thead{display:table-header-group}
  .ledger tr{page-break-inside:avoid}
  .ledger .num{color:#000!important}
  .ltotal{border-top:1pt solid #000!important}
  .ltotal b{color:#000!important;font-size:18pt}
  .lstats{display:table!important;width:100%}
  .lstat{display:table-cell!important;border:.5pt solid #999!important;padding:6pt!important}
}

/* ================================================================
   FIVE-YEAR GROWTH CHART
   ================================================================ */
.grow{
  display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.6vw,20px);
  align-items:end;height:clamp(200px,26vw,300px);margin-top:8px;
}
.grow__col{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0;text-align:center}
.grow__val{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:clamp(11px,1.2vw,14px);letter-spacing:.06em;color:var(--mute);
  margin-bottom:8px;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.grow__bar{
  background:linear-gradient(180deg,var(--gold-deep),#6E4E00);border-radius:2px 2px 0 0;
  min-height:6px;transform-origin:bottom;animation:ggrow .8s cubic-bezier(.22,.61,.36,1) both;
}
.grow__col.is-now .grow__bar{background:linear-gradient(180deg,#FFD63C,var(--gold))}
.grow__col.is-now .grow__val{color:var(--gold);font-size:clamp(13px,1.5vw,17px)}
.grow__lab{
  margin-top:12px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;
  font-size:clamp(10px,1.1vw,12.5px);letter-spacing:.12em;text-transform:uppercase;
  color:var(--mute);white-space:nowrap;
}
.grow__col.is-now .grow__lab{color:var(--gold)}
@keyframes ggrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.grow__bar{animation:none}}
.grow__note{margin:26px 0 0;color:var(--body-2);font-size:clamp(16px,1.7vw,19px);max-width:60ch}
.grow__note b{color:var(--gold)}
@media(max-width:520px){
  .grow{height:200px;gap:7px}
  .grow__val{font-size:10px;letter-spacing:0}
  .grow__lab{font-size:9.5px;letter-spacing:.06em}
}
@media print{
  .grow__bar{animation:none!important;background:#666!important}
  .grow{height:150px}
}

/* scoreboard footer line */
.boardfoot{
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:baseline;
  margin:22px 0 0;padding-top:20px;border-top:1px solid var(--rule);
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;
  font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);
}
.boardfoot b{color:var(--gold);font-weight:700}
.boardfoot .card__link{margin-left:auto}
@media(max-width:640px){.boardfoot{flex-direction:column;gap:14px}.boardfoot .card__link{margin-left:0}}

/* ================================================================
   COACHES PAGE — embedded form, process table, email template
   ================================================================ */
.pdfwrap{
  border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:#1B1D20;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.pdfobj{display:block;width:100%;height:min(88vh,1100px);min-height:520px;background:#1B1D20}
.pdffallback{padding:clamp(28px,4vw,48px);text-align:center;color:var(--body-2)}
.pdffallback p{margin:0 0 14px;max-width:48ch;margin-left:auto;margin-right:auto}
.pdffallback .btn{margin-top:6px}
@media(max-width:760px){.pdfobj{height:70vh}}

/* seven-step process: number / you / us */
.proc{border-top:1px solid var(--rule)}
.proc__row{
  display:grid;grid-template-columns:64px 1.4fr 1fr;gap:clamp(18px,3vw,40px);
  padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid var(--rule);
}
.proc__n{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(40px,4.6vw,56px);
  line-height:.9;color:var(--gold);letter-spacing:-.01em;
}
.proc__you h3{margin-bottom:10px}
.proc__you p,.proc__us p{margin:0 0 10px;color:var(--body-2);font-size:15.5px}
.proc__you p:last-child,.proc__us p:last-child{margin-bottom:0}
.proc__you .steps{margin:8px 0 12px}
.proc__us{
  background:var(--ink);border:1px solid var(--rule);border-radius:3px;
  padding:18px 20px;align-self:start;
}
.proc__us .ik{margin-bottom:8px}
.proc__us b{color:#fff}
@media(max-width:820px){
  .proc__row{grid-template-columns:44px 1fr;gap:14px 18px}
  .proc__us{grid-column:2}
  .proc__n{font-size:34px}
}

/* email template */
.tmpl{border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:var(--ink)}
.tmpl__bar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 18px;border-bottom:1px solid var(--rule);background:var(--ink-2);
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--mute);
}
.tmpl__copy{
  background:var(--gold);color:#000;border:0;border-radius:2px;cursor:pointer;
  padding:8px 16px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
}
.tmpl__copy:hover{background:#FFD63C}
.tmpl__copy.is-done{background:transparent;color:var(--gold);border:1px solid var(--gold-deep)}
.tmpl pre{
  margin:0;padding:clamp(18px,2.6vw,28px);overflow-x:auto;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.65;
  color:var(--body);white-space:pre-wrap;overflow-wrap:anywhere;
}
@media print{
  .pdfwrap{display:none}
  .proc__row{grid-template-columns:32pt 1.4fr 1fr!important;page-break-inside:avoid}
  .proc__us{border:.5pt solid #999!important}
  .tmpl{border:.5pt solid #999!important}
  .tmpl__copy{display:none}
}

/* ================================================================
   BRAND MARK — the circle badge replaces the bare hawkeye
   ================================================================ */
.hdr__mark img{height:46px;width:46px;border-radius:50%;flex:0 0 auto}
.ftr__mark img{height:80px;width:80px;border-radius:50%}
@media(max-width:620px){.hdr__mark img{height:40px;width:40px}}

/* seven nav items: tighten so it holds one row down to the collapse point */
.nav{gap:16px}
.nav a{font-size:13px;letter-spacing:.1em}
@media(max-width:1520px){.nav{gap:12px}.nav a{font-size:12.5px;letter-spacing:.07em}}

/* long email addresses in running text must wrap on narrow screens */
.lede a,.proc__you a,.row p,.faq__body,.pdffallback p,.info p{overflow-wrap:anywhere}
.tmpl pre{font-size:13.5px}
@media(max-width:400px){.tmpl pre{font-size:12.5px;padding:14px}}

/* .ik is the small gold label; it should style anywhere, not only inside .info */
.ik{
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;
}

/* Online giving block on Support — shown only when HAB_CONFIG.giving.url is set */
.giveonline{
  border:1px solid var(--rule);border-left:4px solid var(--gold);
  padding:clamp(22px,3vw,32px);margin:0 0 clamp(28px,3.5vw,40px);
}
.giveonline .hint{margin:14px 0 0;font-size:13.5px;color:var(--mute)}
.giveonline[hidden]{display:none}

/* ==================================================================
   v3.1 COLOUR PASS — the site was reading pitch black everywhere.
   Three moves, in order of effect:
     1. Photos carry their own light. Hero and page-head images run
        at ~75% instead of ~35%, in colour, with a scrim that only
        protects the text column.
     2. Two new section surfaces. `.sect--paper` (warm cream, dark
        type) for the places a visitor has to read and decide —
        ways to give, ways to help, programs, the coach process,
        documents, and every sponsor wall (logos in full colour).
        `.sect--gold` for the money story and the recruiting asks.
     3. The dark panels warm up a shade so black-on-black sections
        stop merging.
   Every text colour below clears WCAG AA (4.5:1) on its surface:
     gold-ink #836400 on cream 4.86 · on white 5.43
     mute     #5C626A on cream 5.51 · body #3F444A 8.79
     on gold: #241C00 10.5 · #3A2E00 8.3 · #000 13.0
   ================================================================== */
:root{
  --ink-2:#131211;
  --ink-3:#1E1B16;
  --rule:#2A2722;
  --paper-2:#F6F2E8;      /* section cream        */
  --paper-3:#FFFFFF;      /* card on cream        */
  --rule-p:#DAD4C4;       /* rules on cream       */
  --ink-p:#0B0C0E;        /* type on cream        */
  --body-p:#3F444A;
  --mute-p:#5C626A;
  --gold-ink:#836400;     /* small gold type on cream, AA */
  --gold-tint:rgba(138,99,0,.10);
}

/* ---------- 1. photos ---------- */
.hero__bg{filter:saturate(1.08) contrast(1.02);opacity:.78}
.hero__scrim{
  background:
    linear-gradient(90deg,rgba(8,9,10,.90) 0%,rgba(8,9,10,.66) 44%,rgba(8,9,10,.06) 100%),
    linear-gradient(0deg,var(--ink) 0%,transparent 30%);
}
.phead__bg{filter:saturate(1.08) contrast(1.02);opacity:.72}
.phead__scrim{background:linear-gradient(90deg,rgba(8,9,10,.92),rgba(8,9,10,.60) 52%,rgba(8,9,10,.08))}
.split__media img{opacity:1}
.gal img{opacity:1}
.gal figure:hover img{transform:scale(1.05)}
.project img,.projects img{opacity:1;filter:none}

/* ---------- 2a. cream sections ---------- */
.sect--paper{background:var(--paper-2);color:var(--ink-p)}
.sect--paper h1,.sect--paper h2,.sect--paper h3,.sect--paper h4{color:var(--ink-p)}
.sect--paper .eyebrow{color:var(--gold-ink)}
.sect--paper .eyebrow::after{background:var(--rule-p)}
.sect--paper .lede,.sect--paper p,.sect--paper .prose p,.sect--paper .lnote{color:var(--body-p)}
.sect--paper .ik{color:var(--gold-ink)}
.sect--paper .btn--ghost{color:var(--ink-p);border-color:#8C8776}
.sect--paper .btn--ghost:hover{border-color:var(--gold-ink);color:var(--gold-ink)}
.sect--paper .btn:focus-visible{outline-color:var(--gold-ink)}
.sect--paper a:not(.btn):focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}

/* action cards */
.sect--paper .cards{background:var(--rule-p);border:1px solid var(--rule-p)}
.sect--paper .card{background:var(--paper-3)}
.sect--paper .card:hover{background:#FFFDF7}
.sect--paper .card__idx{color:var(--gold-ink)}
.sect--paper .card p{color:var(--body-p)}
.sect--paper .card__link{color:var(--gold-ink)}

/* pillars, duo, info */
.sect--paper .pillars,.sect--paper .duo,.sect--paper .info{background:var(--rule-p);border-color:var(--rule-p)}
.sect--paper .pillar,.sect--paper .duo>div,.sect--paper .info>div{background:var(--paper-3)}
.sect--paper .pillar p,.sect--paper .duo p,.sect--paper .info p{color:var(--body-p)}
.sect--paper .pillar__k,.sect--paper .info h4,.sect--paper .info .ik{color:var(--gold-ink)}
.sect--paper .info a{color:var(--ink-p)}

/* rows */
.sect--paper .rows{border-top-color:var(--rule-p)}
.sect--paper .row{border-bottom-color:var(--rule-p)}
.sect--paper .row p{color:var(--body-p)}
.sect--paper .row .tag{color:var(--gold-ink)}

/* numbered steps */
.sect--paper .steps li{color:var(--body-p)}
.sect--paper .steps li::before{color:var(--gold-ink);border-color:var(--gold-ink);background:var(--paper-3)}

/* the coach process */
.sect--paper .proc{border-top-color:var(--rule-p)}
.sect--paper .proc__row{border-bottom-color:var(--rule-p)}
.sect--paper .proc__n{color:var(--gold-ink)}
.sect--paper .proc__you p,.sect--paper .proc__us p{color:var(--body-p)}
.sect--paper .proc__us{background:var(--paper-3);border-color:var(--rule-p)}
.sect--paper .proc__us b{color:var(--ink-p)}

/* resource list */
.sect--paper .reslist{border-top-color:var(--rule-p)}
.sect--paper .res{border-bottom-color:var(--rule-p);color:var(--ink-p)}
.sect--paper .res:hover .res__t{color:var(--gold-ink)}
.sect--paper .res__d{color:var(--mute-p)}
.sect--paper .res__k{color:var(--gold-ink);border-color:var(--gold-ink)}
.sect--paper .res--soon .res__k{color:var(--mute-p);border-color:var(--rule-p)}

/* text links on cream */
.sect--paper p a,.sect--paper li a,.sect--paper .lede a,.sect--paper .prose a,.sect--paper .proc__you a{color:var(--gold-ink)}
.sect--gold p a,.sect--gold li a{color:#000}

/* inline gold/mute colour on cream drops to the AA-safe inks */
.sect--paper [style*="color:var(--gold)"]{color:var(--gold-ink)!important}
.sect--paper [style*="color:var(--mute)"]{color:var(--mute-p)!important}
.sect--paper .card [style*="color:var(--gold)"],.sect--paper .info [style*="color:var(--gold)"]{color:var(--gold-ink)!important}

/* notes and callouts */
.sect--paper .note{background:var(--gold-tint);color:var(--ink-p);border-left-color:var(--gold-ink)}
.sect--paper .note b{color:#6E4F00}
.sect--paper .spcta{background:var(--paper-3);border:1px solid var(--rule-p)}

/* sponsor logos in colour on cream — the wall, the strip, the directory */
.sect--paper .sp img,.sect--paper .marquee__track img,.ftrsp .sp img{filter:none;opacity:1}
.sect--paper .sp:hover img,.ftrsp .sp:hover img{opacity:1}
.sect--paper .marquee{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.sect--paper .tiers .tier{border-color:var(--rule-p);color:var(--body-p);background:var(--paper-3)}
.sect--paper .tiers .tier b{color:var(--gold-ink)}
.sect--paper .dir__head{border-bottom-color:var(--rule-p)}
.sect--paper .dir__head span{color:var(--gold-ink)}
.sect--paper .dir__card{background:var(--paper-3);border-color:var(--rule-p)}
.sect--paper .dir__card b{color:var(--ink-p)}
.sect--paper .spstrip__lab{color:var(--mute-p)}
.sect--paper .spstrip__more{color:var(--gold-ink)}

/* the footer partner strip */
.ftrsp{background:var(--paper-2);border-top:0}
.ftrsp .spstrip__lab{color:var(--mute-p)}
.ftrsp .spstrip__more{color:var(--gold-ink)}

/* ---------- 2b. gold sections ---------- */
.sect--gold{background:var(--gold);color:#000}
.sect--gold h1,.sect--gold h2,.sect--gold h3,.sect--gold h4{color:#000}
.sect--gold .eyebrow{color:#241C00}
.sect--gold .eyebrow::after{background:rgba(0,0,0,.28)}
.sect--gold .lede,.sect--gold p,.sect--gold .prose p{color:#241C00}
.sect--gold .ik{color:#3A2E00}
.sect--gold .btn--gold{background:#000;color:var(--gold);border-color:#000}
.sect--gold .btn--gold:hover{background:#141414;border-color:#141414}
.sect--gold .btn--ghost{color:#000;border-color:rgba(0,0,0,.55)}
.sect--gold .btn--ghost:hover{border-color:#000;color:#000;background:rgba(0,0,0,.06)}
.sect--gold .btn:focus-visible{outline-color:#000}
.sect--gold .ladder,.sect--gold .pillars,.sect--gold .info{background:rgba(0,0,0,.35);border-color:rgba(0,0,0,.35)}
.sect--gold .rung,.sect--gold .pillar,.sect--gold .info>div{background:var(--ink);color:var(--paper)}
/* dark cards on the gold band keep their light type */
.sect--gold .rung span{color:#B0B8C1}
.sect--gold .pillar p{color:#AEB6BF}
.sect--gold .pillar h3{color:var(--paper)}
.sect--gold .pillar__k,.sect--gold .info h4,.sect--gold .info .ik{color:var(--gold)}
.sect--gold .info p{color:#C2C9D1}
.sect--gold .info a{color:#fff}
/* small print that sits directly on the gold */
.sect--gold > .wrap > p[style*="--mute"]{color:#3A2E00!important}
.sect--gold .note{background:rgba(0,0,0,.08);border-left-color:#000;color:#241C00}
.sect--gold .note b{color:#000}
.sect--gold [style*="color:var(--gold)"]{color:#000!important;text-decoration:underline}
.sect--gold .sect__head p,.sect--gold > .wrap > p{color:#241C00}

/* the impact scoreboard sits on a gold band; the dark frame pops off it */
.board{background:var(--gold);border-top:0;border-bottom:0}
.boardfoot{border-top-color:rgba(0,0,0,.28);color:#3A2E00}
.boardfoot b{color:#000}
.boardfoot .card__link{color:#000}

/* ---------- 3. print keeps its own rules (hab.css @media print above) ---------- */
@media print{
  .sect--paper,.sect--gold,.board,.ftrsp{background:#fff!important;color:#000!important}
}

/* ==================================================================
   v3.2 — LESS TEXT, MORE PICTURE, MORE ASKS
   Three new pieces: a full-bleed photo band with one line and one
   button; a three-up CTA strip; and a one-line source note that sits
   under every dollar figure and links to the filing it came from.
   ================================================================== */

/* full-bleed photo band */
.band{position:relative;overflow:hidden;background:var(--ink);display:flex;align-items:center;min-height:clamp(380px,50vw,600px)}
.band__bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;filter:saturate(1.08) contrast(1.02);opacity:.84}
.band__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.88) 0%,rgba(8,9,10,.56) 48%,rgba(8,9,10,.12) 100%)}
.band__in{position:relative;padding:clamp(56px,8vw,100px) 0;width:100%}
.band .eyebrow{color:var(--gold)}
.band h2{font-size:clamp(42px,7.2vw,100px);line-height:.86;max-width:13ch;color:#fff}
.band h2 em{font-style:normal;color:var(--gold)}
.band p{max-width:44ch;margin:18px 0 0;font-size:clamp(17px,1.6vw,20px);color:#E8EBEE}
.band__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.band--right .band__scrim{background:linear-gradient(270deg,rgba(8,9,10,.88) 0%,rgba(8,9,10,.56) 48%,rgba(8,9,10,.12) 100%)}
.band--right .band__in{display:flex;justify-content:flex-end;text-align:right}
.band--right h2,.band--right p{margin-left:auto}
.band--right .band__cta{justify-content:flex-end}

/* three-up CTA strip */
.ctabar{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.ctabar a{
  display:flex;flex-direction:column;gap:10px;min-height:190px;
  padding:clamp(24px,3vw,38px);background:var(--ink-2);text-decoration:none;color:inherit;
  transition:background .18s ease;
}
.ctabar a:hover{background:var(--ink-3)}
.ctabar .ik{margin:0 0 4px}
.ctabar b{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(24px,2.6vw,34px);line-height:.95;letter-spacing:.01em}
.ctabar span{color:#B6BDC5;font-size:15.5px;line-height:1.5}
.ctabar i{
  font-style:normal;margin-top:auto;padding-top:14px;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
  display:inline-flex;align-items:center;gap:9px;
}
.ctabar a:hover i{gap:15px}
.ctabar a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
@media(max-width:860px){.ctabar{grid-template-columns:1fr}.ctabar a{min-height:0}}
.sect--paper .ctabar{background:var(--rule-p);border-color:var(--rule-p)}
.sect--paper .ctabar a{background:var(--paper-3)}
.sect--paper .ctabar a:hover{background:#FFFDF7}
.sect--paper .ctabar span{color:var(--body-p)}
.sect--paper .ctabar i{color:var(--gold-ink)}
.sect--paper .ctabar a:focus-visible{outline-color:var(--gold-ink)}
.sect--gold .ctabar{background:rgba(0,0,0,.35);border-color:rgba(0,0,0,.35)}
.sect--gold .ctabar a{background:var(--ink);color:var(--paper)}
.sect--gold .ctabar a:hover{background:#151515}
.sect--gold .ctabar .ik{color:var(--gold)}

/* the source line under a dollar figure */
.source{margin:16px 0 0;font-size:13.5px;line-height:1.5;color:var(--mute);max-width:72ch}
.source a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.sect--paper .source{color:var(--mute-p)}
.sect--paper .source a{color:var(--gold-ink)}
.sect--gold .source{color:#3A2E00}
.sect--gold .source a{color:#000}

/* the filings chart has nine columns */
.grow--fy{grid-template-columns:repeat(9,1fr);gap:clamp(6px,1vw,14px)}
@media(max-width:640px){.grow--fy .grow__val{font-size:9px;letter-spacing:0}.grow--fy .grow__col:not(.is-now) .grow__val{display:none}}

/* mobile quick-action bar sits on every page now */
.givebar a{white-space:nowrap}

/* ==================================================================
   v3.3 — online giving, PDF links, gym ad packages
   ================================================================== */

/* the two PayPal funds */
.funds{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule);border:1px solid var(--rule);margin-bottom:20px}
.fund{background:var(--ink);padding:clamp(22px,2.8vw,30px)}
.fund .btn{width:100%;justify-content:center}
.fund p{margin:14px 0 0;color:#B0B8C1;font-size:15px;line-height:1.5}
@media(max-width:700px){.funds{grid-template-columns:1fr}}
.giveonline .hint{margin:0;font-size:15px;color:#C2C9D1;line-height:1.6}
.giveonline .hint b{color:var(--gold)}

/* a PDF link with a line of explanation beside it */
.givedocs{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}
.givedocs span{color:var(--mute);font-size:14.5px}
.sect--paper .givedocs span{color:var(--mute-p)}

/* gym ad package cards reuse .tc; they carry a term line */
.tc__per{margin:0 0 16px;color:var(--mute);font-size:13px;font-family:'Barlow Semi Condensed',sans-serif;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.sect--paper .tc__per{color:var(--mute-p)}
#gymads .tiercards{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){#gymads .tiercards{grid-template-columns:1fr}}

/* ==================================================================
   v3.4 — named sponsor recognition
   The break the board asked for: major levels get a band of cards with
   their own heading; everything else is a clean list below it.
   ================================================================== */
.majband{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule)}
.maj{background:var(--ink);padding:clamp(24px,3vw,34px)}
.maj__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid var(--gold)}
.maj__lvl{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(24px,2.6vw,32px);line-height:1;letter-spacing:.02em;color:var(--gold)}
.maj__amt{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.maj__list{list-style:none;margin:0;padding:0}
.maj__list li{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(17px,1.7vw,21px);line-height:1.25;letter-spacing:.01em;margin-bottom:12px;color:#fff}
.maj__list li:last-child{margin-bottom:0}
@media(max-width:900px){.majband{grid-template-columns:1fr}}

.supplist{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.supp h4{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;
  padding-bottom:10px;border-bottom:1px solid var(--rule)}
.supp h4 span{color:var(--mute);margin-left:6px}
.supp ul{list-style:none;margin:0;padding:0}
.supp li{color:#D2D8DE;font-size:16px;line-height:1.45;margin-bottom:9px}
@media(max-width:820px){.supplist{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.supplist{grid-template-columns:1fr}}

.screenlist{list-style:none;margin:0;padding:0;columns:3;column-gap:clamp(24px,3vw,40px)}
.screenlist li{break-inside:avoid;color:#D2D8DE;font-size:16px;line-height:1.45;margin-bottom:9px}
@media(max-width:820px){.screenlist{columns:2}}
@media(max-width:520px){.screenlist{columns:1}}

.dual{display:inline-block;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  border:1px solid var(--gold-deep);border-radius:2px;padding:2px 7px;margin-left:8px;
  vertical-align:middle;white-space:nowrap}

/* on cream */
.sect--paper .maj__list li{color:var(--ink-p)}
.sect--paper .maj,.sect--paper .supp{background:transparent}
.sect--paper .majband{background:var(--rule-p);border-color:var(--rule-p)}
.sect--paper .maj{background:var(--paper-3)}
.sect--paper .maj__lvl{color:var(--gold-ink)}
.sect--paper .maj__amt{color:var(--mute-p)}
.sect--paper .maj__head{border-bottom-color:var(--gold-ink)}
.sect--paper .supp h4{color:var(--gold-ink);border-bottom-color:var(--rule-p)}
.sect--paper .supp h4 span{color:var(--mute-p)}
.sect--paper .supp li,.sect--paper .screenlist li{color:var(--body-p)}
.sect--paper .dual{color:var(--gold-ink);border-color:var(--gold-ink)}

/* recognition section headings */
.rechead{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(22px,2.4vw,30px);line-height:1;letter-spacing:.02em;
  margin:clamp(34px,4vw,52px) 0 20px;display:flex;flex-wrap:wrap;align-items:baseline;gap:14px}
.rechead:first-of-type{margin-top:0}
.rechead span{font-family:'Barlow Semi Condensed',sans-serif;font-weight:600;font-size:12px;
  letter-spacing:.2em;color:var(--mute);text-transform:uppercase}
.sect--paper .rechead span{color:var(--mute-p)}

/* two-up project grid when there are only two real projects to show */
.projects--two{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.projects--two{grid-template-columns:1fr}}

/* coaches access gate */
.gatebox{max-width:62ch;margin:clamp(30px,6vw,80px) 0}
.gatebox .formwrap{max-width:46ch}

/* ==================================================================
   v3.5 — LIGHTER PHOTOS
   The photos were sitting at 72–84% opacity over a near-black page, so
   the page was tinting them toward the background before the scrim even
   started. Now they run at full opacity with a mild lift, and the scrim
   does all the work — but only where the text is.

   The scrim gained a fourth stop. Three stops made one gradient serve
   two jobs: protect the copy on the left and stay out of the way on the
   right. It could not do both, so it compromised on both. Four stops
   hold the text column at the same darkness as before and then fall to
   fully clear by ~68% across, which is what opens the picture up.

   Measured against the brightest photo on the site (the overcast tennis
   panorama) and the darkest (the soccer enclosure), compositing filter →
   opacity → scrim the way the browser does:

                      before        after
     photo side        0.105        0.299   luminance (2.8× lighter)
     photo saturation  0.240        0.300   (+25%)
     lede over photo    7.44         5.35   contrast, AA needs 4.5
     eyebrow gold       7.22         5.18   contrast, AA needs 4.5
     blown highlights   0.02%        0.67%

   Headroom spent, not contrast. If you push brightness past ~1.10 the
   overcast skies clip to flat white and it reads washed out, not vivid.
   ================================================================== */
.hero__bg,.phead__bg,.band__bg{
  filter:saturate(1.25) contrast(1.04) brightness(1.05);
  opacity:1;
}
.hero__scrim{
  background:
    linear-gradient(90deg,rgba(8,9,10,.90) 0%,rgba(8,9,10,.66) 40%,rgba(8,9,10,.10) 68%,rgba(8,9,10,0) 100%),
    linear-gradient(0deg,var(--ink) 0%,transparent 24%);
}
.phead__scrim{
  background:linear-gradient(90deg,rgba(8,9,10,.90) 0%,rgba(8,9,10,.66) 40%,rgba(8,9,10,.10) 68%,rgba(8,9,10,0) 100%);
}
.band__scrim{
  background:linear-gradient(90deg,rgba(8,9,10,.90) 0%,rgba(8,9,10,.66) 40%,rgba(8,9,10,.10) 68%,rgba(8,9,10,0) 100%);
}
.band--right .band__scrim{
  background:linear-gradient(270deg,rgba(8,9,10,.90) 0%,rgba(8,9,10,.66) 40%,rgba(8,9,10,.10) 68%,rgba(8,9,10,0) 100%);
}

/* photos that carry no text get the same lift and nothing else */
.gal img,.proj__img img,.split__media img{filter:saturate(1.12) contrast(1.02) brightness(1.03);opacity:1}
.gal figure:hover img,.proj:hover .proj__img img{filter:saturate(1.18) contrast(1.02) brightness(1.06)}

/* ==================================================================
   v3.7 — SPONSOR NAMES ARE LINKS
   ------------------------------------------------------------------
   A sponsor gives money and gets their name on the page; the least the
   page can do is send a visitor to their door. Every business with a
   website of its own is now clickable wherever its name appears.

   The colour does not change on the way in. These lists are long, and a
   hundred names in link-blue reads as a link dump rather than a wall of
   honour — so the name keeps the list's own colour and carries a gold
   underline instead. That also keeps the contrast audit honest: the text
   colour that passed AA is the text colour that ships.

   Names without an underline are businesses with no website. That is a
   fact about the business, not an oversight, and it needs no apology on
   the page.
   ================================================================== */
.rlink{color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(255,199,0,.48);
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  text-decoration-skip-ink:auto;
  transition:color .16s ease,text-decoration-color .16s ease}
.rlink:hover,.rlink:focus-visible{color:var(--gold);text-decoration-color:var(--gold)}
.rlink:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:1px}
/* the major cards are the loudest type on the page — a heavier rule under
   condensed uppercase reads as a strikethrough, so it gets a lighter one */
.maj__list .rlink{text-decoration-color:rgba(255,199,0,.38);text-underline-offset:.16em}
.maj__list .rlink:hover,.maj__list .rlink:focus-visible{text-decoration-color:var(--gold)}
/* on cream, gold-on-white fails AA, so hover uses the deep ink gold */
.sect--paper .rlink{text-decoration-color:rgba(131,100,0,.5)}
.sect--paper .rlink:hover,.sect--paper .rlink:focus-visible{color:var(--gold-ink);text-decoration-color:var(--gold-ink)}
.sect--paper .rlink:focus-visible{outline-color:var(--gold-ink)}
/* a name and its "two-way supporter" badge should never split across a
   column break in the screen list */
.screenlist li,.supp li{break-inside:avoid}
@media(prefers-reduced-motion:reduce){.rlink{transition:none}}

/* ==================================================================
   v3.8 — SPONSORS ON THE FRONT PAGE
   ------------------------------------------------------------------
   The home page is the most-visited page on the site and it used to
   give sponsors a logo sliding past in a marquee and nothing else. Now
   the businesses who gave the most are named on it, in the same gold
   type as the rest of the brand, linking to their own sites.

   Below the wall, a teaser with the three numbers that make the case
   for the full list, and the two things a business can actually act on
   today. What is NOT here is the six-level framework: the board has not
   adopted it, so the site does not sell it.
   ================================================================== */

/* the named major levels, above the logo wall */
.hmaj{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:clamp(28px,3.4vw,42px);
  background:var(--rule-p);border:1px solid var(--rule-p)}
.hmaj__lv{background:var(--paper-3);padding:clamp(20px,2.4vw,28px)}
.hmaj__lab{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 14px;
  padding-bottom:9px;border-bottom:1px solid var(--rule-p)}
.hmaj__lv ul{list-style:none;margin:0;padding:0}
.hmaj__lv li{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(16px,1.5vw,19px);line-height:1.25;letter-spacing:.01em;color:var(--ink-p);margin-bottom:10px}
.hmaj__lv li:last-child{margin-bottom:0}
@media(max-width:820px){.hmaj{grid-template-columns:1fr}}

/* the teaser that sends people to the full list */
.sptease{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,3.4vw,52px);align-items:center;
  margin-top:clamp(34px,4vw,54px);padding:clamp(26px,3.2vw,40px);
  background:var(--ink);border-left:4px solid var(--gold)}
.sptease__say h3{color:#fff;margin:0 0 12px;font-size:clamp(26px,3vw,38px);line-height:1.05}
.sptease__say .eyebrow{color:var(--gold)}
.sptease__say p{color:#C9CFD6;font-size:16.5px;line-height:1.55;margin:0 0 22px;max-width:46ch}
.sptease__nums{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.sptease__nums li{display:flex;align-items:baseline;gap:14px;
  padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.sptease__nums li:last-child{border-bottom:0;padding-bottom:0}
.sptease__nums b{font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--gold);
  font-size:clamp(30px,3.4vw,44px);line-height:1;letter-spacing:-.01em;min-width:2.6ch}
.sptease__nums span{color:#C9CFD6;font-size:15px;line-height:1.35}
@media(max-width:900px){.sptease{grid-template-columns:1fr}}

/* the two things a business can act on today */
.spways{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.spway{display:block;padding:clamp(22px,2.4vw,28px);text-decoration:none;
  background:var(--paper-3);border:1px solid var(--rule-p);
  transition:border-color .18s ease,transform .18s ease}
.spway:hover{border-color:var(--gold-ink);transform:translateY(-2px)}
.spway b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(19px,1.9vw,23px);line-height:1.15;letter-spacing:.01em;color:var(--ink-p);margin-bottom:10px}
.spway span{display:block;color:var(--body-p);font-size:15.5px;line-height:1.5;margin-bottom:14px}
.spway em{font-style:normal;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.spway:hover em span{margin-left:4px}
.spway em span{display:inline-block;transition:margin-left .18s ease}
.spway:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}
@media(max-width:820px){.spways{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.spway,.spway em span{transition:none}}
/* context line above the named levels: "Diamond" means nothing on its own,
   and the dollar figures stay on Support where they read as what they are —
   last season's banquet — rather than as a price list on the front page */
.hmaj__cap{margin-top:clamp(28px,3.4vw,40px);margin-bottom:-6px;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mute-p)}
.hmaj__cap a{color:var(--gold-ink);text-decoration:underline;
  text-decoration-color:rgba(131,100,0,.5);text-underline-offset:.18em}
.hmaj__cap a:hover{text-decoration-color:var(--gold-ink)}
.hmaj__cap + .hmaj{margin-top:18px}

/* ==================================================================
   v4.0 — THE COACH FUNDING REQUEST, AS A REAL FORM
   ------------------------------------------------------------------
   This was a fillable PDF embedded in a viewer. That cannot work on
   Wix, which rejects PDF uploads outright — but the PDF was the weaker
   option anyway. It asked a coach to find a PDF reader that supports
   form fields, type into it, save it somewhere findable, then attach it
   to an email. On a phone that is most of the way to impossible, which
   is where a coach actually is when they think of something they need.

   The web form writes the email itself. The coach attaches the quote
   and sends. Same destination, four fewer steps, and the arithmetic is
   done for them.
   ================================================================== */
.cfr__h{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(19px,2vw,24px);letter-spacing:.02em;color:var(--gold);
  margin:38px 0 6px;padding-bottom:10px;border-bottom:2px solid var(--gold-deep)}
.cfr__h:first-of-type{margin-top:30px}
.cfr__note{color:var(--mute);font-size:15px;line-height:1.5;margin:0 0 18px}

/* the running total, which the paper form made the coach work out */
.cfr__tot{background:rgba(255,199,0,.06);border:1px solid var(--gold-deep);
  padding:clamp(18px,2.2vw,24px);display:grid;gap:8px}
.cfr__tot label{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
/* min-width:0 is load-bearing. A grid or flex item defaults to
   min-width:auto, which refuses to shrink below its content's intrinsic
   width — and a text input carries a wide intrinsic width from its default
   size attribute, made wider still by the 40px type. Without this the
   total block stays ~400px and pushes the whole page sideways on a phone,
   no matter what min-width the input itself is given. */
.cfr__totin{display:flex;align-items:center;gap:10px;min-width:0}
.cfr__totin span{font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:clamp(28px,3.4vw,40px);line-height:1;color:var(--gold)}
.cfr__totin input{flex:1;min-width:0;background:transparent;border:0;border-bottom:2px solid var(--gold-deep);
  font-family:'Barlow Condensed',sans-serif;font-weight:800;color:#fff;
  font-size:clamp(28px,3.4vw,40px);line-height:1.1;padding:2px 0}
.cfr__tot .hint{margin:0}

/* the item rows */
.cfr__items{display:grid;gap:8px;margin-top:4px;min-width:0}
.cfr__head,.cfr__row{display:grid;grid-template-columns:1fr 88px 120px 130px;gap:8px;align-items:center;min-width:0}
.cfr__head span{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.cfr__row input{width:100%;min-width:0}
.cfr__row input[readonly]{background:rgba(255,255,255,.03);color:var(--gold);
  font-weight:700;text-align:right;cursor:default}
@media(max-width:760px){
  .cfr__head{display:none}
  .cfr__row{grid-template-columns:1fr 1fr;gap:10px;
    padding:14px;border:1px solid var(--rule);background:rgba(255,255,255,.02)}
  .cfr__row input:first-of-type{grid-column:1 / -1}
  .cfr__row input[readonly]{grid-column:1 / -1;text-align:left}
}

/* the attestations — a checkbox and a paragraph of consequence each */
.cfr__checks{display:grid;gap:16px;margin-top:6px}
.fcheck{display:grid;gap:6px}
.fcheck .err{padding-left:34px}
.fcheck.is-invalid label span{color:#FFB4B4}
.fcheck.is-invalid input{outline:2px solid #FF8A8A;outline-offset:3px}
.cfr__checks label{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;
  cursor:pointer;color:var(--body);font-size:16px;line-height:1.5}
.cfr__checks input{width:20px;height:20px;margin-top:2px;accent-color:var(--gold);cursor:pointer}
.cfr__checks label:hover span{color:#fff}
.cfr__checks .err{grid-column:1 / -1}

/* on cream, should this section ever move */
.sect--paper .cfr__h{color:var(--gold-ink);border-bottom-color:var(--gold-ink)}
.sect--paper .cfr__note{color:var(--mute-p)}
.sect--paper .cfr__checks label{color:var(--body-p)}
.sect--paper .cfr__totin input{color:var(--ink-p)}
.sect--paper .cfr__totin span,.sect--paper .cfr__tot label{color:var(--gold-ink)}

/* ==================================================================
   v4.3 — THE EPISODE PLAYS IN PLACE
   ------------------------------------------------------------------
   Was a stock photo with a play triangle drawn on it, linking out to
   YouTube. Now a click-to-load player: the poster and button are plain
   markup, and the iframe is built only when someone clicks. Nothing
   from YouTube is requested before that.
   ================================================================== */
.vid{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.vid__btn{display:block;width:100%;height:100%;padding:0;margin:0;border:0;
  background:none;cursor:pointer;position:relative}
.vid__poster{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(1.08) contrast(1.02) brightness(.92);
  transition:filter .25s ease,transform .5s ease}
.vid__btn:hover .vid__poster{filter:saturate(1.14) contrast(1.02) brightness(1);transform:scale(1.02)}
.vid__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:clamp(64px,7vw,88px);height:clamp(64px,7vw,88px);border-radius:50%;
  background:var(--gold);display:grid;place-items:center;
  box-shadow:0 10px 36px rgba(0,0,0,.45);
  transition:transform .22s ease,background .22s ease}
.vid__play svg{margin-left:5px}
.vid__btn:hover .vid__play{transform:translate(-50%,-50%) scale(1.07);background:#FFD63C}
.vid__btn:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.vid__chip{position:absolute;left:0;bottom:0;margin:14px;
  font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.18em;text-transform:uppercase;color:#fff;
  background:rgba(0,0,0,.62);padding:7px 12px;border-radius:2px}
.vid__frame{width:100%;height:100%;display:block;border:0}
.vid.is-playing{background:#000}
@media(prefers-reduced-motion:reduce){
  .vid__poster,.vid__play{transition:none}
  .vid__btn:hover .vid__poster{transform:none}
  .vid__btn:hover .vid__play{transform:translate(-50%,-50%)}
}

/* ==================================================================
   v4.4 — THE CLAIM-DATES DIALOG
   ------------------------------------------------------------------
   A coach clicking "claim dates" is already on the page that convinced
   them. Sending them to a general contact form loses the context and
   most of the intent, so the form comes to them.

   Built on <dialog>, which brings focus trapping, inertness, Escape to
   close and focus restoration for free. ::backdrop is the element's
   own, so the dimming needs no extra markup.
   ================================================================== */
.modal{border:0;padding:0;background:transparent;max-width:min(760px,92vw);width:100%}
.modal::backdrop{background:rgba(4,5,6,.74);backdrop-filter:blur(3px)}
.modal__in{position:relative;background:var(--panel,#101418);border:1px solid var(--rule);
  border-top:4px solid var(--gold);padding:clamp(26px,3.4vw,44px);
  max-height:86vh;overflow-y:auto}
.modal__in h2{color:#fff;margin:0 0 12px;font-size:clamp(28px,3.4vw,42px);line-height:1.02}
.modal__in .eyebrow{color:var(--gold)}
.modal__x{position:absolute;top:10px;right:12px;width:44px;height:44px;
  background:none;border:0;color:var(--mute);font-size:30px;line-height:1;cursor:pointer;
  border-radius:2px;transition:color .16s ease}
.modal__x:hover{color:#fff}
.modal__x:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
@media(max-width:560px){.modal__in{padding:22px 18px}}
@media(prefers-reduced-motion:no-preference){
  .modal[open]{animation:modal-in .22s ease}
  @keyframes modal-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}

/* ==================================================================
   v4.5 — RECENTLY FUNDED
   ------------------------------------------------------------------
   Sits under the category figures and deliberately looks different
   from them: no column of numbers, no total, no alignment that invites
   a reader to add it up. These are things the Boosters bought, listed
   because they are worth knowing about, not because they are an
   accounting of anything.
   ================================================================== */
.recent{margin-top:clamp(26px,3vw,38px);padding-top:clamp(22px,2.6vw,30px);border-top:1px solid var(--rule)}
.recent__lab{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}
.recent__list{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;
  background:var(--rule);border:1px solid var(--rule)}
.recent__list li{background:var(--ink);padding:16px 18px;display:grid;gap:4px}
.recent__list b{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.recent__list span{color:#fff;font-size:16px;line-height:1.35}
.sect--paper .recent__list li{background:var(--paper-3)}
.sect--paper .recent__list span{color:var(--ink-p)}
.sect--paper .recent__list b{color:var(--mute-p)}
.sect--paper .recent__lab{color:var(--gold-ink)}
