:root{
  --black:#0A0A0C;
  --navy:#101B3D;
  --red:#FF1E3C;
  --red-dark:#C4132A;
  --blue:#00C2FF;
  --logo-cyan:#25B8F2;
  --logo-red:#F2322F;
  --logo-gold:#FFD84A;
  --yellow:#FFE600;
  --white:#FFFFFF;
  --muted:#9AA7BA;
  --line:rgba(255,255,255,0.12);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{ scroll-behavior:smooth; overflow-x:clip; }
body{
  font-family:'Inter',sans-serif; background:var(--black); color:#fff; line-height:1.6;
  overflow-x:hidden; cursor:none; -webkit-font-smoothing:antialiased;
}
*{ -webkit-tap-highlight-color:rgba(255,230,0,0.24); }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
.mono{ font-family:'JetBrains Mono',monospace; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }
::selection{ background:var(--yellow); color:var(--black); }

/* Restore normal cursor for form fields and any element opting out */
input, textarea, select, .cursor-auto, .cursor-auto *{ cursor:auto !important; }

/* ---------- Skip link ---------- */
.skip-link{ position:absolute; left:-999px; top:auto; background:var(--yellow); color:var(--black); padding:12px 20px; border-radius:4px; z-index:300; font-weight:700; }
.skip-link:focus{ left:16px; top:16px; }

/* ---------- custom cursor ---------- */
#cur{ position:fixed; width:26px; height:26px; border:2px solid var(--yellow); border-radius:50%; pointer-events:none; z-index:999; transform:translate(-50%,-50%); transition:transform .12s ease, background .15s, width .15s, height .15s; mix-blend-mode:difference; }
#cur.hit{ background:var(--yellow); width:44px; height:44px; }

/* ---------- top brand bars ---------- */
.mq{ overflow:hidden; white-space:nowrap; padding:0; position:relative; z-index:40; }
.mq.top{
  background:linear-gradient(90deg,
    var(--logo-cyan) 0%,
    var(--logo-cyan) 44%,
    var(--logo-gold) 44%,
    var(--logo-gold) 56%,
    var(--logo-red) 56%,
    var(--logo-red) 100%);
  color:var(--navy);
}
.mq.bottom{
  background:linear-gradient(90deg,
    rgba(37,184,242,0.9) 0%,
    rgba(242,50,47,0.92) 52%,
    rgba(255,216,74,0.96) 100%);
  color:#fff;
}
.mq.top{ height:10px; }
.mq.bottom{ height:12px; }
.mq-track{ display:none; }
.mq a{ text-decoration:none; }
.mq a:hover{ text-decoration:underline; }
.mq span, .mq a{ font-family:'JetBrains Mono', monospace; font-weight:700; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; padding:0 18px; display:inline-block; }
@keyframes scrollL{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes scrollR{ from{transform:translateX(-50%);} to{transform:translateX(0);} }

/* ---------- header ---------- */
header.site-header{
  padding:20px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:60;
  border-bottom:1px solid rgba(255,255,255,0.12);
}
.brand{ display:flex; align-items:center; gap:11px; }
.brand img{ width:32px; height:37px; object-fit:contain; }
.brand span{ font-family:'Space Grotesk', sans-serif; font-weight:800; font-size:14.5px; }
.header-right{ display:flex; align-items:center; gap:12px; }
.cta-btn{ font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:12.5px; letter-spacing:0.02em; text-transform:uppercase; background:var(--red); color:#fff; padding:11px 20px; border-radius:2px; position:relative; overflow:hidden; }
.menu-btn{ font-family:'JetBrains Mono', monospace; font-weight:700; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; background:var(--yellow); color:var(--black); padding:11px 20px; border-radius:2px; border:none; cursor:none; display:flex; align-items:center; gap:8px; }
.menu-btn:focus-visible, .nav-close:focus-visible, a:focus-visible{ outline:2px solid var(--yellow); outline-offset:3px; }

/* shimmer sweep on buttons */
.btn, .cta-btn{ position:relative; overflow:hidden; }
.btn::before, .cta-btn::before{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%; background:rgba(255,255,255,0.35); transform:skewX(-20deg); transition:left .5s; }
.btn:hover::before, .cta-btn:hover::before{ left:130%; }

/* ---------- fullscreen nav overlay ---------- */
.nav-overlay{
  position:fixed; inset:0; background:var(--black); z-index:200;
  display:none; flex-direction:column; overflow-y:auto;
}
.nav-overlay.open{ display:flex; opacity:1; }
.nav-overlay[aria-hidden="true"]{ visibility:hidden; }
.nav-overlay[aria-hidden="false"]{ visibility:visible; }
@keyframes navIn{ from{ opacity:0; transform:translateY(-14px); } to{ opacity:1; transform:translateY(0); } }
.nav-overlay-head{ padding:20px 32px; display:flex; align-items:center; justify-content:space-between; }
.nav-close{ font-family:'JetBrains Mono', monospace; font-weight:700; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; background:var(--yellow); color:var(--black); padding:11px 20px; border-radius:2px; border:none; cursor:none; }
.nav-overlay-body{ flex:1; padding:20px 32px 60px; display:grid; grid-template-columns:1.3fr 1fr; gap:40px; max-width:1180px; margin:0 auto; width:100%; }
.nav-primary a{ display:block; font-family:'Archivo Black', sans-serif; font-size:56px; text-transform:uppercase; line-height:1.12; color:#fff; transition:color .15s; white-space:nowrap; }
.nav-primary a:hover{ color:var(--yellow); }
.nav-primary a[aria-current="page"]{ color:var(--red); }
.nav-topics{ border-left:2px solid var(--line); padding-left:32px; padding-top:14px; }
.nav-topics .h5{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--blue); margin-bottom:18px; }
.nav-topics a{ display:block; font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:15px; color:rgba(255,255,255,0.75); padding:9px 0; border-bottom:1px solid var(--line); }
.nav-topics a:hover{ color:var(--yellow); }
.nav-overlay-foot{ padding:24px 32px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-family:'JetBrains Mono', monospace; font-size:11.5px; color:var(--muted); max-width:1180px; margin:0 auto; width:100%; }
@media (max-width:800px){
  .nav-overlay-body{ grid-template-columns:1fr; gap:28px; }
  .nav-primary a{ font-size:34px; }
  .nav-topics{ border-left:none; padding-left:0; border-top:2px solid var(--line); padding-top:24px; }
}

/* ---------- HOME HERO — blob, glitch, floating badges, seal ---------- */
.hero{ position:relative; min-height:640px; padding:40px 0 220px; overflow:visible; }
.blob{ position:absolute; width:900px; height:900px; border-radius:50%; top:-380px; right:-320px; z-index:0;
  background:conic-gradient(from 0deg, var(--red), var(--yellow), var(--blue), var(--red)); filter:blur(90px); opacity:0.5;
  animation:spin 18s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }

.hero-head{ position:relative; z-index:5; margin-top:60px; transform:rotate(-2deg); margin-left:-14px; }
.hero-head h1{ font-family:'Archivo Black', sans-serif; text-transform:uppercase; font-size:110px; line-height:0.88; letter-spacing:-0.01em; white-space:nowrap; padding-left:32px; }
.hero-head .line2{ margin-left:70px; }
.glitch{ position:relative; display:inline-block; color:var(--yellow); animation:glitchFlicker 3.4s infinite steps(1,end); }
.glitch::before, .glitch::after{ content:attr(data-text); position:absolute; left:0; top:0; width:100%; overflow:hidden; }
.glitch::before{ color:var(--blue); clip-path:inset(0 0 55% 0); transform:translate(-4px,-2px); animation:gTop 1.7s infinite linear alternate-reverse; }
.glitch::after{ color:var(--red); clip-path:inset(55% 0 0 0); transform:translate(4px,2px); animation:gBot 1.4s infinite linear alternate-reverse; }
@keyframes gTop{ 0%{transform:translate(-7px,-3px);} 15%{transform:translate(6px,-2px);} 30%{transform:translate(-5px,2px);} 45%{transform:translate(7px,0);} 60%{transform:translate(-3px,-3px);} 75%{transform:translate(5px,2px);} 100%{transform:translate(-2px,-1px);} }
@keyframes gBot{ 0%{transform:translate(7px,3px);} 15%{transform:translate(-6px,2px);} 30%{transform:translate(5px,-2px);} 45%{transform:translate(-7px,0);} 60%{transform:translate(3px,3px);} 75%{transform:translate(-5px,-2px);} 100%{transform:translate(2px,1px);} }
@keyframes glitchFlicker{
  0%, 92%, 100%{ opacity:1; transform:translate(0,0); }
  93%{ opacity:0.3; transform:translate(-6px,0); }
  94%{ opacity:1; transform:translate(4px,0); }
  95%{ opacity:0.5; transform:translate(0,2px); }
  96%{ opacity:1; transform:translate(0,0); }
}

.lede{ position:relative; z-index:5; margin-top:44px; margin-left:52px; max-width:480px; font-size:17px; color:rgba(255,255,255,0.75); }
.ctas{ position:relative; z-index:7; margin-top:34px; margin-left:52px; display:flex; gap:16px; flex-wrap:wrap; }
.btn{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  font-size:14.5px;
  padding:17px 32px;
  border-radius:2px;
  text-transform:uppercase;
  letter-spacing:0.02em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:62px;
  text-align:center;
  line-height:1;
}
.btn1{ background:var(--red); color:#fff; }
.btn2{ border:2px solid #fff; color:#fff; }
.btn-club{
  border-color:var(--yellow);
  color:var(--yellow);
  background:rgba(255, 230, 0, 0.06);
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.btn-club:hover,
.btn-club:focus-visible{
  background:var(--yellow);
  border-color:var(--yellow);
  color:var(--black);
}
.btn-academy{
  border-color:var(--blue);
  color:#8be3ff;
  background:rgba(37, 184, 242, 0.08);
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.btn-academy:hover,
.btn-academy:focus-visible{
  background:var(--blue);
  border-color:var(--blue);
  color:var(--black);
}
.join-menu{ position:relative; display:inline-block; }
.join-menu summary{
  list-style:none;
  cursor:none;
  margin:0;
  border:none;
  appearance:none;
  -webkit-appearance:none;
  min-width:252px;
}
.join-menu summary::-webkit-details-marker{ display:none; }
.join-menu summary::after{
  content:"▾";
  display:inline-block;
  margin-left:12px;
  font-size:0.9em;
  transition:transform .22s ease;
}
.join-menu[open] summary::after{ transform:rotate(180deg); }
.join-menu-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:12;
  min-width:286px;
  padding:10px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:4px;
  background:rgba(10,10,12,0.96);
  box-shadow:0 24px 48px -20px rgba(0,0,0,0.55);
  backdrop-filter:blur(8px);
}
.join-menu-panel a{
  display:block;
  padding:12px 14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#fff;
  border-radius:2px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
  white-space:nowrap;
}
.join-menu-panel a:hover{
  background:rgba(255,230,0,0.12);
  color:var(--yellow);
  transform:translateX(4px);
}
.join-menu-panel a + a{ margin-top:6px; }
.join-menu-item-disabled{
  display:block;
  margin-top:6px;
  padding:12px 14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.42);
  border-radius:2px;
  background:rgba(255,255,255,0.04);
  border:1px dashed rgba(255,255,255,0.12);
  cursor:not-allowed;
  user-select:none;
  white-space:nowrap;
}

.float-badge{ position:absolute; z-index:8; display:flex; flex-direction:column; align-items:center; justify-content:center;
  border-radius:50%; text-align:center; font-family:'JetBrains Mono', monospace; font-weight:700; text-transform:uppercase; box-shadow:0 14px 30px -8px rgba(0,0,0,0.6); }
.fb1{ width:118px; height:118px; background:var(--blue); color:var(--black); top:60px; right:130px; font-size:11px; animation:bob1 4.5s ease-in-out infinite; transform:rotate(-8deg); }
.fb2{ width:88px; height:88px; background:var(--yellow); color:var(--black); top:280px; right:60px; font-size:10px; animation:bob2 3.8s ease-in-out infinite; transform:rotate(6deg); }
.fb3{ width:74px; height:74px; background:#fff; color:var(--black); top:420px; right:240px; font-size:9.5px; animation:bob1 5.2s ease-in-out infinite reverse; transform:rotate(4deg); }
@keyframes bob1{ 0%,100%{ transform:translateY(0) rotate(-8deg); } 50%{ transform:translateY(-18px) rotate(-4deg); } }
@keyframes bob2{ 0%,100%{ transform:translateY(0) rotate(6deg); } 50%{ transform:translateY(16px) rotate(10deg); } }
.float-badge .n{ font-size:20px; font-family:'Archivo Black', sans-serif; }

.seal{ position:absolute; z-index:8; width:132px; height:132px; right:400px; top:180px; animation:spin 12s linear infinite; }
.seal span{ position:absolute; left:50%; top:50%; transform-origin:0 66px; font-family:'JetBrains Mono', monospace; font-size:10.5px; font-weight:700; color:var(--yellow); }
.seal-center{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:54px; height:54px; border:2px solid var(--yellow); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Archivo Black', sans-serif; font-size:9px; text-align:center; animation:spin 12s linear infinite reverse; }

/* Rotating glitch-photo media panel — replaces the floating badges */
.hero-media{ position:absolute; top:0; right:0; width:60%; height:100%; overflow:hidden; z-index:1; }
.media-slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; filter:grayscale(0.35) contrast(1.25) saturate(1.2) brightness(0.85);
  transition:opacity 1.4s ease;
}
.media-slide.active{ opacity:1; }

/* Chromatic-aberration ghost layers — synced to the active slide's image via JS */
.ghost{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; pointer-events:none; mix-blend-mode:screen; }
.ghost-r{ filter:brightness(1.4) sepia(1) saturate(8) hue-rotate(-52deg) contrast(1.3); }
.ghost-b{ filter:brightness(1.4) sepia(1) saturate(8) hue-rotate(148deg) contrast(1.3); }

.hero-media .duotone{ position:absolute; inset:0; z-index:2; mix-blend-mode:color; background:linear-gradient(120deg, var(--red) 0%, var(--blue) 100%); opacity:0.55; pointer-events:none; }
.hero-media .scan{ position:absolute; inset:0; z-index:2; background:repeating-linear-gradient(0deg, rgba(255,255,255,0.07) 0 1px, transparent 1px 3px); mix-blend-mode:overlay; pointer-events:none; }
.hero-media .fade{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:
    linear-gradient(90deg, var(--black) 0%, var(--black) 8%, transparent 46%),
    linear-gradient(0deg, var(--black) 0%, transparent 32%),
    linear-gradient(180deg, rgba(10,10,12,0.5) 0%, transparent 22%);
}
.hero-media .credit{ position:absolute; z-index:4; bottom:14px; right:16px; font-family:'JetBrains Mono', monospace; font-size:9.5px; color:rgba(255,255,255,0.4); }
.hero > .hero-media .credit{
  right:34px;
  bottom:124px;
  max-width:380px;
  padding:12px 24px;
  background:rgba(10,10,12,0.78);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.08em;
  line-height:1.45;
  text-transform:uppercase;
  border-left:3px solid var(--yellow);
  clip-path:polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  box-shadow:0 20px 34px -20px rgba(0,0,0,0.65);
}

/* Noise/static blocks — flash briefly during a glitch burst */
.noise-block{ position:absolute; z-index:5; pointer-events:none; opacity:0; mix-blend-mode:screen; }
.nb1{ top:18%; left:0; width:100%; height:6%; background:var(--blue); }
.nb2{ top:52%; left:0; width:100%; height:3%; background:var(--red); }
.nb3{ top:74%; left:0; width:100%; height:8%; background:var(--yellow); mix-blend-mode:overlay; }

@keyframes mediaGlitch{
  0%{ clip-path:inset(0 0 0 0); transform:translate(0,0); filter:hue-rotate(0deg); }
  8%{ clip-path:inset(6% 0 71% 0); transform:translate(-18px,0); }
  16%{ clip-path:inset(71% 0 3% 0); transform:translate(16px,0); filter:hue-rotate(50deg); }
  24%{ clip-path:inset(22% 0 55% 0); transform:translate(-12px,2px); }
  32%{ clip-path:inset(45% 0 12% 0); transform:translate(14px,-2px); filter:hue-rotate(-40deg); }
  40%{ clip-path:inset(0 0 30% 0); transform:translate(-8px,0); }
  48%{ clip-path:inset(0 0 0 0); transform:translate(10px,0); filter:hue-rotate(30deg); }
  56%{ clip-path:inset(60% 0 8% 0); transform:translate(-6px,0); }
  64%{ clip-path:inset(0 0 0 0); transform:translate(0,0); filter:hue-rotate(0deg); }
  100%{ clip-path:inset(0 0 0 0); transform:translate(0,0); }
}
@keyframes ghostJitterR{
  0%{ opacity:0; transform:translateX(0); }
  10%{ opacity:0.65; transform:translateX(-20px); }
  30%{ opacity:0.5; transform:translateX(14px); }
  50%{ opacity:0.6; transform:translateX(-10px); }
  70%{ opacity:0.4; transform:translateX(8px); }
  100%{ opacity:0; transform:translateX(0); }
}
@keyframes ghostJitterB{
  0%{ opacity:0; transform:translateX(0); }
  10%{ opacity:0.65; transform:translateX(20px); }
  30%{ opacity:0.5; transform:translateX(-14px); }
  50%{ opacity:0.6; transform:translateX(10px); }
  70%{ opacity:0.4; transform:translateX(-8px); }
  100%{ opacity:0; transform:translateX(0); }
}
@keyframes noiseFlash{
  0%, 100%{ opacity:0; }
  15%{ opacity:0.55; }
  30%{ opacity:0; }
  45%{ opacity:0.4; }
  60%{ opacity:0; }
}
.hero-media.glitching .media-slide.active{ animation:mediaGlitch .55s steps(4,end); }
.hero-media.glitching .ghost-r{ animation:ghostJitterR .55s steps(4,end); }
.hero-media.glitching .ghost-b{ animation:ghostJitterB .55s steps(4,end); }
.hero-media.glitching .nb1{ animation:noiseFlash .55s steps(2,end); }
.hero-media.glitching .nb2{ animation:noiseFlash .55s steps(2,end) .05s; }
.hero-media.glitching .nb3{ animation:noiseFlash .55s steps(2,end) .1s; }

/* Constant small micro-glitches between the big transition bursts */
@keyframes microGlitch{
  0%{ transform:translate(0,0); filter:brightness(1) contrast(1.25); }
  40%{ transform:translate(0,0); filter:brightness(1) contrast(1.25); }
  46%{ transform:translate(4px,-2px); filter:brightness(1.5) contrast(1.5); }
  52%{ transform:translate(-3px,1px); filter:brightness(0.9) contrast(1.25); }
  58%{ transform:translate(0,0); filter:brightness(1) contrast(1.25); }
  100%{ transform:translate(0,0); filter:brightness(1) contrast(1.25); }
}
.hero-media.micro .media-slide.active{ animation:microGlitch .3s steps(2,end); }

/* ---------- skewed dividers ---------- */
.skew-div{ height:88px; margin:-44px 0; position:relative; z-index:6; overflow:hidden; }
.skew-div .fill{
  position:absolute;
  inset:0;
}
.skew-div.to-white .fill{
  background:#fff;
  clip-path:polygon(0 52%, 100% 8%, 100% 100%, 0 100%);
}
.skew-div.to-black .fill{
  background:var(--black);
  /* The right edge extends beneath the following section to avoid a seam. */
  clip-path:polygon(0 0, 100% 0, 100% 55%, 0 92%);
  inset:-1px;
}

/* ---------- INTERIOR PAGE BANNER (bold color block, simpler than home hero) ---------- */
.page-banner{ position:relative; overflow:hidden; padding:76px 0 64px; color:#fff; }
.page-banner.b-navy{ background:var(--navy); }
.page-banner.b-red{ background:linear-gradient(120deg, var(--red-dark), var(--red)); }
.page-banner.b-black{ background:var(--black); }
.page-banner::before{ content:""; position:absolute; width:520px; height:520px; border-radius:50%; filter:blur(80px); opacity:0.35; z-index:0; }
.page-banner.b-navy::before{ background:var(--blue); top:-260px; right:-160px; }
.page-banner.b-red::before{ background:var(--yellow); top:-260px; right:-160px; }
.page-banner.b-black::before{ background:var(--red); top:-260px; right:-160px; }
.page-kicker{ position:relative; z-index:2; font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--yellow); margin-bottom:16px; display:block; }
.page-banner h1{ position:relative; z-index:2; font-family:'Archivo Black', sans-serif; font-size:44px; text-transform:uppercase; line-height:1; letter-spacing:-0.01em; max-width:760px; }
.page-banner p{ position:relative; z-index:2; margin-top:18px; max-width:600px; color:rgba(255,255,255,0.75); font-size:16px; }
.academy-banner{
  padding:78px 0 76px;
  min-height:420px;
}
.academy-banner .wrap{
  padding-left:18px;
  padding-right:0;
}
.academy-banner-layout{
  position:relative;
  z-index:2;
  min-height:320px;
  display:flex;
  align-items:center;
}
.academy-banner-copy{
  position:relative;
  z-index:3;
  max-width:540px;
  margin-left:-30px;
  padding-right:0;
}
.academy-banner-copy h1{
  max-width:540px;
}
.academy-banner-copy p{
  max-width:500px;
}
.academy-banner-media{
  position:absolute;
  top:-78px;
  right:calc((100vw - 100%) / -2);
  width:calc(60% + ((100vw - 100%) / 2));
  height:calc(100% + 154px);
  min-height:420px;
  overflow:hidden;
  z-index:1;
}
.academy-banner-media .fade{
  background:
    linear-gradient(90deg, var(--navy) 0%, var(--navy) 10%, rgba(16,27,61,0.96) 18%, rgba(16,27,61,0.68) 30%, transparent 56%),
    linear-gradient(0deg, rgba(16,27,61,0.94) 0%, rgba(16,27,61,0.18) 36%, rgba(16,27,61,0.5) 100%),
    linear-gradient(180deg, rgba(10,10,12,0.2) 0%, rgba(10,10,12,0.38) 100%);
}
.academy-banner-media .credit{
  right:34px;
  bottom:92px;
  left:auto;
  max-width:380px;
  padding:12px 24px;
  background:rgba(10,10,12,0.78);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.08em;
  line-height:1.45;
  text-transform:uppercase;
  border-left:3px solid var(--yellow);
  clip-path:polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  box-shadow:0 20px 34px -20px rgba(0,0,0,0.65);
}

/* ---------- pill sub-nav (About section) ---------- */
.subnav{ background:var(--black); padding:18px 0; border-bottom:1px solid var(--line); }
.subnav-inner{ max-width:1180px; margin:0 auto; padding:0 32px; display:flex; gap:10px; flex-wrap:wrap; }
.pill{ font-family:'JetBrains Mono', monospace; font-size:11.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; padding:9px 16px; border-radius:100px; border:1px solid var(--line); color:rgba(255,255,255,0.7); }
.pill:hover{ border-color:var(--yellow); color:#fff; }
.pill[aria-current="page"]{ background:var(--yellow); color:var(--black); border-color:var(--yellow); }

/* ---------- sections ---------- */
section{ padding:100px 0; position:relative; z-index:5; }
section.tight{ padding:60px 0; }
section.on-white{ background:#fff; color:var(--black); }
section.on-black{ background:var(--black); color:#fff; }
.sec-kicker{ font-family:'JetBrains Mono', monospace; font-weight:700; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--red); }
.on-black .sec-kicker{ color:var(--blue); }
.sec-title{ font-family:'Space Grotesk', sans-serif; font-weight:800; font-size:36px; margin-top:14px; max-width:640px; letter-spacing:-0.01em; }
.sec-sub{ margin-top:16px; max-width:560px; font-size:15.5px; opacity:0.75; }
.marker-link{
  position:relative;
  display:inline-block;
  margin-left:6px;
  padding:2px 14px 4px 10px;
  font-weight:800;
  color:var(--black);
  opacity:1;
  z-index:0;
  transition:transform .18s ease;
}
.marker-link::before{
  content:"";
  position:absolute;
  left:-4px;
  right:-10px;
  top:50%;
  bottom:auto;
  height:1.68em;
  background:
    linear-gradient(180deg, rgba(255,235,59,0.12) 0%, rgba(255,235,59,0.12) 100%),
    linear-gradient(180deg, rgba(255,230,0,0.96) 0%, rgba(255,216,74,0.9) 100%);
  border-radius:0;
  transform:translateY(-54%) rotate(-0.5deg);
  box-shadow:none;
  clip-path:polygon(0% 14%, 2% 10%, 8% 13%, 17% 11%, 29% 14%, 41% 12%, 56% 15%, 70% 13%, 84% 16%, 95% 14%, 99% 28%, 100% 46%, 98% 60%, 100% 77%, 97% 89%, 86% 87%, 73% 90%, 58% 88%, 45% 91%, 28% 87%, 16% 89%, 6% 86%, 0% 79%);
  filter:saturate(1.02);
  z-index:-1;
}
.marker-link::after{
  content:"";
  position:absolute;
  left:2px;
  right:-6px;
  top:50%;
  height:1.44em;
  transform:translateY(-48%) rotate(0.35deg);
  background:linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 38%, rgba(255,204,0,0.12) 100%);
  clip-path:polygon(0% 16%, 10% 18%, 22% 14%, 38% 17%, 52% 15%, 69% 19%, 86% 14%, 100% 18%, 98% 84%, 88% 80%, 72% 85%, 56% 82%, 38% 86%, 20% 81%, 0% 84%);
  pointer-events:none;
  z-index:-1;
  opacity:0.75;
}
.marker-link:hover,
.marker-link:focus-visible{
  color:var(--black);
  transform:translateX(4px);
}
.marker-link-tight{
  margin-left:2px;
}
.marker-link-blue::before{
  background:linear-gradient(180deg, rgba(37,184,242,0.94) 0%, rgba(0,194,255,0.84) 100%);
  box-shadow:0 5px 14px rgba(0,194,255,0.2);
}
.marker-link-red::before{
  background:linear-gradient(180deg, rgba(242,50,47,0.94) 0%, rgba(255,30,60,0.84) 100%);
  box-shadow:0 5px 14px rgba(255,30,60,0.2);
}
.marker-link-yellow::before{
  background:linear-gradient(180deg, rgba(255,230,0,0.95) 0%, rgba(255,216,74,0.88) 100%);
  box-shadow:0 5px 14px rgba(255,216,74,0.2);
}
.marker-note{
  display:inline;
  padding:2px 10px 5px 8px;
  font-weight:800;
  color:var(--black);
  line-height:1.45;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  background:
    linear-gradient(
      180deg,
      rgba(255, 231, 46, 0) 0%,
      rgba(255, 231, 46, 0) 8%,
      rgba(255, 223, 26, 0.92) 8%,
      rgba(255, 223, 26, 0.92) 72%,
      rgba(231, 178, 0, 0.24) 72%,
      rgba(231, 178, 0, 0.24) 86%,
      rgba(255, 231, 46, 0) 86%,
      rgba(255, 231, 46, 0) 100%
    );
  filter:saturate(1.03);
}
.programs-wrap{
  max-width:1320px;
}
.programs-wrap .sec-title{
  max-width:820px;
}
.programs-wrap .sec-sub{
  max-width:760px;
}
.academy-overview-intro{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 280px;
  gap:40px;
  align-items:center;
}
.academy-overview-logo{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:none;
}
.academy-overview-logo::before{
  content:"";
  position:absolute;
  inset:12% 10%;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.1) 32%, rgba(255,255,255,0) 64%),
    repeating-conic-gradient(from -8deg, rgba(255,255,255,0.38) 0deg 4deg, rgba(255,255,255,0) 4deg 15deg);
  filter:blur(1px);
  opacity:0.42;
  transform:scale(1.04);
  pointer-events:none;
}
.academy-overview-logo img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:240px;
  height:auto;
  filter:
    drop-shadow(0 0 18px rgba(255,255,255,0.12))
    drop-shadow(0 20px 38px rgba(0,0,0,0.32));
}

/* ---------- prose ---------- */
.prose{ max-width:740px; }
.prose h2{ font-family:'Space Grotesk', sans-serif; font-weight:800; font-size:24px; margin:36px 0 14px; }
.prose h2:first-child{ margin-top:0; }
.prose p{ opacity:0.8; font-size:15.5px; margin-bottom:16px; }
.prose blockquote{
  margin:24px 0;
  padding:18px 22px 18px 24px;
  border-left:4px solid var(--yellow);
  background:rgba(255,255,255,0.04);
  border-radius:0 10px 10px 0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);
}
.prose blockquote p{
  margin-bottom:0;
  opacity:0.96;
  font-size:16.5px;
  font-style:italic;
}
.prose ul{ margin:0 0 16px; list-style:none; }
.prose ul li{ opacity:0.8; font-size:15.5px; padding-left:24px; position:relative; margin-bottom:10px; }
.prose ul li::before{ content:"→"; position:absolute; left:0; color:var(--red); font-weight:800; }
.on-black .prose ul li::before{ color:var(--yellow); }
.on-black .prose blockquote{
  background:rgba(255,255,255,0.05);
  border-left-color:var(--blue);
}
.prose .callout{ background:var(--yellow); color:var(--black); border-radius:4px; padding:20px 24px; margin:26px 0; font-size:14.5px; font-weight:600; }
.editable-note{ display:inline-block; margin-top:6px; font-family:'JetBrains Mono', monospace; font-weight:700; font-size:11px; color:#fff; background:var(--red); padding:5px 10px; border-radius:4px; }
.about-intro{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  gap:40px;
  align-items:center;
  margin-bottom:28px;
}
.about-intro-logo{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:none;
}
.about-intro-logo::before{
  content:"";
  position:absolute;
  inset:10% 8%;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.08) 34%, rgba(255,255,255,0) 66%),
    repeating-conic-gradient(from 6deg, rgba(255,255,255,0.34) 0deg 4deg, rgba(255,255,255,0) 4deg 14deg);
  filter:blur(1px);
  opacity:0.4;
  transform:scale(1.05);
  pointer-events:none;
}
.about-intro-logo img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:260px;
  height:auto;
  filter:
    drop-shadow(0 0 18px rgba(255,255,255,0.12))
    drop-shadow(0 22px 40px rgba(0,0,0,0.34));
}

/* ---------- bylaws ---------- */
.bylaws-prose{
  max-width:860px;
  width:100%;
  margin-left:0;
  margin-right:auto;
}
.bylaws-prose h2{
  margin-top:42px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,0.12);
}
.bylaws-prose h2:first-of-type{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.bylaws-prose p strong{
  display:inline-block;
  margin-bottom:6px;
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--yellow);
}
.bylaws-prose ul{
  margin:0 0 22px;
  padding-left:0;
}
.bylaws-prose ul li{
  margin-bottom:12px;
  padding-left:22px;
  line-height:1.65;
}
.bylaws-prose ul li::before{
  content:"•";
  top:0;
  color:var(--yellow);
  font-size:18px;
  line-height:1.2;
}
.bylaws-prose p{
  line-height:1.7;
}

