/*
Theme Name:        Hekari FC
Theme URI:         https://pnghekarifc.com
Author:            PNG Hekari Football Club
Author URI:        https://pnghekarifc.com
Description:       Official theme for PNG Hekari Football Club — the club's crest
                    tricolour (red/gold/green) and bilum-weave motifs carried into a modern,
                    professional editorial layout: Archivo display type, Inter for reading,
                    Archivo Narrow for data and labels, softened geometry and layered
                    elevation. Pair with the hekari-club-content, hekari-academy-registration,
                    hekari-shop, hekari-gallery, hekari-tickets and hekari-contact-form
                    plugins for the complete site.
Version:            1.1.0
Requires at least:  6.4
Tested up to:       6.6
Requires PHP:       8.0
License:            GNU General Public License v2 or later
License URI:        LICENSE
Text Domain:        hekari-fc
Tags:               sports, one-column, custom-menu, custom-colors, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

==========================================================================
   PNG HEKARI FC — SITE STYLESHEET
   --------------------------------------------------------------------------
   1. Design tokens          7. Gallery + article
   2. Base + layout          8. Forms
   3. Masthead + nav         9. Footer
   4. Hero + page headers   10. WordPress core / block-editor content
   5. Cards + grids         11. Responsive
   6. Fixtures, tables, timeline
   Colours are sampled from the club crest: gold ring, black outline,
   red / black / green field behind the bird of paradise. The palette is fixed;
   the 1.1 refresh changes only type, geometry, spacing and elevation.

   Type: Archivo (--display) sets the headline voice, Inter (--body) carries
   running text and controls, Archivo Narrow (--data) handles the condensed
   uppercase register — nav, eyebrows, table headers, meta. Uppercase is
   reserved for h1/h2, labels and proper names; everything else reads sentence
   case. Numerals in tables, scores and stat tiles are tabular.
   ========================================================================== */

/* ---------------------------------------------------------- 1. TOKENS ---- */
:root{
  --gold:       #F5D400;
  --gold-deep:  #C4A600;
  --red:        #D5001C;
  --red-bright: #F01230;
  --red-deep:   #8E0012;
  --green:      #00784A;
  --green-deep: #005434;
  --ink:        #0A0A0A;
  --ink-2:      #131416;
  --ink-3:      #1D1F22;
  --paper:      #EDEFF0;
  --paper-2:    #DCE0E3;
  --white:      #FFFFFF;

  --on-dark:     rgba(255,255,255,.72);
  --on-dark-dim: rgba(255,255,255,.48);
  --hair:        rgba(255,255,255,.14);
  --hair-dark:   rgba(10,10,10,.14);
  /* Alias kept for the mega-menu/promo tiles — the original design system
     referenced this token without defining it, which silently broke a few
     hairline borders. Defined here so those rules render as designed. */
  --hair-d:      rgba(255,255,255,.10);
  --paper-dim:   rgba(237,239,240,.72);
  --muted:       #525960;
  --muted-2:     #7B838B;

  /* Type system — Archivo for display, Inter for reading, Archivo Narrow
     for the condensed data/label voice (nav, tables, eyebrows, meta). */
  --display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --body:    "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --data:    "Archivo Narrow", "Archivo", "Arial Narrow", sans-serif;

  --wrap: 1200px;
  --gut: clamp(20px, 4vw, 56px);

  /* Geometry — softened from the original 4px hard edge. */
  --r:     12px;
  --r-sm:  8px;
  --r-lg:  20px;
  --pill:  999px;

  /* Elevation */
  --shadow-sm:   0 1px 2px rgba(10,10,10,.05), 0 4px 14px rgba(10,10,10,.06);
  --shadow-md:   0 2px 6px rgba(10,10,10,.06), 0 14px 34px rgba(10,10,10,.10);
  --shadow-lg:   0 28px 70px rgba(10,10,10,.18);
  --shadow-dark: 0 22px 55px rgba(0,0,0,.45);

  --ease: cubic-bezier(.22,.61,.36,1);
  --admin-bar-h: 32px;
}

/* Bilum weave — the diagonal lattice of a PNG string bag. */
.weave{
  background-image:
    repeating-linear-gradient(58deg,  rgba(255,255,255,.045) 0 1px, transparent 1px 13px),
    repeating-linear-gradient(-58deg, rgba(255,255,255,.045) 0 1px, transparent 1px 13px);
}
.weave-red{
  background-image:
    repeating-linear-gradient(58deg,  rgba(0,0,0,.10) 0 1px, transparent 1px 13px),
    repeating-linear-gradient(-58deg, rgba(0,0,0,.10) 0 1px, transparent 1px 13px);
}

/* Crest tricolour — red / gold / green, lifted from the badge. */
.tricolour{
  height:4px; width:100%; flex:none;
  background:linear-gradient(90deg,
    var(--red) 0 33.34%, var(--gold) 33.34% 66.67%, var(--green) 66.67% 100%);
}

/* ------------------------------------------------------ 2. BASE/LAYOUT ---- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--ink); color:var(--paper);
  font-family:var(--body); font-size:16.5px; line-height:1.65;
  letter-spacing:-.003em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--gold); color:var(--ink)}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
button{font:inherit; cursor:pointer}
:focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:3px}

.skip{position:absolute; left:-9999px; top:0; background:var(--gold); color:var(--ink);
  padding:12px 22px; z-index:200; font-family:var(--data); font-weight:700;
  letter-spacing:.1em; text-transform:uppercase}
.skip:focus{left:0}

/* WordPress core accessibility utility (some blocks/plugins target this). */
.screen-reader-text{border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important;
  width:1px; word-wrap:normal!important}
.screen-reader-text:focus{background:var(--gold); color:var(--ink); clip:auto!important;
  clip-path:none; display:block; font-family:var(--data); height:auto; left:5px;
  line-height:normal; padding:12px 20px; text-decoration:none; top:5px; width:auto; z-index:200}

.wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut)}
.wrap-wide{max-width:1480px; margin-inline:auto; padding-inline:var(--gut)}

/* Display headings: Archivo, tightly tracked. Uppercase is reserved for the
   two statement levels (h1/h2); h3/h4 run sentence case so card titles,
   player names and article sub-heads stay readable. */
h1,h2,h3,h4{font-family:var(--display); font-weight:700; line-height:1.1;
  letter-spacing:-.018em; margin:0; text-wrap:balance}
h1{font-size:clamp(36px,5.4vw,64px); font-weight:800; line-height:1.02;
  letter-spacing:-.026em; text-transform:uppercase}
h2{font-size:clamp(27px,3.4vw,42px); font-weight:800; line-height:1.06;
  letter-spacing:-.024em; text-transform:uppercase}
h3{font-size:clamp(20px,2.1vw,26px); line-height:1.16}
h4{font-size:19px; line-height:1.24}
p{margin:0 0 1em}

.eyebrow{font-family:var(--data); font-weight:700; font-size:12.5px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
  display:flex; align-items:center; gap:10px; margin:0 0 16px}
.eyebrow::before{content:""; width:22px; height:2px; border-radius:2px;
  background:var(--red-bright); flex:none}
.lede{font-size:clamp(17px,1.7vw,19.5px); line-height:1.6; color:var(--on-dark); max-width:60ch}
.prose{max-width:68ch; color:var(--on-dark); font-size:17px; line-height:1.72}
.prose p{margin-bottom:1.1em}

.band{padding:clamp(56px,8vw,112px) 0; position:relative}
.band-light{background:var(--paper); color:var(--ink)}
.band-light .lede,.band-light .prose{color:var(--muted)}
.band-light .eyebrow{color:var(--red)}
.band-ink2{background:var(--ink-2)}
.band-red{background:var(--red); color:var(--white)}
.band-red .eyebrow{color:#fff}
.band-red .eyebrow::before{background:var(--gold)}

.head-row{display:flex; justify-content:space-between; align-items:flex-end;
  gap:24px; flex-wrap:wrap; margin-bottom:42px}
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,64px); align-items:start}
.mt-l{margin-top:clamp(34px,5vw,60px)}
.note{font-family:var(--data); font-size:12.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--on-dark-dim)}
.band-light .note{color:var(--muted-2)}

