/* Pro Vision Academy, third design pass (Oct 2, 2026).
   Black is the base. White comes in as sheets (dates, forms). Gold is the accent.
   One type family, Staff, and nothing else: Staff Wide Black for headlines (kept compact), Staff Black for
   labels and buttons, Staff Medium for reading, Staff XX Condensed Black for big numbers only.
   Media is shown as it is: no logo-shaped frames. The header film runs the full width, at a shorter height.
   The custom feel comes from small PVA details: the icon beside labels, a big faint outline of the icon
   behind dark sections, hairlines, corner ticks, and film rolling quietly inside tiles.
   Colors come from variables, so a section flips to white by adding .lite.
   Spacing runs on one scale (--s1 to --s7). A label always sits a full --s3 above its headline.
   Check every change at 1440px and 390px wide. */
@font-face{font-family:"Staff Wide";src:url("/assets/staffwide-black.woff") format("woff");font-weight:900;font-display:swap}
@font-face{font-family:"Staff";src:url("/assets/staff-medium.woff") format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Staff";src:url("/assets/staff-black.woff") format("woff");font-weight:900;font-display:swap}
@font-face{font-family:"Staff Cond";src:url("/assets/staffxxcondensed-black.woff") format("woff");font-weight:900;font-display:swap}
:root{
  --gold:#B09C45;
  --bg:#000;--fg:#fff;--soft:#d6d6d2;--mut:#9c9c98;--line:rgba(255,255,255,.13);--line2:rgba(255,255,255,.3);--panel:#0b0b0b;--panel2:#151515;--acc:var(--gold);
  --wide:"Staff Wide","Arial Black",sans-serif;--staff:"Staff",Helvetica,Arial,sans-serif;--cond:"Staff Cond","Arial Narrow",sans-serif;
  --gut:clamp(20px,4.5vw,64px);--max:1240px;--r:6px;
  --s1:8px;--s2:16px;--s3:28px;--s4:40px;--s5:64px;--s6:clamp(56px,6vw,88px);--s7:clamp(80px,9vw,128px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
/* a white sheet inside the black site */
.lite{--bg:#fff;--fg:#000;--soft:#222;--mut:#5b5b58;--line:#dededa;--line2:#000;--panel:#f5f5f3;--panel2:#ecece9;--acc:#7a6b28}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:140px;background:#000}
body{margin:0;background:#000;color:#fff;font:500 17px/1.6 var(--staff);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-family:var(--wide);font-weight:900;text-transform:uppercase;line-height:1.02;letter-spacing:-.012em;text-wrap:balance}
h1{font-size:clamp(1.9rem,3.6vw,3.1rem)}
h2{font-size:clamp(1.4rem,2.4vw,2.05rem);line-height:1.05}
h3{font:900 1.1rem/1.25 var(--staff);text-transform:none;letter-spacing:0}
h4{font:900 .95rem/1.25 var(--staff);text-transform:none;letter-spacing:0}
p{margin:0 0 1em;text-wrap:pretty}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none!important}
::selection{background:var(--gold);color:#000}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:100%;max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:0 var(--gut);position:relative}
.narrow{max-width:calc(820px + var(--gut)*2)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:10px 14px;z-index:200}
.skip:focus{left:8px;top:8px}
section{padding:var(--s7) 0;position:relative;background:var(--bg);color:var(--fg);overflow:hidden}
section+section:not(.lite):not(.hero):not(.strip){border-top:1px solid var(--line)}
.lead{font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.5;max-width:34em;margin:0;color:var(--soft)}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* a label: the PVA icon, then a few words. It always gets a full --s3 of air before the headline. */
.tag{display:flex;align-items:center;gap:12px;font:900 .88rem/1 var(--staff);color:var(--acc)}
.tag::before{content:"";width:26px;height:14px;flex:none;background:currentColor;-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}

/* a big, faint outline of the icon behind a dark section */
.deco{position:absolute;right:-7%;top:50%;width:min(64vw,900px);max-width:none;transform:translateY(-50%);opacity:.11;pointer-events:none;z-index:0}
.deco.l{right:auto;left:-10%}
.deco.t{top:0;transform:translateY(-28%)}
.lite .deco{display:none}
/* corner ticks, like the registration marks in the brand guide */
.ticks-x{position:relative}
.ticks-x::before,.ticks-x::after{content:"";position:absolute;width:11px;height:11px;pointer-events:none;background:linear-gradient(var(--line2),var(--line2)) center/100% 1px no-repeat,linear-gradient(var(--line2),var(--line2)) center/1px 100% no-repeat}
.ticks-x::before{left:-5px;top:-5px}.ticks-x::after{right:-5px;bottom:-5px}

/* buttons: gold first, quiet outline second, a soft wipe on hover */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#000;border:0;border-radius:var(--r);padding:16px 24px;font:900 .92rem/1 var(--staff);text-decoration:none;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .25s,box-shadow .25s}
.btn::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .4s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn.line{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn.line::before{background:var(--fg)}
.btn.line:hover{color:var(--bg)}
.btn.sm{padding:12px 18px;font-size:.86rem}
.lite .btn:not(.line){background:#000;color:#fff}.lite .btn:not(.line)::before{background:var(--gold)}.lite .btn:not(.line):hover{color:#000}
.link{font:900 .92rem/1.3 var(--staff);text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) 0 100%/100% 2px no-repeat;padding:0 0 5px;border:0;cursor:pointer;color:inherit;transition:background-size .35s var(--ease)}
.link:hover{background-size:0 2px;background-position:100% 100%}
button.link{background-color:transparent}

/* preview-only markers */
.tbd{outline:1.5px dashed var(--gold);outline-offset:4px}
.tbd::before{content:attr(data-need);display:inline-block;font:500 .6rem/1 var(--staff);letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:#000;padding:4px 6px 3px;border-radius:2px;margin-right:8px;vertical-align:.12em;white-space:nowrap}
.tbd.solo::before{margin-right:0}
span.tbd:not(.pp):not(.media){display:inline-block;max-width:100%}
p.tbd::before,.bignums.tbd::before{display:table;margin:0 0 10px}
.bignums.tbd::before{grid-column:1/-1;justify-self:start}
.pp.tbd{position:relative}.pp.tbd::before{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);margin:0;z-index:1}
.cap.tbd::before{display:table;margin:0 0 8px}
.ex{font:900 .6rem/1 var(--staff);border:1px dashed var(--gold);color:var(--acc);padding:3px 5px;vertical-align:middle;white-space:nowrap;margin-left:6px;border-radius:3px}
.formnote{font:500 .9rem/1.45 var(--staff);color:var(--mut);padding:10px 12px;margin:20px 0}
.live .tbd,.live .ex{display:none}
.pflag{position:fixed;left:12px;bottom:12px;z-index:60;background:#000;color:#fff;font:500 .72rem/1.3 var(--staff);padding:7px 10px;border:1px dashed var(--gold);border-radius:var(--r);max-width:min(60vw,340px)}
.pflag b{color:var(--gold);margin-right:6px;font-weight:900}

/* media is shown as it is */
.media{display:block;position:relative;border-radius:var(--r);overflow:hidden;background:var(--panel2);aspect-ratio:16/10}
.media>img,.media>video,.media>.yt-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media.sq{aspect-ratio:1}.media.tall{aspect-ratio:4/5}.media.wide{aspect-ratio:16/9}
a.media img,.tile img:not(.tile-mark){transition:transform .9s var(--ease)}
.hub:hover .tile img:not(.tile-mark){transform:scale(1.04)}
a.media:hover img{transform:scale(1.04)}

.shots{display:grid;gap:14px;margin-top:var(--s5)}
.shots.n3{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}.shots.n2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.shots .media{aspect-ratio:auto;height:clamp(180px,22vw,300px)}
.shots .media img{transition:transform 1.6s var(--ease)}.shots .media:hover img{transform:scale(1.04)}
/* what they work on */
.focus{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2);position:relative;z-index:1}
.focus li{padding:var(--s3) 28px var(--s3) 0;border-bottom:1px solid var(--line);position:relative}
.focus li:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line)}
.focus li::before{content:"";display:block;width:26px;height:14px;margin-bottom:18px;background:var(--gold);-webkit-mask:url("/assets/mark-white.svg") left center/contain no-repeat;mask:url("/assets/mark-white.svg") left center/contain no-repeat;transition:transform .8s var(--ease)}
.focus li:hover::before{transform:translateX(8px)}
.focus h3{margin-bottom:10px;font-size:1.08rem}
.focus p{margin:0;font-size:.95rem;line-height:1.55;color:var(--mut)}
.chips{list-style:none;margin:0 0 var(--s4);padding:0;display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.chips li{font:900 .84rem/1 var(--staff);padding:11px 14px;border:1px solid var(--line2);border-radius:var(--r)}
.feature{position:relative;z-index:1;margin:0 0 var(--s4);padding:clamp(22px,2.6vw,34px);background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:0 var(--r) var(--r) 0;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(16px,4vw,56px);align-items:center}
.feature h3{font:900 clamp(1.15rem,1.8vw,1.5rem)/1.1 var(--wide);text-transform:uppercase;letter-spacing:-.01em;margin:0}
.feature p{margin:0;color:var(--soft)}
.beyond{position:relative;z-index:1;margin-top:var(--s4);display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.beyond span{font:900 .8rem/1 var(--staff);color:var(--gold)}
.beyond ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}
.beyond li{font:900 clamp(1rem,1.5vw,1.25rem)/1 var(--wide);text-transform:uppercase;letter-spacing:-.01em}
.msg.typing{display:flex;gap:5px;align-items:center;min-height:20px}
.msg.typing i{width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.35;animation:dot 1.2s infinite}
.msg.typing i:nth-child(2){animation-delay:.2s}.msg.typing i:nth-child(3){animation-delay:.4s}
@keyframes dot{40%{opacity:1;transform:translateY(-2px)}}
/* 404 */
.nf{padding:0;min-height:100vh;min-height:100svh;display:flex;align-items:center}
.nf-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.nf::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.6) 45%,rgba(0,0,0,.45) 100%)}
.nf-in{z-index:2;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,5vw,80px);align-items:end;padding-top:calc(var(--s6) + 72px);padding-bottom:var(--s6)}
.nf-num{font:900 clamp(6rem,16vw,12rem)/.8 var(--cond);color:var(--gold);margin:0 0 var(--s3);letter-spacing:.01em}
.nf h1{margin-bottom:var(--s2)}
.nf .row{margin-top:var(--s3)}
.nf-help{margin:var(--s4) 0 0;color:var(--mut);font-size:.95rem}
.nf-help a{color:#fff}
.nf-go{padding-right:0}
/* ---------- header ---------- */
header.top{position:fixed;left:0;right:0;top:0;z-index:50}
/* the bar lays over the header picture: a soft fade keeps the logo and links readable. It only gets a backing once you scroll or open the menu */
header.top::before{content:"";position:absolute;inset:0 0 -64px;background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.42) 52%,rgba(0,0,0,0));pointer-events:none;transition:opacity .7s var(--ease)}
header.top::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .7s var(--ease),background .7s var(--ease)}
header.top.stuck::after,header.top.mega-open::after{opacity:1}header.top.mega-open::after{background:#060606}
header.top.stuck::before,header.top.mega-open::before{opacity:0}
.top-in{display:flex;align-items:center;gap:36px;height:72px;position:relative;z-index:3}
.logo{display:flex;align-items:center;flex:none}
.logo-long{height:14px;width:auto}
.logo-mark{display:none;height:26px;width:auto;transition:transform .8s var(--ease)}
.logo:hover .logo-mark{transform:rotate(180deg)}
.nav{display:flex;gap:30px;margin-left:auto;align-items:center}
.nav a.n,.drop-t{font:900 .88rem/1 var(--staff);text-decoration:none;padding:12px 0;position:relative;background:none;border:0;color:#f1f1ee;transition:color .4s}
.nav a.n:hover,.nav a.n[aria-current]{color:#fff}
.nav a.n::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.nav a.n:hover::after,.nav a.n[aria-current]::after{transform:scaleX(1)}
.drop-t{width:22px;height:40px;padding:0;display:grid;place-items:center;margin-left:-14px}
.drop-t::before{content:"";width:7px;height:7px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:translateY(-4.5px) rotate(45deg);transition:transform .7s var(--ease)}
.mega-open .drop-t::before{transform:translateY(-.5px) rotate(225deg)}
/* the full menu */
.mega{position:absolute;top:100%;left:0;right:0;z-index:2;background:#060606;border-bottom:1px solid var(--line);box-shadow:0 40px 80px rgba(0,0,0,.55);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .75s var(--ease),visibility 0s .75s}
.mega-open .mega{clip-path:inset(0 0 -120px 0);visibility:visible;transition:clip-path .85s var(--ease),visibility 0s}
.mega-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.25fr);gap:0 36px;padding-top:var(--s4);padding-bottom:var(--s4)}
.mega-in>*{opacity:0;transform:translateY(-14px);transition:opacity .5s var(--ease),transform .7s var(--ease)}
.mega-open .mega-in>*{opacity:1;transform:none;transition:opacity .8s var(--ease) .18s,transform .9s var(--ease) .18s}
.mega-open .mega-in>:nth-child(2){transition-delay:.26s}.mega-open .mega-in>:nth-child(3){transition-delay:.34s}.mega-open .mega-in>:nth-child(4){transition-delay:.42s}.mega-open .mega-in>:nth-child(5){transition-delay:.5s}
.m-col+.m-col{padding-left:36px;border-left:1px solid var(--line)}
.mega a{display:block;text-decoration:none}
.mega .d-head,.mega .m-h{font:900 .98rem/1.15 var(--wide);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:8px;display:flex;gap:10px;align-items:center;min-height:2.3em}
.mega .m-h{color:var(--gold);font:900 .8rem/1.15 var(--staff);letter-spacing:.08em;margin-bottom:calc(8px + 1.25em + 16px)}
.mega .d-head::before{content:"";width:22px;height:12px;flex:none;background:var(--gold);-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}
.mega .d-sub{font:500 .88rem/1.25 var(--staff);color:var(--mut);margin:0 0 16px}
.mega .d-link{font:900 .95rem/1.2 var(--staff);padding:12px 0;border-top:1px solid var(--line);color:#e9e9e6;transition:padding .6s var(--ease),color .4s}
.mega .d-link:hover,.mega .d-head:hover{color:var(--gold)}.mega .d-link:hover{padding-left:10px}
.m-feat{position:relative;border-radius:var(--r);overflow:hidden;min-height:220px;background:#111}
.m-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform 1.4s var(--ease),opacity .7s}
.m-feat:hover img{transform:scale(1.05);opacity:.9}
.m-feat span{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 18px;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,0))}
.m-feat b{display:block;font:900 1rem/1.15 var(--wide);text-transform:uppercase;letter-spacing:-.01em}
.m-feat i{display:block;font:900 .82rem/1 var(--staff);font-style:normal;color:var(--gold);margin-top:8px}
.progress{position:absolute;z-index:4;left:0;top:71px;opacity:0;transition:opacity .6s;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.stuck .progress{opacity:1}
.burger{display:none;background:none;border:0;width:44px;height:44px;padding:11px 9px;flex-direction:column;justify-content:center;gap:7px}
.burger i{display:block;height:2px;background:#fff;transition:transform .3s var(--ease)}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}

/* ---------- home header: the film across the full width, at a shorter height, with fine overlays ---------- */
.hero{padding:0;height:clamp(500px,64vh,640px);display:flex}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.55) 30%,rgba(0,0,0,.3) 62%,rgba(0,0,0,.3) 100%)}
.hero-in{z-index:2;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,5vw,80px);align-items:end;padding-top:var(--s4);padding-bottom:var(--s4);
  background:linear-gradient(var(--line),var(--line)) calc(var(--gut)) 0/1px 100% no-repeat,linear-gradient(var(--line),var(--line)) calc(100% - var(--gut)) 0/1px 100% no-repeat}
