/* Sommer Wang - Sky Estate-inspired parallax storytelling
 Design system: Motion-Driven + Parallax Storytelling (UI UX Pro Max)
 Palette: Wake FC royal blue - sky atmosphere (not generic sports red) */

@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600;6..96,700;6..96,800&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=Plus+Jakarta+Sans:wght@500;600;700&family=Sora:wght@500;600;700;800&display=swap");

:root {
 --sky-deep: #071525;
 --sky-night: #0b1f3a;
 --wake: #0033a0;
 --wake-bright: #1a6bb5;
 --sky: #7ec8f0;
 --cloud: #f3f8fc;
 --mist: #d7e8f5;
 --turf: #1f6b4a;
 --gold: #c9a227;
 --ink: #0c1222;
 --muted: #5a6b7d;
 --glass: rgba(243, 248, 252, 0.72);
 --glass-dark: rgba(7, 21, 37, 0.55);
 --ease: cubic-bezier(0.22, 1, 0.36, 1);
 --dur: 320ms;
 --nav-h: 44px;
 --font-display: "Sora", system-ui, sans-serif;
 --font-cond: "Sora", system-ui, sans-serif;
 --font-body: "DM Sans", system-ui, sans-serif;
 --font-serif: "Sora", system-ui, sans-serif;
 --font-nav: "Plus Jakarta Sans", "DM Sans", system-ui, sans-serif;
 --font-hero-name: "Bodoni Moda", "Times New Roman", serif;
}

*,
*::before,
*::after {
 box-sizing: border-box;
}

html {
 scroll-behavior: smooth;
}

body {
 margin: 0;
 font-family: var(--font-body);
 color: var(--ink);
 background: transparent;
 line-height: 1.55;
 overflow-x: hidden;
}

img {
 max-width: 100%;
 height: auto;
 display: block;
}

/* Leaflet tiles must ignore the global max-width rule */
.leaflet-container img {
 max-width: none !important;
}

a {
 color: inherit;
 text-decoration: none;
 cursor: pointer;
}

button {
 cursor: pointer;
 font: inherit;
}

:focus-visible {
 outline: 2px solid var(--wake-bright);
 outline-offset: 3px;
}

.skip-link {
 position: absolute;
 left: -9999px;
 top: 0;
 width: 1px;
 height: 1px;
 overflow: hidden;
 background: #fff;
 padding: 0.75rem 1rem;
 z-index: 1000;
}
.skip-link:focus {
 left: 1rem;
 top: 1rem;
 width: auto;
 height: auto;
 overflow: visible;
}

/* --- Nav --- */
.site-nav {
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 height: var(--nav-h);
 z-index: 100;
 display: flex;
 align-items: center; /* vertical center inside the bar */
 justify-content: space-between;
 padding: 0 clamp(1rem, 4vw, 3.5rem);
 margin: 0;
 line-height: 1;
 box-sizing: border-box;
 transition: background var(--dur) var(--ease), box-shadow var(--dur), border-color var(--dur);
 border-bottom: 1px solid transparent;
 overflow: visible;
}
.site-nav.is-solid {
 background: rgba(5, 11, 20, 0.72);
 /* blur on a pseudo so it does NOT trap position:fixed children */
 box-shadow: none;
 border-bottom-color: rgba(255, 255, 255, 0.06);
}
.site-nav.is-solid::before {
 content: "";
 position: absolute;
 inset: 0;
 z-index: -1;
 backdrop-filter: blur(16px) saturate(1.2);
 -webkit-backdrop-filter: blur(16px) saturate(1.2);
 background: rgba(5, 11, 20, 0.55);
 pointer-events: none;
}
.site-nav.is-solid .brand,
.site-nav.is-solid .nav-links a {
 color: #fff;
}
.brand {
 display: flex;
 align-items: center;
 gap: 0.45rem;
 color: #fff;
 font-family: var(--font-display);
 font-weight: 700;
 font-size: 0.92rem;
 letter-spacing: -0.02em;
 text-transform: none;
 line-height: 1;
 height: 100%;
}
.brand-jersey {
 width: 24px;
 height: 27px;
 flex-shrink: 0;
 display: block;
 filter: drop-shadow(0 2px 6px rgba(0, 51, 160, 0.35));
}
.brand-name {
 line-height: 1;
 display: flex;
 align-items: center;
}
.nav-links {
 display: flex;
 gap: clamp(0.55rem, 1.6vw, 1.2rem);
 list-style: none;
 margin: 0;
 padding: 0;
 align-items: center;
 height: 100%;
}
.nav-links a {
 color: rgba(255, 255, 255, 0.9);
 font-family: var(--font-nav);
 font-size: 0.8rem;
 font-weight: 600;
 letter-spacing: 0.01em;
 line-height: 1;
 display: inline-flex;
 align-items: center;
 height: 100%;
 transition: color var(--dur);
}
.nav-links a:hover {
 color: var(--sky);
}
.nav-dad {
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
}
.nav-dad img {
 width: 22px;
 height: 22px;
 object-fit: contain;
 flex-shrink: 0;
 display: block;
 filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
}
.nav-cta {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.3rem;
 padding: 0.28rem 0.75rem;
 border-radius: 999px;
 background: linear-gradient(135deg, var(--wake), var(--wake-bright));
 color: #fff !important;
 font-family: var(--font-nav);
 font-weight: 700;
 font-size: 0.76rem;
 letter-spacing: 0.01em;
 line-height: 1;
 height: auto;
 box-shadow: 0 4px 14px rgba(0, 51, 160, 0.3);
 transition: transform var(--dur) var(--ease), box-shadow var(--dur);
}
.nav-cta:hover {
 transform: translateY(-1px);
 box-shadow: 0 8px 18px rgba(0, 51, 160, 0.4);
}
.nav-toggle {
 display: none;
 background: transparent;
 border: 0;
 width: 36px;
 height: 36px;
 padding: 0;
 margin: 0;
 position: relative;
 align-self: center;
}
.nav-toggle span {
 display: block;
 width: 18px;
 height: 2px;
 background: #fff;
 margin: 3px auto;
 transition: transform var(--dur);
}
.site-nav.is-solid .nav-toggle span {
 background: #fff;
}