/* ------------------------------------------------------- 3. MASTHEAD ---- */
.utility{background:#000; font-family:var(--data); font-size:12.5px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--on-dark-dim)}
.utility .wrap-wide{display:flex; justify-content:space-between; align-items:center;
  gap:16px; height:40px; overflow:hidden}
.utility strong{color:var(--gold); font-weight:700}
.utility-links{display:flex; gap:22px}
.utility-links a:hover{color:#fff}

.masthead{position:sticky; top:0; z-index:60; background:rgba(10,10,10,.82);
  backdrop-filter:saturate(150%) blur(18px);
  -webkit-backdrop-filter:saturate(150%) blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06)}
.masthead > .wrap-wide{display:flex; align-items:center; gap:22px; height:80px}
/* Keep the sticky header below the WP admin toolbar for logged-in staff. */
body.admin-bar .masthead{top:var(--admin-bar-h)}
@media (max-width:782px){ body.admin-bar .masthead{top:46px} }

.brand{display:flex; align-items:center; gap:14px; flex:none}
.brand img{width:50px; height:50px; flex:none}
.brand-txt{font-family:var(--display); font-weight:800; font-size:20px;
  line-height:1.04; letter-spacing:-.022em; text-transform:uppercase}
.brand-txt span{display:block; font-family:var(--data); font-size:10.5px;
  font-weight:600; letter-spacing:.18em; color:var(--gold); margin-top:4px}

.nav{margin-left:auto; display:flex; align-items:center; gap:2px}
.nav-item{position:static}
.nav-link{position:relative; display:inline-flex; align-items:center; gap:7px;
  font-family:var(--data); font-weight:600; font-size:14px; letter-spacing:.09em;
  text-transform:uppercase; padding:10px 14px; color:var(--on-dark);
  border:0; background:none; border-radius:var(--r-sm);
  transition:color .18s var(--ease), background .18s var(--ease)}
.nav-link::after{content:""; position:absolute; left:14px; right:14px; bottom:3px;
  height:2px; border-radius:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform .24s var(--ease)}
.nav-link:hover{color:#fff; background:rgba(255,255,255,.06)}
.nav-link[aria-current="page"],.nav-item.is-current > .nav-link{color:#fff}
.nav-link[aria-current="page"]::after,
.nav-item.is-current > .nav-link::after{transform:scaleX(1)}
.caret{width:7px; height:7px; border-right:2px solid currentColor;
  border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.7}

.submenu{position:absolute; top:100%; left:0; right:0; display:none; z-index:70;
  background:linear-gradient(180deg, #16181c 0%, #101114 100%);
  border-top:1px solid var(--hair-d); border-bottom:3px solid var(--gold);
  box-shadow:var(--shadow-dark); padding:34px 0 38px}

/* The submenu is anchored to the full sticky masthead, not the individual
   link. Keep the desktop trigger area tall enough to cover the space between
   the centered link and the panel, including the tricolour divider. */
@media (min-width:1181px){
  .nav-item{display:flex; align-self:stretch; align-items:center}
  .submenu{top:calc(100% - 4px)}
}
.nav-item:hover > .submenu, .nav-item:focus-within > .submenu, .submenu.is-open{display:block;
  animation:megaIn .22s cubic-bezier(.22,.61,.36,1) both}
@keyframes megaIn{from{opacity:0; transform:translateY(-8px)} to{opacity:1; transform:none}}
@media (prefers-reduced-motion:reduce){ .nav-item:hover > .submenu, .nav-item:focus-within > .submenu, .submenu.is-open{animation:none} }
.nav-item:hover > .nav-link .caret, .nav-item:focus-within > .nav-link .caret{transform:rotate(225deg) translateY(-2px)}

/* Panel grid: a multi-column lane of links on the left, a rail of compact
   feature cards on the right. Both stretch to one shared height. */
.mega{display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,310px);
  gap:0 clamp(28px,3.4vw,48px); align-items:start}
.mega-main{min-width:0}
.mega-eyebrow{font-family:var(--data); font-size:11.5px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gold); margin:0 0 16px; padding-left:14px}
/* Three lanes keeps rows filling evenly for the 3–5 links these menus hold;
   a fourth lane would strand a single link on its own row. */
.mega-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px clamp(16px,2vw,30px)}
@media (max-width:1320px){ .mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }

.mega-link{display:block; padding:13px 14px; border-radius:var(--r-sm);
  border:1px solid transparent;
  transition:background .16s var(--ease), border-color .16s var(--ease)}
.mega-link-title{display:block; position:relative; font-family:var(--display);
  font-weight:600; font-size:16px; letter-spacing:-.012em; line-height:1.3;
  color:var(--paper); padding-right:20px}
.mega-link-title::after{content:"→"; position:absolute; right:0; top:0;
  color:var(--gold); opacity:0; transform:translateX(-5px);
  transition:opacity .16s var(--ease), transform .16s var(--ease)}
.mega-link-desc{display:block; margin-top:5px; font-size:13px; line-height:1.5;
  color:var(--on-dark-dim);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.mega-link:hover{background:rgba(255,255,255,.055); border-color:var(--hair-d)}
.mega-link:hover .mega-link-title{color:#fff}
.mega-link:hover .mega-link-title::after{opacity:1; transform:none}
.mega-link[aria-current="page"] .mega-link-title{color:var(--gold)}

/* Feature rail — populated per section from menu items flagged `mega-promo`
   / `mega-promo-red` (see inc/nav-walker.php). */
.mega-rail{display:grid; gap:12px; align-content:start;
  border-left:1px solid var(--hair-d); padding-left:clamp(28px,3.4vw,48px)}
.promo{position:relative; display:flex; flex-direction:column; justify-content:center;
  min-height:104px; padding:18px 20px; overflow:hidden; isolation:isolate;
  background:linear-gradient(150deg, #17181a 0%, #101112 55%, #0a0a0a 100%);
  border:1px solid var(--hair-d); border-radius:var(--r);
  transition:transform .22s var(--ease), border-color .22s, box-shadow .22s}
.promo::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; z-index:2;
  background:linear-gradient(90deg, var(--red) 0 34%, var(--gold) 34% 67%, var(--green) 67% 100%)}
.promo:hover{transform:translateY(-2px); border-color:var(--gold); box-shadow:var(--shadow-dark)}
.promo-kicker{position:relative; z-index:1; font-family:var(--data); font-size:11px;
  font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold)}
.promo-title{position:relative; z-index:1; font-family:var(--display); font-weight:700;
  font-size:18px; line-height:1.22; letter-spacing:-.018em; color:#fff; margin:7px 0 8px}
.promo-cta{position:relative; z-index:1; font-family:var(--data); font-size:12px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--paper-dim)}
.promo-cta::after{content:"→"; margin-left:7px; color:var(--gold)}
.promo:hover .promo-cta{color:#fff}
.promo-red{background:linear-gradient(150deg, #b40018 0%, var(--red) 55%, #8f0013 100%);
  border-color:rgba(255,255,255,.16)}
.promo-red:hover{border-color:#fff}
.promo-red .promo-kicker{color:var(--gold)}
.promo-red .promo-cta{color:rgba(255,255,255,.85)}
.promo-red .promo-cta::after{color:var(--gold)}
.nav-cta{margin-left:12px}

.burger{margin-left:auto; display:none; background:none; border:1px solid var(--hair);
  color:#fff; width:48px; height:44px; border-radius:var(--r-sm);
  align-items:center; justify-content:center; transition:background .18s, border-color .18s}
.burger:hover{background:var(--red); border-color:var(--red)}
.burger span{display:block; width:20px; height:2px; background:#fff; position:relative}
.burger span::before,.burger span::after{content:""; position:absolute; left:0;
  width:20px; height:2px; background:#fff}
.burger span::before{top:-6px} .burger span::after{top:6px}

/* --------------------------------------------- 4. HERO + PAGE HEADERS ---- */
.hero{position:relative; background:var(--ink); overflow:hidden; padding:clamp(64px,9vw,124px) 0 0}
.hero::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(110% 78% at 80% 6%, rgba(213,0,28,.40), transparent 60%),
             radial-gradient(70% 55% at 12% 96%, rgba(0,120,74,.30), transparent 62%)}
.hero-inner{position:relative; z-index:2}
.hero-crest{position:absolute; right:-4%; top:8%; width:min(46vw,520px); opacity:.10;
  pointer-events:none; z-index:1; filter:grayscale(1) brightness(2.4)}

.hero-kicker{font-family:var(--data); font-weight:700; font-size:13px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:20px}
.hero h1{font-size:clamp(44px,7.4vw,104px); font-weight:800;
  line-height:.98; letter-spacing:-.032em}
.hero h1 em{font-style:normal; color:var(--red-bright)}
.hero-sub{max-width:52ch; margin-top:26px; font-size:clamp(16.5px,1.5vw,19px);
  line-height:1.62; color:var(--on-dark)}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px}
.motto{font-family:var(--display); font-weight:700; font-size:clamp(17px,1.8vw,21px);
  letter-spacing:.08em; color:var(--gold); text-transform:uppercase; margin-top:28px}

.pagehead{background:var(--ink-2); padding:clamp(46px,6.5vw,84px) 0 clamp(36px,5vw,58px);
  border-bottom:1px solid var(--hair); position:relative; overflow:hidden}
.pagehead::after{content:""; position:absolute; right:-6%; top:-40%; width:46%; aspect-ratio:1;
  background:radial-gradient(circle,rgba(213,0,28,.42),transparent 66%)}
.pagehead .wrap{position:relative; z-index:2}
.pagehead h1{font-size:clamp(34px,5vw,62px)}
.pagehead .tricolour{position:absolute; top:0; left:0; z-index:3}

.crumbs{font-family:var(--data); font-size:12.5px; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase; color:var(--on-dark-dim); margin-bottom:18px}
.crumbs a:hover{color:var(--gold)}
.crumbs span{opacity:.5; padding:0 8px}
.crumbs .current{font-style:normal; color:var(--gold)}

/* Honours ledger — the signature element. */
.ledger{margin-top:clamp(44px,6vw,74px); border-top:1px solid var(--hair); padding-top:24px}
.ledger-label{font-family:var(--data); font-size:12.5px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--on-dark-dim); margin-bottom:20px}
.ledger-bars{display:flex; align-items:flex-end; gap:clamp(6px,1.1vw,14px);
  height:130px; padding-bottom:26px}
.bar{flex:1 1 0; background:linear-gradient(180deg,var(--gold),var(--gold-deep));
  position:relative; border-radius:3px 3px 0 0; transform-origin:bottom;
  animation:grow .8s var(--ease) both}
.bar[data-major="1"]{background:linear-gradient(180deg,var(--red-bright),var(--red-deep))}
.bar::after{content:attr(data-year); position:absolute; left:50%; bottom:-24px;
  transform:translateX(-50%); font-family:var(--data); font-size:12px;
  font-variant-numeric:tabular-nums; color:var(--on-dark-dim); white-space:nowrap}
.bar:hover{filter:brightness(1.18)}
@keyframes grow{from{transform:scaleY(0); opacity:0} to{transform:scaleY(1); opacity:1}}

/* Next-match bar */
.matchbar{background:var(--red); color:#fff; position:relative; overflow:hidden;
  border-top:4px solid var(--gold)}
.matchbar .wrap-wide{display:grid; grid-template-columns:1fr auto;
  gap:clamp(20px,4vw,56px); align-items:center; padding-block:30px}
.mb-tag{font-family:var(--data); font-weight:700; font-size:12.5px;
  letter-spacing:.14em; text-transform:uppercase; opacity:.85; margin:0 0 10px}
.mb-teams{display:flex; align-items:center; gap:18px; font-family:var(--display);
  font-weight:800; font-size:clamp(23px,3vw,36px); letter-spacing:-.026em;
  text-transform:uppercase; line-height:1.06}
.mb-v{font-family:var(--data); font-size:14px; font-weight:600; letter-spacing:.14em; opacity:.75}
.mb-meta{font-family:var(--data); font-size:14.5px; font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; opacity:.9; margin:10px 0 0}
.countdown{display:flex; gap:12px}
.cd{min-width:66px; text-align:center; background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.10); border-radius:var(--r-sm); padding:11px 8px}
.cd b{display:block; font-family:var(--display); font-weight:800; font-size:28px;
  line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.cd i{font-style:normal; font-family:var(--data); font-size:10.5px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; opacity:.75}

/* -------------------------------------------------- 5. CARDS + GRIDS ---- */
.grid{display:grid; gap:28px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}

.card{background:var(--ink-2); border:1px solid var(--hair); border-radius:var(--r);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .28s var(--ease), border-color .28s, box-shadow .28s}
.card:hover{transform:translateY(-5px); border-color:rgba(240,18,48,.55);
  box-shadow:var(--shadow-dark)}
.band-light .card{background:var(--white); border-color:rgba(10,10,10,.09);
  box-shadow:var(--shadow-sm)}
.band-light .card:hover{border-color:rgba(213,0,28,.35); box-shadow:var(--shadow-md)}
.card-media{aspect-ratio:16/10; background:linear-gradient(135deg,var(--red-deep),var(--ink-3));
  display:grid; place-items:center; overflow:hidden}
.card-media img{width:100%; height:100%; object-fit:cover}
.card-media img.is-placeholder{width:64px; height:64px; object-fit:contain; opacity:.55}
.card-media .num{font-family:var(--display); font-weight:900;
  font-size:clamp(48px,6vw,80px); color:rgba(255,255,255,.16)}
.card-body{padding:24px 24px 28px; flex:1; display:flex; flex-direction:column}
.card-tag{font-family:var(--data); font-weight:700; font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--red-bright); margin:0 0 12px}
.card h4{margin-bottom:10px; line-height:1.24}
.card h4 a{transition:color .18s}
.card h4 a:hover{color:var(--red)}
.card p{font-size:15px; line-height:1.62; color:var(--on-dark); margin:0}
.band-light .card p{color:var(--muted)}
.card-date{margin-top:auto; padding-top:18px; font-family:var(--data); font-weight:500;
  font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--on-dark-dim)}
.tickets-overview{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:34px; align-items:end; padding:8px 0 34px; border-bottom:1px solid var(--hair-dark)}
.tickets-overview h2{margin:4px 0 12px}
.ticket-facts{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.ticket-facts div{padding:18px 14px; background:var(--paper); border:1px solid var(--hair-dark); border-radius:var(--r); text-align:center}
.ticket-facts strong{display:block; color:var(--red); font-family:var(--display); font-weight:800;
  font-size:28px; line-height:1.05; letter-spacing:-.028em; font-variant-numeric:tabular-nums}
.ticket-facts span{display:block; margin-top:10px; color:var(--muted); font-family:var(--data); font-weight:500; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase}
.ticket-guide{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:38px; margin-top:42px; padding:28px 0 4px; border-top:3px solid var(--red)}
.ticket-guide h3{margin-top:4px; max-width:14ch}
.ticket-guide ol{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0; padding:0; list-style:none; counter-reset:ticket-step}
.ticket-guide li{counter-increment:ticket-step; position:relative; padding:38px 0 0; border-top:1px solid var(--hair-dark)}
.ticket-guide li::before{content:counter(ticket-step, decimal-leading-zero); position:absolute; top:8px; left:0; color:var(--red); font-family:var(--data); font-weight:700; font-size:12px; letter-spacing:.1em}
.ticket-guide strong,.ticket-guide span{display:block}
.ticket-guide strong{font-family:var(--display); font-weight:700; font-size:18.5px;
  letter-spacing:-.018em; line-height:1.25}
.ticket-guide span{margin-top:9px; color:var(--muted); font-size:14.5px; line-height:1.6}
.band-light .card-date{color:var(--muted-2)}
.card-ext{display:inline-flex; align-items:center; gap:5px; color:var(--red);
  text-decoration:underline; text-decoration-color:rgba(213,0,28,.4)}
.card-ext:hover{color:var(--red-bright); text-decoration-color:currentColor}
.card-ext::after{content:"↗"; font-size:12px}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--body); font-weight:600; font-size:14px; letter-spacing:.06em;
  text-transform:uppercase; white-space:nowrap;
  padding:14px 28px; border:1.5px solid transparent; border-radius:var(--pill);
  transition:transform .18s var(--ease), background .18s, color .18s,
             border-color .18s, box-shadow .18s}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--red); color:#fff; box-shadow:0 6px 18px rgba(213,0,28,.26)}