.hero-txt{padding-left:clamp(16px,2.4vw,36px)}
.where{font:900 .82rem/1 var(--staff);margin:0 0 var(--s3);display:flex;align-items:center;gap:12px;color:var(--gold)}
.where img{height:13px;width:auto}
.where span{color:#fff}
.hero h1 span{display:block}
.hero .lead{margin:20px 0 var(--s3);color:#f0f0ee}
.hero-go{list-style:none;margin:0;padding:0 clamp(16px,2.4vw,36px) 0 0;border-top:1px solid var(--line2)}
.hero-go a{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .35s var(--ease)}
.hero-go b{font:900 .95rem/1.2 var(--staff)}
.hero-go span{grid-column:1;font-size:.82rem;line-height:1.3;color:#d0d0cc}
.hero-go i{grid-column:2;grid-row:1/span 2;width:22px;height:2px;background:var(--gold);transition:width .35s var(--ease)}
.hero-go a:hover{padding-left:10px}.hero-go a:hover i{width:38px}
.hero-side{position:absolute;right:calc(var(--gut) - 30px);top:50%;z-index:2;font:900 .68rem/1 var(--staff);letter-spacing:.14em;color:rgba(255,255,255,.55);writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);white-space:nowrap}
.strip{padding:0;border-bottom:1px solid var(--line)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr) auto}
.steps li{display:flex;align-items:center;gap:14px;padding:20px 24px 20px 0;font:900 .92rem/1.2 var(--staff)}
.steps li+li{padding-left:24px;border-left:1px solid var(--line)}
.steps b{font:900 2rem/.8 var(--cond);color:var(--gold)}
.steps .note{font:500 .88rem/1.3 var(--staff);color:var(--mut)}

/* section openers */
.open{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(20px,5vw,80px);align-items:end;margin-bottom:var(--s5);position:relative;z-index:1}
.open p:not(.tag){margin:0;color:var(--mut);max-width:30em}
.open.one{display:block}.open.one p:not(.tag){margin-top:var(--s2)}
.open .link{justify-self:end}

/* ---------- the two paths: tiles with film rolling quietly inside ---------- */
.hubs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,2.4vw,32px);position:relative;z-index:1}
.hub{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .3s}
.hub:hover{border-color:var(--line2)}
.tile{position:relative;display:block;aspect-ratio:16/8;overflow:hidden;background:#111}
.tile img:not(.tile-mark),.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
[data-loop]{opacity:0;transition:opacity .9s}
[data-loop].on{opacity:1}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--panel) 2%,rgba(11,11,11,.55) 28%,rgba(11,11,11,0) 62%)}
.tile-mark{position:absolute;left:20px;top:18px;z-index:2;height:16px;width:auto;opacity:.9}
.hub-in{padding:0 clamp(20px,2.4vw,32px) clamp(22px,2.4vw,32px);display:flex;flex-direction:column;flex:1;margin-top:-34px;position:relative;z-index:1}
.hub-for{font:900 .82rem/1.3 var(--staff);color:var(--gold);margin:0 0 12px}
.hub h3{font:900 clamp(1.35rem,2.2vw,1.8rem)/1.02 var(--wide);text-transform:uppercase;letter-spacing:-.012em;margin-bottom:14px}
.hub h3 a{text-decoration:none}
.hub-in>p{color:var(--soft);max-width:32em;margin-bottom:var(--s3);font-size:.98rem}
.hub-list{list-style:none;margin:0 0 var(--s3);padding:0;border-top:1px solid var(--line2)}
.hub-list a{display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .35s var(--ease)}
.hub-list a:hover{padding-left:10px}
.hub-list b{font:900 1rem/1.2 var(--staff)}
.hub-list span{grid-column:1;color:var(--mut);font-size:.88rem;line-height:1.35}
.hub-list em{grid-column:2;grid-row:1/span 2;width:22px;height:2px;background:var(--gold);transition:width .35s var(--ease)}
.hub-list a:hover em{width:38px}
.hub-list .plain{display:block;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);color:var(--soft);font-size:.95rem;line-height:1.35;position:relative}
.hub-list .plain::before{content:"";position:absolute;left:0;top:19px;width:22px;height:12px;background:var(--gold);-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}
.hub .row{margin-top:auto}
.help{margin:var(--s4) 0 0;color:var(--mut);position:relative;z-index:1}