/* --- Hero --- */
.hero {
 position: relative;
 min-height: 100vh;
 min-height: 100dvh;
 display: grid;
 align-items: end;
 overflow: hidden;
 color: #fff;
 isolation: isolate;
}
.hero-layers {
 position: absolute;
 inset: 0;
 z-index: 0;
}
.layer {
 position: absolute;
 inset: 0;
 will-change: transform;
 background-size: cover;
 background-position: center;
}
.layer-sky {
 background:
 radial-gradient(ellipse 80% 60% at 70% 20%, rgba(126, 200, 240, 0.45), transparent 55%),
 radial-gradient(ellipse 50% 40% at 20% 30%, rgba(26, 107, 181, 0.5), transparent 50%),
 linear-gradient(180deg, #0a2744 0%, #134a7c 42%, #1f6b4a 100%);
}
.layer-clouds {
 background-image:
 radial-gradient(ellipse 40% 18% at 15% 25%, rgba(255, 255, 255, 0.35), transparent 70%),
 radial-gradient(ellipse 35% 16% at 75% 18%, rgba(255, 255, 255, 0.28), transparent 70%),
 radial-gradient(ellipse 50% 20% at 50% 40%, rgba(255, 255, 255, 0.12), transparent 70%);
 opacity: 0.9;
 animation: drift 48s linear infinite;
}
.layer-field {
 background:
 linear-gradient(180deg, transparent 45%, rgba(7, 21, 37, 0.35) 70%, rgba(7, 21, 37, 0.85) 100%),
 repeating-linear-gradient(
 90deg,
 transparent 0 48px,
 rgba(255, 255, 255, 0.03) 48px 50px
 );
 background-blend-mode: normal;
}
.layer-glow {
 background: radial-gradient(circle at 60% 70%, rgba(201, 162, 39, 0.18), transparent 45%);
}
.hero-figure {
 position: absolute;
 right: clamp(-4%, 2vw, 8%);
 bottom: 0;
 width: min(52vw, 560px);
 z-index: 2;
 pointer-events: none;
 filter: drop-shadow(0 24px 40px rgba(0, 0, 0, 0.35));
 transform: translateY(8%);
}
.hero-figure img {
 width: 100%;
}
.hero-icons {
 position: absolute;
 inset: 0;
 z-index: 1;
 pointer-events: none;
}
.float-icon {
 position: absolute;
 width: clamp(64px, 10vw, 110px);
 opacity: 0.92;
 filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.25));
 animation: floaty 6s ease-in-out infinite;
}
.float-icon.i1 { left: 8%; top: 28%; animation-delay: 0s; }
.float-icon.i2 { left: 22%; top: 58%; width: clamp(56px, 8vw, 90px); animation-delay: 1.2s; }
.float-icon.i3 { left: 42%; top: 22%; width: clamp(48px, 7vw, 80px); animation-delay: 0.6s; }