.btn-red:hover{background:var(--red-bright); box-shadow:0 10px 26px rgba(240,18,48,.34)}
.btn-gold{background:var(--gold); color:var(--ink); box-shadow:0 6px 18px rgba(245,212,0,.22)}
.btn-gold:hover{background:#FFE22B; box-shadow:0 10px 26px rgba(245,212,0,.30)}
.btn-ghost{border-color:currentColor; color:inherit; opacity:.9}
.btn-ghost:hover{background:currentColor; color:var(--ink); opacity:1}
.band-light .btn-ghost:hover{background:var(--ink); border-color:var(--ink); color:var(--paper)}
.btn-sm{padding:10px 20px; font-size:12.5px}
.btn[disabled],.btn:disabled{opacity:.5; cursor:not-allowed; transform:none!important}

/* Squad */
.squad-filter{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:34px}
.chip{font-family:var(--data); font-weight:600; font-size:13.5px; letter-spacing:.08em;
  text-transform:uppercase; padding:9px 20px; border:1px solid var(--hair-dark);
  background:transparent; color:inherit; border-radius:var(--pill);
  transition:background .18s var(--ease), border-color .18s, color .18s}
.chip:hover{border-color:var(--red); color:var(--red)}
.chip[aria-pressed="true"]{background:var(--red); border-color:var(--red); color:#fff}
.player{background:var(--white); border:1px solid rgba(10,10,10,.09); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--shadow-sm);
  transition:transform .26s var(--ease), box-shadow .26s}
.player:hover{transform:translateY(-5px); box-shadow:var(--shadow-md)}
.player.is-hidden{display:none}
.player-top{aspect-ratio:3/4; background:linear-gradient(170deg,var(--ink-3),var(--ink));
  position:relative; overflow:hidden; display:grid; place-items:center}
.player-top::before{content:""; position:absolute; inset:auto 0 0 0; height:52%;
  background:linear-gradient(180deg,transparent,var(--red-deep)); z-index:1}
.player-top img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0}
.player-num{position:relative; z-index:2; font-family:var(--display); font-weight:800;
  font-size:clamp(56px,7vw,92px); letter-spacing:-.04em; font-variant-numeric:tabular-nums;
  color:rgba(255,255,255,.9); line-height:1}
.player-pos{position:absolute; top:12px; left:12px; z-index:3; font-family:var(--data); font-size:11px;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--gold);
  color:var(--ink); padding:5px 12px; border-radius:var(--pill)}
.player-flag{position:absolute; top:12px; right:12px; z-index:3; font-size:20px; line-height:1}
.player-body{padding:16px 16px 20px; color:var(--ink)}
.player-body .first{font-family:var(--data); font-weight:500; font-size:13px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted-2)}
.player-body .last{font-family:var(--display); font-weight:800; font-size:22px;
  letter-spacing:-.024em; text-transform:uppercase; line-height:1.1; margin-top:4px}

/* Stats */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--hair); border:1px solid var(--hair);
  border-radius:var(--r); overflow:hidden}
