/* V3 additions use the existing typefaces, buttons and navy/white rhythm. */
.v3-band{padding-block:var(--section-y);overflow:hidden}
.v3-band .section-copy{max-width:850px;margin-bottom:28px}
.v3-band h2{font-size:var(--ds-title);line-height:1.1;}
.v3-band p{max-width:75ch;line-height:1.55;}
.v3-band.dark{background:#03182b;color:#f7fbff}
.v3-band.light{background:#f7fbff;color:#00142c}
.v3-band .button{margin:12px 12px 0 0}
.v3-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px;margin-top:28px}
.v3-card{padding:26px;border:1px solid #0062ff36;border-radius:16px;box-shadow:0 12px 28px #001c4a0d;position:relative;background:linear-gradient(135deg,#0062ff09,transparent);transition:transform .25s,border-color .25s}
.v3-card:hover,.v3-card:focus-within{transform:translateY(-4px);border-color:#0062ff}
.v3-card>.icon{width:38px;height:38px;color:#0062ff;margin-bottom:18px}
.v3-card:nth-child(2)>.icon{color:#b7821c}.v3-card:nth-child(3)>.icon{color:#148166}
.v3-card h3{font-size:var(--ds-card);margin-bottom:12px;}.v3-card p{font-size:1rem;}
.v3-discovery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.v3-discovery>img{width:100%;height:auto;max-height:460px;object-fit:contain;filter:drop-shadow(0 14px 24px #0062ff16)}
.v3-discovery .device-art{max-width:100%}
.v3-thresholds{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:36px 0}
.v3-thresholds li{border-top:3px solid #0062ff;padding:20px 16px;background:#fff;box-shadow:0 8px 26px #002c640a}
.v3-thresholds strong{font:700 clamp(38px,5vw,72px)/1 "Barlow Condensed",sans-serif;color:#0062ff}
.v3-thresholds h3{margin:14px 0 5px;font-size:var(--ds-card);}.v3-thresholds p{margin:0}.v3-thresholds small{font-size:13px}
.v3-details{border:1px solid #0062ff45;border-radius:16px;padding:22px}.v3-details summary{font-size:21px;font-weight:600;cursor:pointer;list-style-position:inside}
.v3-details summary:focus-visible{outline:3px solid #0062ff;outline-offset:5px}
.v3-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px;margin:24px 0 8px}
.v3-criteria h3{margin:0 0 10px;font-size:var(--ds-card);}.v3-criteria ul{margin:0;padding-left:1.15em;line-height:1.6;list-style:disc}.v3-criteria li::marker{color:#0062ff}.v3-criteria li+li{margin-top:8px}
.v3-report-summary{padding-top:28px;max-width:1000px}
section[id]{scroll-margin-top:100px}
@media(max-width:700px){.v3-discovery{grid-template-columns:1fr}.v3-thresholds{grid-template-columns:repeat(2,1fr)}.v3-card{padding:22px}.v3-band .button{max-width:100%;white-space:normal}.v3-discovery .device-art{min-width:0}}
@media(prefers-reduced-motion:reduce){.v3-card{transition:none}.v3-card:hover{transform:none}}
.v3-thresholds li{position:relative;overflow:hidden}
.v3-thresholds li:after{content:"";position:absolute;left:-30%;top:0;height:2px;width:28%;background:#74baff;box-shadow:0 0 8px #0062ff;animation:v3-current 4s linear infinite}
.v3-thresholds li:nth-child(2):after{animation-delay:1s}.v3-thresholds li:nth-child(3):after{animation-delay:2s}.v3-thresholds li:nth-child(4):after{animation-delay:3s}
@keyframes v3-current{to{left:110%}}
.v7-offscreen .v3-thresholds li:after,.v7-document-hidden .v3-thresholds li:after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.v3-thresholds li:after{animation:none;left:0}}
.v3-community-result{width:100%;max-width:760px;margin-inline:auto}
/* Players two-section package: its pause control sits in the top right of
   Rankings, which put it beside the fixed site header (66px) whenever that
   section reached the top of the screen. Start it below the header. On
   phones the header spans the width and simply covers it in passing. */
@media(min-width:761px){.zpv3[data-zpv3]>.zpv3-motion-toggle{top:80px}
/* Same for the championship selectors. */
.zc-section .zc-motion-toggle{top:80px}}
/* Tournament four-section package: heading line breaks, as block spans. */
.zt-scope .zt-line{display:block}
/* Tournament four-section package: each section's pause control sits in its
   top right corner, beside the fixed header whenever that section reaches
   the top of the screen. Same offset as the Players package control. */
@media(min-width:761px){.zt-scope .zt-motion{top:80px}}
/* Clubs three-section package: heading line breaks as block spans. (Its
   pause controls sit bottom right, so they need no header offset.) */
.zc-section .zcs-line{display:block}
/* Ground Owners five-section package: heading line breaks, as empty block spans. */
.zgo .zgo-br{display:block}
/* Sponsor six-section package: heading line break as an empty block span. */
.zs-section .zs-br{display:block}
/* Approved four sponsor sections: heading breaks as empty block spans,
   hidden where the package hides its h2 br (850px advertising, 600px
   journey and duration). */
.zsa-section h2 .zsa-break{display:block}
@media(max-width:850px){.zsa-advertising h2 .zsa-break{display:none}}
@media(max-width:600px){.zsa-journey h2 .zsa-break,.zsa-terms h2 .zsa-break{display:none}}
/* Approved heroes: heading breaks as empty block spans (the build rejects a
   bare <br>). Players drops its break on phones, as the package's h1 br does. */
.zh-hero h1 .zh-br{display:block}
@media(max-width:900px){.zh-hero--players h1 .zh-br{display:none}}
/* Next five heroes: heading breaks as empty block spans, hidden on phones
   as the package's h1 br is. */
.znh-hero h1 .znh-br{display:block}
@media(max-width:900px){.znh-hero h1 .znh-br{display:none}}
