/* ── Shared ── */
[hidden]{display:none !important}
/* <picture> wrappers (AVIF + JPEG) shouldn't affect layout; the <img> inside is styled as before */
picture{display:contents}
/* The page sits on the footer's navy: on tall screens (or overscroll) the space below the
   footer reads as more footer instead of a white gap */
body{background:var(--fs-navy-ink)}
.page{max-width:100vw;overflow-x:clip;background:var(--surface-page)}
.container{max-width:var(--container-max);margin:0 auto;padding-left:var(--gutter-page);padding-right:var(--gutter-page)}
.eyebrow{font-family:var(--font-fs-condensed);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fs-orange)}
.h2{font-family:var(--font-fs-display);font-weight:800;font-size:40px;letter-spacing:-.02em;line-height:1.05;text-transform:uppercase;margin:0;color:var(--fs-navy)}
.stat-num{font-family:var(--font-fs-display);font-weight:800;font-size:56px;line-height:1;color:var(--fs-navy)}
.stat-label{font-family:var(--font-fs-condensed);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}

/* ── Button (DS Button: primary / secondary / inverse, md / lg) ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-heading);font-weight:700;letter-spacing:var(--ls-wide);text-transform:uppercase;text-decoration:none;border-radius:var(--radius-brand);border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:var(--transition-control),transform var(--dur-instant) var(--ease-standard)}
.btn:active{transform:scale(var(--press-scale))}
.btn--md{height:var(--control-h-md);padding:0 20px;font-size:var(--fs-xs)}
.btn--lg{height:var(--control-h-lg);padding:0 32px;font-size:var(--fs-sm)}
.btn--primary{background:var(--cta-bg);color:var(--cta-fg)}
.btn--primary:hover{background:var(--cta-bg-hover);color:var(--cta-fg)}
.btn--primary:active{background:var(--cta-bg-active)}
.btn--secondary{background:transparent;color:var(--brand-primary);border-color:var(--brand-primary)}
.btn--secondary:hover{background:var(--brand-primary);color:var(--text-inverse)}
.btn--inverse{background:var(--white);color:var(--brand-primary)}
.btn--inverse:hover{background:var(--brand-accent);color:var(--text-on-accent)}
.btn--wovn{--brand-primary:var(--wovn-green)}

/* ── Header layout (shared) ── */
.site-header__inner{max-width:var(--container-max);margin:0 auto;height:var(--nav-h);padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.site-header__nav{display:flex;gap:28px}
.site-header__right{display:flex;justify-content:flex-end;gap:24px;align-items:center}
.nav-link{font-family:var(--font-fs-condensed);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.nav-link:hover{color:var(--fs-peach)}

/* ── Footer ── */
.footer{background:var(--fs-navy-ink);color:var(--white)}
.footer__grid{padding-top:64px;padding-bottom:32px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__brand{align-items:flex-start;gap:12px}
.footer__brand img{height:18px;width:auto;max-width:none}
.footer__tag{font-family:var(--font-fs-condensed);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fs-orange)}
.footer__social{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:13px;color:rgba(255,255,255,.72)}
.footer__social svg{flex-shrink:0}
.footer__social:hover{color:#fff}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.footer__head{font-family:var(--font-fs-condensed);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fs-mint)}
.footer__item{font-size:13px;color:rgba(255,255,255,.72)}
a.footer__item:hover{color:#fff}
.footer__legal{padding-top:20px;padding-bottom:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer__legal span,.footer__legal a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.footer__legal a:hover{color:#fff}
.footer__legal [aria-current]{color:rgba(255,255,255,.85)}

/* ── Header (solid, sticky) ── */
.site-header--solid{position:sticky;top:0;z-index:30;background:var(--fs-navy-ink);border-bottom:1px solid rgba(255,255,255,.12)}
.site-header--solid .site-header__logo-link{display:flex}
.site-header--solid .site-header__logo{height:24px;width:auto}
.nav-current{font-family:var(--font-fs-condensed);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fs-orange);border-bottom:2px solid var(--fs-orange);padding-bottom:4px}

/* ── Club logo strip ── */
/* Logos are one-color black art; each gets its own height (--logo-h) so round,
   tall and wide marks read as the same size */
.clubs{padding-top:56px;display:flex;align-items:center;gap:48px}
.clubs__label{flex:0 0 auto;max-width:96px;font-family:var(--font-fs-condensed);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);line-height:1.6}
.clubs__row{flex:1;display:flex;align-items:center;justify-content:space-between;gap:32px;list-style:none;margin:0;padding:0}
.clubs__row li{display:flex;align-items:center;justify-content:center}
.clubs__row img{height:var(--logo-h,56px);width:auto;max-width:160px;object-fit:contain;opacity:.6;transition:opacity var(--dur-base) var(--ease-standard)}
.clubs__row li:hover img{opacity:1}

/* ── Header menus (dropdowns open on hover/click on desktop; phones get the burger menu) ── */
.nav-menu{position:relative}
.nav-menu__toggle{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;border:0;cursor:pointer;line-height:inherit}
.nav-menu__toggle svg{transition:transform var(--dur-fast) var(--ease-standard)}
.nav-menu.is-open .nav-menu__toggle svg{transform:rotate(180deg)}
.nav-menu__toggle.is-current{color:var(--fs-orange)}
.nav-menu__panel{display:none;position:absolute;top:calc(100% + 18px);left:-16px;z-index:40;min-width:290px;padding:8px;background:#fff;border-radius:6px;box-shadow:0 18px 44px rgba(10,36,57,.28)}
/* Invisible bridge so the pointer can travel from the label to the panel */
.nav-menu__panel::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.nav-menu.is-open .nav-menu__panel{display:block}
@media (hover:hover) and (min-width:961px){.nav-menu:hover .nav-menu__panel{display:block}}
.nav-menu__panel a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:4px;color:var(--fs-navy)}
.nav-menu__panel a:hover{background:var(--surface-sunken);color:var(--fs-navy)}
.nav-menu__panel strong{font-family:var(--font-fs-condensed);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nav-menu__panel span{font-size:13px;line-height:1.4;color:var(--text-muted)}
.nav-menu__panel a[aria-current] strong{color:var(--fs-orange)}

.nav-burger{display:none;width:44px;height:44px;margin-right:-10px;padding:0;background:none;border:0;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-burger span{display:block;width:22px;height:2px;background:#fff;border-radius:1px;transition:transform var(--dur-base) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:29;overflow-y:auto;padding:12px var(--gutter-page) 40px;background:var(--fs-navy-ink);border-top:1px solid rgba(255,255,255,.12)}
.mobile-menu__group{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-menu__head{margin-bottom:4px;font-family:var(--font-fs-condensed);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fs-peach)}
.mobile-menu__group a{padding:9px 0;font-family:var(--font-fs-condensed);font-size:20px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.mobile-menu__group a[aria-current]{color:var(--fs-orange)}
.mobile-menu__cta{width:100%;margin-top:24px}
html.is-menu-open{overflow:hidden}
html.is-menu-open .site-header{background:var(--fs-navy-ink)}

/* ── Shared responsive ── */
@media (max-width:960px){
  .site-header__inner{grid-template-columns:auto 1fr}
  .site-header__nav,.site-header__right .nav-link{display:none}
  .nav-burger{display:flex}
  .site-header__right{gap:14px}
  .footer__grid{grid-template-columns:repeat(3,1fr)}
  .footer__brand{grid-column:1/-1}
}
@media (max-width:720px){
  :root{--gutter-page:16px;--section-y:64px}
  .site-header__inner{padding:0 16px}
  .site-header__right .nav-current{display:none}
  .site-header__right .btn--md{padding:0 14px}
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .clubs{padding-top:40px;flex-direction:column;gap:20px}
  .clubs__label{max-width:none}
  .clubs__row{flex-wrap:wrap;justify-content:center;gap:24px 32px}
  .clubs__row li{flex:0 0 calc(33.333% - 22px)}
  .clubs__row img{height:calc(var(--logo-h,56px) * .78);max-width:100px}
}
