/* Tally Volleyball: the marketing site's shared stylesheet (home, Match night,
   Practice, Player development, Questions). The guides, What's new and the
   legal pages keep guides/guides.css, inlined.

   It keeps the 0.902 landing page's system and sits beside the app's 0.978
   visual language: the indigo accent with its own ink for text, Inter Tight
   800/900 for display and figures, Inter 500/700 for text and labels, 48px
   buttons at a 14px radius, captions at .8px tracking, a shadow and never a
   border on a raised surface. Fonts are self-hosted: the CSP is 'self' only.

   DEVICE FRAMES (.dev-phone, .dev-ipad, .dev-web) hold the real screenshots
   from tests/live/market-shots.js. The phone and iPad pictures are captured
   at the screen size LESS the status bar (393x798, 1194x810), and the frame
   draws the status bar above them (an SVG symbol, #sb-phone / #sb-ipad, in
   each page's sprite), in the app's own page colour, so the picture fills the
   screen exactly the way the phone shows it. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 800;font-display:swap;src:url("/fonts/inter-variable.woff2") format("woff2")}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:800;font-display:swap;src:url("/fonts/intertight-800.woff2") format("woff2")}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:900;font-display:swap;src:url("/fonts/intertight-900.woff2") format("woff2")}
:root{
  --accent:#5e6ad2; --accent-hover:#4c58c4; --accent-ink:#4c57c4; --accent-soft:#eaecff;
  --ink:#101828; --strong:#0b1220; --muted:#5f6370;
  --paper:#f6f6f4; --card:#ffffff; --surface:#efefec; --line:#e4e4e0;
  --great-t:#17703d; --navy:#0f1d36; --band-ink:#e8edf7; --band-muted:#b8c2d8; --band-cap:#a3abf0;
  --sk-serve:#0b6f6a; --sk-pass:#4c57c4; --sk-hit:#8a3fae;
  --shadow:0 1px 2px rgba(24,22,18,.05),0 10px 24px rgba(24,22,18,.06);
  --shadow-card:0 4px 12px -2px rgba(24,24,28,.06),0 18px 40px -14px rgba(24,24,28,.12);
  --shadow-dev:0 28px 56px -24px rgba(16,24,40,.45);
  --bezel:#0c0f17; --bezel-edge:#2a2f3c;
  --r-card:22px; --r-btn:14px; --btn-h:48px;
  --f-display:"Inter Tight","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* the app's page colours, which the status bar above a screenshot takes */
  --app-light:#f6f6f4; --app-light-ink:#101828; --app-dark:#0b0f1a; --app-dark-ink:#f4f6fb;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --accent:#7b85da; --accent-hover:#9098e6; --accent-ink:#a3abf0; --accent-soft:#232a52;
  --ink:#e8edf7; --strong:#f4f6fb; --muted:#9aa6bd;
  --paper:#0b0f1a; --card:#151c33; --surface:#111729; --line:#26304a;
  --great-t:#5fd394; --navy:#141f3d;
  --sk-serve:#4fd1c5; --sk-pass:#a3abf0; --sk-hit:#d39bf0;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 10px 26px rgba(0,0,0,.5);
  --shadow-card:0 4px 12px -2px rgba(0,0,0,.45),0 18px 40px -14px rgba(0,0,0,.6);
  --shadow-dev:0 28px 56px -24px rgba(0,0,0,.8);
  --bezel:#05070c; --bezel-edge:#343b4d;
  color-scheme:dark;
}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font:500 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent-ink);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);color:var(--strong);text-wrap:balance;margin:0}
h1{font-weight:900;font-size:clamp(42px,6.2vw,76px);line-height:1.02;letter-spacing:-.03em}
h2{font-weight:900;font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.02em}
h3{font-weight:800;font-size:21px;line-height:1.25;letter-spacing:-.01em}
p{margin:0}
.cap{font:800 12px/1.2 var(--f-body);letter-spacing:.8px;text-transform:uppercase;color:var(--accent-ink)}
.lede{font-size:19px;line-height:1.55;color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* the name change, on every page */
.renamed{display:block;background:var(--navy);color:var(--band-ink);font:600 14px/1.4 var(--f-body);text-align:center;padding:10px max(16px,env(safe-area-inset-left,0px))}
.renamed b{color:#fff;font-weight:800}
.renamed span{color:var(--band-cap);font-weight:800;white-space:nowrap}
.renamed:hover{text-decoration:none}
.renamed:hover span{text-decoration:underline}

/* buttons: the app's three kinds, two sizes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--btn-h);padding:0 22px;border-radius:var(--r-btn);font:800 16px/1.1 var(--f-body);border:0;cursor:pointer;text-align:center}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px -6px rgba(94,106,210,.7)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-light{background:var(--accent-soft);color:var(--accent-ink)}
.btn-ghost{background:transparent;color:var(--accent-ink);padding:0 6px}
.btn-sm{min-height:40px;padding:0 16px;border-radius:12px;font-size:15px}

/* header */
.hdr{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-row{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--strong)}
.brand:hover{text-decoration:none}
.brand img{width:34px;height:34px;border-radius:9px}
.wm{font:900 23px/1 var(--f-display);letter-spacing:-.02em;color:var(--strong);white-space:nowrap}
.wm small{font:800 15px/1 var(--f-display);letter-spacing:0;color:var(--muted);margin-left:5px}
.nav{display:flex;gap:24px;margin-left:auto;align-items:center;font:700 15px/1 var(--f-body)}
.nav a{color:var(--ink)}
.nav a[aria-current]{color:var(--accent-ink)}
.nav .btn{color:#fff}
.hamburger{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:0;background:var(--surface);color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.hamburger svg{width:22px;height:22px}
.navmenu{display:none}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.25fr);gap:48px;align-items:center;padding:64px 0 56px}
.chip{display:inline-flex;gap:8px;align-items:center;background:var(--accent-soft);color:var(--accent-ink);font:800 12px/1 var(--f-body);letter-spacing:.8px;text-transform:uppercase;padding:9px 13px;border-radius:999px;margin-bottom:22px}
.hero h1{margin-bottom:22px}
.hero h1 em,.phead h1 em{font-style:normal;color:var(--accent-ink)}
.hero .lede{margin-bottom:30px}
.ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.small-note{margin-top:16px;font-size:14px;color:var(--muted)}

/* ===== device frames ===== */
.dev-phone,.dev-ipad,.dev-web{margin:0;position:relative}
.dev-phone{width:280px;max-width:100%;background:var(--bezel);border-radius:46px;padding:11px;box-shadow:var(--shadow-dev),inset 0 0 0 1.5px var(--bezel-edge)}
.dev-phone .dp-screen{border-radius:36px;overflow:hidden;background:var(--sb-bg,var(--app-light))}
.dev-ipad{background:var(--bezel);border-radius:32px;padding:16px;box-shadow:var(--shadow-dev),inset 0 0 0 1.5px var(--bezel-edge)}
.dev-ipad .di-screen{border-radius:18px;overflow:hidden;background:var(--sb-bg,var(--app-light))}
.dp-status,.di-status{display:block;width:100%;height:auto;color:var(--sb-ink,var(--app-light-ink));background:var(--sb-bg,var(--app-light))}
/* a pair: the dark capture and a dark status bar when the reader is in dark mode */
@media (prefers-color-scheme:dark){ .pair{--sb-bg:var(--app-dark);--sb-ink:var(--app-dark-ink)} }
.dev-web{border-radius:16px;overflow:hidden;background:var(--card);box-shadow:var(--shadow-dev),0 0 0 1px var(--line)}
.dw-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--line)}
.dw-bar i{width:11px;height:11px;border-radius:50%;background:var(--line)}
.dw-bar i:nth-child(1){background:#ff5f57} .dw-bar i:nth-child(2){background:#febc2e} .dw-bar i:nth-child(3){background:#28c840}
.dw-bar b{flex:0 1 46%;height:20px;margin:0 auto;border-radius:7px;background:var(--card)}
.dev-phone img,.dev-ipad img,.dev-web img{width:100%}
figcaption.devcap{margin-top:14px;font-size:14px;color:var(--muted);text-align:center}
/* a big frame with a phone over its lower right corner: the big one leaves the
   phone a strip on the right, so the phone covers a corner, not a third of it */
.stage{position:relative;padding:0 104px 44px 0}
.stage .dev-phone{position:absolute;right:0;bottom:0;width:184px;border-radius:32px;padding:8px}
.stage .dev-phone .dp-screen{border-radius:25px}
.duo{display:flex;gap:22px;justify-content:center;align-items:flex-start}
.duo .dev-phone{flex:0 1 250px}
.center-dev{display:flex;justify-content:center}

/* facts */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:22px 20px;border-left:1px solid var(--line)}
.facts div:first-child{border-left:0;padding-left:0}
.facts b{display:block;font:900 30px/1.1 var(--f-display);color:var(--strong);font-variant-numeric:tabular-nums}
.facts span{font-size:14px;color:var(--muted)}