/* ---------- scattered sticker cards (four ways in / regions / tiers) ---------- */
.stick-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:34px; }
.stick-grid.two-up{ grid-template-columns:1fr 1fr; max-width:820px; }
.stick-grid.three-up{ grid-template-columns:repeat(3,1fr); }
.programs-grid{
  gap:24px;
}
.programs-grid .stick{
  padding:32px 30px 34px;
}
.programs-grid .stick h3{
  font-size:24px;
}
.programs-grid .stick p{
  font-size:13.5px;
  min-height:64px;
}
.stick{
  position:relative;
  border-radius:6px;
  padding:28px 26px 30px;
  box-shadow:0 20px 40px -16px rgba(0,0,0,0.35);
  transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s cubic-bezier(.2,.8,.2,1), filter .2s ease;
  cursor:none;
  color:#fff;
  animation-duration:5.5s;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-direction:alternate;
  will-change:transform;
  overflow:hidden;
  isolation:isolate;
}
.stick::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.04) 24%, rgba(255,255,255,0) 58%),
    linear-gradient(135deg, rgba(255,255,255,0.12) 0%, transparent 32%);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease;
  pointer-events:none;
  z-index:0;
}
.stick:hover{
  animation-play-state:paused;
  transform:translateY(-14px) scale(1.045) rotate(0deg);
  box-shadow:0 30px 50px -14px rgba(0,0,0,0.45);
  filter:saturate(1.05) brightness(1.03);
}
.stick:hover::before{
  opacity:1;
  transform:translateY(0);
}
.stick.c1{ background:var(--red); animation-name:stickFloatOne; }
.stick.c2{ background:var(--navy); animation-name:stickFloatTwo; animation-duration:4.6s; }
.stick.c3{ background:var(--blue); color:var(--black); animation-name:stickFloatThree; animation-duration:4.2s; }
.stick.c4{ background:var(--black); border:1px solid var(--line); animation-name:stickFloatFour; animation-duration:4.9s; }
.stick.c5{ background:var(--yellow); color:var(--black); animation-name:stickFloatFive; }
.stick > *{ position:relative; z-index:1; }
.stick .tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(0,0,0,0.16);
  border:1px solid rgba(255,255,255,0.14);
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  opacity:0.88;
  transition:background .16s ease, border-color .16s ease, opacity .16s ease, transform .16s ease;
}
.stick h3{
  font-family:'Archivo Black', sans-serif;
  font-size:22px;
  text-transform:uppercase;
  margin:14px 0 12px;
  line-height:1.05;
  transition:transform .16s ease, text-shadow .16s ease;
}
.stick p{
  font-size:13px;
  opacity:0.88;
  margin-bottom:18px;
  min-height:52px;
  line-height:1.55;
  transition:opacity .16s ease;
}
.stick ul{ list-style:none; margin-bottom:16px; }
.stick ul li{ font-size:12.5px; opacity:0.85; padding-left:18px; position:relative; margin-bottom:6px; }
.stick ul li::before{ content:"→"; position:absolute; left:0; font-weight:800; }
.stick .go{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px 10px 0;
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  font-size:12.5px;
  text-decoration:none;
  transition:transform .18s ease, letter-spacing .18s ease, color .18s ease;
}
.stick:hover .tag{
  background:rgba(0,0,0,0.28);
  border-color:rgba(255,255,255,0.28);
  opacity:1;
  transform:translateY(-2px);
}
.stick:hover h3{
  transform:translateY(-2px);
  text-shadow:0 8px 18px rgba(0,0,0,0.18);
}
.stick:hover p{
  opacity:1;
}
.academy-tier-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:6px;
  border:2px solid rgba(255,255,255,0.24);
  opacity:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
  transition:opacity .18s ease, border-color .18s ease;
  pointer-events:none;
}
.academy-tier-card:hover::after{
  opacity:1;
  border-color:rgba(255,255,255,0.42);
}
.academy-tier-card .go{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(0,0,0,0.12);
  border-radius:999px;
  padding:10px 14px;
  transition:transform .18s ease, letter-spacing .18s ease, background .18s ease;
}
.academy-tier-card:hover .go{
  transform:translateX(6px);
  letter-spacing:0.02em;
  background:rgba(0,0,0,0.24);
}
@keyframes stickFloatOne{
  from{ transform:translateY(0) rotate(-5deg); }
  to{ transform:translateY(-14px) rotate(-2deg); }
}
@keyframes stickFloatTwo{
  from{ transform:translateY(0) rotate(3deg); }
  to{ transform:translateY(-16px) rotate(6deg); }
}
@keyframes stickFloatThree{
  from{ transform:translateY(0) rotate(-3deg); }
  to{ transform:translateY(-12px) rotate(1deg); }
}
@keyframes stickFloatFour{
  from{ transform:translateY(0) rotate(4deg); }
  to{ transform:translateY(-18px) rotate(1deg); }
}
@keyframes stickFloatFive{
  from{ transform:translateY(0) rotate(-4deg); }
  to{ transform:translateY(-13px) rotate(-1deg); }
}