.hero-content {
 position: relative;
 z-index: 3;
 padding: 0 clamp(1.25rem, 5vw, 4rem) clamp(3rem, 8vh, 5rem);
 max-width: 720px;
}
.hero-kicker {
 display: inline-flex;
 align-items: center;
 gap: 0.5rem;
 font-family: var(--font-cond);
 text-transform: uppercase;
 letter-spacing: 0.16em;
 font-size: 0.85rem;
 color: var(--sky);
 margin-bottom: 0.75rem;
}
.hero h1 {
 font-family: var(--font-display);
 font-weight: 700;
 font-size: clamp(3.2rem, 9vw, 6.5rem);
 line-height: 0.95;
 margin: 0 0 0.75rem;
 letter-spacing: -0.02em;
}
.hero h1 span {
 display: block;
 font-family: var(--font-cond);
 font-size: 0.38em;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, 0.75);
 margin-top: 0.4rem;
 font-weight: 600;
}
.hero-lead {
 font-size: clamp(1.05rem, 2.2vw, 1.25rem);
 max-width: 34ch;
 color: rgba(255, 255, 255, 0.88);
 margin: 0 0 1.75rem;
}
.hero-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
}
.btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.45rem;
 padding: 0.85rem 1.35rem;
 border-radius: 999px;
 border: 0;
 font-weight: 600;
 font-size: 0.95rem;
 transition: transform var(--dur) var(--ease), box-shadow var(--dur), background var(--dur);
}
.btn:hover {
 transform: translateY(-2px);
}
.btn-primary {
 background: #fff;
 color: var(--wake);
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.btn-ghost {
 background: rgba(255, 255, 255, 0.12);
 color: #fff;
 border: 1px solid rgba(255, 255, 255, 0.35);
 backdrop-filter: blur(8px);
}
.btn-dad-ref {
 background: linear-gradient(135deg, #0033a0, #1a6bb5 55%, #0d8f6a);
 color: #fff;
 border: 1px solid rgba(0, 51, 160, 0.35);
 box-shadow: 0 10px 26px rgba(0, 51, 160, 0.28);
 padding: 0.45rem 1.15rem 0.45rem 0.5rem;
 gap: 0.55rem;
}
.btn-dad-ref img {
 width: 32px;
 height: 32px;
 object-fit: contain;
 flex-shrink: 0;
 filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25));
}
.btn-dad-ref:hover {
 box-shadow: 0 14px 32px rgba(0, 51, 160, 0.36);
}
.scroll-hint {
 position: absolute;
 bottom: 1.25rem;
 left: 50%;
 transform: translateX(-50%);
 z-index: 4;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 0.35rem;
 color: rgba(255, 255, 255, 0.7);
 font-size: 0.75rem;
 letter-spacing: 0.12em;
 text-transform: uppercase;
}
.scroll-hint i {
 width: 1px;
 height: 36px;
 background: linear-gradient(transparent, #fff);
 animation: pulse-line 2s ease-in-out infinite;
}

@keyframes drift {
 from { transform: translateX(0); }
 to { transform: translateX(-4%); }
}
@keyframes floaty {
 0%, 100% { transform: translateY(0); }
 50% { transform: translateY(-12px); }
}
@keyframes pulse-line {
 0%, 100% { opacity: 0.3; transform: scaleY(0.7); }
 50% { opacity: 1; transform: scaleY(1); }
}

/* --- Schedule bridge (no flat gray ribbon) --- */
.schedule-ribbon {
 position: relative;
 z-index: 5;
 margin-top: -3.25rem;
 padding: 0.5rem clamp(1rem, 4vw, 3rem) 0;
 background: linear-gradient(
  180deg,
  transparent 0%,
  rgba(126, 200, 240, 0.06) 45%,
  rgba(243, 248, 252, 0.22) 100%
 );
}
.schedule-ribbon::after {
 content: "";
 position: absolute;
 left: 0;
 right: 0;
 bottom: -2.5rem;
 height: 3.5rem;
 pointer-events: none;
 background: linear-gradient(
  180deg,
  rgba(243, 248, 252, 0.2),
  rgba(243, 248, 252, 0.55) 55%,
  transparent
 );
 z-index: -1;
}
.schedule-panel {
 display: grid;
 grid-template-columns: 1.1fr 1.6fr auto;
 gap: 1.25rem;
 align-items: center;
 padding: 1.35rem 1.5rem;
 border-radius: 1.25rem;
 background: rgba(255, 255, 255, 0.9);
 backdrop-filter: blur(16px);
 box-shadow: 0 20px 50px rgba(11, 31, 58, 0.12);
 border: 1px solid rgba(126, 200, 240, 0.4);
}
.schedule-panel h2 {
 font-family: var(--font-cond);
 text-transform: uppercase;
 letter-spacing: 0.08em;
 font-size: 1.35rem;
 margin: 0 0 0.25rem;
 color: var(--wake);
}
.schedule-panel p {
 margin: 0;
 color: var(--muted);
 font-size: 0.92rem;
}
.schedule-next {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 0.65rem;
 overflow: visible;
 min-width: 0;
}
.game-chip {
 min-width: 0;
 padding: 0.65rem 0.8rem;
 border-radius: 0.85rem;
 background: linear-gradient(160deg, var(--cloud), var(--mist));
 border: 1px solid rgba(26, 107, 181, 0.15);
}
.game-chip .when {
 font-family: var(--font-cond);
 font-size: 0.8rem;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: var(--wake-bright);
}
.game-chip .opp {
 font-weight: 600;
 font-size: 0.9rem;
 margin-top: 0.15rem;
 overflow-wrap: anywhere;
}
.game-chip .meta {
 font-size: 0.75rem;
 color: var(--muted);
 margin-top: 0.2rem;
 overflow-wrap: anywhere;
}

/* --- Sections + irregular seams --- */
.section {
  position: relative;
  padding: clamp(4rem, 10vh, 7rem) clamp(1.25rem, 5vw, 4rem);
  background:
    linear-gradient(180deg, rgba(243, 248, 252, 0.42) 0%, rgba(243, 248, 252, 0.78) 14%, rgba(243, 248, 252, 0.82) 100%);
  backdrop-filter: blur(6px);
  isolation: isolate;
}
.section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: clamp(2.75rem, 5.5vw, 4.75rem);
  transform: translateY(-92%);
  pointer-events: none;
  z-index: 3;
  background: linear-gradient(180deg, rgba(243, 248, 252, 0.55), rgba(243, 248, 252, 0.9));
  clip-path: polygon(
    0% 100%,
    0% 58%,
    5% 42%,
    11% 68%,
    18% 28%,
    26% 62%,
    34% 18%,
    43% 55%,
    52% 32%,
    61% 70%,
    70% 22%,
    78% 58%,
    86% 38%,
    93% 64%,
    100% 40%,
    100% 100%
  );
}
.section:nth-of-type(odd)::before {
  clip-path: polygon(
    0% 100%,
    0% 38%,
    7% 62%,
    14% 24%,
    23% 58%,
    31% 16%,
    40% 66%,
    49% 30%,
    58% 52%,
    67% 20%,
    76% 60%,
    85% 34%,
    93% 56%,
    100% 28%,
    100% 100%
  );
}
.section-inner {
 max-width: 1120px;
 margin: 0 auto;
}
.section-head {
 max-width: 40rem;
 margin-bottom: 2.5rem;
}
.eyebrow {
 font-family: var(--font-cond);
 text-transform: uppercase;
 letter-spacing: 0.16em;
 font-size: 0.82rem;
 color: var(--wake-bright);
 margin: 0 0 0.5rem;
}
.section h2 {
 font-family: var(--font-display);
 font-size: clamp(2rem, 4.5vw, 3.25rem);
 line-height: 1.1;
 margin: 0 0 0.75rem;
 letter-spacing: -0.02em;
}
.section-head p {
 margin: 0;
 color: var(--muted);
 font-size: 1.05rem;
}