/* a program, presented (Football Training page) */
.plist{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,32px);position:relative;z-index:1}
.pitem{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .3s}
.pitem:hover{border-color:var(--line2)}
.pitem .media{border-radius:0;aspect-ratio:16/8}
.pitem-in{padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;flex:1}
.pitem h3{font:900 clamp(1.25rem,2vw,1.6rem)/1.02 var(--wide);text-transform:uppercase;letter-spacing:-.012em;margin-bottom:14px}
.aka{font:900 .82rem/1 var(--staff);color:var(--gold);margin:0 0 12px}
.pitem p{margin:0 0 12px;color:var(--soft);font-size:.98rem}
.pitem .runs{color:var(--mut);font-size:.9rem;margin-bottom:var(--s3)}
.pitem .row{margin-top:auto}

/* two columns */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:center;position:relative;z-index:1}
.split.flip>:first-child{order:2}
.split.top{align-items:start}
.txt h2{margin-bottom:var(--s3)}
.txt p:not(.tag){max-width:33em;color:var(--soft)}
.txt .row,.txt>.link{margin-top:var(--s2)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.6vw,34px)}
.panel h3{margin-bottom:var(--s2)}
.ticks,.nums{list-style:none;margin:0;padding:0}
.ticks li{padding:14px 0 14px 38px;position:relative;border-top:1px solid var(--line);line-height:1.4;font-size:.98rem}
.ticks li::before{content:"";position:absolute;left:0;top:19px;width:24px;height:13px;background:var(--gold);-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}
.nums{counter-reset:n}
.nums li{counter-increment:n;padding:15px 0 15px 50px;position:relative;border-top:1px solid var(--line);line-height:1.45;font-size:.98rem}
.nums li::before{content:counter(n);position:absolute;left:0;top:10px;font:900 2rem/1 var(--cond);color:var(--gold)}
.startnote{margin-top:var(--s3);padding:16px 18px;background:var(--panel);border-left:2px solid var(--gold);border-radius:0 var(--r) var(--r) 0;font-size:.95rem;max-width:33em}