/* sections */
.sec{padding:96px 0}
.sec.tight{padding-top:0}
.sec-h{max-width:760px;margin-bottom:44px}
.sec-h .cap{margin-bottom:12px}
.sec-h .lede{margin-top:16px}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pill{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column}
.pill .pic{background:var(--surface);height:300px;overflow:hidden;display:flex;justify-content:center;padding:26px 20px 0}
.pill .pic .dev-phone{width:210px;border-radius:36px;padding:9px;flex:none;box-shadow:0 18px 30px -18px rgba(16,24,40,.4),inset 0 0 0 1.5px var(--bezel-edge)}
.pill .pic .dev-phone .dp-screen{border-radius:28px}
.pill .body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.pill ul{margin:6px 0 8px;padding:0;list-style:none;display:grid;gap:8px}
.pill li{padding-left:22px;position:relative;font-size:15.5px;line-height:1.5}
.pill li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.pill .go{margin-top:auto;font-weight:800}
.tag{font:800 12px/1 var(--f-body);letter-spacing:.8px;text-transform:uppercase;color:var(--k,var(--accent-ink))}
.k-serve{--k:var(--sk-serve)} .k-pass{--k:var(--sk-pass)} .k-hit{--k:var(--sk-hit)}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;margin:0 0 104px}
.row:last-child{margin-bottom:0}
.row.flip>.words{order:2}
.row .words h2{margin:10px 0 16px}
.row .words p{color:var(--muted);font-size:17.5px}
.points{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.points li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;font-size:16px}
.points li i{width:28px;height:28px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font:900 13px/28px var(--f-display);text-align:center;font-style:normal}
.points b{color:var(--strong)}
.band{background:var(--navy);color:var(--band-ink);border-radius:32px;padding:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center}
.band h2{color:#fff;margin-top:10px}
.band p{color:var(--band-muted);margin-top:16px}
.band .cap{color:var(--band-cap)}
.band .dev-web{box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}
.cmp-wrap{overflow-x:auto;border-radius:var(--r-card);box-shadow:var(--shadow-card)}
.cmp{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;background:var(--card);font-size:15.5px}
.cmp th,.cmp td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.cmp thead th{font:800 12px/1.2 var(--f-body);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);background:var(--surface)}
.cmp td:last-child,.cmp th:last-child{background:color-mix(in srgb,var(--accent-soft) 55%,transparent);color:var(--strong);font-weight:700}
.cmp tr:last-child td{border-bottom:0}
.y{color:var(--great-t);font-weight:800}
.n{color:var(--muted)}
.price{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;background:var(--card);border-radius:28px;box-shadow:var(--shadow-card);padding:44px}
.price .big{font:900 64px/1 var(--f-display);color:var(--strong);letter-spacing:-.03em;margin:12px 0 10px}
.promises{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.promises li{background:var(--surface);border-radius:16px;padding:16px 18px;font-size:15.5px}
.promises b{display:block;color:var(--strong);font-family:var(--f-display);font-size:17px}
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 28px;align-items:start}
.faq.one{grid-template-columns:minmax(0,1fr);max-width:820px}
.faq details{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px}
.faq summary{font:800 17px/1.35 var(--f-display);color:var(--strong);cursor:pointer;list-style:none;display:flex;gap:12px;justify-content:space-between}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent-ink);font-weight:900}
.faq details[open] summary::after{content:"\2212"}
.faq p{margin-top:10px;color:var(--muted);font-size:15.5px}
.final{background:var(--accent);color:#fff;border-radius:32px;padding:64px;text-align:center}
.final h2{color:#fff}
.final p{color:#e3e6ff;margin:14px auto 28px;max-width:56ch}
.final .btn-primary{background:#fff;color:#3d47b5;box-shadow:none}
.final .btn-ghost{color:#fff}
.foot{border-top:1px solid var(--line);margin-top:96px;padding:40px 0 56px;font-size:14px;color:var(--muted)}
.foot .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.foot h4{margin:0 0 10px;font:800 12px/1 var(--f-body);letter-spacing:.8px;text-transform:uppercase;color:var(--ink)}
.foot a{display:block;color:var(--muted);margin:6px 0}
.foot a.brand{display:flex;margin:0}
.foot .formerly{margin-top:12px;font-size:13px}
.phead{padding:64px 0 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center}
.phead h1{font-size:clamp(40px,5.4vw,64px)}
.phead.one{grid-template-columns:minmax(0,1fr);padding-bottom:28px}
.phead .lede{margin:20px 0 28px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}
pre.file{margin:0;padding:22px;border-radius:16px;background:var(--card);box-shadow:var(--shadow-card);font:500 13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;color:var(--ink);overflow-x:auto}

@media (max-width:899.98px){
  .nav{display:none}
  .hamburger{display:inline-flex}
  .navmenu{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-card);padding:8px max(20px,env(safe-area-inset-left,0px)) 16px}
  .hdr.nav-open .navmenu{display:grid}
  .navmenu a{padding:13px 4px;font:700 17px/1.2 var(--f-body);color:var(--ink);border-bottom:1px solid var(--line)}
  .navmenu a:last-child{border-bottom:0}
  .wrap{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
  .hdr-row{height:64px}
  .hero,.phead{grid-template-columns:minmax(0,1fr);gap:36px;padding:36px 0 28px}
  .stage{padding:0 64px 30px 0}
  .stage .dev-phone{width:118px;border-radius:22px;padding:6px}
  .stage .dev-phone .dp-screen{border-radius:17px}
  .dev-ipad{border-radius:20px;padding:9px}
  .dev-ipad .di-screen{border-radius:11px}
  .facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .facts div{border-left:0;padding:16px 0;border-top:1px solid var(--line)}
  .facts div:nth-child(-n+2){border-top:0}
  .sec{padding:64px 0}
  .pillars{grid-template-columns:minmax(0,1fr)}
  .row,.row.flip{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:72px}
  .row.flip>.words{order:0}
  .band{grid-template-columns:minmax(0,1fr);padding:32px 22px;border-radius:24px}
  .price{grid-template-columns:minmax(0,1fr);padding:26px}
  .faq{grid-template-columns:minmax(0,1fr)}
  .final{padding:40px 22px;border-radius:24px}
  .foot .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .duo{gap:12px}
  .duo .dev-phone{border-radius:34px;padding:8px}
  .duo .dev-phone .dp-screen{border-radius:27px}
  body{font-size:16px}
}
@media (max-width:420px){
  .dev-phone{width:240px}
  .center-dev .dev-phone{width:250px}
  .duo .dev-phone{border-radius:26px;padding:6px}
  .duo .dev-phone .dp-screen{border-radius:21px}
}
@media (prefers-reduced-motion:no-preference){ .btn{transition:transform .12s ease,background .12s ease} .btn:active{transform:translateY(1px)} }

/* ===== The second audit (docs/marketing-audit-tally-2.html), built ===== */
/* THE HERO IS TWO PHONES, cause then effect (docs/hero-mock-0982.html, option
   A): the practice cards ("Tap once per pass"), an arrow, then Team, Stats
   ranking the passers ("See who's passing best"). Both at one size, so both
   stay readable; on a phone they overlap, the cards in front. */
.hpair{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:8px;width:100%;max-width:600px;justify-self:end}
.hstep{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}
.hstep .dev-phone{width:100%;max-width:270px;border-radius:40px;padding:9px}
.hstep .dev-phone .dp-screen{border-radius:31px}
.hcap{display:flex;align-items:center;gap:8px;margin:0;font:800 16px/1.25 var(--f-display);color:var(--strong);text-align:left}
.hcap span{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font:800 12px/1 var(--f-body)}
.harrow{font:900 28px/1 var(--f-display);color:var(--accent-ink);text-align:center;padding-top:36px}

/* speed: three counters, each with its picture */
.speed3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sp{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column}
.sp .t{padding:26px 24px 8px}
.sp .n{font:900 64px/1 var(--f-display);color:var(--strong);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.sp .n small{font:800 20px/1 var(--f-display);color:var(--muted);margin-left:6px;letter-spacing:0}
.sp h3{margin:12px 0 6px}
.sp p{color:var(--muted);font-size:15.5px}
.sp .pic{margin-top:auto;background:var(--surface);height:290px;overflow:hidden;display:flex;justify-content:center;padding:24px 20px 0}
.sp .pic .dev-phone{width:212px;flex:none;border-radius:36px;padding:9px;box-shadow:0 18px 30px -18px rgba(16,24,40,.4),inset 0 0 0 1.5px var(--bezel-edge)}
.sp .pic .dev-phone .dp-screen{border-radius:28px}
.taps{display:flex;gap:6px;margin:16px 0 6px;padding:0;list-style:none;flex-wrap:wrap}
.taps li{font:800 12px/1 var(--f-body);background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:7px 10px}
.taps li.go{background:var(--accent);color:var(--card)}

/* a measuring day, in order */
.seq{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start;margin:0;padding:0;list-style:none}
.seq li{margin:0}
.seq .dev-phone{width:100%;border-radius:36px;padding:9px}
.seq .dev-phone .dp-screen{border-radius:28px}
.seq .step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--card);font:900 14px/1 var(--f-display);margin-bottom:12px}
.seq p{margin-top:16px;font-size:14.5px;color:var(--muted);line-height:1.45}
.seq p b{display:block;color:var(--strong);font:800 16.5px/1.3 var(--f-display);margin-bottom:3px}
.tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:36px;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card)}
.tally div{padding:20px 22px;border-left:1px solid var(--line)}
.tally div:first-child{border-left:0}
.tally b{display:block;font:900 36px/1.05 var(--f-display);color:var(--strong);font-variant-numeric:tabular-nums}
.tally span{font-size:14px;color:var(--muted)}
.vs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}
.vs>div{border-radius:18px;padding:20px 22px;font-size:15.5px}
.vs .old{background:var(--surface);color:var(--muted)}
.vs .new{background:color-mix(in srgb,var(--accent-soft) 70%,var(--card));color:var(--ink)}
.vs h3{margin:0 0 10px;font:800 12px/1 var(--f-body);letter-spacing:.8px;text-transform:uppercase;color:inherit}
.vs ol{margin:0;padding-left:20px;display:grid;gap:5px}

/* real time: the court, the path, the Board */
.rt{display:grid;grid-template-columns:minmax(0,.62fr) 200px minmax(0,1.5fr);gap:24px;align-items:center}
.rt .path{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.rt .path li{background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:13px 15px;font-size:14px;color:var(--muted)}
.rt .path b{display:block;color:var(--strong);font:800 15.5px/1.25 var(--f-display)}
.rt .path li.ar{background:none;box-shadow:none;padding:0;text-align:center;color:var(--accent-ink);font:900 18px/1 var(--f-display)}
.rt .dev-phone{width:100%}
.points.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}

/* season progress: crops a coach can read */
.crop{margin:0;background:var(--card);border-radius:18px;box-shadow:var(--shadow-card);overflow:hidden}
.crop img{width:100%}
.season{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start;margin-top:36px}
.season .side{display:grid;gap:22px}
.callouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.callouts div{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px}
.callouts b{display:block;font:900 28px/1.1 var(--f-display);color:var(--strong);font-variant-numeric:tabular-nums}
.callouts b.up{color:var(--great-t)}
.callouts span{font-size:14px;color:var(--muted)}
.tl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;position:relative}
.tl::before{content:"";position:absolute;left:10%;right:10%;top:14px;height:2px;background:var(--line)}
.tl li{text-align:center;position:relative;font-size:14px;color:var(--muted);padding:0 6px}
.tl i{display:block;width:12px;height:12px;border-radius:50%;background:var(--accent);margin:8px auto 12px;box-shadow:0 0 0 5px var(--paper)}
.tl b{display:block;color:var(--strong);font:800 15.5px/1.25 var(--f-display)}