@media (prefers-reduced-motion: reduce){
  .stick{ animation:none; }
  .stick:hover{ transform:none; }
  .academy-tier-card:hover .go,
  .region-card:hover{ transform:none; }
}

/* ---------- region cards (Youth Academy) ---------- */
.academy-region-grid{
  align-items:stretch;
}
.academy-region-item{
  display:flex;
}
.region-card{
  width:100%;
  display:flex;
  flex-direction:column;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 20px 40px -16px rgba(0,0,0,0.4);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s cubic-bezier(.2,.8,.2,1);
}
.region-card:hover{
  transform:translateY(-10px);
  box-shadow:0 30px 50px -14px rgba(0,0,0,0.5);
}
.region-card.va{ background:linear-gradient(135deg, #0A9280, #00C2FF); }
.region-card.wv{ background:linear-gradient(135deg, #143B78, #00A1FF); }
.region-flag{ display:inline-block; font-family:'JetBrains Mono', monospace; font-size:10.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; background:rgba(0,0,0,0.35); padding:6px 14px; border-radius:100px; margin-bottom:22px; }
.region-body{
  background:var(--black);
  padding:28px 26px 30px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.region-body h3{ font-family:'Archivo Black', sans-serif; font-size:24px; text-transform:uppercase; margin-bottom:10px; }
.region-body p{ opacity:0.75; font-size:14px; margin-bottom:18px; }
.region-photo{ padding:30px 26px 18px; position:relative; overflow:hidden; }
.region-map-wrap{
  height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.region-map-image{
  display:block;
  filter:drop-shadow(0 16px 20px rgba(0,0,0,0.2));
}
.region-map-va{
  width:330px;
  height:auto;
  transform:rotate(-5deg);
}
.region-map-wv{
  width:220px;
  height:auto;
  transform:rotate(5deg);
}
.academy-sponsor-group .prose{
  max-width:680px;
}
.academy-sponsor-group .prose h3{
  font-family:'Space Grotesk', sans-serif;
  font-weight:800;
  font-size:24px;
  margin-bottom:10px;
  text-transform:uppercase;
}
.academy-sponsor-group .prose p{
  opacity:0.78;
}
.academy-fees-section{
  padding:24px 0 72px;
}
.academy-fees-board{
  margin-top:36px;
  border:1px solid rgba(10,10,12,0.1);
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%, #f7f9fd 100%);
  box-shadow:0 22px 54px rgba(15,23,42,0.08);
  overflow:hidden;
}
.academy-fee-programs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  padding:28px;
}
.academy-fee-program-card{
  min-height:100%;
  padding:28px;
  border:1px solid rgba(10,10,12,0.1);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,0.06);
}
.academy-program-fee-section{
  padding-top:88px;
}
.academy-program-fee-single{
  grid-template-columns:minmax(0, 680px);
  justify-content:start;
  padding:0;
}
.academy-fee-program-kicker{
  margin-bottom:18px;
  color:var(--red);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
}
.academy-fee-program-card h3{
  margin-bottom:24px;
  color:var(--navy);
  font-family:'Space Grotesk', sans-serif;
  font-size:26px;
  font-weight:800;
}
.academy-fee-program-card dl{
  display:grid;
  gap:22px;
  grid-template-rows:auto minmax(72px, auto) 1fr;
}
.academy-fee-program-card dt{
  margin-bottom:6px;
  color:#5c6a80;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.academy-fee-program-card dd{
  color:#243041;
  font-size:15px;
  line-height:1.55;
}
.academy-fee-returning{
  display:block;
  margin-top:7px;
  color:#536176;
  font-size:14px;
}
.academy-fees-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
  padding:28px;
}
.academy-fee-card{
  min-height:100%;
  padding:24px 22px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(10,10,12,0.08);
}
.academy-fee-card h3{
  font-family:'Space Grotesk', sans-serif;
  font-size:20px;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:14px;
}
.academy-fee-card p,
.academy-fee-card li{
  font-size:14.5px;
  color:#2d3748;
  opacity:0.92;
}
.academy-fee-card ul{
  margin:0;
  padding-left:18px;
}
.academy-fee-deposit-note{
  margin-top:30px;
}
.academy-fee-card li + li{
  margin-top:10px;
}
.academy-fee-card-accent{
  background:linear-gradient(180deg, #0f1d45 0%, #17285d 100%);
  color:#fff;
  border-color:rgba(255,255,255,0.08);
}
.academy-fee-card-accent h3,
.academy-fee-card-accent p{
  color:#fff;
}
.academy-fee-card-accent .academy-inline-link{
  margin-top:16px;
}
.academy-fees-note{
  margin:0;
  padding:0 28px 28px;
  font-size:13.5px;
  color:#586579;
}
.academy-player-week-section{
  padding-top:8px;
  padding-bottom:36px;
}
.homepage-player-week-block{
  margin-bottom:46px;
}
.academy-player-week-banner{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.13);
  border-left:7px solid var(--yellow);
  border-radius:16px;
  background:linear-gradient(100deg, rgba(17,26,56,0.98), rgba(10,10,12,0.98));
  box-shadow:0 16px 42px rgba(0,0,0,0.24);
}
.academy-player-week-banner-copy{
  display:grid;
  justify-items:start;
  gap:12px;
  padding:26px 30px;
}
.academy-player-week-banner-copy h3{
  margin:0;
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(28px, 3.1vw, 42px);
  line-height:0.95;
  color:#fff;
}
.academy-player-week-banner-description{
  margin:0;
  max-width:680px;
  color:rgba(255,255,255,0.78);
  font-size:15px;
  line-height:1.5;
}
.academy-player-week-banner-action{
  font-size:13px;
  text-decoration:none;
}
.academy-player-week-callout-section{
  padding-top:12px;
  padding-bottom:42px;
}
.academy-player-week-callout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
  gap:28px;
  padding:28px 32px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(17,26,56,0.96) 0%, rgba(10,10,12,0.98) 62%);
  box-shadow:0 22px 56px rgba(0,0,0,0.26);
}
.academy-player-week-callout-copy h2{
  margin:10px 0 12px;
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(34px, 4.4vw, 54px);
  line-height:0.94;
  color:#fff;
}
.academy-player-week-callout-copy p{
  margin:0;
  max-width:720px;
  font-size:17px;
  line-height:1.65;
  color:rgba(255,255,255,0.8);
}
.academy-player-week-callout-link{
  align-self:center;
  white-space:nowrap;
}
.academy-player-week-page-banner{
  padding-bottom:44px;
}
.academy-player-week-page-section{
  padding-top:64px;
  padding-bottom:76px;
}
.academy-player-week-page-section .wrap{
  max-width:1440px;
}
.academy-player-week-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:32px;
}
.academy-player-week-grid-single{
  grid-template-columns:minmax(0, 920px);
  justify-content:center;
}
.academy-player-week-grid-single .academy-player-week-player-card{
  grid-template-columns:minmax(280px, 0.9fr) minmax(0, 1.1fr);
}
.academy-player-week-grid-single .academy-player-week-player-media{
  aspect-ratio:auto;
  min-height:620px;
}
.academy-player-week-grid-single .academy-player-week-player-body{
  min-height:620px;
  padding:38px;
}
.academy-player-week-grid-single .academy-player-week-player-name{
  font-size:clamp(36px, 4.6vw, 58px);
}
.academy-player-week-grid-single .academy-player-week-player-program{
  font-size:12px;
}
.academy-player-week-grid-single .academy-player-week-player-summary{
  max-width:46ch;
  font-size:17px;
}
.academy-player-week-player-card{
  display:grid;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:18px;
  background:linear-gradient(145deg, rgba(17,26,56,0.98), rgba(10,10,12,0.98));
  box-shadow:0 18px 42px rgba(0,0,0,0.24);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.academy-player-week-player-card:hover{
  transform:translateY(-7px);
  border-color:rgba(33,180,229,0.72);
  box-shadow:0 25px 50px rgba(0,0,0,0.34);
}
.academy-player-week-player-media{
  position:relative;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#101114;
}
.academy-player-week-player-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 48%, rgba(8,11,20,0.5));
  pointer-events:none;
}
.academy-player-week-player-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 34%;
  transition:transform .35s ease;
}
.academy-player-week-player-card:hover .academy-player-week-player-media img{ transform:scale(1.04); }
.academy-player-week-player-media .academy-player-week-tag{
  left:14px;
  top:14px;
  min-height:30px;
  padding:0 10px;
  font-size:9px;
}
.academy-player-week-player-body{
  display:grid;
  align-content:start;
  gap:16px;
  min-height:276px;
  padding:28px 26px 24px;
}
.academy-player-week-player-name{
  margin:0;
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(21px, 2vw, 28px);
  line-height:0.96;
  color:#fff;
}
.academy-player-week-player-program{
  margin:0;
  color:var(--blue);
  font-size:10px;
  letter-spacing:0.08em;
}
.academy-player-week-player-summary{
  margin:4px 0 2px;
  color:rgba(255,255,255,0.76);
  font-size:13px;
  line-height:1.5;
}
.academy-player-week-player-sponsor{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  align-self:end;
  margin-top:auto;
  padding:16px 0 0;
  border-top:1px solid rgba(255,255,255,0.1);
  color:var(--yellow);
  font-size:9px;
  font-weight:800;
  letter-spacing:0.07em;
  text-decoration:none;
  text-transform:uppercase;
}
.academy-player-week-player-sponsor-logo-wrap{
  display:block;
  height:148px;
  overflow:hidden;
  border-radius:8px;
  background:#fff;
}
.academy-player-week-player-sponsor img{
  display:block;
  width:100%;
  height:100%;
  padding:8px 12px;
  object-fit:contain;
}
.academy-player-week-player-sponsor-text{
  display:block;
}
.academy-player-week-player-action{
  align-self:start;
  justify-self:start;
  width:max-content;
  max-width:100%;
  margin-top:4px;
  font-size:11px;
  text-decoration:none;
}
.academy-player-week-recognition{
  display:grid;
  gap:12px;
  margin-top:12px;
  padding:20px;
  border-left:4px solid var(--yellow);
  background:rgba(255,255,255,0.04);
}
.academy-player-week-recognition h3{
  margin:0;
  font-family:'Space Grotesk', sans-serif;
  font-size:19px;
  font-weight:800;
  line-height:1.15;
  color:#fff;
}
.academy-player-week-recognition p{
  margin:0;
  color:rgba(255,255,255,0.82);
  font-size:15px;
  line-height:1.6;
}
.academy-player-week-recognition ul{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.academy-player-week-recognition li{
  position:relative;
  padding-left:18px;
  color:rgba(255,255,255,0.9);
  font-size:14px;
  line-height:1.4;
}
.academy-player-week-recognition li::before{
  content:"•";
  position:absolute;
  left:0;
  color:var(--red);
}
.academy-player-week-player-sponsor:hover,
.academy-player-week-player-sponsor:focus-visible{ color:var(--blue); }
.academy-player-week-card{
  display:grid;
  grid-template-columns:minmax(300px, 0.9fr) minmax(0, 1.1fr);
  align-items:start;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(17,26,56,0.96) 0%, rgba(10,10,12,0.98) 62%);
  box-shadow:0 26px 68px rgba(0,0,0,0.34);
}
.academy-player-week-media{
  position:relative;
  min-height:580px;
  height:100%;
  background:linear-gradient(160deg, rgba(33,180,229,0.26) 0%, rgba(255,37,67,0.12) 100%);
}
.academy-player-week-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,11,20,0.08) 0%, rgba(8,11,20,0.22) 100%),
    linear-gradient(90deg, rgba(8,11,20,0.04) 0%, rgba(8,11,20,0.18) 100%);
  pointer-events:none;
}
.academy-player-week-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 34%;
}
.academy-player-week-tag{
  position:absolute;
  left:22px;
  top:22px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(7,15,37,0.72);
  border:1px solid rgba(255,255,255,0.12);
  color:#fff;
  font-size:11px;
  letter-spacing:0.09em;
}
.academy-player-week-body{
  display:grid;
  align-content:start;
  gap:10px;
  padding:34px 38px 30px;
}
.academy-player-week-title{
  margin:0;
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(34px, 4vw, 62px);
  line-height:0.9;
  color:#fff;
  max-width:11ch;
}
.academy-player-week-name{
  margin:0;
  font-family:'Space Grotesk', sans-serif;
  font-size:24px;
  font-weight:700;
  line-height:1.15;
  color:var(--yellow);
}
.academy-player-week-program{
  margin:0;
  color:var(--blue);
  font-size:12px;
  letter-spacing:0.1em;
}
.academy-player-week-summary{
  margin:0;
  font-size:16px;
  line-height:1.62;
  color:rgba(255,255,255,0.82);
}
.academy-player-week-quote{
  margin:2px 0 0;
  padding:16px 18px;
  border-left:4px solid var(--yellow);
  background:rgba(255,255,255,0.03);
  color:#fff;
  font-size:16px;
  font-weight:600;
  line-height:1.5;
}
.academy-player-week-highlights{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.academy-player-week-highlights li{
  position:relative;
  padding-left:22px;
  color:rgba(255,255,255,0.84);
  font-size:14px;
  line-height:1.45;
}
.academy-player-week-highlights li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--red);
  font-size:20px;
  line-height:1;
}
.academy-player-week-sponsor{
  margin-top:4px;
  padding:16px 18px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,223,0,0.98) 0%, rgba(255,214,0,0.96) 100%);
  color:var(--black);
  text-decoration:none;
}
.academy-player-week-sponsor-label{
  display:block;
  margin-bottom:10px;
  font-size:11px;
  letter-spacing:0.1em;
}
.academy-player-week-sponsor-row{
  display:flex;
  align-items:center;
  gap:14px;
}
.academy-player-week-sponsor-logo{
  flex:0 0 auto;
  min-width:92px;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  background:#fff;
  border:1px solid rgba(12,22,42,0.08);
  border-radius:12px;
}
.academy-player-week-sponsor-logo img{
  max-width:88px;
  max-height:40px;
  width:auto;
  height:auto;
  display:block;
  object-fit:contain;
}
.academy-player-week-sponsor-copy{
  font-size:14px;
  line-height:1.5;
}
.academy-player-week-sponsor-copy strong{
  font-weight:800;
}
.region-contacts{ display:flex; flex-direction:column; gap:10px; padding-top:16px; border-top:1px solid var(--line); margin-top:auto; }
.region-contacts a{ font-size:13.5px; font-weight:700; color:#fff; }
.region-action-link{
  align-self:flex-start;
  margin-left:0;
  font-size:13px;
  line-height:1.3;
  letter-spacing:0.01em;
}
.academy-inline-link{
  display:inline-block;
  font-weight:800;
  transition:transform .18s ease, color .18s ease;
}
.academy-inline-link:hover,
.academy-inline-link:focus-visible{
  transform:translateX(4px);
}
.academy-inline-link-blue{
  color:var(--blue);
}
.academy-inline-link-yellow{
  color:var(--yellow);
}
.academy-inline-link-red{
  color:#ff6a5f;
}
.academy-inline-link-blue:hover,
.academy-inline-link-blue:focus-visible{
  color:#7addff;
}
.academy-inline-link-yellow:hover,
.academy-inline-link-yellow:focus-visible{
  color:#fff08a;
}
.academy-inline-link-red:hover,
.academy-inline-link-red:focus-visible{
  color:#ff9189;
}

/* ---------- accordion ---------- */
.accordion{ border-top:1px solid var(--line); }
.accordion details{ border-bottom:1px solid var(--line); }
.accordion summary{ list-style:none; cursor:none; padding:22px 4px; display:flex; align-items:center; justify-content:space-between; font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:17px; }
.accordion summary::-webkit-details-marker{ display:none; }
.accordion summary::after{ content:"+"; font-family:'Inter', sans-serif; font-weight:400; font-size:24px; color:var(--yellow); transition:transform .2s; }
.accordion details[open] summary::after{ content:"–"; }
.accordion .a-body{ padding:0 4px 24px; opacity:0.75; font-size:14.5px; max-width:680px; }

/* ---------- color-block ticker (sponsors) ---------- */
.block-ticker{
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  z-index:5;
  background:#fff;
  border-top:1px solid rgba(10,10,12,0.08);
  border-bottom:1px solid rgba(10,10,12,0.08);
}
.bt-track{ display:inline-flex; animation:scrollL 24s linear infinite; }
.block-ticker:hover .bt-track{ animation-play-state:paused; }
.bt-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:168px;
  padding:28px 34px;
  color:var(--black);
  transition:transform .18s ease, opacity .18s ease;
  cursor:none;
}
.bt-item:hover{ transform:translateY(-3px); opacity:0.92; }
.bt-figure{
  width:var(--bt-figure-width, 190px);
  height:var(--bt-figure-height, 104px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.bt-item img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.bt-label{
  font-family:'Archivo Black', sans-serif;
  font-size:24px;
  text-transform:uppercase;
}
.bt-item-has-image .bt-label{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#49515c;
}
.bt-item-logo-only{
  gap:0;
  min-width:228px;
}
.bt-item-logo-only .bt-figure{
  width:var(--bt-figure-width, 198px);
  height:var(--bt-figure-height, 104px);
}
/* ---------- media / photo tiles (gallery, blog) ---------- */
.media-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.photo-tile{ position:relative; aspect-ratio:4/3; border-radius:6px; overflow:hidden; transition:transform .25s; cursor:none; }
.photo-tile:hover{ transform:scale(0.97) rotate(-1deg); }
.photo-tile .bg{ position:absolute; inset:0; }
.photo-tile.v1 .bg{ background:linear-gradient(135deg, var(--navy), #06101f); }
.photo-tile.v2 .bg{ background:linear-gradient(135deg, var(--red-dark), var(--red)); }
.photo-tile.v3 .bg{ background:linear-gradient(135deg, #0A7CAD, var(--blue)); }
.photo-tile.v4 .bg{ background:repeating-linear-gradient(120deg, #16233f 0 3px, #0d1730 3px 54px), linear-gradient(135deg, var(--navy), var(--black)); }
.photo-tile .label{ position:absolute; left:12px; bottom:12px; z-index:2; font-family:'JetBrains Mono', monospace; font-size:10.5px; font-weight:700; color:#fff; background:rgba(0,0,0,0.4); padding:5px 10px; border-radius:100px; }
.photo-tile .edit{ position:absolute; top:10px; right:10px; z-index:2; }
.photo-tile .edit.plain-note{ top:auto; right:auto; left:12px; bottom:44px; }
.post-grid{ display:grid; grid-template-columns:minmax(0, 1fr); gap:20px; }
.post-grid-compact{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}
.post-grid-compact .post-card{
  min-height:100%;
}
.post-grid-compact .post-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
}
.post-grid-compact .post-card-media{
  min-height:0;
  aspect-ratio:4/5;
}
.post-grid-compact .post-card-body{
  flex:1;
  justify-content:flex-start;
  padding:24px 22px 22px;
  gap:10px;
}
.post-grid-compact .post-card-body h3{
  max-width:none;
  font-size:24px;
}
.post-grid-compact .post-card-body p{
  max-width:none;
  font-size:14px;
}
.post-grid-compact .post-card-body .go{
  margin-top:auto;
  padding-top:10px;
}
.post-card{
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(16,27,61,0.9), rgba(10,10,12,0.98));
  box-shadow:0 18px 48px rgba(0,0,0,0.28);
  transition:transform .2s ease, box-shadow .2s ease, border-color .18s ease;
}
.post-card-link{
  display:grid;
  grid-template-columns:minmax(240px, 0.85fr) minmax(0, 1.15fr);
  min-height:100%;
  height:100%;
  cursor:none;
}
.post-card-media{
  position:relative;
  min-height:260px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,230,0,0.2), transparent 36%),
    linear-gradient(135deg, #0d1730 0%, #13234e 42%, #0a0a0c 100%);
  transition:transform .26s ease;
}
.post-card-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(0.08) contrast(1.08) saturate(1.04) brightness(0.82);
  transition:transform .3s ease, filter .22s ease;
}
.post-card-media .bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(140deg, rgba(255,30,60,0.3) 0%, transparent 38%),
    repeating-linear-gradient(120deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 54px),
    linear-gradient(135deg, rgba(0,194,255,0.32), rgba(16,27,61,0.12));
  transition:opacity .2s ease, transform .26s ease;
}
.post-card-tag{
  position:absolute;
  top:18px;
  left:18px;
  z-index:1;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--black);
  background:var(--yellow);
  padding:7px 12px;
  border-radius:999px;
  transition:transform .18s ease, background .18s ease, color .18s ease;
}
.post-card-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
  padding:34px 34px 32px;
}
.post-card-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--blue);
}
.post-card-body h3{
  font-family:'Space Grotesk', sans-serif;
  font-size:30px;
  line-height:1.04;
  font-weight:800;
  max-width:16ch;
}
.post-card-body p{
  max-width:56ch;
  color:rgba(255,255,255,0.78);
  font-size:15px;
}
.post-card-body .go{
  margin-top:4px;
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--yellow);
  transition:transform .18s ease, letter-spacing .18s ease, color .18s ease;
}
.post-card:hover{
  transform:translateY(-6px) rotate(-0.6deg);
  box-shadow:0 28px 58px rgba(0,0,0,0.34);
  border-color:rgba(255,230,0,0.3);
}
.post-card:hover .post-card-media{
  transform:translateY(-2px);
}
.post-card:hover .post-card-media img{
  transform:scale(1.04);
  filter:grayscale(0) contrast(1.1) saturate(1.08) brightness(0.9);
}
.post-card:hover .post-card-media .bg{
  opacity:0.86;
  transform:translateX(4px);
}
.post-card:hover .post-card-tag{
  transform:translateX(4px);
  background:var(--logo-gold);
}
.post-card:hover .post-card-kicker{
  color:var(--yellow);
}
.post-card:hover .post-card-body .go{
  transform:translateX(8px);
  letter-spacing:0.11em;
  color:#fff;
}
.blog-index-intro{
  margin-bottom:34px;
}
.blog-banner-wrap{
  max-width:1320px;
}
.blog-banner-wrap h1{
  max-width:1100px;
}
.blog-banner-wrap p{
  max-width:900px;
}
.blog-index-intro p{
  max-width:720px;
}
.blog-article{
  display:grid;
  gap:36px;
}
.blog-post-header{
  display:grid;
  gap:18px;
  max-width:860px;
}
.blog-post-header h1{
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(34px, 5vw, 62px);
  line-height:0.98;
  text-transform:uppercase;
}
.blog-post-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  color:rgba(255,255,255,0.7);
  font-size:13px;
}
.blog-post-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.blog-post-meta span + span::before{
  content:"";
  width:4px;
  height:4px;
  border-radius:999px;
  background:var(--yellow);
  display:inline-block;
  margin-right:4px;
}
.blog-feature-image{
  display:grid;
  gap:14px;
}
.blog-feature-image img{
  width:100%;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.08);
  object-fit:cover;
  max-height:640px;
}
.blog-feature-image figcaption{
  color:rgba(255,255,255,0.52);
  font-size:12px;
  font-family:'JetBrains Mono', monospace;
}
.blog-post-body{
  max-width:760px;
}
.blog-post-body.prose p,
.blog-post-body.prose ul li{
  font-size:17px;
}
.blog-post-body.prose blockquote p{
  font-size:18px;
}
.blog-post-body.prose h2{
  font-size:28px;
}
.blog-back-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--yellow);
}
.blog-back-link:hover{
  color:#fff;
}
.page-banner .blog-back-link{
  margin-bottom:18px;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.gallery-item{
  position:relative;
  display:block;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  overflow:hidden;
  background:#0f1420;
  cursor:none;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.gallery-item:hover{
  transform:translateY(-6px);
  border-color:rgba(255,230,0,0.4);
  box-shadow:0 24px 40px -24px rgba(0,0,0,0.7);
}
.gallery-item img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  display:block;
  filter:contrast(1.03) saturate(1.04);
}
.gallery-item-overlay{
  position:absolute;
  inset:auto 0 0 0;
  padding:16px 16px 14px;
  background:linear-gradient(180deg, rgba(10,10,12,0) 0%, rgba(10,10,12,0.82) 62%, rgba(10,10,12,0.94) 100%);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.gallery-item-title{
  color:rgba(255,255,255,0.88);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.lightbox{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:500;
}
.lightbox.is-open{
  display:flex;
}
.lightbox-backdrop{
  position:absolute;
  inset:0;
  border:none;
  background:rgba(3,5,10,0.84);
  backdrop-filter:blur(8px);
}
.lightbox-figure{
  position:relative;
  z-index:1;
  width:min(1200px, 100%);
  margin:0;
  display:grid;
  gap:14px;
}
.lightbox-figure img{
  width:100%;
  max-height:82vh;
  object-fit:contain;
  border-radius:10px;
  background:#05070b;
  box-shadow:0 26px 60px -28px rgba(0,0,0,0.85);
}
.lightbox-caption{
  color:rgba(255,255,255,0.78);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-align:center;
}
.lightbox-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  border:none;
  background:var(--yellow);
  color:var(--black);
  padding:10px 14px;
  border-radius:4px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:none;
}

/* ---------- sponsor grid (plain, on white/black) ---------- */
.sponsor-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sponsor-card{ border:1px solid var(--line); border-top:4px solid var(--red); border-radius:8px; padding:28px; text-align:center; }
.on-white .sponsor-card{ border-color:#E4E8EE; }
.sponsor-mark{ width:58px; height:58px; border-radius:50%; background:var(--black); color:#fff; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk', sans-serif; font-weight:800; font-size:15px; }
.on-white .sponsor-mark{ background:var(--navy); }
.sponsor-logo-wrap{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
  padding:16px 18px;
  background:rgba(10,10,12,0.92);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.03);
}
.sponsor-logo-wrap-light{
  background:#fff;
  border:1px solid #DCE3EE;
  box-shadow:inset 0 0 0 1px rgba(16,27,61,0.04);
}
.sponsor-logo{
  display:block;
  max-width:170px;
  max-height:92px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.sponsor-card h4{ font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:15px; margin-bottom:6px; }
.sponsor-card p{ font-size:12.5px; opacity:0.65; }
.sponsor-feature{ margin-bottom:24px; }
.sponsor-feature-card{
  display:grid;
  grid-template-columns:minmax(240px, 420px) minmax(0, 1fr);
  align-items:center;
  gap:28px;
  border:1px solid var(--line);
  border-top:6px solid var(--yellow);
  border-radius:16px;
  padding:34px;
  text-decoration:none;
  color:inherit;
  background:#fff;
  box-shadow:0 18px 42px rgba(8,14,24,0.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.sponsor-feature-card:hover,
.sponsor-feature-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(8,14,24,0.12);
}
.sponsor-feature-card .sponsor-logo-wrap{
  min-height:192px;
  margin:0;
  padding:24px 30px;
}
.sponsor-feature-card .sponsor-logo{
  max-width:260px;
  max-height:142px;
}
.sponsor-feature-copy{
  display:grid;
  align-content:center;
  gap:16px;
  padding:8px 0;
}
.sponsor-feature-label{
  color:var(--red);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.sponsor-feature-copy h3{
  margin:0;
  font-family:'Space Grotesk', sans-serif;
  font-weight:800;
  font-size:clamp(34px, 4vw, 52px);
  line-height:0.95;
  letter-spacing:-0.04em;
  color:var(--black);
}
.sponsor-feature-copy p{
  margin:0;
  font-size:18px;
  line-height:1.6;
  color:#49515c;
}
.sponsor-feature-copy .go{
  display:inline-block;
  margin-top:2px;
  color:var(--black);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.sponsor-cta-wrap{
  max-width:none;
}
.sponsor-cta{
  max-width:1040px;
  margin:0 auto;
  padding:28px 34px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,223,0,0.98) 0%, rgba(255,214,0,0.96) 100%);
  color:var(--black);
  font-family:'Space Grotesk', sans-serif;
  font-size:20px;
  font-weight:700;
  line-height:1.45;
  box-shadow:0 18px 38px rgba(255,216,74,0.16);
}
.sponsor-cta a{
  color:var(--black);
  font-weight:800;
  text-decoration:none;
  border-bottom:2px solid rgba(10,10,12,0.18);
  transition:border-color .18s ease;
}
.sponsor-cta a:hover,
.sponsor-cta a:focus-visible{
  border-color:rgba(10,10,12,0.6);
}

/* ---------- contact form ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.contact-panel{
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px;
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  box-shadow:0 24px 48px -28px rgba(0,0,0,0.45);
}
.contact-panel-head{ margin-bottom:24px; }
.contact-panel-head h2{
  font-family:'Archivo Black', sans-serif;
  font-size:34px;
  text-transform:uppercase;
  line-height:0.95;
  margin-bottom:10px;
}
.contact-panel-head p{
  font-size:14px;
  color:rgba(255,255,255,0.72);
  max-width:560px;
}
.contact-card{ background:var(--navy); border-radius:8px; padding:26px; border-left:4px solid var(--yellow); }
.contact-card h3{ font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:15.5px; margin-bottom:6px; }
.contact-card p{ font-size:13.5px; opacity:0.75; }
.contact-card + .contact-card{ margin-top:16px; }
.contact-card-link{
  display:inline-flex;
  margin-top:14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--yellow);
  transition:transform .2s ease, color .2s ease;
}
.contact-card-link:hover{
  color:#fff;
  transform:translateX(4px);
}
form.contact-form{ display:flex; flex-direction:column; gap:16px; }
.contact-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form-row-thirds{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
form.contact-form label{ font-family:'JetBrains Mono', monospace; font-size:11.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--yellow); display:block; margin-bottom:8px; }
form.contact-form input, form.contact-form textarea, form.contact-form select{
  width:100%; border:2px solid var(--line); border-radius:4px; padding:13px 14px;
  font-family:'Inter', sans-serif; font-size:14px; color:#fff; background:rgba(255,255,255,0.04);
}
form.contact-form select{ appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%23FFE600' stroke-width='1.6' fill='none'/></svg>"); background-repeat:no-repeat; background-position:right 14px center; }
form.contact-form select option{ background:var(--black); color:#fff; }
form.contact-form input:focus, form.contact-form textarea:focus, form.contact-form select:focus{ outline:2px solid var(--yellow); outline-offset:1px; border-color:var(--yellow); }
form.contact-form textarea{ min-height:120px; resize:vertical; }
.topic-routing-note{
  margin-top:10px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,0.1);
  border-left:3px solid var(--blue);
  border-radius:6px;
  background:rgba(255,255,255,0.03);
  font-size:12.5px;
  color:rgba(255,255,255,0.72);
}
form.contact-form button{
  background:var(--red); color:#fff; font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:14px; letter-spacing:0.02em; text-transform:uppercase;
  padding:15px 28px; border-radius:4px; border:none; cursor:none; align-self:flex-start; position:relative; overflow:hidden;
}
.form-note{ font-family:'JetBrains Mono', monospace; font-size:11px; opacity:0.6; margin-top:4px; }

/* ---------- site feedback ---------- */
.site-feedback-tab{
  position:fixed;
  z-index:80;
  right:22px;
  bottom:22px;
  border:0;
  border-radius:5px;
  padding:13px 18px;
  background:var(--yellow);
  color:var(--black);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:none;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  transition:background .2s ease, color .2s ease, padding .2s ease;
}
.site-feedback-tab:hover,
.site-feedback-tab:focus-visible{
  background:var(--red);
  color:#fff;
  transform:translateY(-3px);
  outline:none;
}
.site-feedback-backdrop{
  position:fixed;
  z-index:88;
  inset:0;
  border:0;
  background:rgba(6,8,12,.34);
  backdrop-filter:blur(2px);
}
.site-feedback-backdrop[hidden]{ display:none; }
.site-feedback-drawer{
  position:fixed;
  z-index:89;
  right:0;
  top:0;
  width:min(420px, 100vw);
  height:100dvh;
  overflow-y:auto;
  padding:36px 32px;
  background:var(--navy);
  border-left:4px solid var(--yellow);
  box-shadow:-20px 0 54px rgba(0,0,0,.34);
  transform:translateX(104%);
  visibility:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), visibility .28s step-end;
}
.site-feedback-drawer.is-open{
  transform:translateX(0);
  visibility:visible;
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.site-feedback-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.site-feedback-head h2{
  margin:0;
  color:#fff;
  font-family:'Archivo Black', sans-serif;
  font-size:clamp(28px, 5vw, 40px);
  line-height:.98;
  text-transform:uppercase;
}
.site-feedback-close{
  flex:0 0 auto;
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:transparent;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:none;
}
.site-feedback-close:hover,
.site-feedback-close:focus-visible{
  background:var(--red);
  border-color:var(--red);
  outline:none;
}
.site-feedback-description{
  margin:20px 0 28px;
  color:rgba(255,255,255,.7);
  font-size:16px;
  line-height:1.55;
}
.site-feedback-form{
  display:grid;
  gap:22px;
}
.site-feedback-form fieldset{
  margin:0;
  padding:0;
  border:0;
}
.site-feedback-form legend,
.site-feedback-form label{
  display:block;
  margin-bottom:10px;
  color:var(--yellow);
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.site-feedback-options{
  display:grid;
  gap:9px;
}
.site-feedback-options label{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:5px;
  color:#fff;
  font-family:'Space Grotesk', sans-serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  cursor:none;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.site-feedback-options label:hover{
  border-color:var(--blue);
  background:rgba(0,184,236,.1);
  transform:translateX(3px);
}
.site-feedback-options input{ accent-color:var(--yellow); }
.site-feedback-options label:has(input:checked){
  border-color:var(--yellow);
  background:rgba(255,230,0,.11);
}
.site-feedback-form textarea{
  width:100%;
  min-height:104px;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:5px;
  background:rgba(255,255,255,.05);
  color:#fff;
  font:15px/1.45 'Inter', sans-serif;
  resize:vertical;
}
.site-feedback-form textarea:focus{
  border-color:var(--yellow);
  outline:2px solid var(--yellow);
  outline-offset:2px;
}
.site-feedback-turnstile{ min-height:65px; }
.site-feedback-honeypot{ position:absolute !important; left:-9999px !important; }
.site-feedback-submit{
  justify-self:start;
  padding:14px 19px;
  border:0;
  border-radius:4px;
  background:var(--red);
  color:#fff;
  font-family:'Space Grotesk', sans-serif;
  font-size:14px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:none;
  transition:background .2s ease, transform .2s ease;
}
.site-feedback-submit:hover,
.site-feedback-submit:focus-visible{
  background:var(--yellow);
  color:var(--black);
  transform:translateY(-2px);
  outline:none;
}
.site-feedback-submit:disabled{ opacity:.6; transform:none; }
.site-feedback-status{
  min-height:20px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  line-height:1.45;
}

/* ---------- footer ---------- */
footer.site-footer{ background:var(--black); padding:64px 32px 32px; position:relative; z-index:5; border-top:1px solid var(--line); }
.foot-top{ max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; padding-bottom:44px; }
.foot-top h4{ font-family:'Archivo Black', sans-serif; font-size:30px; text-transform:uppercase; }
.foot-grid{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-top:36px; border-top:1px solid var(--line); }
.foot-brand p{ font-size:13px; opacity:0.55; margin-top:14px; max-width:280px; }
.foot-col h5{ font-family:'JetBrains Mono', monospace; font-size:10.5px; letter-spacing:0.1em; color:var(--blue); text-transform:uppercase; margin-bottom:16px; }
.foot-col a{ display:block; font-size:13.5px; opacity:0.7; margin-bottom:10px; }
.foot-col a:hover{ opacity:1; color:var(--yellow); }
.foot-bottom{ max-width:1180px; margin:24px auto 0; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-family:'JetBrains Mono', monospace; font-size:11.5px; opacity:0.5; }
.foot-bottom a{ margin-left:18px; }
.foot-bottom a:hover{ opacity:1; }

/* ---------- 404 ---------- */
.error-page{ min-height:60vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:100px 32px; }
.error-page .code{ font-family:'Archivo Black', sans-serif; font-size:80px; color:var(--red); }
.error-page h1{ font-family:'Space Grotesk', sans-serif; font-size:28px; margin:18px 0 14px; }
.error-page p{ opacity:0.7; margin-bottom:28px; }

/* ---------- responsive ---------- */
@media (prefers-reduced-motion: reduce){
  .blob, .seal, .seal-center, .float-badge, .mq-track, .bt-track, .glitch::before, .glitch::after{ animation:none !important; }
}
@media (max-width:1100px){
  .academy-player-week-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .hero-head h1{ font-size:72px; }
  .hero-head .line2{ margin-left:36px; }
  .float-badge, .seal{ display:none; }
  .academy-banner{
    min-height:auto;
    padding:72px 0 64px;
  }
  .academy-banner-layout{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:26px;
  }
  .academy-banner .wrap{
    padding-left:20px;
    padding-right:20px;
  }
  .academy-banner-copy{
    max-width:none;
    margin-left:0;
  }
  .academy-banner-media{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    height:320px;
    min-height:0;
    max-width:640px;
  }
  .academy-banner-media .fade{
    background:
      linear-gradient(180deg, rgba(10,10,12,0.18) 0%, rgba(10,10,12,0.52) 100%),
      linear-gradient(90deg, rgba(10,10,12,0.14) 0%, transparent 16%, transparent 84%, rgba(10,10,12,0.18) 100%);
  }
  .stick-grid{ grid-template-columns:1fr 1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .media-grid{ grid-template-columns:1fr 1fr; }
  .gallery-grid{ grid-template-columns:1fr 1fr; }
  .post-grid-compact{ grid-template-columns:1fr 1fr; }
  .post-card-link{ grid-template-columns:1fr; }
  .post-card-media{ min-height:220px; }
  .sponsor-grid{ grid-template-columns:1fr 1fr; }
  .academy-player-week-card{
    grid-template-columns:1fr;
  }
  .homepage-player-week-block{
    margin-bottom:38px;
  }
  .academy-player-week-callout{
    grid-template-columns:1fr;
    align-items:start;
  }
  .academy-player-week-callout-link{
    justify-self:start;
  }
  .academy-player-week-media{
    min-height:380px;
  }
  .academy-player-week-body{
    padding:34px 32px 30px;
  }
  .sponsor-feature-card{
    grid-template-columns:1fr;
    gap:22px;
    padding:28px;
  }
  .sponsor-feature-card .sponsor-logo-wrap{
    min-height:176px;
    padding:22px 28px;
  }
  .sponsor-feature-card .sponsor-logo{
    max-width:240px;
    max-height:132px;
  }
  .contact-grid{ grid-template-columns:1fr; }
  .contact-form-row, .contact-form-row-thirds{ grid-template-columns:1fr; }
}
@media (max-width:900px){
  .academy-player-week-grid-single .academy-player-week-player-card{
    grid-template-columns:1fr;
  }
  .academy-player-week-grid-single .academy-player-week-player-media,
  .academy-player-week-grid-single .academy-player-week-player-body{
    min-height:0;
  }
  header.site-header{
    padding:18px 24px;
    gap:16px;
  }
  .brand{
    min-width:0;
    flex:1;
  }
  .brand span{
    font-size:12.5px;
    line-height:1.2;
  }
  .header-right{
    flex-shrink:0;
  }
  .nav-primary a{
    font-size:40px;
  }
  .post-grid-compact{ grid-template-columns:1fr; }
  .academy-player-week-banner-copy{
    padding:28px 30px;
  }
  .post-grid-compact .post-card-media{
    aspect-ratio:5/4;
  }
  .post-card-body{
    padding:28px 26px 26px;
  }
  .post-card-body h3{
    font-size:25px;
  }
  .blog-post-body.prose p,
  .blog-post-body.prose ul li{
    font-size:16px;
  }
  .hero{
    min-height:auto;
    padding:28px 0 136px;
  }
  .hero-media{
    width:100%;
    opacity:0.48;
  }
  .hero-head{
    margin-top:32px;
    margin-left:0;
    transform:rotate(-1deg);
  }
  .hero-head h1{
    font-size:72px;
    padding-left:24px;
    white-space:normal;
  }
  .hero-head .line2{
    margin-left:26px;
  }
  .lede,
  .ctas{
    margin-left:24px;
    margin-right:24px;
  }
  .lede{
    max-width:520px;
    font-size:16px;
  }
  .ctas{
    gap:12px;
  }
  .ctas .btn{
    min-height:58px;
  }
  .ctas .join-menu[open]{
    margin-bottom:116px;
  }
  .join-menu-panel{
    min-width:260px;
  }
  .hero > .hero-media .credit{
    right:22px;
    bottom:112px;
    max-width:300px;
    font-size:9px;
    padding:10px 18px;
  }
  .page-banner{
    padding:64px 0 56px;
  }
  .page-banner h1{
    font-size:36px;
    max-width:640px;
  }
  .page-banner p{
    font-size:15px;
    max-width:540px;
  }
  .academy-banner{
    padding:64px 0 56px;
  }
  .academy-banner-layout{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
  }
  .academy-banner .wrap{
    padding-left:24px;
    padding-right:24px;
  }
  .academy-banner-copy{
    max-width:none;
    margin-left:0;
  }
  .academy-banner-media{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    height:320px;
    min-height:0;
  }
  .academy-banner-media .fade{
    background:
      linear-gradient(180deg, rgba(10,10,12,0.16) 0%, rgba(10,10,12,0.5) 100%),
      linear-gradient(90deg, rgba(10,10,12,0.18) 0%, transparent 18%, transparent 82%, rgba(10,10,12,0.18) 100%);
  }
  .academy-banner-media .credit{
    right:22px;
    bottom:22px;
    max-width:300px;
    font-size:9px;
    padding:10px 18px;
  }
  section{
    padding:76px 0;
  }
  section.tight{
    padding:52px 0;
  }
  .sec-title{
    font-size:30px;
    max-width:100%;
  }
  .sec-sub{
    max-width:100%;
    font-size:15px;
  }
  .academy-overview-intro{
    grid-template-columns:1fr;
    gap:20px;
  }
  .academy-overview-logo{
    justify-content:flex-start;
  }
  .academy-overview-logo img{
    max-width:170px;
  }
  .prose,
  .bylaws-prose{
    max-width:100%;
  }
  .prose h2,
  .bylaws-prose h2{
    font-size:22px;
  }
  .prose p,
  .prose ul li,
  .bylaws-prose p,
  .bylaws-prose ul li{
    font-size:15px;
  }
  .prose blockquote{
    padding:16px 18px 16px 20px;
  }
  .prose blockquote p,
  .blog-post-body.prose blockquote p{
    font-size:15.5px;
  }
  .about-intro{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:20px;
  }
  .about-intro-logo{
    justify-content:flex-start;
  }
  .about-intro-logo img{
    max-width:180px;
  }
  .stick-grid,
  .stick-grid.two-up,
  .stick-grid.three-up{
    grid-template-columns:1fr;
    max-width:none;
    gap:24px;
  }
  .stick{
    animation:none;
    transform:none !important;
  }
  .stick p{
    min-height:0;
  }
  .academy-region-item{
    display:block;
  }
  .region-photo{
    padding:24px 22px 14px;
  }
  .region-map-wrap{
    height:176px;
  }
  .region-map-va{
    width:280px;
    height:auto;
  }
  .region-map-wv{
    width:194px;
    height:auto;
  }
  .academy-fee-programs{
    grid-template-columns:1fr;
    gap:16px;
    padding:20px;
  }
  .academy-fee-program-card{
    padding:24px 22px;
  }
  .academy-fees-grid{
    grid-template-columns:1fr;
    padding:20px;
  }
  .academy-fees-note{
    padding:0 20px 22px;
  }
  .region-body{
    padding:24px 22px 26px;
  }
  .region-body h3{
    font-size:22px;
  }
  .accordion summary{
    font-size:16px;
    padding:18px 4px;
  }
  .accordion .a-body{
    font-size:14px;
  }
  .media-grid{
    grid-template-columns:1fr;
  }
  .gallery-grid{
    grid-template-columns:1fr;
  }
  .sponsor-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .sponsor-card{
    padding:22px;
  }
  .academy-player-week-media{
    min-height:300px;
  }
  .academy-player-week-callout{
    padding:24px 22px;
    gap:18px;
  }
  .academy-player-week-callout-copy h2{
    font-size:34px;
  }
  .academy-player-week-callout-copy p{
    font-size:15px;
  }
  .academy-player-week-tag{
    left:16px;
    top:16px;
  }
  .academy-player-week-body{
    gap:12px;
    padding:26px 20px 22px;
  }
  .academy-player-week-title{
    font-size:38px;
  }
  .homepage-player-week-block{
    margin-bottom:32px;
  }
  .academy-player-week-name{
    font-size:24px;
  }
  .academy-player-week-summary,
  .academy-player-week-quote{
    font-size:16px;
  }
  .academy-player-week-sponsor-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .sponsor-feature-card{
    padding:24px 22px;
  }
  .sponsor-feature-card .sponsor-logo-wrap{
    min-height:168px;
  }
  .sponsor-feature-card .sponsor-logo{
    max-width:230px;
    max-height:122px;
  }
  .sponsor-feature-copy h3{
    font-size:34px;
  }
  .sponsor-feature-copy p{
    font-size:16px;
  }
  .sponsor-cta{
    padding:22px 22px;
    font-size:17px;
  }
  .contact-grid{
    gap:28px;
  }
  form.contact-form button{
    width:100%;
    align-self:stretch;
  }
  .bt-item{
    min-height:126px;
    padding:20px 26px;
  }
  .bt-item img{
    height:80px;
    max-width:180px;
  }
  .foot-top{
    align-items:flex-start;
    flex-direction:column;
    padding-bottom:32px;
  }
  .foot-top h4{
    font-size:26px;
  }
  .foot-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .foot-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
  .foot-bottom a{
    margin-left:0;
    margin-right:18px;
  }
}
@media (max-width:640px){
  .wrap{ padding:0 16px; }
  .academy-player-week-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .academy-player-week-player-body{
    min-height:0;
    gap:14px;
    padding:24px 22px 22px;
  }
  .academy-player-week-grid-single .academy-player-week-player-body{
    padding:24px 20px;
  }
  .academy-overview-logo{
    display:none;
  }
  .about-intro-logo{
    display:none;
  }
  header.site-header{
    padding:16px;
    align-items:flex-start;
    gap:12px;
  }
  .header-right{ gap:8px; }
  .cta-btn, .menu-btn, .nav-close{ padding:10px 12px; font-size:10.5px; }
  .brand img{
    width:28px;
    height:32px;
  }
  .brand span{
    font-size:11px;
    line-height:1.15;
  }
  .hero{
    min-height:auto;
    padding:20px 0 92px;
  }
  .hero-media,
  .academy-banner-media{
    display:none;
  }
  .hero-media .fade{
    background:
      linear-gradient(180deg, rgba(10,10,12,0.2) 0%, rgba(10,10,12,0.82) 58%, var(--black) 100%),
      linear-gradient(90deg, rgba(10,10,12,0.8) 0%, rgba(10,10,12,0.18) 62%, rgba(10,10,12,0.72) 100%);
  }
  .hero-head{ margin-left:0; transform:rotate(-1deg); }
  .hero-head h1{
    font-size:52px;
    padding-left:12px;
    white-space:normal;
    line-height:0.92;
  }
  .hero-head .line2{ margin-left:14px; }
  .academy-banner{ padding:54px 0 48px; }
  .academy-banner-layout{ gap:22px; }
  .academy-banner .wrap{
    padding-left:16px;
    padding-right:16px;
  }
  .lede, .ctas{ margin-left:12px; margin-right:12px; }
  .lede{ max-width:none; font-size:14px; }
  .ctas{
    gap:16px;
  }
  .join-menu{ width:100%; }
  .join-menu summary{ width:100%; text-align:center; }
  .join-menu-panel{ position:relative; top:12px; min-width:0; width:100%; }
  .ctas .join-menu[open]{
    margin-bottom:128px;
  }
  .ctas .btn{
    width:100%;
    min-height:56px;
    text-align:center;
    padding:15px 18px;
    font-size:13.5px;
  }
  .page-banner h1{ font-size:28px; }
  .page-banner p{
    font-size:14px;
  }
  .academy-player-week-banner-copy{
    padding:25px 22px 24px;
  }
  .academy-player-week-banner-copy h3{
    font-size:37px;
  }
  .page-kicker{
    margin-bottom:12px;
  }
  .academy-banner-copy h1{
    max-width:100%;
  }
  .academy-banner-copy p{
    max-width:100%;
  }
  .blob{
    opacity:0.22;
    width:520px;
    height:520px;
    top:-220px;
    right:-220px;
  }
  .stick{
    padding:24px 20px 24px;
  }
  .stick h3{
    font-size:20px;
  }
  .stick p{
    font-size:12.5px;
  }
  .region-map-wrap{
    height:154px;
  }
  .region-map-va{
    width:236px;
    height:auto;
  }
  .region-map-wv{
    width:170px;
    height:auto;
  }
  .region-body{
    padding:22px 18px 22px;
  }
  .region-body h3{
    font-size:20px;
  }
  .region-contacts a{
    font-size:13px;
  }
  .accordion summary{
    font-size:15px;
    line-height:1.35;
  }
  .block-ticker{
    overflow:visible;
    white-space:normal;
    padding:16px;
  }
  .bt-track,
  .bt-track.bt-track-static{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    animation:none !important;
  }
  .block-ticker:hover .bt-track{
    animation:none;
  }
  .bt-item{
    min-height:108px;
    width:100%;
    padding:16px 20px;
  }
  .bt-item img{ height:64px; max-width:150px; }
  .bt-item-logo-only img{ max-width:150px; }
  .sponsor-logo-wrap{
    min-height:88px;
    padding:14px;
  }
  .sponsor-logo{
    max-width:140px;
    max-height:76px;
  }
  .nav-primary a{ font-size:clamp(18px, 6vw, 24px); }
  .nav-overlay-head, .nav-overlay-body, .nav-overlay-foot{ padding-left:16px; padding-right:16px; }
  .subnav{
    padding:14px 0;
  }
  section{ padding:64px 0; }
  .subnav-inner{ padding:0 16px; gap:8px; }
  .pill{
    font-size:10.5px;
    padding:8px 12px;
  }
  .foot-top h4{
    font-size:24px;
  }
  .post-card-body{
    padding:24px 20px 22px;
    gap:12px;
  }
  .post-grid-compact .post-card-body{
    padding:22px 18px 20px;
  }
  .post-card-body h3{
    font-size:22px;
  }
  .post-grid-compact .post-card-body h3{
    font-size:20px;
  }
  .post-card-body p{
    font-size:14px;
  }
  .blog-post-header h1{
    font-size:34px;
  }
  .blog-post-body.prose p,
  .blog-post-body.prose ul li{
    font-size:15px;
  }
  .blog-post-body.prose h2{
    font-size:24px;
  }
  footer.site-footer{
    padding:52px 16px 24px;
  }
  .site-feedback-tab{
    right:16px;
    bottom:16px;
    border-radius:5px;
    padding:11px 14px;
  }
  .site-feedback-tab:hover,
  .site-feedback-tab:focus-visible{
    padding:11px 14px;
    transform:translateY(-2px);
  }
  .site-feedback-drawer{
    top:auto;
    bottom:0;
    width:100%;
    height:auto;
    max-height:88dvh;
    padding:28px 20px 24px;
    border-top:4px solid var(--yellow);
    border-left:0;
    border-radius:18px 18px 0 0;
    transform:translateY(104%);
  }
  .site-feedback-drawer.is-open{ transform:translateY(0); }
  .site-feedback-description{ margin:16px 0 22px; font-size:15px; }
  .site-feedback-turnstile{ transform:scale(.9); transform-origin:left top; margin-bottom:-6px; }
}
@media (hover: none), (pointer: coarse){
  body{ cursor:auto; }
  #cur{ display:none; }
  .menu-btn, .nav-close, .stick, .accordion summary, .bt-item, .photo-tile, .gallery-item, .lightbox-close, form.contact-form button, .join-menu summary, .post-card-link, .site-feedback-tab, .site-feedback-close, .site-feedback-options label, .site-feedback-submit{ cursor:auto; }
}

/* Club stores reuse the program cards, with room for descriptive titles. */
.club-store-grid{ max-width:none !important; gap:32px; }
.club-store-card{ display:flex; flex-direction:column; align-items:flex-start; scroll-margin-top:32px; }
.club-store-card h2{ font-family:'Space Grotesk',sans-serif; font-size:clamp(24px,3vw,32px); line-height:1.15; margin:14px 0; }
.club-store-card p{ margin-bottom:24px; }
.club-store-card .go{ margin-top:auto; }
.club-store-card [aria-disabled="true"]{ opacity:.75; }


/* Men's schedule and match-day information. */
.schedule-note{ color:var(--muted); margin-bottom:32px; max-width:720px; }
.match-schedule-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.match-card,.match-panel{ background:linear-gradient(135deg,rgba(16,27,61,.8),rgba(16,27,61,.25)); border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:8px; padding:30px; min-width:0; }
.match-card{ display:flex; flex-direction:column; align-items:flex-start; }
.match-badge{ display:inline-block; padding:5px 10px; border-radius:4px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.match-badge-home{ background:var(--yellow); color:var(--black); }
.match-badge-away{ background:var(--blue); color:var(--black); }
.match-date{ margin-top:22px; font-size:14px; }
.match-kickoff{ display:block; font-weight:700; font-size:20px; color:var(--yellow); }
.match-card h2,.match-panel h2{ font-family:'Space Grotesk',sans-serif; font-size:28px; line-height:1.15; margin:18px 0; }
.match-versus{ color:var(--blue); }
.match-venue{ margin-bottom:24px; font-weight:600; }
.match-location{ display:block; color:var(--muted); font-size:14px; font-weight:400; }
.match-action{ display:inline-flex; align-items:center; gap:8px; padding:12px 16px; background:var(--yellow); color:var(--black); border-radius:4px; font-family:'Space Grotesk',sans-serif; font-weight:700; line-height:1.4; }
.match-card>.match-action{ margin-top:auto; }
.match-card>.match-action+.match-action{ margin-top:14px; }
.match-action:hover{ background:var(--blue); }
.match-pending{ color:var(--muted); font-size:14px; margin-top:18px; }
.match-detail-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.match-panel h2{ margin-top:0; margin-bottom:24px; }
.match-panel .sec-kicker{ display:block; margin-bottom:14px; }
.match-lineup{ grid-column:1/-1; }
.match-facts{ margin-top:24px; }
.match-facts>div{ margin-top:20px; }
.match-facts dt{ font-family:'JetBrains Mono',monospace; text-transform:uppercase; color:var(--blue); font-size:11px; margin-bottom:6px; }
.match-facts dd{ margin:0; }
.match-note{ font-size:13px; color:var(--muted); margin-top:20px; }
.match-formation{ color:var(--yellow); margin-bottom:24px; }
.starting-xi-list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; list-style:none; }
.starting-xi-list li{ display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--line); border-radius:6px; min-width:0; }
.lineup-number{ font-family:'Archivo Black',sans-serif; font-size:24px; color:var(--yellow); min-width:36px; }
.lineup-name{ display:block; font-weight:600; overflow-wrap:anywhere; }
.lineup-position{ display:block; font-size:12px; color:var(--muted); }
.lineup-captain{ display:inline-block; color:var(--blue); font-size:11px; text-transform:uppercase; }
@media(max-width:800px){ .starting-xi-list{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px){
  .match-schedule-grid,.match-detail-grid,.starting-xi-list{ grid-template-columns:1fr; }
  .match-card,.match-panel{ padding:24px 20px; }
  .match-card h2,.match-panel h2{ font-size:24px; }
}

/* Equal-sized opponent logos on white, without cropping or distortion. */
.match-logo-panel{ width:100%; height:160px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; padding:16px; margin-bottom:24px; background:#fff; border:1px solid #DCE3EE; border-radius:10px; }
.match-opponent-logo{ display:block; width:128px; height:128px; max-width:100%; object-fit:contain; }

/* Compact livestream above venue directions on match pages. */
.match-detail-grid{ align-items:start; }
.match-side-stack{ display:grid; gap:24px; min-width:0; }
.match-stream-panel{ padding:24px; }
.match-stream-panel h2{ margin-bottom:12px; }
.match-stream-panel .sec-kicker{ margin-bottom:10px; }
.match-stream-panel .match-pending{ margin-top:0; }
.match-map-panel h2{ margin-bottom:14px; }
.match-map-address{ margin-bottom:18px; font-weight:600; }
.match-map-frame{ display:block; width:100%; height:260px; border:0; border-radius:6px; background:#fff; margin-bottom:20px; }
@media(max-width:640px){ .match-stream-panel{ padding:20px; } }