/* video: plays in the page on click */
.yt{display:block;text-decoration:none;color:inherit;position:relative;z-index:1}
.yt .media{aspect-ratio:16/9;border:1px solid var(--line)}
.yt-frame img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .9s var(--ease),opacity .3s}
.yt:hover .yt-frame img{transform:scale(1.04);opacity:.65}
.yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.play{position:absolute;left:22px;bottom:22px;z-index:2;display:flex;align-items:center;gap:12px;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line2);border-radius:999px;padding:10px 18px 10px 12px;font:900 .84rem/1 var(--staff);color:#fff;transition:background .3s,color .3s,border-color .3s}
.play::before{content:"";width:28px;height:28px;border-radius:50%;background:var(--gold);flex:none;transition:background .3s}
.play::after{content:"";position:absolute;left:23px;top:50%;margin-top:-6px;border-left:9px solid #000;border-top:6px solid transparent;border-bottom:6px solid transparent}
.yt:hover .play{background:var(--gold);color:#000;border-color:var(--gold)}
.yt:hover .play::before{background:#fff}
.yt-title{display:block;margin-top:14px;font:500 .9rem/1.3 var(--staff);color:var(--mut)}
.yt.playing .play{display:none}

/* no athlete is turned away: a gold panel, set into the page */
.promise{padding:var(--s6) 0}
.promise.tight{padding:var(--s5) 0}
.gold{background:var(--gold);color:#000;border-radius:var(--r);padding:clamp(28px,4.4vw,60px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,5vw,72px);align-items:end;position:relative;overflow:hidden;--acc:#000;--mut:#2a2508}
.gold::after{content:"";position:absolute;right:-60px;top:50%;width:420px;height:224px;transform:translateY(-50%);background:#000;opacity:.09;-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}
.gold>*{position:relative;z-index:1}
.gold h2{font-size:clamp(1.5rem,3vw,2.5rem);margin-bottom:var(--s2)}
.gold p:not(.tag){margin:0;max-width:36em}
.gold-go{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.gold-go span{font-size:.88rem;line-height:1.4;max-width:20em}
.gold .btn{background:#000;color:#fff}.gold .btn:hover{color:#000}

/* sessions: one row is one thing you can enroll in */
.sessions{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2);position:relative;z-index:1}
.sess{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),background .3s}
.sess:hover{background:var(--panel);padding-left:14px;padding-right:14px}
.sess-a small{display:block;font:900 .8rem/1 var(--staff);color:var(--acc);margin-bottom:10px}
.sess-a b{display:block;font:900 1.2rem/1.15 var(--staff);margin-bottom:6px}
.sess-a>span{display:block;font-size:.95rem;line-height:1.4;color:var(--mut)}
.sess-a>span:first-of-type{color:var(--soft)}
.sess.soon .sess-a b{color:var(--mut)}
.sess-b{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.spots{font-size:.92rem;color:var(--mut);display:flex;align-items:center;gap:12px}
.spots i{width:64px;height:3px;background:var(--line);position:relative;flex:none;border-radius:2px;overflow:hidden}
.spots i::after{content:"";position:absolute;inset:0;background:var(--fg);transform-origin:left;transform:scaleX(var(--f,0))}
.spots.low{color:var(--fg);font-weight:900}.spots.low i::after{background:var(--gold)}
.cost{font:900 1rem/1.2 var(--staff)}
.upon{margin:var(--s3) 0 0;color:var(--mut);font-size:.92rem;position:relative;z-index:1}

/* family stories */
.stories{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,6vw,96px);align-items:start;position:relative;z-index:1}
.quotes{display:grid;gap:0;border-top:1px solid var(--line2)}
.quotes figure{margin:0;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
blockquote{margin:0 0 14px;font-size:1.02rem;line-height:1.55;color:var(--soft)}
figcaption{font:900 .86rem/1.3 var(--staff);color:var(--acc)}
.tq{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.tq figure{margin:0;padding:clamp(22px,2.4vw,30px);background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.tq figcaption{display:flex;flex-direction:column;gap:4px}
.tq figcaption b{color:var(--fg)}

/* alumni band on a program page */
.alum-band{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start;position:relative;z-index:1}
.alum-band h2{margin-bottom:var(--s3)}
.alum-band p:not(.tag){color:var(--mut);max-width:26em}
.alum-mini{list-style:none;margin:0;padding:0;columns:2;column-gap:40px;border-top:1px solid var(--line2)}
.alum-mini li{padding:13px 0;border-bottom:1px solid var(--line);break-inside:avoid;display:flex;justify-content:space-between;gap:14px;font-size:.95rem}
.alum-mini b{font-weight:900}.alum-mini span{color:var(--mut);text-align:right}

/* closing band */
.cta{padding:var(--s7) 0}
.cta-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,5vw,80px);align-items:end;z-index:1}
.cta h2{font-size:clamp(1.5rem,3vw,2.5rem)}
.cta p{margin:0 0 var(--s3);color:var(--mut);max-width:26em}

/* inside-page opener: a shorter band, with the photo quiet behind it */
.phero{padding:0;border-bottom:1px solid var(--line)}
.phero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.phero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.6) 45%,rgba(0,0,0,.4) 100%)}
.phero-in{z-index:2;padding-top:calc(var(--s5) + 72px);padding-bottom:var(--s5);background:linear-gradient(var(--line),var(--line)) calc(var(--gut)) 0/1px 100% no-repeat}
.phero-txt{padding-left:clamp(16px,2.4vw,36px);max-width:760px}
.phero h1{margin-bottom:var(--s2)}
.phero .row{margin-top:var(--s3)}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font:900 .8rem/1 var(--staff);margin-bottom:var(--s3);color:var(--mut)}
.crumbs a{text-decoration:none;color:#fff}.crumbs a:hover{color:var(--gold)}
.crumbs i{font-style:normal;color:var(--gold)}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:var(--s4) 0 0;padding:0;border-top:1px solid var(--line2)}
.facts li{padding:16px 28px 0 0;margin-right:28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.facts li:last-child{border:0;margin:0;padding-right:0}
.facts small{font:900 .8rem/1 var(--staff);color:var(--gold)}
.facts b{font:500 .98rem/1.35 var(--staff)}
.statline{display:flex;gap:var(--s4);margin:var(--s3) 0 0;font:900 .92rem/1.2 var(--staff);align-items:flex-end}
.statline b{font:900 3rem/.8 var(--cond);color:var(--gold);margin-right:10px}
.phero .steps{margin-top:var(--s4);border-top:1px solid var(--line2)}

/* on a program page: a slim bar that follows you, so the next step is always one tap away */
.subnav{position:sticky;top:72px;z-index:40;background:rgba(0,0,0,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;align-items:center;gap:26px;height:54px;overflow-x:auto}
.subnav b{font:900 .88rem/1 var(--staff);color:var(--gold);white-space:nowrap;display:flex;gap:10px;align-items:center}
.subnav b::before{content:"";width:22px;height:12px;background:var(--gold);-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}
.subnav a:not(.btn){font:500 .88rem/1 var(--staff);text-decoration:none;color:#d0d0cc;white-space:nowrap;transition:color .2s}
.subnav a:not(.btn):hover{color:#fff}
.subnav .btn{margin-left:auto;padding:10px 16px;font-size:.82rem}

/* people */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s4) clamp(16px,2vw,28px);position:relative;z-index:1}
.person .pp{display:block;aspect-ratio:4/5;background:var(--panel2);overflow:hidden;margin-bottom:16px;position:relative;border-radius:var(--r)}
.person .pp img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform .9s var(--ease),filter .5s}
.person:hover .pp img{transform:scale(1.04);filter:none}
.pp.none{display:grid;place-items:center;border:1px solid var(--line)}
.pp.none b{font:900 4.4rem/1 var(--cond);color:var(--line2)}
.person h3{margin-bottom:6px;font-size:1.02rem}
.role{font:500 .88rem/1.4 var(--staff);color:var(--mut);margin:0 0 10px}
.mail{font-size:.84rem;color:var(--mut)}
.person details{font-size:.9rem;line-height:1.5}
.person summary{cursor:pointer;font:900 .84rem/1 var(--staff);list-style:none;color:var(--acc)}
.person summary::after{content:" +"}.person details[open] summary::after{content:" −"}
.person details p{margin:12px 0 0;color:var(--soft)}
.sub{margin-top:var(--s6)}
.board{list-style:none;margin:0;padding:0;columns:2;column-gap:48px;max-width:680px;border-top:1px solid var(--line2)}
.board li{padding:16px 0;border-bottom:1px solid var(--line);font:900 .98rem/1.2 var(--staff);break-inside:avoid}

/* questions */
.faq{border-top:1px solid var(--line2);position:relative;z-index:1}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 48px 22px 0;position:relative;font:900 1.02rem/1.3 var(--staff);transition:color .2s}
.faq summary:hover{color:var(--acc)}
.faq summary::-webkit-details-marker,.person summary::-webkit-details-marker,.more summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:14px;height:2px;background:var(--gold);transition:transform .35s var(--ease)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}
.faq p{margin:0 0 var(--s3);max-width:42em;color:var(--soft)}

/* kicking alumni wall */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2);margin-bottom:var(--s5);position:relative;z-index:1}
.stats div{padding:var(--s3) 20px 0 0;display:flex;flex-direction:column;gap:12px}
.stats div+div{padding-left:24px;border-left:1px solid var(--line)}
.stats b{font:900 clamp(3rem,5.4vw,4.6rem)/.8 var(--cond);color:var(--gold)}
.stats span{font:500 .92rem/1.35 var(--staff);color:var(--soft);max-width:12em}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s3);position:relative;z-index:1}
.pills button{background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--soft);padding:10px 16px;font:900 .88rem/1 var(--staff);display:flex;gap:8px;align-items:baseline;transition:color .2s,background .25s,border-color .25s}
.pills button i{font:900 1rem/1 var(--cond);font-style:normal;opacity:.7}
.pills button[aria-selected=true]{background:var(--gold);border-color:var(--gold);color:#000}
.pills button:hover:not([aria-selected=true]){border-color:var(--gold);color:var(--fg)}
.schools{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.school{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.school h4{font:900 .98rem/1.1 var(--wide);text-transform:uppercase;margin-bottom:16px}
.school ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.school li{display:flex;justify-content:space-between;gap:12px;font-size:.95rem;line-height:1.3;color:var(--soft)}
.school li b{font:900 1.05rem/1.2 var(--cond);color:var(--gold);letter-spacing:.04em}
.school small{color:var(--mut);font-size:.8rem;display:block;margin-top:2px}
.pane-note{color:var(--mut);max-width:44em}
.tabpane{animation:pane .4s var(--ease)}
@keyframes pane{from{opacity:0;transform:translateY(8px)}}
.alum-tools{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-bottom:var(--s3)}
.alum-tools input{flex:1;min-width:240px}
.alum-tools .pills{margin:0}
.alum-count{font:900 .88rem/1 var(--staff);color:var(--acc);margin-bottom:var(--s2)}
.alum-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 32px;border-top:1px solid var(--line2)}
.alum-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.alum-list b{font-weight:900}.alum-list span{font-size:.92rem;color:var(--soft)}.alum-list small{font-size:.82rem;color:var(--mut)}

.path3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,28px);position:relative;z-index:1}
.path3 figure{margin:0}
.path3 figcaption{margin-top:14px;color:var(--fg);font:900 .98rem/1.2 var(--staff)}
.cap{display:inline-block;margin-top:var(--s2);font-size:.86rem;color:var(--mut);padding:6px 8px}
.coach .media img{filter:grayscale(1)}