/* coaches and directors */
.aud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.aud .col{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:30px 30px 28px;display:flex;flex-direction:column;gap:16px}
.aud .col h3{font-size:23px}
.aud .col.dir{background:var(--navy);color:var(--band-ink)}
.aud .col.dir h3{color:#fff}
.aud .col.dir .cap{color:var(--band-cap)}
.chk{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.chk li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:11px;font-size:15.5px;line-height:1.5}
.chk li::before{content:"\2713";width:24px;height:24px;border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);font:900 13px/24px var(--f-display);text-align:center}
.chk b{color:var(--strong)}
.aud .col.dir .chk li{color:var(--band-ink)}
.aud .col.dir .chk b{color:#fff}
.aud .col.dir .chk li::before{background:#26305a;color:#c9cffa}
.aud .crop{margin-top:auto;box-shadow:0 18px 30px -18px rgba(0,0,0,.45)}
.roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.roles div{background:#1a2850;border-radius:12px;padding:12px 14px;font-size:13.5px;color:#c3cbe0}
.roles b{display:block;color:#fff;font:800 15px/1.2 var(--f-display);margin-bottom:2px}

/* the gym TV */
.dev-tv{position:relative;margin:0 0 34px}
.dev-tv .tv-screen{background:#05070c;border-radius:14px;padding:10px;box-shadow:var(--shadow-dev),inset 0 0 0 1.5px var(--bezel-edge)}
.dev-tv .tv-screen img{border-radius:4px;width:100%}
.dev-tv::after{content:"";position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);width:26%;height:12px;border-radius:0 0 10px 10px;background:linear-gradient(#20242e,#0c0f17)}
.stage.tv{padding:0 96px 34px 0}
.stage.tv .dev-tv{margin:0}

/* "why switch" as cards, for a phone */
.cmp-cards{display:none;gap:12px;margin:0;padding:0;list-style:none}
.cmp-cards li{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:16px 18px}
.cmp-cards h3{font:800 16.5px/1.3 var(--f-display);color:var(--strong);margin:0 0 10px}
.cmp-cards dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;font-size:14.5px}
.cmp-cards dt,.cmp-cards dd{margin:0;padding:7px 0;border-top:1px solid var(--line)}
.cmp-cards dd{text-align:right;font-weight:700}
.cmp-cards .t{color:var(--great-t);font-weight:800}

@media (max-width:899.98px){
  .hpair{justify-self:center}
  .stage.tv{padding:0 64px 30px 0}
  .speed3,.season,.callouts,.aud,.vs,.points.three{grid-template-columns:minmax(0,1fr)}
  .seq{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 14px}
  .tally{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tally div{border-left:0;border-top:1px solid var(--line)}
  .tally div:nth-child(-n+2){border-top:0}
  .tally div:nth-child(2n){border-left:1px solid var(--line)}
  .rt{grid-template-columns:minmax(0,1fr)}
  .rt .dev-phone{width:240px;margin:0 auto}
  .rt .path{grid-template-columns:minmax(0,1fr)}
  .tl{grid-template-columns:minmax(0,1fr);gap:14px}
  .tl::before{left:5px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .tl li{text-align:left;display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:14px;padding:0}
  .tl i{margin:6px 0 0;grid-row:span 2}
  .aud .col{padding:24px 22px}
  .dev-tv{margin-bottom:26px}
  .dev-tv .tv-screen{padding:6px;border-radius:10px}
  .dev-tv::after{bottom:-18px;height:9px}
}
@media (max-width:679.98px){
  .cmp-wrap{display:none}
  .cmp-cards{display:grid}
}
@media (max-width:599.98px){
  .hpair{display:block;position:relative;max-width:420px;margin:0 auto}
  .harrow{display:none}
  .h1s{position:relative;z-index:2;width:62%;padding-top:44px;align-items:flex-start}
  .h2s{position:absolute;right:0;top:0;width:50%;align-items:flex-end}
  .h2s .dev-phone{transform:rotate(2deg)}
  .hstep .dev-phone{border-radius:30px;padding:7px}
  .hstep .dev-phone .dp-screen{border-radius:24px}
  .hcap{font-size:14px;gap:6px}
  .hcap span{width:20px;height:20px;font-size:11px}
  .sp .pic{height:260px}
}
/* a speed card whose point is lower on the screen (the player cards under the
   summary) shows the phone's lower half, rising from the card's foot */
.sp .pic.low{align-items:flex-end;padding:0 20px}
/* a row whose picture is a crop to be READ: the words above, the crop at the
   full width of the page (half a column made it half size, the audit's G2) */
.row.one{grid-template-columns:minmax(0,1fr);gap:28px}
.row.one>.words{max-width:760px}
.row.one.flip>.words{order:0}
