/* Athledex / sports editorial system.
   References: FreeGame (ruled editorial rows), GraphicHunters (image hierarchy),
   UFL (media-led chapters). Original Athledex type, colours and assets only.
   Home hero is deliberately excluded from the new layout rules. */
:root{--page-gutter:clamp(1.25rem,4vw,4.5rem);--section-space:clamp(3rem,6vw,6rem);--reading:46rem;}
body{background:var(--ink);}
body .wrap{max-width:1440px;padding-inline:var(--page-gutter);}
body .folio,body .vision-eyebrow{font-family:var(--f-ui);font-weight:400;font-size:.72rem;letter-spacing:.07em;line-height:1.5;}
body .nav{background:var(--ink);border-bottom:1px solid var(--hair);}
body .nav-link{font-family:var(--f-ui);letter-spacing:.04em;font-size:.72rem;}
body .nav-link[aria-current=page]{color:var(--head);}
body .text-link{font-family:var(--f-ui);font-size:.9rem;letter-spacing:0;line-height:1.5;}
body .page-pager{border-top:1px solid var(--hair);padding-block:1.5rem 2rem;margin-top:3rem;display:flex;justify-content:space-between;gap:1.5rem;}
body .page-pager .right{margin-inline-start:auto;text-align:right;align-items:flex-end;}
body .page-pager .v{font-family:var(--f-exp);font-size:clamp(1rem,2vw,1.6rem);line-height:1.3;}
body .page-pager .k{font-family:var(--f-ui);font-size:.7rem;letter-spacing:.05em;}
body .button{box-shadow:none;border-radius:0;}
body .skip-link:not(:focus){position:fixed;transform:translateY(-200%);}
body .skip-link:focus{position:fixed;top:1rem;left:1rem;z-index:2000;transform:none;}
/* Brand homepage: visual code and editorial feature, not a stack of cards. */
.campaign-home #what-is-athledex{padding-block:var(--section-space);}
.campaign-home #what-is-athledex h2{font-size:clamp(2rem,4vw,4rem);}
.campaign-home .arenas{background:var(--ink);color:var(--head);padding:var(--section-space) var(--page-gutter);}
.campaign-home .arenas-head{align-items:baseline;}
.campaign-home .arenas-head :is(.folio,h2){color:var(--head);}
.campaign-home .arena-grid{gap:1rem;}
.campaign-home .arena:nth-child(even){margin-top:0;}
.campaign-home .arena{aspect-ratio:3/4;}
.campaign-home .arena-meta{bottom:1.5rem;}
.campaign-home .arena-tag{color:var(--head);}
.campaign-home .arena-shade{background:linear-gradient(transparent 25%,rgba(14,14,15,.88));}
.campaign-home .partners{padding-block:var(--section-space);}
.campaign-home .club-heading{border-bottom:1px solid var(--hair);padding-bottom:1.5rem;}
.campaign-home .club-photo figcaption{font-size:.8rem;line-height:1.5;color:var(--body-strong);margin-top:1rem;}
.campaign-home .club-spread{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
.campaign-home .club-photo video{max-height:36rem;}
.campaign-home .project-index{padding-block:var(--section-space);}
.campaign-home .project-index h2{font-size:clamp(2rem,4vw,4rem);}
.project-feature{min-height:32rem;}
.project-feature::after{inset:20% 0 0;background:linear-gradient(transparent,rgba(14,14,15,.95));}
.project-feature-copy h3 span{color:var(--head);}
/* Short project pages share an identity plate rather than imaginary products. */
.chapter-page:not(.chapter-handle) .chapter-hero{display:grid;grid-template-columns:1fr;position:relative;min-height:42rem;padding:calc(var(--nav-h) + 4rem) 0 4rem;background:var(--ink);color:var(--head);overflow:hidden;}
.chapter-page:not(.chapter-handle) .chapter-heading{width:100%;position:relative;z-index:1;align-self:center;}
.chapter-page:not(.chapter-handle) .chapter-heading h1{color:var(--head);font-family:var(--f-exp);font-weight:700;font-size:clamp(2.6rem,5vw,5rem);line-height:1.1;width:55%;letter-spacing:normal;}
.chapter-page:not(.chapter-handle) .chapter-heading h1 span{color:var(--orange);}
.chapter-page:not(.chapter-handle) .chapter-heading .folio{color:var(--body-strong);}
.chapter-page:not(.chapter-handle) .chapter-intro{display:block;width:43%;margin-top:2rem;}
.chapter-page:not(.chapter-handle) .chapter-intro>p:first-child{font-size:1.05rem;line-height:1.65;color:var(--body-strong);}
.chapter-page:not(.chapter-handle) .chapter-status{color:var(--body);font-size:.8rem;margin-top:1.5rem;}
.chapter-page .chapter-intro .text-link{display:inline-flex;margin-top:1.5rem;}
.chapter-app .chapter-visual,.chapter-journey .chapter-visual{position:absolute;inset:var(--nav-h) 0 0 52%;height:auto;width:auto;}
.chapter-app .chapter-visual::after,.chapter-journey .chapter-visual::after{display:block;background:linear-gradient(90deg,var(--ink),transparent 35%);}
.chapter-app .chapter-visual video,.chapter-journey .chapter-visual video{filter:none;width:100%;height:100%;object-fit:cover;}
.chapter-apparel .chapter-visual{position:absolute;inset:calc(var(--nav-h) + 2rem) var(--page-gutter) 2rem 58%;height:auto;width:auto;background:var(--head);}
.chapter-apparel .apparel-lockup{width:100%;height:100%;display:grid;place-items:center;padding:3rem;}
.chapter-apparel .apparel-lockup img{width:100%;height:auto;max-height:100%;object-fit:contain;}
.chapter-page:not(.chapter-handle) .chapter-body{padding-block:var(--section-space);}
.brief-row{display:grid;grid-template-columns:.55fr 1fr 1.2fr;align-items:start;gap:2rem;border-top:1px solid var(--hair);padding-block:2rem;margin-bottom:1.5rem;}
.brief-row h2{font-family:var(--f-exp);font-size:clamp(1.4rem,2vw,2rem);line-height:1.2;}
.brief-row p{color:var(--body-strong);font-size:1rem;line-height:1.75;max-width:42ch;}
/* Journey: one real feature, not a simulated publication archive. */
.chapter-journey .chapter-hero{min-height:36rem;}
.chapter-journey .journal-spread{grid-template-columns:1.3fr 1fr;align-items:center;margin-block:2rem 3rem;}
.chapter-journey .journal-spread img{filter:none;aspect-ratio:16/9;object-fit:contain;background:var(--ink);}
.chapter-journey .journal-spread h3{font-family:var(--f-exp);font-size:clamp(1.75rem,3vw,3rem);}
/* Story: a readable founder letter, with one strong opening plate. */
.campaign-story .page-hero{background:var(--orange);color:var(--ink);padding:calc(var(--nav-h) + 3rem) 0 3rem;}
.campaign-story .page-hero>.wrap{max-width:1440px;}
.campaign-story .page-hero .mast{font-family:var(--f-exp);font-weight:700;font-size:clamp(3rem,8vw,8rem);line-height:1.05;}
.campaign-story .page-hero :is(.mast,.o,.folio){color:var(--ink);}
.campaign-story .page-body{background:var(--head);color:var(--ink);padding-block:var(--section-space);}
.campaign-story .page-body>.wrap{max-width:calc(var(--reading) + 2 * var(--page-gutter));}
.campaign-story .page-body .editorial{display:block;}
.campaign-story .page-body .article{max-width:none;margin:0;border:0;padding:0;}
.campaign-story .page-body .article p{color:var(--ink);font-size:1.05rem;line-height:1.85;margin-bottom:1.5rem;}
.campaign-story .page-body .article p:first-child{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.6;}
.campaign-story .page-body .article a{color:var(--ink);text-decoration:underline;text-underline-offset:.2em;}
.campaign-home .project-draft{cursor:default;}
.campaign-home .project-draft:hover{background:transparent;}
.campaign-story .page-body .emph{border-top:1px solid #b4b4ad;padding-top:1.5rem;}
.campaign-story .page-body :is(.page-pager,.button){color:var(--ink);border-color:#b4b4ad;}
/* Vision: photo opener, a typographic question, three ruled principles. */
.campaign-vision .vision-hero{min-height:78svh;}
.campaign-vision .vision-hero-media img{filter:none;}
.campaign-vision .vision-hero .mast{font-size:clamp(2.5rem,6vw,6rem);line-height:1.1;}
.campaign-vision .vision-athlos-band{background:var(--head);color:var(--ink);padding-block:var(--section-space);}
.campaign-vision .vision-athlos-band :is(.vision-eyebrow,.athlos-w b,.athlos-note,.athlos-ask){color:var(--ink);}
.campaign-vision .athlos{margin-block:2rem;}
.campaign-vision .athlos-w span{color:var(--accent-deep);font-size:.8rem;}
.campaign-vision .athlos-x{color:var(--ink);opacity:1;}
.campaign-vision .athlos-ask{font-size:clamp(1.8rem,3.5vw,3.5rem);margin-top:2rem;}
.campaign-vision .vision-pact{padding-block:var(--section-space);}
.campaign-vision .pact-grid{display:block;counter-reset:pact;}
.campaign-vision .pact-grid article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 3rem;gap:clamp(1.5rem,4vw,4rem);padding:2.5rem 0;border-top:1px solid var(--hair);counter-increment:pact;}
.campaign-vision .pact-grid article::after{content:'0' counter(pact);color:var(--orange);font-size:.8rem;justify-self:end;}
.campaign-vision .pact-grid h3{font-size:clamp(1.5rem,2.5vw,2.5rem);line-height:1.2;margin:0;}
.campaign-vision .pact-grid p{max-width:48ch;font-size:1rem;}
.campaign-vision .vision-door{background:var(--orange);padding-block:var(--section-space);}
.campaign-vision .vision-door :is(h2,p,a){color:var(--ink);}
.campaign-vision .vision-door .text-link{border-color:var(--ink);}
/* Identity: preserve original construction evidence, align the presentation. */
.design-page .design-hero{min-height:38rem;grid-template-columns:1.15fr 1fr;gap:3rem;padding-block:calc(var(--nav-h) + 3rem) 3rem;}
.design-page h1{font-family:var(--f-exp);font-size:clamp(2.5rem,5vw,5rem);line-height:1.1;}
.design-page .design-symbol{max-height:none;aspect-ratio:1;background:var(--head);}
.design-page .design-section,.design-page .design-construction{padding-block:var(--section-space);}
.design-page .design-centered{text-align:left;}
.design-page .design-centered .folio{justify-content:flex-start;}
.design-page .design-centered .design-copy{margin-inline:0;max-width:46rem;}
.design-page .design-name-parts{max-width:none;gap:3rem;}
.design-page .design-name-parts>div{border-top:1px solid var(--hair);padding-top:1.5rem;}
.design-page .design-construction{background:var(--head);}
.design-page .design-letters{gap:1rem;}
.design-page .design-connection-grid>div{border-top:1px solid var(--hair);padding-top:1.5rem;}
/* Reservation remains functional; provider branding and auth logic untouched. */
.chapter-handle .chapter-hero{min-height:33rem;padding:calc(var(--nav-h) + 3rem) 0 3rem;}
.chapter-handle .chapter-heading h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.1;font-family:var(--f-exp);}
.chapter-handle .chapter-body{padding-block:var(--section-space);}
.chapter-handle .handle-panel{border-radius:0;background:var(--ink);padding:clamp(1.5rem,4vw,3rem);max-width:48rem;}
.chapter-handle .handle-field{border-radius:0;}
/* Legal pages: same editorial family, restrained reading surface. */
.legal-page main{background:var(--head);color:var(--ink);}
.legal-page .page-hero{background:var(--head);padding:calc(var(--nav-h) + 3rem) 0 2rem;}
.legal-page .page-hero .mast{font-size:clamp(2rem,4vw,4rem);line-height:1.15;}
.legal-page .page-hero :is(.mast,.folio,.o){color:var(--ink);}
.legal-page .page-body{padding-block:1rem var(--section-space);}
.legal-page .page-hero>.wrap,.legal-page .page-body>.wrap{max-width:calc(var(--reading) + 2 * var(--page-gutter));}
.legal-page .editorial{display:block;}
.legal-page .article{padding:0;border:0;max-width:none;}
.legal-page main :is(p,h3,li,a){color:var(--ink);line-height:1.75;}
/* Unification leftovers: type must follow the surface it sits on.
   campaign.css forces every span inside a chapter hero to ink, which erases the
   ↓/↗ link glyphs on the ink heroes; the pager was built for the dark surface
   and stays cream on the light story body. */
.chapter-page .chapter-hero a.text-link span{color:inherit;}
/* The folio separator is a decorative span with its own --body colour: on a light
   or orange surface that leaves a near-invisible "/" (2.1:1). Let it follow the
   folio tone it sits in; on ink surfaces the result is unchanged. */
.folio .sep{color:inherit;}
.campaign-story .page-body .page-pager :is(.v,.k){color:var(--ink);}
/* The light reading surface must win over the dark-site rules in styles.css
   (.legal p / .legal li / .page-pager .v are more specific than main :is(...)),
   otherwise body copy stays --body-strong on --head: light grey on cream. */
.legal-page .page-body .legal :is(p,li,ul){color:var(--ink);}
.legal-page .page-body .legal .updated{color:var(--ink);opacity:.6;}
.legal-page .page-pager :is(.v,.k){color:var(--ink);}
.legal-page .page-pager .k{opacity:.6;}
.legal-page .article p{font-size:1rem;}
.legal-page .article h3{font-size:1.15rem;margin-top:2rem;}
.legal-page .page-pager{border-color:#b4b4ad;}
/* Shared footer: recognisable scale and protected contrast across every route. */
body .site-footer{min-height:0;padding-block:clamp(3rem,6vw,6rem);}
body .site-footer .site-footer-media::after{background:rgba(14,14,15,.88);}
body .site-footer .footer-logo{height:clamp(1.5rem,3vw,2.5rem);width:auto;}
body .site-footer .footer-tagline{font-family:var(--f-exp);font-weight:700;font-size:clamp(1.75rem,3.8vw,3.8rem);line-height:1.15;max-width:24ch;margin-inline:auto;}
body .site-footer :is(.page-links a,.footer-copy){color:var(--body-strong);}
@media(max-width:900px){
 body .nav-links{display:none;}
 body .nav-burger{display:flex;}
 .brief-row{grid-template-columns:1fr 1.5fr;}
 .brief-row>.folio{grid-column:1/-1;}
 .campaign-vision .pact-grid article{grid-template-columns:1fr 1.4fr;}
 .campaign-vision .pact-grid article::after{display:none;}
}
@media(max-width:700px){
 .campaign-home .club-spread{grid-template-columns:1fr;}
 .campaign-home .arena-grid{gap:.75rem;}
 .project-feature{min-height:26rem;}
 .chapter-page:not(.chapter-handle) .chapter-hero{display:flex;min-height:0;padding:calc(var(--nav-h) + 2rem) 0 0;}
 .chapter-page:not(.chapter-handle) .chapter-heading h1{font-size:clamp(2rem,8vw,3.25rem);width:100%;}
 .chapter-page:not(.chapter-handle) .chapter-intro{width:100%;padding-bottom:2.5rem;}
 .chapter-app .chapter-visual,.chapter-journey .chapter-visual{position:relative;inset:auto;width:100%;height:22rem;order:2;}
 .chapter-app .chapter-visual::after,.chapter-journey .chapter-visual::after{display:none;}
 .chapter-apparel .chapter-visual{position:relative;inset:auto;width:calc(100% - 2 * var(--page-gutter));height:17rem;order:2;align-self:center;margin-bottom:2rem;}
 .brief-row{grid-template-columns:1fr;gap:1rem;}
 .chapter-journey .journal-spread{grid-template-columns:1fr;gap:1.5rem;}
 .campaign-vision .vision-hero{min-height:36rem;}
 .campaign-vision .pact-grid article{grid-template-columns:1fr;gap:1rem;padding-block:2rem;}
 .campaign-vision .vision-door .wrap{grid-template-columns:1fr;}
 .design-page .design-hero{grid-template-columns:1fr;min-height:0;gap:2rem;padding-top:calc(var(--nav-h) + 2rem);}
 .design-page .design-symbol{aspect-ratio:4/3;min-height:0;}
 .design-page .design-name-parts{gap:2rem;}
 .chapter-handle .chapter-hero{min-height:0;padding-top:calc(var(--nav-h) + 2rem);padding-bottom:0;}
 .chapter-handle .chapter-heading h1{width:100%;font-size:clamp(2rem,8vw,3.25rem);}
 .chapter-handle .chapter-visual{height:18rem;}
 body .page-pager .v{font-size:1rem;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