/* camps */
.camps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.camp{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.camp .media{border-radius:0;aspect-ratio:16/9}
.camp-in{padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;flex:1}
.camp-date{font:900 .86rem/1.3 var(--staff);color:var(--acc);margin:0 0 10px}
.camp h3{font:900 1.25rem/1.02 var(--wide);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:10px}
.camp-in>p{color:var(--soft);font-size:.95rem}
.camp dl{margin:6px 0 var(--s3);display:grid}
.camp dl div{display:grid;grid-template-columns:60px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:.92rem}
.camp dt{font:900 .84rem/1.5 var(--staff);color:var(--mut)}
.camp dd{margin:0}
.camp-go{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px}

/* forms */
.form{display:grid;gap:18px}
.form h2{font-size:1.4rem;margin-bottom:8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:flex;flex-direction:column;gap:9px;font:900 .86rem/1.2 var(--staff)}
label small{font-weight:500;color:var(--mut)}
input,select,textarea{font:500 1rem/1.3 var(--staff);padding:14px;border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);color:var(--fg);width:100%;transition:border-color .2s,box-shadow .2s}
.lite input,.lite select,.lite textarea,.sheet input,.sheet select,.sheet textarea{border-color:#c9c9c5}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,156,69,.28)}
.bad{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(176,156,69,.28)}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.form-err{margin:0;font:900 .9rem/1.4 var(--staff);min-height:1em}
.form .btn{justify-self:start}
.sentbox{background:#000;color:#fff;padding:var(--s4);border-radius:var(--r);border:1px solid var(--gold)}
.sentbox h3{font:900 1.4rem/1 var(--wide);text-transform:uppercase;margin-bottom:var(--s2)}
.sentbox p{color:#ddd}
.contact{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);align-items:start}
.ways{display:grid;border-top:1px solid var(--line2)}
.way{display:flex;justify-content:space-between;align-items:baseline;gap:16px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:20px 0;text-decoration:none;transition:padding .35s var(--ease),color .2s}
.way:hover{padding-left:12px;color:var(--acc)}
.way b{font:900 1.05rem/1.2 var(--staff)}
.way span{font-size:.92rem;color:var(--mut);text-align:right}
.addr{margin:var(--s3) 0 0;padding:6px;line-height:1.5;color:var(--soft)}

/* enroll page */
.yblock{margin-bottom:var(--s6)}
.yblock-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:var(--s3);flex-wrap:wrap}
.yblock-h small{font:900 .84rem/1 var(--staff);color:var(--acc)}
.yblock-h h2{font-size:clamp(1.25rem,2.2vw,1.7rem);margin:12px 0 8px}
.yblock-h p{margin:0;color:var(--mut)}

/* about */
.impact{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line2);position:relative;z-index:1}
.impact li{padding:var(--s3) 18px 0 0}
.impact li+li{padding-left:20px;border-left:1px solid var(--line)}
.impact b{font:900 clamp(3.4rem,6vw,5.2rem)/.8 var(--cond);color:var(--gold);display:block;margin-bottom:var(--s3);transition:transform .45s var(--ease)}
.impact li:hover b{transform:translateY(-6px)}
.impact h3{margin-bottom:10px}
.impact p{margin:0;font-size:.92rem;line-height:1.5;color:var(--mut)}
.impact-vid{max-width:620px}
.bignums{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.bignums li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--s3);padding:18px 0;border-bottom:1px solid var(--line)}
.bignums b{font:900 3rem/.8 var(--cond);color:var(--gold);min-width:2.4em}
.bignums span{line-height:1.4;color:var(--soft)}