/* Story chapters */
.chapter {
 display: grid;
 grid-template-columns: 1.05fr 0.95fr;
 gap: clamp(1.5rem, 4vw, 3.5rem);
 align-items: center;
}
.chapter.reverse {
 grid-template-columns: 0.95fr 1.05fr;
}
.chapter.reverse .chapter-visual {
 order: -1;
}
.chapter-copy h3 {
 font-family: var(--font-display);
 font-size: clamp(1.6rem, 3vw, 2.2rem);
 margin: 0 0 0.75rem;
}
.chapter-copy p {
 color: var(--muted);
 margin: 0 0 1rem;
}
.chapter-copy p a {
 color: var(--wake-bright);
 font-weight: 600;
 text-decoration: underline;
 text-decoration-color: rgba(26, 107, 181, 0.35);
 text-underline-offset: 0.18em;
 transition: color var(--dur), text-decoration-color var(--dur);
}
.chapter-copy p a:hover {
 color: var(--wake);
 text-decoration-color: var(--wake);
}
.stat-row {
 display: flex;
 flex-wrap: wrap;
 gap: 1rem;
 margin: 1.25rem 0;
}
.stat {
 min-width: 100px;
}
.stat strong {
 display: block;
 font-family: var(--font-cond);
 font-size: 2.4rem;
 line-height: 1;
 color: var(--wake);
}
.stat span {
 font-size: 0.82rem;
 color: var(--muted);
 text-transform: uppercase;
 letter-spacing: 0.08em;
}
[data-count].is-counting {
 display: inline-block;
 color: var(--wake-bright);
 text-shadow: 0 0 18px rgba(126, 200, 240, 0.45);
 transform: translateY(-1px) scale(1.04);
 transition: color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
[data-count].is-counted {
 animation: countPop 0.45s var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}
.ref-total__num {
 display: inline-block;
 min-width: 1.6ch;
 font-variant-numeric: tabular-nums;
}
.game-status__score [data-count] {
 display: inline-block;
 min-width: 0.9ch;
 font-variant-numeric: tabular-nums;
}
.game-status__dash {
 opacity: 0.7;
 margin: 0 0.1em;
}
@keyframes countPop {
 0% { transform: scale(1); }
 40% { transform: scale(1.12); }
 100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
 [data-count].is-counting,
 [data-count].is-counted {
 animation: none;
 transform: none;
 text-shadow: none;
 }
}
.chapter-visual {
 position: relative;
 min-height: 360px;
}
.visual-stack {
 position: relative;
 height: 100%;
 min-height: 380px;
}
.visual-stack img.main {
 width: min(100%, 420px);
 margin: 0 auto;
 filter: drop-shadow(0 28px 40px rgba(11, 31, 58, 0.22));
}
.visual-stack .badge-float {
 position: absolute;
 width: 88px;
 right: 8%;
 top: 8%;
 animation: floaty 5.5s ease-in-out infinite;
}
.visual-stack .photo-cut {
 position: absolute;
 width: 32%;
 left: 0;
 bottom: 4%;
 border-radius: 0;
 overflow: visible;
 box-shadow: none;
 transform: rotate(-2deg);
}
.visual-stack .photo-cut img {
 width: 100%;
 height: auto;
 object-fit: contain;
 aspect-ratio: auto;
 display: block;
}

/* Dark atmospheric section */
.section-dark {
 background:
 radial-gradient(ellipse 60% 50% at 80% 20%, rgba(26, 107, 181, 0.35), transparent 60%),
 linear-gradient(165deg, var(--sky-deep), var(--sky-night) 55%, #0d2f28);
 color: #fff;
}
.section-dark::before {
 background: linear-gradient(180deg, rgba(7, 21, 37, 0.75), rgba(7, 21, 37, 0.98));
 clip-path: polygon(
  0% 100%,
  0% 48%,
  6% 66%,
  13% 22%,
  21% 58%,
  29% 14%,
  38% 62%,
  47% 28%,
  56% 70%,
  65% 18%,
  74% 54%,
  83% 30%,
  91% 60%,
  100% 36%,
  100% 100%
 );
}
.section-dark:nth-of-type(even)::before {
 clip-path: polygon(
  0% 100%,
  0% 30%,
  8% 55%,
  16% 18%,
  25% 64%,
  34% 26%,
  44% 52%,
  53% 12%,
  63% 58%,
  72% 24%,
  81% 66%,
  90% 32%,
  100% 50%,
  100% 100%
 );
}
.section-dark .eyebrow { color: var(--sky); }
.section-dark .section-head p,
.section-dark .chapter-copy p { color: rgba(255, 255, 255, 0.72); }
.section-dark .stat strong { color: var(--sky); }
.section-dark .stat span { color: rgba(255, 255, 255, 0.55); }

/* Soft light-to-light blend (no hard gray band) */
.section:not(.section-dark) + .section:not(.section-dark) {
 background:
  linear-gradient(180deg, rgba(215, 232, 245, 0.28) 0%, rgba(243, 248, 252, 0.55) 10%, rgba(243, 248, 252, 0.8) 100%);
}
.section:not(.section-dark) + .section:not(.section-dark)::before {
 height: clamp(1.75rem, 3.5vw, 2.75rem);
 background: linear-gradient(180deg, rgba(215, 232, 245, 0.35), rgba(243, 248, 252, 0.75));
 opacity: 0.85;
}

/* Calendar sits under schedule bridge */
.section-cal {
 padding-top: clamp(2.5rem, 6vh, 3.5rem);
 background:
  linear-gradient(180deg, transparent 0%, rgba(243, 248, 252, 0.5) 16%, rgba(243, 248, 252, 0.82) 100%);
}
.section-cal::before {
 height: clamp(3.25rem, 7vw, 5.5rem);
 background: linear-gradient(
  180deg,
  rgba(7, 21, 37, 0.12) 0%,
  rgba(126, 200, 240, 0.18) 35%,
  rgba(243, 248, 252, 0.88) 100%
 );
 clip-path: polygon(
  0% 100%,
  0% 52%,
  4% 36%,
  10% 70%,
  17% 20%,
  25% 58%,
  33% 12%,
  42% 64%,
  51% 28%,
  60% 72%,
  69% 16%,
  77% 54%,
  86% 30%,
  94% 62%,
  100% 34%,
  100% 100%
 );
}

/* Kits / season */
.kits-grid {
 display: grid;
 grid-template-columns: 1.2fr 0.8fr;
 gap: 2rem;
 align-items: center;
}
.kits-card {
 border-radius: 1.25rem;
 overflow: hidden;
 background: #fff;
 box-shadow: 0 18px 40px rgba(11, 31, 58, 0.12);
}
.kits-card img {
 width: 100%;
}
.kits-aside {
 display: grid;
 gap: 1rem;
}
.kit-note {
 padding: 1.25rem;
 border-radius: 1rem;
 background: linear-gradient(145deg, var(--wake), var(--wake-bright));
 color: #fff;
}
.kit-note h3 {
 font-family: var(--font-cond);
 text-transform: uppercase;
 letter-spacing: 0.1em;
 margin: 0 0 0.4rem;
 font-size: 1.5rem;
}
.kit-note p { margin: 0; opacity: 0.9; }

/* Games list */
.games-board {
 display: grid;
 gap: 0.75rem;
}
.game-row {
 display: grid;
 grid-template-columns: 150px minmax(0, 1fr) auto auto;
 gap: 1rem;
 align-items: center;
 padding: 1rem 1.15rem;
 border-radius: 1rem;
 background: rgba(255, 255, 255, 0.06);
 border: 1px solid rgba(255, 255, 255, 0.1);
 transition: background var(--dur), transform var(--dur), border-color var(--dur);
}
.game-row:hover {
 transform: translateX(4px);
}
.game-row--scheduled {
 background: linear-gradient(135deg, rgba(126, 200, 240, 0.22), rgba(26, 107, 181, 0.16));
 border-color: rgba(126, 200, 240, 0.4);
}
.game-row--scheduled:hover {
 background: linear-gradient(135deg, rgba(126, 200, 240, 0.3), rgba(26, 107, 181, 0.22));
}
.game-row--win {
 background: linear-gradient(135deg, rgba(31, 107, 74, 0.42), rgba(61, 168, 120, 0.2));
 border-color: rgba(125, 222, 168, 0.4);
}
.game-row--win:hover {
 background: linear-gradient(135deg, rgba(31, 107, 74, 0.52), rgba(61, 168, 120, 0.28));
}
.game-row--loss {
 background: linear-gradient(135deg, rgba(160, 48, 64, 0.38), rgba(220, 90, 100, 0.16));
 border-color: rgba(255, 140, 150, 0.35);
}
.game-row--loss:hover {
 background: linear-gradient(135deg, rgba(160, 48, 64, 0.48), rgba(220, 90, 100, 0.24));
}
.game-row--draw,
.game-row--final {
 background: linear-gradient(135deg, rgba(201, 162, 39, 0.28), rgba(180, 140, 50, 0.14));
 border-color: rgba(201, 162, 39, 0.4);
}
.game-row--draw:hover,
.game-row--final:hover {
 background: linear-gradient(135deg, rgba(201, 162, 39, 0.36), rgba(180, 140, 50, 0.22));
}
.game-row .when {
 font-family: var(--font-cond);
 letter-spacing: 0.05em;
 text-transform: uppercase;
 color: var(--sky);
 font-size: 0.95rem;
}
.game-row .opp {
 font-weight: 600;
}
.game-row .venue {
 font-size: 0.85rem;
 color: rgba(255, 255, 255, 0.55);
}
.game-row .venue--sub {
 margin-top: 0.15rem;
 font-size: 0.78rem;
 opacity: 0.85;
}
.game-status {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 padding: 0.4rem 0.75rem;
 border-radius: 0.85rem;
 background: rgba(0, 0, 0, 0.22);
 border: 1px solid rgba(255, 255, 255, 0.12);
 white-space: nowrap;
}
.game-ico {
 flex-shrink: 0;
 display: block;
}
.game-row--scheduled .game-status,
.game-row--scheduled .game-ico {
 color: #9fd8f5;
}
.game-row--win .game-status,
.game-row--win .game-ico {
 color: #9be7bf;
}
.game-row--loss .game-status,
.game-row--loss .game-ico {
 color: #ffb0b8;
}
.game-row--draw .game-status,
.game-row--final .game-status,
.game-row--draw .game-ico,
.game-row--final .game-ico {
 color: #f0d78a;
}
.game-status__label {
 font-size: 0.78rem;
 font-weight: 700;
 letter-spacing: 0.06em;
 text-transform: uppercase;
}
.game-status__score {
 font-family: var(--font-display);
 font-size: 1.05rem;
 font-weight: 700;
 letter-spacing: 0.02em;
}
.game-status__kind {
 font-size: 0.72rem;
 font-weight: 800;
 letter-spacing: 0.06em;
 padding: 0.12rem 0.4rem;
 border-radius: 999px;
 background: rgba(255, 255, 255, 0.12);
}
.game-row .tag {
 font-size: 0.75rem;
 padding: 0.35rem 0.7rem;
 border-radius: 999px;
 background: rgba(126, 200, 240, 0.15);
 color: var(--sky);
 white-space: nowrap;
}
.game-yt {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 padding: 0.35rem 0.7rem;
 border-radius: 999px;
 background: rgba(255, 0, 0, 0.12);
 border: 1px solid rgba(255, 0, 0, 0.35);
 color: #fff;
 font-size: 0.78rem;
 font-weight: 650;
 letter-spacing: 0.02em;
 text-decoration: none;
 white-space: nowrap;
 transition: background var(--dur), transform var(--dur);
}
.game-yt:hover {
 background: rgba(255, 0, 0, 0.22);
 transform: translateY(-1px);
}
.game-yt svg {
 flex-shrink: 0;
 display: block;
}
.full-schedule-cta {
 margin-top: 1.75rem;
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 align-items: center;
}

/* Charts + match panel */
.ref-dashboard {
 display: grid;
 grid-template-columns: minmax(0, 1.05fr) minmax(240px, 0.95fr);
 gap: 0.85rem;
 align-items: stretch;
 margin-top: 1.75rem;
}
.charts {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 1.25rem;
 margin-top: 2rem;
}
.ref-dashboard__charts {
 margin-top: 0;
 padding: 0.75rem;
 border-radius: 1.05rem;
 background: linear-gradient(160deg, #00287a 0%, #0033a0 45%, #0b1f3a 100%);
 border: 1px solid rgba(126, 200, 240, 0.22);
 box-shadow: 0 14px 32px rgba(0, 51, 160, 0.22);
 gap: 0.65rem;
 grid-template-columns: 1fr 1fr;
 align-content: stretch;
 height: 100%;
 min-height: 0;
}
.ref-dashboard__charts .chart-card {
 position: relative;
 padding: 0.65rem 0.7rem 0.5rem;
 min-width: 0;
 border-radius: 0.8rem;
 background: rgba(255, 255, 255, 0.06);
 border: 1px solid rgba(255, 255, 255, 0.1);
 box-shadow: none;
 overflow: hidden;
 display: flex;
 flex-direction: column;
}
.ref-dashboard__charts .chart-card::before {
 content: none;
}
.ref-dashboard__charts .chart-card h3 {
 margin: 0 0 0.1rem;
 font-family: var(--font-display);
 font-size: 0.82rem;
 letter-spacing: -0.01em;
 text-transform: none;
 color: #9fd8f5;
}
.ref-dashboard__charts .chart-box {
 height: 150px;
 flex: 1;
 min-height: 130px;
}
.ref-dashboard__charts .chart-note {
 display: none;
}
@media (max-width: 1100px) {
 .ref-dashboard {
 grid-template-columns: 1fr;
 }
 .ref-dashboard__charts {
 grid-template-columns: 1fr 1fr;
 min-height: 0;
 }
 .ref-dashboard__charts .chart-box {
 height: 160px;
 }
}
.chart-card {
 padding: 1.25rem;
 border-radius: 1.15rem;
 background: rgba(255, 255, 255, 0.05);
 border: 1px solid rgba(255, 255, 255, 0.1);
}
.chart-card h3 {
 margin: 0 0 0.5rem;
 font-family: var(--font-cond);
 text-transform: uppercase;
 letter-spacing: 0.08em;
 font-size: 1rem;
 color: var(--sky);
}
.chart-box {
 height: 240px;
}
.chart-note {
 font-size: 0.78rem;
 color: rgba(255, 255, 255, 0.45);
 margin-top: 0.5rem;
}

/* Travel */
.travel-track {
 display: grid;
 grid-auto-flow: column;
 grid-auto-columns: minmax(280px, 1fr);
 gap: 1.25rem;
 overflow-x: auto;
 padding-bottom: 0.5rem;
 scroll-snap-type: x mandatory;
}
.travel-card {
 scroll-snap-align: start;
 border-radius: 1.25rem;
 overflow: hidden;
 background: #fff;
 box-shadow: 0 16px 36px rgba(11, 31, 58, 0.1);
 display: flex;
 flex-direction: column;
 min-height: 420px;
 transition: transform var(--dur) var(--ease);
}
.travel-card:hover {
 transform: translateY(-6px);
}
.travel-card .art {
 height: 200px;
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
 position: relative;
}
.travel-card .body {
 padding: 1.25rem 1.35rem 1.5rem;
 flex: 1;
 display: flex;
 flex-direction: column;
}
.travel-card .year {
 font-family: var(--font-cond);
 color: var(--wake-bright);
 letter-spacing: 0.12em;
 text-transform: uppercase;
 font-size: 0.85rem;
}
.travel-card h3 {
 font-family: var(--font-display);
 margin: 0.25rem 0 0.5rem;
 font-size: 1.65rem;
}
.travel-card p {
 color: var(--muted);
 flex: 1;
 margin: 0 0 1rem;
 font-size: 0.95rem;
}
.link-arrow {
 font-weight: 600;
 color: var(--wake);
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
}
.link-arrow::after {
 content: " ->";
 transition: transform var(--dur);
}
.link-arrow:hover::after {
 transform: translateX(4px);
}

/* Connect */
.connect {
 text-align: center;
 background:
 radial-gradient(ellipse 50% 60% at 50% 0%, rgba(126, 200, 240, 0.35), transparent 60%),
 linear-gradient(180deg, rgba(243, 248, 252, 0.55) 0%, var(--cloud) 28%, var(--cloud) 100%);
}
.connect::before {
 background: linear-gradient(180deg, rgba(7, 21, 37, 0.35), rgba(243, 248, 252, 0.9));
}
.social-row {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 0.75rem;
 margin-top: 1.5rem;
}
.social-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.55rem;
 padding: 0.85rem 1.4rem;
 border-radius: 999px;
 background: #fff;
 border: 1px solid rgba(11, 31, 58, 0.1);
 font-weight: 600;
 box-shadow: 0 8px 20px rgba(11, 31, 58, 0.06);
 transition: transform var(--dur), box-shadow var(--dur), border-color var(--dur), background var(--dur);
 text-decoration: none;
 color: inherit;
}
.social-btn svg {
 flex-shrink: 0;
 display: block;
}
.social-btn--ig {
 border-color: rgba(221, 42, 123, 0.28);
 background: linear-gradient(135deg, rgba(245, 133, 41, 0.1), rgba(221, 42, 123, 0.1) 45%, rgba(81, 91, 212, 0.1));
 color: #8134af;
}
.social-btn--ig:hover {
 border-color: rgba(221, 42, 123, 0.55);
 box-shadow: 0 10px 24px rgba(221, 42, 123, 0.18);
}
.social-btn--yt {
 border-color: rgba(255, 0, 0, 0.28);
 background: linear-gradient(135deg, rgba(255, 0, 0, 0.08), rgba(255, 255, 255, 0.95));
 color: #c00;
}
.social-btn--yt:hover {
 border-color: rgba(255, 0, 0, 0.55);
 box-shadow: 0 10px 24px rgba(255, 0, 0, 0.14);
}
.social-btn--dad {
 display: inline-flex;
 align-items: center;
 gap: 0.55rem;
 padding: 0.55rem 1.2rem 0.55rem 0.65rem;
}
.social-btn--dad img {
 width: 36px;
 height: 36px;
 object-fit: contain;
 flex-shrink: 0;
}
.social-btn:hover {
 transform: translateY(-3px);
 box-shadow: 0 14px 28px rgba(11, 31, 58, 0.12);
}

.site-footer {
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 gap: 0.2rem;
 padding: 2rem clamp(1.25rem, 5vw, 4rem) 2.75rem;
 text-align: center;
 color: rgba(243, 248, 252, 0.88);
 font-size: 0.9rem;
 line-height: 1.4;
 border-top: 1px solid rgba(255, 255, 255, 0.12);
 background: linear-gradient(180deg, transparent, rgba(5, 11, 20, 0.55));
 text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}
.site-footer p {
 margin: 0;
 text-align: center;
 max-width: min(56rem, 100%);
}
.site-footer__copy {
 color: rgba(255, 255, 255, 0.88);
}
.site-footer__credit {
 color: rgba(255, 255, 255, 0.92);
 font-weight: 600;
}
.site-footer a {
 color: #9fd8f5;
 text-decoration: underline;
 text-underline-offset: 0.15em;
}
.site-footer a:hover {
 color: #fff;
}
.site-footer__dad {
 color: #f0d78a;
 font-weight: 700;
 letter-spacing: 0.02em;
}

/* Reveal on scroll */
.reveal {
 opacity: 0;
 transform: translateY(28px);
 transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.reveal.is-in {
 opacity: 1;
 transform: none;
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* Progress */
.story-progress {
 position: fixed;
 top: 0;
 left: 0;
 height: 2px;
 width: 0%;
 z-index: 200;
 background: linear-gradient(90deg, var(--sky), var(--wake), var(--gold));
 pointer-events: none;
}

/* Mobile */
@media (max-width: 900px) {
 .nav-links {
 position: absolute;
 top: 100%;
 left: 0;
 right: 0;
 inset: auto;
 flex-direction: column;
 align-items: stretch;
 height: auto;
 gap: 0.15rem;
 background: rgba(7, 21, 37, 0.97);
 padding: 0 1.25rem;
 border-bottom: 1px solid transparent;
 box-shadow: none;
 /* fully hide when closed — do not leave a ghost panel on scroll */
 visibility: hidden;
 opacity: 0;
 pointer-events: none;
 transform: translateY(-0.5rem);
 max-height: 0;
 overflow: hidden;
 transition:
 opacity var(--dur) var(--ease),
 transform var(--dur) var(--ease),
 visibility var(--dur),
 max-height var(--dur) var(--ease);
 }
 .nav-links.is-open {
 visibility: visible;
 opacity: 1;
 pointer-events: auto;
 transform: none;
 max-height: min(80vh, 28rem);
 overflow-y: auto;
 padding: 0.85rem 1.25rem 1.1rem;
 border-bottom-color: rgba(255, 255, 255, 0.08);
 box-shadow: 0 16px 32px rgba(0, 0, 0, 0.35);
 }
 .nav-links a { color: #fff; padding: 0.65rem 0; height: auto; }
 .nav-toggle { display: block; }
 .travel-track {
 display: flex;
 flex-direction: column;
 grid-auto-flow: unset;
 grid-auto-columns: unset;
 overflow-x: visible;
 overflow-y: visible;
 scroll-snap-type: none;
 gap: 1rem;
 }
 .travel-card {
 scroll-snap-align: unset;
 min-height: 0;
 width: 100%;
 }
 .hero-figure { width: min(70vw, 360px); opacity: 0.95; }
 .schedule-panel {
 grid-template-columns: 1fr;
 }
 .schedule-next {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 }
 .chapter,
 .chapter.reverse,
 .kits-grid,
 .charts {
 grid-template-columns: 1fr;
 }
 .ref-dashboard {
 grid-template-columns: 1fr;
 }
 .ref-dashboard__charts {
 grid-template-columns: 1fr 1fr;
 }
 .chapter.reverse .chapter-visual { order: 0; }
 .game-row {
 grid-template-columns: 1fr auto;
 gap: 0.45rem 0.75rem;
 }
 .game-row .when {
 grid-column: 1 / -1;
 }
 .game-row__main {
 min-width: 0;
 }
 .game-status {
 justify-self: start;
 }
 .game-row .tag {
 justify-self: start;
 }
 .game-yt {
 justify-self: end;
 }
 .float-icon.i2,
 .float-icon.i3 { display: none; }
}

@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .layer-clouds,
 .float-icon,
 .visual-stack .badge-float,
 .scroll-hint i {
 animation: none !important;
 }
 .reveal {
 opacity: 1;
 transform: none;
 transition: none;
 }
 .layer { transform: none !important; }
}