.stat{background:var(--ink); padding:28px 24px}
.stat b{display:block; font-family:var(--display); font-weight:800;
  font-size:clamp(34px,4.4vw,52px); line-height:1; letter-spacing:-.032em;
  font-variant-numeric:tabular-nums; color:#fff}
.stat span{font-family:var(--data); font-weight:500; font-size:12.5px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--on-dark-dim); display:block; margin-top:12px}
/* Core group blocks in a classic theme (no theme.json) render an extra
   .wp-block-group__inner-container wrapper. That wrapper would become the
   single child of any grid or flex container, collapsing layouts built from
   the theme's patterns. Taking it out of the layout with display:contents
   lets the real children sit directly in the container, while padding and
   background stay on the group element itself. */
.stats > .wp-block-group__inner-container,
.stat > .wp-block-group__inner-container,
.grid > .wp-block-group__inner-container,
.card > .wp-block-group__inner-container,
.card-body > .wp-block-group__inner-container,
.tl > .wp-block-group__inner-container,
.tl-item > .wp-block-group__inner-container,
.hero-cta > .wp-block-group__inner-container{display:contents}

/* The "Statistics strip" pattern builds each tile from core paragraph blocks
   rather than <b>/<span>, so editors can type straight into the canvas.
   These two rules give that markup the same treatment. */
.stat .stat-figure{margin:0; font-family:var(--display); font-weight:800;
  font-size:clamp(34px,4.4vw,52px); line-height:1; letter-spacing:-.032em;
  font-variant-numeric:tabular-nums; color:#fff}
.stat .stat-label{margin:12px 0 0; font-family:var(--data); font-weight:500;
  font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--on-dark-dim)}
.band-light .stat .stat-figure{color:var(--ink)}
.band-light .stat .stat-label{color:var(--muted-2)}

.band-light .stats{background:var(--hair-dark); border-color:var(--hair-dark)}
.band-light .stat{background:#fff}
.band-light .stat b{color:var(--ink)}
.band-light .stat span{color:var(--muted-2)}

/* Honour roll list */
.roll{list-style:none; margin:0; padding:0; display:grid; gap:1px; background:var(--hair-dark);
  border-radius:var(--r); overflow:hidden}
.roll li,.roll a{background:var(--white); padding:18px 22px; display:flex; gap:18px;
  align-items:baseline; flex-wrap:wrap; transition:background .16s}
.roll a:hover{background:var(--paper)}
.roll .yr{font-family:var(--display); font-weight:800; font-size:24px; letter-spacing:-.028em;
  font-variant-numeric:tabular-nums; color:var(--red); min-width:110px}
.roll .what{font-family:var(--data); font-weight:600; font-size:15.5px; letter-spacing:.04em;
  text-transform:uppercase; color:var(--ink)}
.roll .who{font-size:14px; color:var(--muted-2)}

/* ---------------------------------- 6. FIXTURES / TABLES / TIMELINE ---- */
.tbl{width:100%; border-collapse:collapse; font-family:var(--data); font-size:15.5px;
  font-variant-numeric:tabular-nums}
.tbl th{font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:12px;
  text-align:left; padding:13px 12px; color:var(--on-dark-dim); border-bottom:1px solid var(--hair)}
.tbl td{padding:14px 12px; border-bottom:1px solid var(--hair)}
.tbl tbody tr{transition:background .16s}
.tbl tbody tr:hover{background:rgba(255,255,255,.035)}
.band-light .tbl tbody tr:hover{background:rgba(10,10,10,.028)}
.band-light .tbl th{color:var(--muted-2); border-bottom-color:var(--hair-dark)}
.band-light .tbl td{border-bottom-color:var(--hair-dark)}
.tbl .num{text-align:center; width:46px}
.tbl tr.us{background:rgba(213,0,28,.12)}
.tbl tr.us td{font-weight:700}
.tbl .fx-team{display:inline-flex; align-items:center; gap:8px; min-width:150px}
.tbl .fx-crest{width:30px; height:30px; flex:0 0 30px; object-fit:contain; background:#fff; border-radius:6px; padding:2px}
.tbl .fx-team-name{font:inherit; text-transform:none}
.tbl-scroll{overflow-x:auto}

.fx{display:grid; grid-template-columns:110px 1fr auto; gap:18px; align-items:center;
  padding:18px 0; border-bottom:1px solid var(--hair-dark)}
.band-ink2 .fx,.band .fx{border-bottom-color:var(--hair)}
.fx-date{font-family:var(--data); font-weight:600; font-size:13.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--red); line-height:1.35}
.fx-date b{display:block; font-family:var(--display); font-weight:800; font-size:24px;
  letter-spacing:-.028em; font-variant-numeric:tabular-nums; color:inherit}
.fx-main{font-family:var(--display); font-weight:800; font-size:clamp(19px,2.1vw,24px);
  letter-spacing:-.026em; text-transform:uppercase; line-height:1.14}
.fx-comp{font-family:var(--data); font-weight:500; font-size:12.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted-2); margin-top:6px}
.band-ink2 .fx-comp,.band .fx-comp{color:var(--on-dark-dim)}
.fx-score{font-family:var(--display); font-weight:800; font-size:26px; letter-spacing:-.028em;
  font-variant-numeric:tabular-nums; background:var(--ink);
  color:#fff; padding:7px 16px; border-radius:var(--r-sm)}
.fx-score.win{background:var(--green)}
.fx-score.draw{background:#5A6169}
.fx-score.loss{background:var(--red-deep)}

.tl{border-left:2px solid var(--hair); padding-left:clamp(22px,4vw,44px)}
.band-light .tl{border-left-color:var(--hair-dark)}
.tl-item{position:relative; padding-bottom:36px}
.tl-item::before{content:""; position:absolute; left:calc(-1 * clamp(22px,4vw,44px) - 7px);
  top:7px; width:12px; height:12px; background:var(--gold); border-radius:50%;
  box-shadow:0 0 0 4px var(--ink)}
.band-light .tl-item::before{box-shadow:0 0 0 4px var(--paper)}
.tl-year{font-family:var(--display); font-weight:800; font-size:32px; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; color:var(--red); line-height:1.05}
.band .tl-year,.band-ink2 .tl-year{color:var(--gold)}
.tl-item h4{margin:6px 0 8px}
.tl-item p{color:var(--on-dark); font-size:15.5px; line-height:1.68; max-width:64ch; margin:0}
.band-light .tl-item p{color:var(--muted)}

/* ------------------------------------------- 7. GALLERY + ARTICLE ---- */
.gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.shot{aspect-ratio:4/3; border-radius:var(--r); overflow:hidden; position:relative;
  display:grid; place-items:center; background:linear-gradient(150deg,var(--ink-3),var(--red-deep));
  border:1px solid var(--hair-dark); cursor:zoom-in; padding:0}
.shot:nth-child(4n+2){background:linear-gradient(150deg,var(--ink),var(--green-deep))}
.shot:nth-child(4n+3){background:linear-gradient(150deg,var(--red-deep),var(--ink))}
.shot:nth-child(4n){background:linear-gradient(150deg,var(--ink-2),var(--gold-deep))}
.shot span{font-family:var(--data); font-weight:600; font-size:13px; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.8); text-align:center; padding:0 14px}
.shot img{width:100%; height:100%; object-fit:cover}
.shot figcaption{position:absolute; inset:auto 0 0 0; padding:12px 14px; font-family:var(--data);
  font-weight:500; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:#fff;
  background:linear-gradient(0deg,rgba(0,0,0,.75),transparent); text-align:left}
.shot.tall{grid-row:span 2; aspect-ratio:2/3}

.article{max-width:74ch}
.article h2{font-size:clamp(24px,2.8vw,34px); margin:40px 0 16px}
.article p{font-size:17px; line-height:1.75; color:var(--muted); margin-bottom:1.2em}
.article .meta{font-family:var(--data); font-weight:500; font-size:13px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted-2); margin-bottom:28px}
.article blockquote{margin:32px 0; padding:22px 28px; border-left:4px solid var(--gold);
  border-radius:0 var(--r-sm) var(--r-sm) 0; background:#fff; font-size:18.5px;
  line-height:1.6; color:var(--ink)}
.content-layout{display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,300px); gap:clamp(32px,6vw,86px); align-items:start}
.content-main{min-width:0}
.content-sidebar{position:sticky; top:24px; display:grid; gap:28px}
.sidebar-featured{padding:20px; background:#fff; border-top:4px solid var(--red);
  border-radius:var(--r-sm); box-shadow:var(--shadow-sm)}
.sidebar-featured img{display:block; width:100%; max-height:190px; object-fit:cover; border-radius:var(--r); margin-bottom:18px}
.sidebar-featured img[src$="logo.png"]{width:74px; height:74px; object-fit:contain; margin:4px auto 20px}
.sidebar-featured p:last-child{color:var(--muted); font-size:14px; line-height:1.5; margin:0}
.sidebar-links{border-top:1px solid var(--hair-dark); padding-top:18px}
.sidebar-links ul{list-style:none; margin:10px 0 0; padding:0}
.sidebar-links li{border-bottom:1px solid var(--hair-dark)}
.sidebar-links a{display:flex; justify-content:space-between; gap:14px; padding:14px 0; color:var(--ink); font-family:var(--display); font-size:16.5px; font-weight:700; letter-spacing:-.015em; line-height:1.25; transition:color .16s}
.sidebar-links a:hover{color:var(--red)}
.sidebar-links a span{color:var(--red); flex:0 0 auto}

/* Partner wall */
.logos{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px;
  background:var(--hair-dark)}
.logo-cell{background:var(--ink-2); display:grid; place-items:center; min-height:150px;
  padding:20px; text-align:center}