/* footer */
.foot{padding:var(--s6) 0 0;border-top:1px solid var(--line);position:relative;overflow:hidden;background:#000}
.foot-in{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.4fr));gap:40px;z-index:1}
.foot-brand img{width:132px;height:auto;margin-bottom:var(--s3)}
.foot-brand p{color:#fff;font:900 .98rem/1.3 var(--staff);max-width:14em}
.foot h4{color:var(--gold);margin-bottom:18px}
.foot a{display:block;text-decoration:none;padding:6px 0;color:#dcdcd8;font-size:.95rem;transition:color .2s,transform .35s var(--ease)}
.foot-in a:hover{color:var(--gold);transform:translateX(4px)}
.foot a.sub-l{padding-left:14px;color:var(--mut)}
.foot p{color:var(--mut);margin:8px 0;font-size:.95rem;line-height:1.5}
.soc{display:flex;gap:18px;flex-wrap:wrap}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:var(--s5);padding-top:22px;padding-bottom:30px;border-top:1px solid var(--line);font-size:.84rem;color:var(--mut);z-index:1}
.legal a{display:inline;padding:0;font-size:inherit;color:#dcdcd8}

/* the enroll and talk windows: a white sheet */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .25s}
.sheet{--bg:#fff;--fg:#000;--soft:#222;--mut:#5b5b58;--line:#dededa;--line2:#000;--panel:#f5f5f3;--acc:#7a6b28;background:#fff;color:#000;width:min(620px,100%);max-height:min(92vh,880px);overflow:auto;border-radius:10px;animation:rise .4s var(--ease);position:relative;border-top:3px solid var(--gold)}
.sheet-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:32px 32px 0}
.sheet-h h2{font-size:1.35rem;display:flex;gap:12px;align-items:center}
.sheet-h h2::before{content:"";width:30px;height:16px;flex:none;background:var(--gold);-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}
.sheet-h p{margin:12px 0 0;color:var(--mut);font-size:.95rem;line-height:1.4}
.x{background:none;border:0;width:40px;height:40px;flex:none;margin:-10px -12px 0 0;position:relative}
.x::before,.x::after{content:"";position:absolute;left:10px;right:10px;top:19px;height:2px;background:currentColor;transform:rotate(45deg);transition:transform .35s var(--ease)}
.x::after{transform:rotate(-45deg)}.x:hover::before{transform:rotate(135deg)}.x:hover::after{transform:rotate(45deg)}
.dots{display:flex;gap:6px;padding:22px 32px 0}
.dots i{height:3px;flex:1;background:var(--line);border-radius:2px}.dots i.on{background:var(--gold)}
.sheet-b{padding:24px 32px 32px;display:grid;gap:18px}
.sheet .btn{background:#000;color:#fff}.sheet .btn::before{background:var(--gold)}.sheet .btn:hover{color:#000}
.pick{display:grid;border-top:1px solid #000}
.pick button{display:grid;grid-template-columns:1fr auto;gap:5px 14px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:16px 0;transition:padding .3s var(--ease),background .2s}
.pick button:hover{padding-left:12px;padding-right:12px;background:var(--panel)}
.pick b{font:900 1.02rem/1.15 var(--staff)}
.pick span{font-size:.9rem;color:var(--mut);grid-column:1}
.pick em{grid-column:2;grid-row:1/span 2;align-self:center;font:900 .84rem/1.2 var(--staff);font-style:normal;color:var(--acc);text-align:right}
.pick-k{font:900 .9rem/1 var(--wide);text-transform:uppercase;margin:14px 0 0}
.chosen{background:#000;color:#fff;padding:16px 18px;border-radius:var(--r);display:flex;justify-content:space-between;gap:12px;align-items:center}
.chosen b{font:900 1rem/1.2 var(--staff);display:block;margin-bottom:5px}
.chosen span{font-size:.9rem;color:#cfcfcb}
.pay-note{font-size:.85rem;color:var(--muted,#6b6b66);margin:14px 0 0;line-height:1.5}.pay-note b{color:inherit}
.chosen button{background:none;border:0;color:var(--gold);font:900 .86rem/1 var(--staff);white-space:nowrap}
.sheet h3.grp{font:900 .86rem/1 var(--staff);color:var(--acc);margin-top:6px}
.more summary{cursor:pointer;font:900 .9rem/1.2 var(--staff);padding:6px 0;list-style:none}
.more summary::before{content:"+ ";color:var(--acc)}.more[open] summary::before{content:"− "}
.more[open] summary{margin-bottom:16px}
.more>div{display:grid;gap:18px}
.check{flex-direction:row;align-items:flex-start;gap:12px;font:500 .98rem/1.4 var(--staff)}
.check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:#000}
.check b{font-weight:900}
.sheet-f{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.back{background:none;border:0;font:900 .9rem/1 var(--staff);color:var(--mut);text-decoration:none;padding:0}
.back:hover{color:var(--fg)}
.sum{margin:0;display:grid;border-top:1px solid #000}
.sum div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.sum dt{font:900 .84rem/1.6 var(--staff);color:var(--mut)}
.sum dd{margin:0}
.done{display:grid;gap:14px;justify-items:start;padding-bottom:4px}
.done h2{font-size:1.8rem}
.done p{margin:0;max-width:30em;color:#222}
.okmark{width:56px;height:56px;border-radius:50%;background:#000;display:grid;place-items:center;animation:pop .5s var(--ease) .1s both;margin-bottom:6px}
.okmark::after{content:"";width:18px;height:9px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);transform:rotate(-45deg) translate(2px,-2px)}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.demo-note{font-size:.84rem;line-height:1.4;color:var(--mut);border:1px dashed var(--gold);border-radius:var(--r);padding:8px 10px;margin:0}
/* enroll success: a black confirmation band over a quiet receipt */
.ok-top{position:relative;overflow:hidden;background:#000;color:#fff;padding:40px 32px 34px;display:grid;gap:14px;animation:rise .5s var(--ease)}
.ok-top::after{content:"";position:absolute;right:-70px;top:50%;width:280px;height:280px;transform:translateY(-50%);background:url("/assets/mark-outline.svg") center/contain no-repeat;opacity:.13;pointer-events:none}
.ok-top>*{position:relative;z-index:1}
.ok-top .x{position:absolute;z-index:2;top:22px;right:22px;margin:0;color:#fff}
.ok-label{margin:0;display:flex;align-items:center;gap:12px;font:500 .72rem/1 var(--staff);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.ok-label::before{content:"";width:26px;height:14px;flex:none;background:var(--gold);-webkit-mask:url("/assets/mark-white.svg") center/contain no-repeat;mask:url("/assets/mark-white.svg") center/contain no-repeat}
.ok-top h2{font-size:2.3rem;line-height:1}
.ok-top h2 em{font-style:normal;color:var(--gold)}
.ok-thanks{margin:0;max-width:28em;color:rgba(255,255,255,.78);font-size:.98rem;line-height:1.5}
.ok-body{gap:26px;padding-top:28px}
.ok-rows{margin:0;display:grid}
.ok-rows div{display:grid;grid-template-columns:8.5em 1fr;gap:16px;padding:13px 0;border-top:1px solid var(--line);animation:rise .5s var(--ease) both}
.ok-rows div:last-child{border-bottom:1px solid var(--line)}
.ok-rows div:nth-child(2){animation-delay:.05s}.ok-rows div:nth-child(3){animation-delay:.1s}.ok-rows div:nth-child(4){animation-delay:.15s}.ok-rows div:nth-child(5){animation-delay:.2s}.ok-rows div:nth-child(6){animation-delay:.25s}
.ok-rows dt{font:500 .7rem/1.9 var(--staff);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.ok-rows dd{margin:0;font-size:.98rem;line-height:1.45;color:#000;overflow-wrap:anywhere}
.ok-next{display:grid;gap:6px}
.ok-next span{font:500 .7rem/1 var(--staff);letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.ok-next p{margin:0;font-size:.95rem;line-height:1.5;color:#222;max-width:32em}
.ok-act{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.ok-body .demo-note{border:0;padding:14px 0 0;border-top:1px solid var(--line);border-radius:0;font-size:.78rem}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}
.days button,.slots button{background:var(--panel);border:0;border-radius:var(--r);padding:11px 13px;font:900 .9rem/1.2 var(--staff);white-space:nowrap;transition:background .2s,color .2s}
.days button small{display:block;font:500 .76rem/1 var(--staff);color:var(--mut);margin-bottom:6px}
.days button:hover,.slots button:hover{background:#e4e4e0}
.days button[aria-pressed=true],.slots button[aria-pressed=true]{background:#000;color:#fff}
.days button[aria-pressed=true] small{color:var(--gold)}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kinds button{background:var(--panel);border:0;border-radius:var(--r);padding:18px 10px;display:grid;gap:9px;justify-items:center;transition:box-shadow .25s,background .2s}
.kinds button[aria-pressed=true]{background:#fff;box-shadow:inset 0 0 0 2px #000,inset 0 -5px 0 var(--gold)}
.kinds svg{width:26px;height:26px}
.kinds b{font:900 .92rem/1.1 var(--staff)}
.kinds span{font-size:.82rem;color:var(--mut)}

/* Coach, PVA's AI assistant (Oct 8, 2026): laid out like the CPPS helper. "Ask Coach" sits in its own black label;
   Coach stands outside it on the right, overlapping its edge, and wiggles every 7 seconds. */
.coach-dock{position:fixed;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:flex-end;background:none;border:0;padding:0;cursor:pointer}
.coach-dock img{width:88px;height:auto;display:block;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));transform-origin:50% 92%;animation:coach-wig 7s ease-in-out .6s infinite}
.coach-dock .lbl{margin:0 -10px 16px 0;background:#0b0b0b;color:#fff;border:1px solid var(--gold);border-radius:2px;padding:11px 20px 11px 14px;font:500 .76rem/1 var(--staff);letter-spacing:.2em;text-transform:uppercase;box-shadow:0 10px 26px rgba(0,0,0,.45);transition:background .6s,color .6s}
.coach-dock:hover .lbl,.coach-dock:focus-visible .lbl{background:var(--gold);color:#000}
.coach-dock.hop img{animation:coach-hop .7s var(--ease),coach-wig 7s ease-in-out .9s infinite}
@keyframes coach-wig{0%,14%,100%{transform:rotate(0)}2.5%{transform:rotate(-9deg)}5%{transform:rotate(8deg)}7.5%{transform:rotate(-6deg)}10%{transform:rotate(4deg)}}
@keyframes coach-hop{0%{transform:translateY(0)}35%{transform:translateY(-12px) rotate(-5deg)}70%{transform:translateY(2px)}100%{transform:none}}
.coach-say{position:fixed;right:18px;bottom:calc(132px + env(safe-area-inset-bottom,0px));z-index:71;width:min(310px,calc(100vw - 32px));background:#fff;color:#000;border-radius:10px;padding:14px 38px 14px 16px;box-shadow:0 18px 44px rgba(0,0,0,.45);font-size:.95rem;line-height:1.45;animation:rise .45s var(--ease)}
.coach-say:after{content:"";position:absolute;right:46px;bottom:-8px;width:16px;height:16px;background:#fff;transform:rotate(45deg)}
.coach-say small{display:block;font:500 .66rem/1 var(--staff);letter-spacing:.2em;text-transform:uppercase;color:#7a6a26;margin-bottom:8px}
.coach-say .x{position:absolute;top:8px;right:8px;background:none;border:0;font-size:1.2rem;line-height:1;padding:4px 7px;color:#555}
.coach-say .say-go{display:block;margin-top:12px;background:#000;color:#fff;border:0;border-radius:2px;padding:11px 16px;font:500 .74rem/1 var(--staff);letter-spacing:.2em;text-transform:uppercase;transition:background .6s,color .6s}
.coach-say .say-go:hover{background:var(--gold);color:#000}
.coach-say.bye{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.chat-coach{width:46px;height:auto;flex:none;margin:-6px 0 -10px}
body.chat-open .coach-say,body.touring .coach-say,body.touring .coach-dock{display:none}
.tour{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:75;width:min(720px,calc(100% - 32px));transform:translateX(-50%);background:#0b0b0b;color:#fff;border:1px solid var(--gold);border-radius:6px;padding:18px 20px 18px 122px;box-shadow:0 22px 60px rgba(0,0,0,.6);animation:rise .6s var(--ease)}
.tour img{position:absolute;left:14px;bottom:12px;width:96px;height:auto;transform-origin:50% 92%}
.tour img.hop{animation:coach-hop .7s var(--ease)}
.tour-k{font:500 .68rem/1.3 var(--staff);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 9px}
.tour-t{font-size:1.06rem;line-height:1.45;margin:0 0 14px;min-height:50px}
.tour-b{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tour-b button{min-height:42px;border-radius:2px;padding:8px 18px;font:500 .72rem/1 var(--staff);letter-spacing:.2em;text-transform:uppercase;border:1px solid #fff;background:transparent;color:#fff;transition:background .6s,color .6s,border-color .6s}
.tour-b .nx{background:var(--gold);border-color:var(--gold);color:#000}.tour-b .nx:hover{background:#fff;border-color:#fff}
.tour-b .end{border:0;margin-left:auto;text-decoration:underline;text-underline-offset:4px;padding-inline:6px}
.tour-b button[disabled]{opacity:.35}
.tour-dots{display:flex;gap:5px;margin-right:6px}.tour-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25)}.tour-dots i.on{background:var(--gold)}
@media (max-width:640px){.coach-dock img{width:74px}.coach-dock .lbl{padding:10px 18px 10px 12px;font-size:.7rem}.coach-say{bottom:calc(116px + env(safe-area-inset-bottom,0px))}
  .tour{padding:14px 14px 14px 84px}.tour img{width:64px;left:10px}.tour-t{font-size:.98rem;min-height:0}.tour-dots{display:none}}
@media (prefers-reduced-motion:reduce){.coach-dock img,.coach-dock.hop img,.tour img.hop{animation:none}}
.chat{--bg:#fff;--fg:#000;--mut:#5b5b58;--line:#dededa;--line2:#c9c9c5;--panel:#f5f5f3;position:fixed;right:18px;bottom:18px;z-index:90;width:min(400px,calc(100vw - 24px));height:min(620px,calc(100dvh - 36px));background:#fff;color:#000;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.6);animation:rise .35s var(--ease)}
.chat-h{display:flex;align-items:center;gap:14px;background:#000;color:#fff;padding:16px 18px;border-bottom:2px solid var(--gold)}
.chat-h .star{animation:none;width:24px;height:24px}
.chat-h b{font:900 .92rem/1 var(--wide);text-transform:uppercase;display:block;margin-bottom:6px}
.chat-h span{font-size:.84rem;color:#cfcfcb}
.chat-h .x{color:#fff;margin:0 -8px 0 auto}
.log{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;font-size:.96rem;line-height:1.45}
.msg{max-width:88%;padding:12px 14px;white-space:pre-line;animation:rise .3s var(--ease);border-radius:12px}
.msg.bot{background:var(--panel);align-self:flex-start;border-bottom-left-radius:3px}
.msg.me{background:#000;color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.acts{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start;max-width:100%}
.acts button{background:#fff;border:1px solid #000;border-radius:999px;padding:9px 14px;font:900 .86rem/1.2 var(--staff);text-align:left;transition:background .2s,border-color .2s}
.acts button:hover{background:var(--gold);border-color:var(--gold)}
.acts button.go{background:#000;color:#fff}.acts button.go:hover{background:var(--gold);color:#000}
.chat-f{border-top:1px solid var(--line);padding:12px;display:flex;gap:8px}
.chat-f input{flex:1}
.chat-f button{background:#000;color:#fff;border:0;border-radius:var(--r);padding:0 18px;font:900 .88rem/1 var(--staff)}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#fff;color:#000;padding:13px 18px;font-weight:900;z-index:120;border-radius:var(--r);border-left:4px solid var(--gold)}
@keyframes fade{from{opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}

/* blocks ease in once as they arrive, slowly, so the page feels smooth rather than stacked */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
/* a label always keeps its air, whatever block it sits in */
p.tag{margin:0 0 var(--s3)!important}
/* ---------- type, tightened (Corey, Oct 5, 2026): two voices only ----------
   1. Staff Wide Black, uppercase: headlines, and the small titles in the header list.
   2. Staff Medium: all reading text at one size, and every small label, nav item and button as thin, spaced capitals.
   Staff Black in sentence case is kept only for item titles inside content (session names, people, questions). */
.nav a.n,.tag,.btn,.link,.steps li,.crumbs,.hub-for,.subnav b,.subnav a:not(.btn),.facts small,.where span,.hero-side,.mega .m-h,.beyond span,.chips li,.person summary,.foot h4,.m-feat i{font-family:var(--staff);font-weight:500;text-transform:uppercase;letter-spacing:.1em}
.nav a.n{font-size:.74rem;color:#fff}
.nav{gap:32px}
.tag,.where span{font-size:.72rem;letter-spacing:.14em}
.btn{font-size:.76rem;letter-spacing:.12em;padding:17px 24px}.btn.sm{font-size:.72rem;padding:13px 18px}
.link{font-size:.76rem}
.steps li{font-size:.76rem}
.crumbs,.hub-for,.facts small,.beyond span,.chips li,.person summary,.foot h4,.mega .m-h,.subnav b,.subnav a:not(.btn){font-size:.7rem}
.steps .note{text-transform:none;letter-spacing:0;font-size:.88rem}
.hero-go b{font:900 .92rem/1.15 var(--wide);text-transform:uppercase;letter-spacing:-.005em}
.mega .d-link{font-weight:500;font-size:.98rem}
.lead,.hero .lead{font-size:1.06rem;line-height:1.6}
/* the fade behind the top bar, kept light so the film shows through */
header.top::before{inset:0 0 -40px;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.16) 55%,rgba(0,0,0,0))}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* ---------- tablets ---------- */
@media (max-width:1080px){
  .nav{gap:20px}.logo-long{height:11px}.top-in{gap:20px}
  .impact{grid-template-columns:repeat(3,1fr);row-gap:var(--s4)}.impact li:nth-child(4){padding-left:0;border:0}
  .camps{grid-template-columns:1fr 1fr}
  .foot-in{grid-template-columns:1fr 1fr}
  .sess{grid-template-columns:minmax(0,1fr) auto}.sess-b{grid-column:1;grid-row:2;flex-direction:row;gap:20px;align-items:center}.sess-c{grid-column:2;grid-row:1/span 2}
  .hero-side{display:none}
}
/* ---------- phones: their own calmer layout ---------- */
@media (max-width:820px){
  body{font-size:16px}
  :root{--s3:24px;--s5:44px}
  .top-in{height:62px;gap:10px}
  .progress{top:61px}
  .logo-long{display:none}.logo-mark{display:block}
  .top-enroll{margin-left:auto}
  .burger{display:flex}
  .nav{display:none}
  .mega{position:fixed;top:62px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;border:0;box-shadow:none}
  .mega-open .mega{clip-path:inset(0)}
  .mega-in{grid-template-columns:minmax(0,1fr);gap:0;padding-top:8px;padding-bottom:96px}
  .m-col{padding:18px 0 12px;border-bottom:1px solid var(--line)}
  .m-col+.m-col{padding-left:0;border-left:0}
  .mega .d-head{font-size:1.2rem;min-height:0;margin-bottom:6px}
  .mega .m-h{min-height:0;margin-bottom:6px}
  .mega .d-sub{margin-bottom:8px}
  .mega .d-link{border:0;padding:11px 0 11px 32px;font-size:1.05rem}
  .m-col:nth-child(n+3) .d-link{padding-left:0}
  .m-feat{min-height:170px;margin-top:22px}
  .shots{margin-top:var(--s4);gap:10px}.shots.n3,.shots.n2{grid-template-columns:1fr 1fr}.shots.n3 .media:first-child{grid-column:1/-1}.shots .media{height:44vw}
  .focus{grid-template-columns:1fr 1fr}.focus li,.focus li:not(:nth-child(3n+1)){padding:var(--s3) 14px var(--s3) 0;border-left:0}.focus li:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}.focus h3{font-size:.98rem}.focus p{font-size:.88rem}
  .feature{grid-template-columns:1fr}
  .nf{min-height:0}.nf-in{grid-template-columns:minmax(0,1fr);padding-top:calc(var(--s5) + 62px);padding-bottom:var(--s5)}
  .hero{height:auto;min-height:0}
  .hero video{opacity:.6}
  .hero::before{background:linear-gradient(0deg,#000 10%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.4) 100%)}
  .hero-in{grid-template-columns:minmax(0,1fr);gap:var(--s3);padding-top:calc(var(--s5) + 62px);padding-bottom:var(--s3);background:none}
  .hero-txt,.hero-go,.phero-txt{padding-left:0;padding-right:0}
  .open,.hubs,.plist,.split,.gold,.stories,.cta-in,.contact,.alum-band{grid-template-columns:minmax(0,1fr)}
  .row .btn{flex:1 1 auto;white-space:normal;text-align:center}
  .steps{grid-template-columns:repeat(3,1fr)}
  .steps li{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 8px 20px 0;font-size:.82rem}
  .steps li+li{padding-left:14px}
  .steps .note{display:none}
  .open{align-items:start;gap:var(--s2)}.open .link{justify-self:start}
  .split.flip>:first-child{order:0}
  .tile{aspect-ratio:16/9}
  .sess{grid-template-columns:minmax(0,1fr);gap:12px;padding:22px 0}
  .sess:hover{padding-left:0;padding-right:0;background:none}
  .sess-b{grid-row:auto;flex-wrap:wrap;gap:8px 20px}
  .sess-c{grid-column:1;grid-row:auto}.sess-c .btn{width:100%}
  .tq{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut)*-1);padding:0 var(--gut) 8px;gap:12px}
  .tq figure{flex:0 0 84%;scroll-snap-align:center}
  .path3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut)*-1);padding:0 var(--gut) 8px}
  .path3 figure{flex:0 0 78%;scroll-snap-align:center}
  .phero-in{background:none;padding-top:calc(var(--s4) + 62px);padding-bottom:var(--s4)}
  .facts{display:grid}.facts li{border:0;border-bottom:1px solid var(--line);margin:0;padding:14px 0;flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px}.facts b{text-align:right}
  .statline{gap:20px;flex-wrap:wrap}
  .subnav{top:62px}.subnav .wrap{gap:20px;height:50px}.subnav b{display:none}
  .stats{grid-template-columns:1fr 1fr;row-gap:var(--s4)}.stats div:nth-child(3){padding-left:0;border:0}
  .impact{grid-template-columns:1fr 1fr}.impact li:nth-child(4){padding-left:20px;border-left:1px solid var(--line)}.impact li:nth-child(odd){padding-left:0;border:0}
  .alum-mini{columns:1}
  .people{grid-template-columns:1fr 1fr;gap:var(--s3) 12px}.person h3{font-size:.95rem}
  .camps{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr 1fr;gap:var(--s4) 20px}.foot-brand{grid-column:1/-1}
  .board{columns:1}
  .slots{grid-template-columns:repeat(3,1fr)}
  .pills{overflow-x:auto;flex-wrap:nowrap;margin-left:calc(var(--gut)*-1);margin-right:calc(var(--gut)*-1);padding:0 var(--gut)}
  .pills button{white-space:nowrap}
  .alum-tools .pills{margin:0;padding:0}
  .modal{padding:0;place-items:end center}
  .sheet{max-height:94dvh;width:100%;border-radius:14px 14px 0 0}
  .sheet-h{padding:28px 20px 0}.dots{padding:18px 20px 0}.sheet-b{padding:20px 20px 28px}
  .ok-top{padding:34px 20px 28px}.ok-top::after{width:200px;height:200px;right:-80px}.ok-top h2{font-size:1.9rem}.ok-top .x{top:16px;right:14px}
  .ok-rows div{grid-template-columns:7.2em 1fr;gap:12px}.ok-act .btn{flex:1}
  .sum div{grid-template-columns:96px 1fr}

  .chat{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0}
  .pflag{left:8px;bottom:8px;max-width:calc(100vw - 84px);font-size:.64rem;padding:5px 7px}
  .schools{grid-template-columns:1fr}
  .deco{width:120vw;right:-40%;opacity:.09}
  .gold::after{display:none}
}
.foot .legal,footer .legal{padding-bottom:0} /* the bahlr credit band below sets the spacing (bahlr-credit.js) */
.hl{color:var(--gold)}

/* new or returning to the program (Oct 9 2026 meeting) */
.yn{border:0;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.yn legend{font:900 .86rem/1.2 var(--staff);margin-bottom:8px;width:100%}
.yn label{flex:1 1 200px;display:flex;flex-direction:row;align-items:center;gap:10px;border:1px solid var(--line,#d8d8d8);border-radius:var(--r);padding:12px 14px;cursor:pointer;font:500 .95rem/1.3 var(--staff);transition:border-color .4s,background .4s}
.yn input{width:18px;height:18px;margin:0;accent-color:#000;flex:none}
.yn label:has(input:checked){border-color:#000;background:rgba(176,156,69,.12)}
.yn.bad label{border-color:#c0392b}

/* Trackman section on Kicking & Punting (Oct 9 2026: Seth's clip and the old site's copy) */
.tm .tm-logo{display:block;width:200px;height:auto;margin:0 0 var(--s3)}
.tm .tm-vid{aspect-ratio:1/1;max-width:520px;justify-self:end;width:100%}
.tm .tm-vid img,.tm .tm-vid video{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.tm .tm-vid{justify-self:stretch;max-width:none}}
/* pricing TBD and Full (Corey, Oct 9 2026): until a cost is saved in the dashboard */
.ptbd{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.ptbd b{font:500 .72rem/1.3 var(--staff);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.ptbd .link{font-size:.92rem}
.spots.full{color:var(--fg);font:500 .72rem/1.3 var(--staff);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--acc);color:var(--acc);padding:6px 9px;border-radius:2px}
/* the program film, with its reason (Oct 9 2026) */
.pvid{margin-top:var(--s6);padding-top:var(--s6);border-top:1px solid var(--line);align-items:center}
.pvid .yt-title{display:none}
.vsec .pvid{margin-top:0;padding-top:0;border-top:0}

:where(img){height:auto}
.live .tbd,.live .ex{display:none!important}
.bc-row{display:block;font-size:12.5px;line-height:1;text-align:left}
.bc-in{margin-top:24px;padding:20px 0 30px;border-top:1px solid rgba(239,243,244,.14);border-top-color:color-mix(in srgb,currentColor 16%,transparent)}
@media (max-width:760px){.bc-in{margin-top:20px;padding:18px 0 calc(104px + env(safe-area-inset-bottom,0px))}}
.bahlr-credit{display:inline-flex!important;align-items:baseline;flex-wrap:wrap;gap:10px 16px;margin:0;line-height:1;font-size:inherit;letter-spacing:.01em;color:inherit}
.bahlr-credit a{display:inline-flex;align-items:baseline;gap:.34em;padding:0;margin:0;background:none;border:0;color:inherit!important;text-decoration:none!important;font-size:inherit;letter-spacing:inherit;text-transform:none;line-height:1}
.bahlr-credit a>span,.bahlr-credit .bc-staff{opacity:.72;transition:opacity .35s ease}
.bahlr-credit a:hover>span,.bahlr-credit a:hover.bc-staff,.bahlr-credit a:focus-visible>span,.bahlr-credit a.bc-staff:focus-visible{opacity:1}
.bahlr-credit span{display:inline-block!important;margin:0!important}
.bahlr-credit .bc-sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.4;align-self:center}
.bahlr-credit svg{display:inline-block;height:1.1em;width:auto;flex:none;overflow:visible}
.bahlr-credit .bc-rec{animation:bcRec 2.4s ease-in-out infinite}
@keyframes bcRec{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.bahlr-credit .bc-rec{animation:none}}