.logo-cell img{max-height:64px; max-width:160px; width:auto; margin:0 auto; filter:grayscale(1); opacity:.48; transition:filter .2s var(--ease), opacity .2s var(--ease), transform .2s var(--ease)}
.logo-cell:hover img,.logo-cell:focus-within img{filter:grayscale(0); opacity:1; transform:scale(1.04)}
.logo-link{display:grid; place-items:center; min-height:70px; width:100%}
.logo-link:focus-visible{outline:3px solid var(--red); outline-offset:6px}
.logo-cell span{font-family:var(--display); font-weight:800; font-size:20px;
  letter-spacing:-.022em; text-transform:uppercase; color:#8A9199}
.logo-cell small{display:block; font-family:var(--data); font-weight:500; font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; color:#A9B0B7; margin-top:8px}
.partner-wordmark{display:grid; gap:8px; max-width:180px; color:#fff}
.partner-wordmark strong{font-family:var(--display); font-size:clamp(24px,3vw,34px); letter-spacing:.04em; line-height:1; color:rgba(255,255,255,.72)}
.partner-wordmark span{font-family:var(--data); font-size:10px; letter-spacing:.08em; line-height:1.35; text-transform:uppercase; color:rgba(255,255,255,.52)}
.partner-wordmark small{color:rgba(255,255,255,.42)}
.logo-cell:hover .partner-wordmark strong,.logo-cell:focus-within .partner-wordmark strong{color:#fff}

/* Lightweight lightbox used by the gallery plugin. */
.hekari-lightbox{position:fixed; inset:0; z-index:300; display:none; place-items:center;
  background:rgba(10,10,10,.92); padding:var(--gut)}
.hekari-lightbox.is-open{display:grid}
.hekari-lightbox img{max-width:min(100%,1100px); max-height:86vh; width:auto; border:1px solid var(--hair)}
.hekari-lightbox figcaption{color:var(--on-dark); font-family:var(--data); letter-spacing:.08em;
  text-transform:uppercase; font-size:13px; text-align:center; margin-top:14px}
.hekari-lightbox-close{position:absolute; top:20px; right:24px; background:none; border:1px solid var(--hair);
  color:#fff; width:44px; height:44px; border-radius:var(--r); font-size:20px; transition:background .18s, border-color .18s}
.hekari-lightbox-close:hover{background:var(--red); border-color:var(--red)}

/* ------------------------------------------------------- 8. FORMS ---- */
.field{margin-bottom:18px}
.field label{display:block; font-family:var(--data); font-weight:600; font-size:12.5px;
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:9px; color:var(--muted)}
.field input,.field select,.field textarea{width:100%; padding:14px 16px;
  border:1px solid rgba(10,10,10,.16); border-radius:var(--r-sm); background:#fff;
  color:var(--ink); font:inherit; transition:border-color .16s, box-shadow .16s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--red); box-shadow:0 0 0 3px rgba(213,0,28,.14)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2); opacity:.8}
.field textarea{min-height:150px; resize:vertical}
.field .req{color:var(--red)}
.field-hint{font-size:13px; color:var(--muted-2); margin-top:6px}
.form-status{font-family:var(--data); font-weight:600; font-size:13.5px; letter-spacing:.07em;
  text-transform:uppercase; margin-top:16px}
.form-status.is-error{color:var(--red)}
.form-status.is-ok{color:var(--green)}
.hekari-honeypot{position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden}

/* ------------------------------------------------------ 9. FOOTER ---- */
.foot{background:#000}
.foot .wrap-wide{padding-top:clamp(50px,7vw,80px)}
.foot-crest{width:88px; height:88px; margin-bottom:18px}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:34px;
  padding-bottom:50px}
.foot h5{font-family:var(--data); font-weight:700; font-size:12.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold); margin:0 0 18px}
.foot ul{list-style:none; margin:0; padding:0; display:grid; gap:11px}
.foot a{color:var(--on-dark); font-size:15px; transition:color .16s}
.foot a:hover{color:#fff}
.foot p{color:var(--on-dark); font-size:15px; line-height:1.7}
.foot-bottom{border-top:1px solid var(--hair); padding:24px 0 44px; display:flex;
  justify-content:space-between; gap:16px; flex-wrap:wrap; font-family:var(--data);
  font-weight:500; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--on-dark-dim)}
.social{display:flex; gap:10px; margin-top:20px}
.social a{width:42px; height:42px; border:1px solid var(--hair); border-radius:var(--pill);
  display:grid; place-items:center; font-family:var(--data); font-weight:600; font-size:12px;
  letter-spacing:.04em; transition:background .18s var(--ease), border-color .18s, color .18s}
.social a:hover{background:var(--red); border-color:var(--red); color:#fff}

/* ---------------------------------- 10. WORDPRESS CORE / EDITOR CONTENT ---- */
/* Applied to entry-content / .prose blocks so page/post content authored in
   the block editor inherits the design system instead of browser defaults. */
.entry-content{color:var(--on-dark); font-size:17px; line-height:1.75; max-width:72ch}
.band-light .entry-content{color:var(--muted)}
.entry-content > *:first-child{margin-top:0}
.entry-content p{margin-bottom:1.1em}
.entry-content a{color:var(--red); text-decoration:underline; text-decoration-color:rgba(213,0,28,.4)}
.band-ink2 .entry-content a,
.band:not(.band-light) .entry-content a{color:var(--gold); text-decoration-color:rgba(245,212,0,.4)}
.band-light .entry-content a{color:var(--red); text-decoration-color:rgba(213,0,28,.4)}
.entry-content h2{font-size:clamp(24px,2.8vw,34px); margin:1.5em 0 .55em}
.entry-content h3{font-size:clamp(19px,2vw,24px); margin:1.3em 0 .5em}
.entry-content ul,.entry-content ol{padding-left:1.3em; margin:0 0 1.1em}
.entry-content li{margin-bottom:.4em}
/* Theme list components keep their own geometry inside editor content —
   the generic list indent above otherwise leaks a gutter into them. */
.entry-content .roll,.entry-content .foot ul,.entry-content .sidebar-links ul{
  padding-left:0; margin:0}
.entry-content .roll li,.entry-content .sidebar-links li{margin-bottom:0}
.entry-content blockquote{margin:32px 0; padding:22px 28px; border-left:4px solid var(--gold);
  border-radius:0 var(--r-sm) var(--r-sm) 0; background:rgba(255,255,255,.04);
  font-size:18.5px; line-height:1.6}
.band-light .entry-content blockquote{background:#fff; color:var(--ink)}
.entry-content figure{margin:1.6em 0}
.entry-content figcaption{font-family:var(--data); font-size:13px; letter-spacing:.04em;
  color:var(--muted-2); margin-top:10px}
.entry-content img{border-radius:var(--r)}
.entry-content .alignwide{max-width:min(100%, calc(var(--wrap) + 160px)); margin-left:auto; margin-right:auto}
.entry-content .alignfull{max-width:none; width:100vw; margin-left:calc(50% - 50vw)}
.entry-content .aligncenter{margin-left:auto; margin-right:auto}
.entry-content table{width:100%; border-collapse:collapse; font-family:var(--data)}
.entry-content table th,.entry-content table td{padding:10px; border-bottom:1px solid var(--hair-dark); text-align:left}

/* A band pattern dropped into page content: keep its inner content on the
   site measure even when the band itself runs full-bleed, and re-assert its
   own colours over whatever band it is nested inside. */
.entry-content .band{padding-block:clamp(44px,6vw,84px)}
.entry-content .band.alignfull > .wp-block-group__inner-container{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut)}
.band-light .band-red,
.band-light .band-red p,
.band-light .band-red .lede,
.band-light .band-red .entry-content{color:rgba(255,255,255,.92)}
.band-light .band-red h1,.band-light .band-red h2,
.band-light .band-red h3,.band-light .band-red h4{color:#fff}
.band-light .band-red .eyebrow{color:#fff}

/* Core button blocks take the theme's button shape, so buttons an editor
   inserts anywhere in the block editor match the hand-built .btn markup.
   The default fill is the club red; core's "Outline" style gives the ghost
   variant, and buttons on a red band flip to gold for contrast. */
.wp-block-button__link{display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--body); font-weight:600; font-size:14px; letter-spacing:.06em;
  text-transform:uppercase; white-space:nowrap; padding:14px 28px;
  border:1.5px solid transparent; border-radius:var(--pill);
  background:var(--red); color:#fff; text-decoration:none;
  box-shadow:0 6px 18px rgba(213,0,28,.26);
  transition:transform .18s var(--ease), background .18s, color .18s,
             border-color .18s, box-shadow .18s}
.wp-block-button__link:hover{transform:translateY(-2px); background:var(--red-bright);
  box-shadow:0 10px 26px rgba(240,18,48,.34)}
.entry-content .wp-block-button__link{text-decoration:none}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;
  border-color:currentColor; color:inherit; box-shadow:none}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:currentColor;
  color:var(--ink); box-shadow:none}
.band-red .wp-block-button__link{background:var(--gold); color:var(--ink);
  box-shadow:0 6px 18px rgba(0,0,0,.20)}
.band-red .wp-block-button__link:hover{background:#FFE22B}
.band-red .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;
  color:#fff}
.band-red .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#fff;
  color:var(--red)}

.pagination{display:flex; gap:8px; flex-wrap:wrap; margin-top:var(--gut)}
.pagination a,.pagination span{font-family:var(--data); font-weight:600; font-size:13.5px;
  letter-spacing:.05em; text-transform:uppercase; padding:10px 18px;
  border:1px solid var(--hair-dark); border-radius:var(--pill); transition:.16s}
.pagination .current{background:var(--red); color:#fff; border-color:var(--red)}
.pagination a:hover{border-color:var(--red)}

/* --------------------------------------------------- 11. RESPONSIVE ---- */
@media (max-width:1180px){
  .nav{display:none}
  .nav.is-open{display:flex; position:absolute; top:80px; left:0; right:0;
    flex-direction:column; align-items:stretch; background:var(--ink-2);
    border-bottom:1px solid var(--hair); padding:10px var(--gut) 24px; gap:0;
    max-height:calc(100vh - 80px); overflow-y:auto}
  .nav.is-open .nav-item{width:100%}
  .nav.is-open .nav-link{width:100%; justify-content:space-between; padding:15px 2px;
    border-radius:0; border-bottom:1px solid var(--hair)}
  .nav.is-open .nav-link::after{display:none}
  .nav.is-open .nav-link:hover{background:none}
  .nav.is-open .submenu{position:static; display:none; border:0; border-left:2px solid var(--gold);
    box-shadow:none; padding:0; margin:0 0 6px 14px; background:transparent; animation:none}
  .nav.is-open .submenu.is-open{display:block}
  .nav.is-open .nav-item:hover .submenu{display:none}
  .nav.is-open .nav-item:hover .submenu.is-open{display:block}
  /* In the drawer the panel collapses to one plain column: no rail, no
     eyebrow, no descriptions — just the links, at thumb-friendly height. */
  .nav.is-open .mega{display:block}
  .nav.is-open .mega-rail,.nav.is-open .mega-eyebrow,
  .nav.is-open .mega-link-desc{display:none}
  .nav.is-open .mega-grid{display:block}
  .nav.is-open .mega-link{padding:12px 10px; border-radius:0; border:0;
    border-bottom:1px solid var(--hair-d)}
  .nav.is-open .mega-link:hover{background:none}
  .nav.is-open .mega-link-title{font-size:15px; padding-right:0}
  .nav.is-open .mega-link-title::after{display:none}
  .nav.is-open .nav-cta{margin:18px 0 0; justify-content:center}
  .burger{display:flex}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .matchbar .wrap-wide{grid-template-columns:1fr}
  .g-3{grid-template-columns:repeat(2,1fr)}
  .tickets-overview,.ticket-guide{grid-template-columns:1fr}
  .content-layout{grid-template-columns:1fr}
  .content-sidebar{position:static; grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .g-2,.g-3,.g-4,.split{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .content-sidebar{grid-template-columns:1fr}
  .utility-links{display:none}
  .utility .wrap-wide > div:first-child{white-space:nowrap; overflow:hidden;
    text-overflow:ellipsis}
  .hero-crest{display:none}
  .ledger-bars{height:96px}
  .fx{grid-template-columns:74px 1fr; row-gap:10px}
  .fx-score,.fx .btn{justify-self:start; grid-column:2}
  .roll .yr{min-width:0}
  .areg-grid{grid-template-columns:1fr!important}
}
@media (max-width:480px){ .brand-txt{display:none} }
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important; transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}

/* Squad player profile details. */
.player-name{font-family:var(--display); font-size:22px; font-weight:800; line-height:1.15;
  letter-spacing:-.024em; text-transform:uppercase; margin:0 0 20px; overflow-wrap:anywhere}
.player-details{margin:0; border-top:1px solid var(--hair-dark)}
.player-details > div{display:grid; grid-template-columns:65px minmax(0,1fr); gap:12px;
  padding:10px 0; border-bottom:1px solid var(--hair-dark)}
.player-details dt{font-family:var(--data); font-weight:500; font-size:12.5px; letter-spacing:.03em; color:var(--muted-2)}
.player-details dd{margin:0; font-size:14px; font-weight:600; overflow-wrap:anywhere}
.player-photo-missing{position:absolute; bottom:20px; z-index:2; color:var(--white); font-size:12px}

/* Crest-led fixtures: teams and scores follow home / away order. */
.fixtures-page .fx-card{grid-template-columns:90px minmax(0,1fr) 115px;gap:24px;background:#fff;border:1px solid rgba(10,10,10,.09);padding:26px;margin-bottom:16px;border-radius:var(--r);box-shadow:var(--shadow-sm);transition:box-shadow .24s var(--ease)}
.fixtures-page .fx-card:hover{box-shadow:var(--shadow-md)}
.fixtures-page .fx-date{text-align:center;align-self:center;color:var(--red)}
.fx-year{font-size:11px;letter-spacing:.12em}.fx-match{min-width:0}.fixtures-page .fx-comp{color:#59616a;font-size:11px;letter-spacing:.09em;margin:0 0 18px;text-align:center}
.fx-versus{display:grid;grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);gap:20px;align-items:center}
.fx-team{display:flex;align-items:center;gap:14px;min-width:0}.fx-crest{width:52px;height:52px;object-fit:contain;flex:0 0 52px;background:#fff;border-radius:8px;padding:3px}.fx-team-name{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.026em;line-height:1.14;text-transform:uppercase;overflow-wrap:anywhere}.fx-versus>.fx-team:first-child{flex-direction:row-reverse;text-align:right}.fx-crest-placeholder{display:grid;place-items:center;background:#e8ebee;border:1px solid #cbd0d5;color:#525960;font-family:var(--data);font-size:15px;font-weight:700}.fx-match-centre{text-align:center}.fx-match-centre .fx-score{display:block;padding:8px 10px;white-space:nowrap;font-size:28px}.fx-vs{font-family:var(--data);font-size:13px;letter-spacing:.1em;color:#707780}.fx-match-status{display:block;font-family:var(--data);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-top:6px;color:#59616a}.fx-venue{font-size:12px;line-height:1.5;color:#59616a;text-align:center;margin:16px 0 0}.fx-match-action{text-align:center}.fx-result-label{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.08em;color:#59616a}.fixtures-page .tbl .fx-team-name{font:inherit;text-transform:none}.fixtures-page .tbl .fx-crest{width:28px;height:28px;flex-basis:28px;font-size:9px}.fixtures-page .tbl .fx-team{gap:10px}
@media(max-width:900px){.fixtures-page .fx-card{grid-template-columns:70px minmax(0,1fr);gap:16px;padding:20px}.fx-match-action{grid-column:2}.fx-versus{gap:12px;grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr)}.fx-team-name{font-size:21px}.fx-team{gap:8px}.fx-crest{width:44px;height:44px;flex-basis:44px}}
@media(max-width:600px){.fixtures-page .fx-card{grid-template-columns:1fr;padding:18px 14px}.fixtures-page .fx-date{text-align:left}.fixtures-page .fx-date time{display:flex;align-items:baseline;gap:8px}.fixtures-page .fx-date b{display:inline;font-size:22px}.fx-versus>.fx-team,.fx-versus>.fx-team:first-child{flex-direction:column;text-align:center;gap:10px}.fx-versus{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:10px}.fx-team-name{font-size:20px}.fx-crest{width:50px;height:50px;flex-basis:50px}.fx-match-action{grid-column:1}.fixtures-page .fx-comp{margin-bottom:16px;font-size:10px}.fx-match-action:empty{display:none}.fx-match-centre .fx-score{font-size:27px}.fixtures-page .tbl .fx-team{min-width:160px}}

/* Club presentation refinement: retain the crest palette and existing templates. */
:root{--r:4px;--r-sm:3px;--r-lg:6px;--wrap:1320px;--body:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif}
body{font-size:16px}
h1,h2{font-family:var(--data);font-weight:700;letter-spacing:-.035em}
h2{font-size:clamp(32px,4vw,48px)}
.utility{background:var(--ink-2);font-size:11px;letter-spacing:.09em}
.utility .wrap-wide{height:34px}
.masthead{background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}
.masthead .tricolour,.foot .tricolour{height:3px}
.brand img{width:58px;height:58px;object-fit:contain}
.brand-txt{font-size:21px}
.nav-link{font-size:13px;letter-spacing:.06em;padding-inline:12px}
.nav-cta,.btn,.wp-block-button__link{border-radius:3px;box-shadow:none;font-family:var(--data);font-weight:700;letter-spacing:.08em}
.btn{min-height:48px;padding:12px 24px;white-space:normal;text-align:center}
.btn:hover,.wp-block-button__link:hover{box-shadow:none;transform:translateY(-1px)}
.btn:active,.wp-block-button__link:active{transform:translateY(1px)}
.btn-ghost:hover{background:var(--paper);border-color:var(--paper);color:var(--ink);opacity:1}
.band-red .btn-ghost:hover{background:var(--white);border-color:var(--white);color:var(--red)}
.home .hero{padding:0;background:var(--ink-2);background-image:none}
.home .hero::after{background:linear-gradient(115deg,transparent 58%,rgba(213,0,28,.08) 58%);z-index:0}
.home .hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:48px;padding-block:64px 54px}
.hero-copy{min-width:0}
.home .hero-kicker{font-size:11px;letter-spacing:.15em;display:flex;align-items:center;gap:12px;margin-bottom:22px}
.home .hero-kicker::before{content:"";width:28px;height:3px;background:var(--red);flex:none}
.home .hero h1{font-family:var(--data);font-size:clamp(60px,7.2vw,100px);font-weight:700;line-height:.9;letter-spacing:-.035em}
.home .hero h1 em{color:var(--red-bright)}
.home .hero-sub{font-size:15px;line-height:1.75;max-width:53ch;margin-block:24px 0}
.home .hero-cta{margin-top:28px}
.hero-identity{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;isolation:isolate;text-align:center;padding:32px 16px;border-left:1px solid var(--hair)}
.hero-identity::before{content:"";position:absolute;inset:12% 0;z-index:-1;background:repeating-linear-gradient(58deg,rgba(255,255,255,.035) 0 1px,transparent 1px 16px),repeating-linear-gradient(-58deg,rgba(255,255,255,.035) 0 1px,transparent 1px 16px);mask-image:radial-gradient(ellipse,#000,transparent 72%)}
.hero-identity-label{font-family:var(--data);font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--on-dark)}
.home .hero-crest{display:block;position:static;width:min(100%,290px);height:auto;margin:30px auto;opacity:1;filter:none;pointer-events:auto}
.hero-motto{font-family:var(--data);font-size:16px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin:0}
.home .ledger{position:relative;z-index:1;display:flex;align-items:center;gap:32px;margin-top:0;padding-block:20px 24px}
.home .ledger-label{flex:0 0 160px;font-size:10px;line-height:1.5;margin:0;color:var(--on-dark)}
.championship-years{list-style:none;padding:0;margin:0;display:flex;flex:1;flex-wrap:wrap;gap:12px 24px}
.championship-years li{font-family:var(--data);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold)}
.home .band{padding-block:72px}
.head-row{margin-bottom:30px}
.eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:12px}
.home .matchbar{border-top:0;background-image:none;border-bottom:3px solid var(--red-deep)}
.matchbar .wrap-wide{max-width:var(--wrap);padding-block:26px}
.mb-teams{font-family:var(--data);font-size:clamp(26px,3vw,38px);line-height:1.15}
.cd{border-radius:0;border:0;border-left:1px solid rgba(255,255,255,.3);background:none;min-width:60px;padding:6px 10px}
.cd b{font-family:var(--data);font-size:32px}
.card,.band-light .card{border:0;box-shadow:none;background:transparent}
.card:hover,.band-light .card:hover{box-shadow:none;transform:none}
.card-media{aspect-ratio:16/10;border-radius:3px}
.card-media img{transition:transform .35s var(--ease)}
.card:hover .card-media img:not(.is-placeholder){transform:scale(1.035)}
.card-body{padding:22px 0 8px}
.card h4{font-size:22px;letter-spacing:-.025em;line-height:1.2}
.card-tag{font-size:10px;margin-bottom:10px}
.card-date,.band-light .card-date{font-size:11px;color:var(--muted);padding-top:18px}
.club-news{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0 32px}
.club-news .card:first-child{grid-row:span 2}
.club-news .card:first-child h4{font-size:clamp(25px,2.5vw,34px)}
.club-news .card:not(:first-child){display:grid;grid-template-columns:38% minmax(0,1fr);gap:20px;padding-block:0 24px;margin-bottom:24px;border-bottom:1px solid var(--hair-dark);border-radius:0;align-content:start}
.club-news .card:not(:first-child) .card-media{aspect-ratio:1}
.club-news .card:not(:first-child) .card-body{padding:0}
.club-news .card:not(:first-child) .card-body>p:not(.card-tag):not(.card-date){display:none}
.club-news .card:not(:first-child) h4{font-size:20px}
.club-news .card:last-child{margin:0;border:0}
.club-match-centre .split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px}
.club-match-centre .split>div{min-width:0}
.club-match-centre .mt-l{margin-top:28px}
.club-match-centre .fx{padding-block:20px}
.tbl{font-variant-numeric:tabular-nums}
.tbl th{font-size:11px;letter-spacing:.06em}
.tbl .us{box-shadow:inset 3px 0 var(--gold)}
.home .stats{border:0;border-radius:0;gap:0;background:none;margin-top:32px}
.home .stat{border-left:1px solid var(--hair);padding:8px 28px;background:none}
.home .stat:first-child{padding-left:0;border-left:0}
.home .stat b{font-family:var(--data);font-size:clamp(44px,5vw,64px);color:var(--gold)}
.home .stat span{color:var(--on-dark);font-size:11px;letter-spacing:.08em}
.home .band-red{background-image:none;border-top:1px solid rgba(255,255,255,.12)}
.home .band-red h2{max-width:16ch;font-size:clamp(38px,4.5vw,60px)}
.home .band-red .lede{font-size:16px;line-height:1.8}
.logo-cell{border-radius:0;box-shadow:none}
.logo-cell img{filter:none;opacity:1}
.logo-cell span,.logo-cell small{color:var(--on-dark)}
.band-light .card .card-tag{color:var(--red)}
.pagehead{padding-block:50px 44px}
.pagehead::after{background:linear-gradient(120deg,transparent 42%,rgba(213,0,28,.13) 42%);top:0;bottom:0;right:0;width:45%;aspect-ratio:auto}
.pagehead h1{font-size:clamp(40px,5vw,68px)}
.fixtures-page .fx-card,.player{box-shadow:none}
.foot-grid{padding-block:48px}
.foot-bottom{font-size:11px}
@media(max-width:1180px){.nav.is-open{max-height:calc(100dvh - 114px)}.home .hero-inner{gap:28px}.home .hero-crest{width:240px}}
@media(max-width:900px){.club-match-centre .split{grid-template-columns:1fr}.club-news{gap:0 24px}.club-news .card:not(:first-child){grid-template-columns:1fr}.club-news .card:not(:first-child) .card-media{aspect-ratio:16/9}.hero-identity-label{max-width:20ch;line-height:1.7}}
@media(max-width:640px){
  .home .hero-inner{grid-template-columns:1fr;padding-block:42px 32px;gap:28px}
  .home .hero h1{font-size:clamp(62px,16vw,90px)}
  .home .hero-kicker{font-size:10px;letter-spacing:.1em}
  .hero-identity{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:20px;text-align:left;border-left:0;border-top:1px solid var(--hair);padding:24px 0 0}
  .home .hero-crest{grid-column:1;grid-row:1 / 3;width:76px;margin:0}
  .hero-identity-label{grid-column:2;max-width:none;font-size:9px;letter-spacing:.1em}
  .hero-motto{grid-column:2;font-size:14px;letter-spacing:.06em}
  .home .ledger{display:block;padding-block:18px}
  .home .ledger-label{margin-bottom:12px}
  .championship-years{gap:8px 20px}.championship-years li{font-size:16px}
  .home .band{padding-block:48px}
  .club-news{grid-template-columns:1fr;gap:24px}
  .club-news .card:first-child{grid-row:auto}
  .club-news .card:not(:first-child){grid-template-columns:32% minmax(0,1fr);gap:16px;margin:0;padding-bottom:24px}
  .club-news .card:not(:first-child) .card-media{aspect-ratio:1}
  .club-news .card:not(:first-child) h4{font-size:18px}
  .home .stat{padding:20px;border-bottom:1px solid var(--hair)}
  .home .stat:nth-child(odd){padding-left:0;border-left:0}
  .mb-teams{flex-wrap:wrap;gap:10px}
  .countdown{gap:8px}.cd:first-child{border-left:0;padding-left:0}
  .brand-txt{display:block;font-size:18px}.brand-txt span{font-size:9px}
  .brand img{width:46px;height:46px}.brand{gap:10px}
}
@media(prefers-reduced-motion:reduce){.card-media img{transition:none}}

/* Page families: club editorial, football data, supporter services and policies. */
.section-nav{background:var(--white);color:var(--muted);border-bottom:1px solid var(--hair-dark)}
.section-nav>.wrap{display:flex;gap:28px;overflow-x:auto;scrollbar-width:thin}
.section-nav a{flex:none;display:block;padding:18px 0 15px;border-bottom:3px solid transparent;font-family:var(--data);font-size:14px;font-weight:700;line-height:1.4}
.section-nav a:hover,.section-nav a[aria-current="page"]{color:var(--red);border-color:var(--red)}
.page:not(.home) main>.band,.club-page>.band{padding-block:64px}
.pagehead .lede{max-width:64ch;font-size:17px}
main h2[id],main h3[id]{scroll-margin-top:120px}
.band-light .entry-content .btn-red,.band-light .prose .btn-red{color:var(--white);text-decoration:none}
.band-light .entry-content .btn-gold,.band-light .prose .btn-gold{color:var(--ink);text-decoration:none}
.band-light .entry-content .btn-ghost{color:var(--ink);text-decoration:none}
.band-light .entry-content .btn-ghost:hover{color:var(--white)}
.band-light .note,.band-light .stat span,.band-light .stat .stat-label{color:var(--muted)}
.band-light .card p.card-tag{color:var(--red)}
.card p.card-tag{color:var(--red-bright)}
.page .card-media .num{color:var(--gold);font-family:var(--data);font-size:clamp(44px,5vw,70px)}
.page .card-media:has(>.num){aspect-ratio:auto;min-height:140px;background:var(--ink-2);border-left:4px solid var(--red)}
.page .split>*,.registration-layout>*,.policy-layout>*{min-width:0}
.text-link{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.club-page .prose{font-size:17px;line-height:1.85}
.club-page .motto{padding-left:20px;border-left:3px solid var(--red);font-size:18px;max-width:50ch}
.layout-club>.band-light .split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px}
.layout-club .stats{border-radius:0}
.layout-club .stat{padding:24px}
.layout-club .tbl td:first-child{width:28% !important}
.layout-club .tbl td{white-space:normal}
.layout-history>.band-light>.wrap{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:64px;align-items:start}
.layout-history>.band-light .motto{margin:0;padding:26px;border-top:3px solid var(--red);border-left:0;background:var(--white)}
.layout-history .tl{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;border-left:0;padding-left:0}
.layout-history .tl-item{margin:0;padding:26px 0 30px 24px;border-left:1px solid var(--hair);border-top:1px solid var(--hair)}
.layout-history .tl-item::before{left:-4px;top:36px}
.layout-history .tl-year{font-size:28px;font-family:var(--data);margin-bottom:10px}
.layout-history .tl-item p{max-width:54ch;line-height:1.75}
.layout-values .roll{counter-reset:values;background:none;border:0}
.layout-values .roll li{counter-increment:values;display:grid;grid-template-columns:30px minmax(0,1fr);gap:16px;padding:22px 0;background:transparent;border-bottom:1px solid var(--hair-dark)}
.layout-values .roll li::before{content:counter(values,decimal-leading-zero);font-family:var(--data);font-size:14px;color:var(--red)}
.layout-values .roll .what{text-transform:none;font-family:var(--body);font-size:17px;line-height:1.65;font-weight:500}
.layout-values .band-red h2{max-width:27ch !important}
.layout-values .band-red .lede{max-width:70ch;margin-top:24px}
.layout-stadium .stats{border:0;border-top:3px solid var(--red)}
.layout-stadium .split{padding-block:30px;border-bottom:1px solid var(--hair-dark)}
.layout-stadium .split .mt-l{margin-top:20px}
.layout-stadium .card{border-top:3px solid var(--red);border-radius:0}
.layout-stadium .card h4{font-size:26px}
.layout-academy>.band-light>.wrap>.prose{max-width:80ch !important}
.layout-academy .g-4{gap:0;border-top:1px solid var(--hair-dark);border-bottom:1px solid var(--hair-dark)}
.layout-academy .g-4 .card{padding:24px;border-right:1px solid var(--hair-dark);border-radius:0}
.layout-academy .g-4 .card:first-child{padding-left:0}
.layout-academy .g-4 .card:last-child{border-right:0}
.layout-academy .card-media:has(>.num){min-height:100px;justify-content:start;background:transparent;border:0}
.layout-academy .card-media .num{color:var(--red);font-size:54px;line-height:1}
.layout-academy .card-body{padding:10px 0}
.layout-academy .card p{font-size:16px}
.layout-academy .band-light>.wrap>p:has(.btn){display:flex;gap:12px;flex-wrap:wrap}
.layout-academy .band-light>.wrap>p>.btn{margin-left:0 !important}
.registration-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.6fr);gap:64px;align-items:start}
.page-guide{position:sticky;top:112px;font-size:15px;line-height:1.75}
.page-guide h2{font-size:36px;margin-bottom:22px}
.page-guide h3{font-size:20px;margin-top:30px}
.page-guide ul{padding-left:20px;margin-block:14px 24px}
.page-guide li{padding-bottom:10px}
.registration-content .areg-shell{max-width:none}
.registration-content .areg-section{border:0;border-top:3px solid var(--ink);padding:28px;margin-bottom:30px}
.registration-content .areg-section>legend{font-family:var(--data);font-size:26px;letter-spacing:-.01em}
.registration-content .areg-field label,.registration-content .areg-age-readout{color:var(--muted)}
.registration-content .areg-child{border-right:0;border-top:0;border-bottom:0;background:var(--paper);padding:24px}
.registration-content .areg-field input,.registration-content .areg-field select,.registration-content .areg-field textarea{background:var(--white)}
.policy-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:80px;align-items:start}
.policy-content{max-width:72ch;font-size:17px;line-height:1.85}
.policy-content .prose{font-size:inherit;line-height:inherit}
.policy-content h2{font-family:var(--display);font-size:25px;text-transform:none;letter-spacing:-.02em;margin:34px 0 12px}
.policy-content h2:first-child{margin-top:0}
.page-guide nav a{display:block;padding:10px 0;border-bottom:1px solid var(--hair-dark);color:var(--muted)}
.page-guide nav a:hover{color:var(--red)}
.policy-related{margin-top:32px}
.page-template-template-board .card,.page-template-template-squad .band-ink2 .card{border-top:2px solid var(--red);border-radius:0}
.page-template-template-board .card-body{padding-block:24px}
.page-template-template-board .card h4{font-size:28px;margin-bottom:16px}
.page-template-template-contact .split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px}
.page-template-template-contact .split>div:last-child{background:var(--white);padding:32px;border-top:3px solid var(--red)}
.page-template-template-contact .field label{color:var(--muted)}
.page-template-template-contact .mt-l{margin-top:24px}
.page-template-template-partners .logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;background:none;border:0}
.page-template-template-partners .logo-cell{min-height:180px;padding:28px}
.partner-image-fallback{font-family:var(--data);font-weight:700;font-size:22px;letter-spacing:.08em;text-align:center}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;align-items:start}
.sitemap-group{min-width:0;border-top:3px solid var(--red);padding-top:20px}
.sitemap-group h2{font-size:30px;margin-bottom:20px}
.sitemap-group .roll{background:none;border:0}
.sitemap-group .roll li{padding:0;background:transparent;border-bottom:1px solid var(--hair-dark)}
.sitemap-group .roll li a{display:block;padding:13px 0;width:100%}
.sitemap-group .roll li a:hover .what{color:var(--red)}
.sitemap-group .what{font-size:16px;text-transform:none}
.sitemap-group .who{display:block;font-size:12px;overflow-wrap:anywhere;margin-top:4px}
.newsroom-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:40px}
.newsroom-grid .card:first-child{grid-column:span 2}
.newsroom-grid .card:first-child .card-media{aspect-ratio:2.15}
.newsroom-grid .card:first-child h4{font-size:32px;max-width:32ch}
.newsroom-grid .card{border-bottom:1px solid var(--hair-dark);border-radius:0;padding-bottom:20px}
@media(max-width:1000px){
 .registration-layout{grid-template-columns:minmax(200px,.7fr) minmax(0,1.5fr);gap:32px}
 .policy-layout{grid-template-columns:210px minmax(0,1fr);gap:40px}
 .sitemap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .layout-history>.band-light>.wrap{gap:32px}
 .layout-club>.band-light .split{gap:32px}
 .page-template-template-contact .split{gap:32px}
}
@media(max-width:760px){
 .registration-layout,.policy-layout,.layout-history>.band-light>.wrap,.layout-club>.band-light .split,.page-template-template-contact .split{grid-template-columns:1fr;gap:32px}
 .page-guide{position:static}.page-guide h2{max-width:22ch}
 .page-guide nav{display:flex;flex-wrap:wrap;gap:0 20px}.page-guide nav .eyebrow{width:100%}
 .page-guide nav a{padding-block:7px}
 .policy-related{margin-top:22px}
 .layout-history .tl{grid-template-columns:1fr}
 .page-template-template-partners .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
 .newsroom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .section-nav>.wrap{gap:22px}.section-nav a{font-size:13px}
}
@media(max-width:640px){
 .page:not(.home) main>.band,.club-page>.band{padding-block:40px}
 .sitemap-grid{grid-template-columns:1fr;gap:30px}
 .page-template-template-contact .split>div:last-child{padding:24px 18px}
 .registration-content .areg-section{padding:20px 16px}
 .registration-content .areg-child{padding:18px 12px}
 .newsroom-grid{grid-template-columns:1fr}.newsroom-grid .card:first-child{grid-column:auto}
 .newsroom-grid .card:first-child .card-media{aspect-ratio:16/10}
 .newsroom-grid .card:first-child h4{font-size:27px}
 .layout-academy .g-4{grid-template-columns:1fr 1fr}
 .layout-academy .g-4 .card{padding:20px 14px;border-bottom:1px solid var(--hair-dark)}
 .layout-academy .g-4 .card:first-child{padding-left:14px}
 .layout-academy .card-media .num{font-size:42px}
 .page-template-template-partners .logo-cell{padding:18px 10px;min-height:145px}
 .page-template-template-partners .logo-cell img{max-width:100%}
 .layout-club .tbl td:first-child{width:38% !important}
}
.listing-search{max-width:600px;margin-bottom:36px}
.club-search label{display:block;font-family:var(--data);font-size:13px;font-weight:700;margin-bottom:8px;color:var(--muted)}
.club-search>div{display:flex;gap:10px}
.club-search input{min-width:0;flex:1;width:100%;padding:12px 14px;background:var(--white);color:var(--ink);border:1px solid var(--hair-dark);border-radius:3px;font:inherit}
.cd-status{text-align:left;min-width:auto;padding:8px 18px}
.cd-status b{font-size:21px}
.cd-status i{display:block;margin-top:6px}
@media(max-width:480px){.club-search>div{flex-wrap:wrap}.club-search input{flex-basis:65%}}
