  /* ---------- SELF-HOSTED FONTS ---------- */
  @font-face {
    font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap;
    src: url('fonts/anton-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face {
    font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap;
    src: url('fonts/anton-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face {
    font-family: 'Archivo'; font-style: normal; font-weight: 400 900; font-stretch: 100%; font-display: swap;
    src: url('fonts/archivo-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face {
    font-family: 'Archivo'; font-style: normal; font-weight: 400 900; font-stretch: 100%; font-display: swap;
    src: url('fonts/archivo-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face {
    font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 600; font-display: swap;
    src: url('fonts/jetbrainsmono-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face {
    font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 600; font-display: swap;
    src: url('fonts/jetbrainsmono-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }

  :root {
    /*EDITMODE-BEGIN*/{
      "accent": "#E8FF4F",
      "heroHeadline": "CONDORS",
      "heroTag": "CHAMPIONS 2025"
    }/*EDITMODE-END*/
  }

  html, body { margin:0; padding:0; background:#0a0a0a; color:#f2efe8; font-family:'Archivo',system-ui,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  * { box-sizing:border-box; }
  img { display:block; max-width:100%; }
  a { color:inherit; text-decoration:none; }
  button { font:inherit; cursor:pointer; border:0; background:none; color:inherit; }

  :root{
    --bg:#0a0a0a;
    --card:#141414;
    --card-2:#1c1c1c;
    --line:rgba(255,255,255,.08);
    --line-2:rgba(255,255,255,.14);
    --muted:#8a867d;
    --cream:#f2efe8;
    --royal:#2d5cc4;
    --royal-bright:#4a7ce8;
    --accent:#E8FF4F;     /* safety lime like nivis — swappable via tweaks */
    --dirt:#8a6b45;
    --display:'Anton', 'Archivo Narrow', Impact, sans-serif;
    --ui:'Archivo', system-ui, sans-serif;
    --mono:'JetBrains Mono', ui-monospace, monospace;
  }

  /* ---------- TOP NAV ---------- */
  .nav {
    position: fixed; top:0; left:0; width:100%; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    padding: 18px 22px;
    pointer-events:none;
    box-sizing:border-box;
  }
  .nav > * { pointer-events:auto; }
  .brand {
    display:flex; align-items:center; gap:10px;
    background:#0a0a0a; border:1px solid var(--line-2);
    padding:8px 14px 8px 10px;
  }
  .brand__mark {
    width:28px; height:28px; background:var(--cream); color:#0a0a0a;
    display:grid; place-items:center; font-family:var(--display); font-size:22px; line-height:1;
    letter-spacing:.02em;
  }
  .brand__name { font-family:var(--display); font-size:15px; letter-spacing:.18em; }
  .nav__right { display:flex; gap:8px; }
  .pill {
    display:inline-flex; align-items:center; gap:8px;
    padding:9px 16px;
    border:1px solid var(--line-2);
    background:#0a0a0a;
    font-size:11px; letter-spacing:.18em; font-weight:700; text-transform:uppercase;
  }
  .pill.member-connected {
    background:var(--accent);
    color:#0a0a0a;
    border-color:var(--accent);
  }
  .nav-member-chip {
    display:inline-flex;
    align-items:center;
    gap:8px;
    max-width:200px;
  }
  .nav-member-avatar {
    width:26px;
    height:26px;
    border-radius:50%;
    flex-shrink:0;
    border:1px solid rgba(255,255,255,.2);
  }
  .nav-member-nick {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
    letter-spacing:.12em;
  }
  .member-avatar-grid {
    display:grid;
    grid-template-columns:repeat(8, 1fr);
    gap:8px;
    max-width:100%;
  }
  @media (max-width: 520px) {
    .member-avatar-grid { grid-template-columns:repeat(6, 1fr); }
  }
  .member-avatar-choice {
    aspect-ratio:1;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.2);
    cursor:pointer;
    padding:0;
    min-width:0;
    position:relative;
    overflow:hidden;
  }
  .member-avatar-choice.selected {
    border-color:#f87171;
    box-shadow:0 0 0 2px rgba(220,38,38,.5);
  }
  .member-avatar-choice.selected::after {
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    background:rgba(185,28,28,.4);
    pointer-events:none;
  }
  .member-avatar-choice.is-claimed {
    opacity:.35;
    cursor:not-allowed;
  }

  /* Player portal page (player.html) */
  .player-portal-body { margin:0; background:#0a0a0a; color:var(--cream); }
  .player-portal {
    padding:100px 22px 80px;
    max-width:960px;
    margin:0 auto;
  }
  .player-portal__panel { margin-top:8px; }
  .player-portal__title {
    font-family:var(--display);
    font-size:clamp(1.5rem, 4vw, 2.25rem);
    letter-spacing:.06em;
    margin:0 0 12px;
  }
  .player-portal__lead { color:var(--muted); max-width:560px; line-height:1.5; margin-bottom:20px; }
  .player-portal__head {
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom:28px;
    padding-bottom:24px;
    border-bottom:1px solid var(--line-2);
  }
  .player-portal__avatar {
    width:72px; height:72px; border-radius:50%;
    border:2px solid var(--line-2);
    flex-shrink:0;
  }
  .player-portal__meta { color:var(--muted); font-size:14px; margin:4px 0 0; }
  .player-portal__stats {
    display:flex; flex-wrap:wrap; gap:12px;
    margin-bottom:28px;
  }
  .player-portal__stat {
    background:#111;
    border:1px solid var(--line-2);
    padding:14px 18px;
    min-width:120px;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .player-portal__stat span {
    display:block;
    font-size:1.6rem;
    font-weight:700;
    color:var(--accent);
    letter-spacing:0;
    margin-bottom:4px;
  }
  .player-portal__section { margin-bottom:32px; }
  .player-portal__section h2 {
    font-size:11px;
    letter-spacing:.22em;
    color:var(--accent);
    margin:0 0 12px;
  }
  .player-portal__box, .player-portal__list {
    background:#0e0e0e;
    border:1px solid var(--line-2);
    padding:16px;
    font-size:14px;
  }
  .player-portal__scorekeeper {
    background:#0e0e0e;
    border:1px solid var(--accent);
    border-radius:10px;
    padding:16px;
  }
  .player-portal__scorekeeper .player-portal__muted { margin:0 0 14px; }
  .player-portal__scorekeeper-cta { display:inline-flex; }
  .player-portal__offense-table-wrap {
    overflow-x:auto;
    margin:0 -4px;
    -webkit-overflow-scrolling:touch;
  }
  .player-portal__offense-table {
    width:100%;
    min-width:640px;
    border-collapse:collapse;
    font-size:13px;
    font-variant-numeric:tabular-nums;
  }
  .player-portal__offense-table th,
  .player-portal__offense-table td {
    padding:10px 8px;
    text-align:right;
    border-bottom:1px solid var(--line);
    vertical-align:middle;
  }
  .player-portal__offense-table thead th {
    text-align:right;
    color:var(--muted);
    font-weight:600;
    font-size:11px;
    letter-spacing:.04em;
    white-space:nowrap;
  }
  .player-portal__offense-table thead th:first-child,
  .player-portal__offense-table tbody th {
    text-align:left;
  }
  .player-portal__offense-table tbody tr:last-child th,
  .player-portal__offense-table tbody tr:last-child td {
    border-bottom:none;
  }
  .player-portal__row { padding:8px 0; border-bottom:1px solid var(--line); }
  .player-portal__row:last-child { border-bottom:none; }
  .player-portal__bounty {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
  }
  .player-portal__bounty:last-child { border-bottom:none; }
  .player-portal__muted { color:var(--muted); font-size:13px; }
  .player-portal__form { display:grid; gap:12px; max-width:420px; }
  .player-portal__form input[type="text"] {
    padding:10px;
    background:#111;
    border:1px solid rgba(255,255,255,.12);
    color:var(--cream);
  }
  .player-portal__label {
    font-size:10px;
    letter-spacing:.14em;
    color:var(--muted);
    margin-bottom:6px;
  }
  .pill--accent { background:var(--accent); color:#0a0a0a; border-color:var(--accent); }
  .pill--accent::after{
    content:""; width:10px; height:10px;
    background:
      linear-gradient(#0a0a0a 2px, transparent 2px) 0 0 / 6px 4px,
      #0a0a0a;
    mask: radial-gradient(circle, #000 1px, transparent 1.5px) 0 0 / 3px 3px;
  }

  /* ---------- HERO ---------- */
  .hero {
    position:relative;
    height: 100vh; min-height:620px;
    overflow:hidden;
    background:#000;
  }
  .hero__video {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    z-index:0;
  }
  .hero__overlay {
    position:absolute; inset:0; z-index:1;
    background: linear-gradient(
      180deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.35) 50%,
      rgba(0,0,0,.75) 100%
    );
  }
  /* fine grain */
  .hero__grain {
    position:absolute; inset:0; z-index:2;
    background-image:
      radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
      radial-gradient(rgba(0,0,0,.18) 1px, transparent 1px);
    background-size: 3px 3px, 5px 5px;
    background-position: 0 0, 2px 2px;
    mix-blend-mode:overlay; opacity:.5;
    pointer-events:none;
  }
  .hero__vignette{
    position:absolute; inset:0; z-index:2;
    background:
      radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,.55) 100%),
      linear-gradient(to bottom, rgba(0,0,0,.2) 0%, transparent 25%, transparent 60%, rgba(0,0,0,.7) 100%);
    pointer-events:none;
  }

  /* mountain silhouettes — parallax layers */
  .ridge {
    position:absolute; left:-5%; right:-5%; bottom:0;
    width:110%;
    will-change: transform;
  }
  .ridge--far   { bottom:22%; opacity:.55; filter: blur(.4px); }
  .ridge--mid   { bottom:8%;  opacity:.8; }
  .ridge--near  { bottom:-2%; opacity:1; }

  /* floating condor silhouette */
  .condor-wrap {
    position:absolute;
    top: 36%; left:-12%;
    width:140px; height:auto;
    animation: condor-fly 28s linear infinite;
    transform-origin: center;
    opacity:.85;
    filter: drop-shadow(0 10px 40px rgba(0,0,0,.6));
  }
  .condor {
    animation: wing-beat 3.2s ease-in-out infinite;
    transform-origin: center;
  }
  @keyframes condor-fly {
    0%   { transform: translate(0, 0) scale(.9); }
    25%  { transform: translate(30vw, -3vh) scale(1); }
    50%  { transform: translate(60vw, 1vh) scale(1.1); }
    75%  { transform: translate(90vw, -2vh) scale(1.05); }
    100% { transform: translate(125vw, 0vh) scale(.95); }
  }
  @keyframes wing-beat {
    0%, 100% { transform: scaleY(1); }
    50%      { transform: scaleY(.92) translateY(-2px); }
  }

  .condor-wrap--2 {
    top:48%; left:-20%;
    width:90px; opacity:.5;
    animation-duration: 38s; animation-delay: -8s;
  }

  /* hero content */
  .hero__inner {
    position:relative; z-index:3;
    height:100%;
    display:flex; flex-direction:column; justify-content:flex-end;
    padding: 22px;
    padding-bottom: 22px;
  }

  /* slide-up info card — mirrors nivis */
  .hero-card {
    background: #0d0d0d;
    border: 1px solid var(--line-2);
    padding: 18px 22px 22px;
    width: min(720px, 100%);
    position:relative;
    animation: slideUp .9s cubic-bezier(.2,.7,.15,1) .35s both;
  }
  @keyframes slideUp {
    from { opacity:0; transform: translateY(36px); }
    to   { opacity:1; transform: translateY(0); }
  }
  .hero-card__top {
    display:flex; justify-content:space-between; align-items:center; gap:18px;
    padding-bottom:14px;
    border-bottom: 1px solid var(--line);
    font-size:10.5px; letter-spacing:.22em; font-weight:700; text-transform:uppercase; color:#bab7ae;
    flex-wrap:wrap;
  }
  .hero-card__top .sep { color:#5c5a55; }
  .scroll-cue {
    display:inline-flex; align-items:center; gap:8px; color:var(--accent);
  }
  .scroll-cue .arrow { animation: bob 1.8s ease-in-out infinite; }
  @keyframes bob { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(3px) } }

  .hero-card__body{
    display:grid; grid-template-columns: 1fr auto; gap:22px; align-items:end;
    padding-top:18px;
  }
  .hero-card h1 {
    margin:0;
    font-family:var(--display);
    font-size: clamp(48px, 9vw, 120px);
    line-height:.88;
    letter-spacing: -.01em;
    color: var(--cream);
    position:relative;
  }
  .hero-card h1 .dot {
    display:inline-block; width:.38em; height:.38em; border-radius:50%;
    background: var(--accent); color:#0a0a0a;
    vertical-align: middle;
    margin-left:.12em;
    position:relative; top:-.08em;
  }
  .hero-card .sub {
    display:block;
    font-family:var(--ui);
    font-size: 14px; font-weight:600;
    letter-spacing:.26em; text-transform:uppercase;
    color:#bab7ae;
    margin-top:10px;
  }
  .hero-card .cta {
    display:inline-flex; align-items:flex-start; gap:10px;
    background:var(--accent); color:#0a0a0a;
    padding:16px 18px;
    font-size:11px; letter-spacing:.22em; font-weight:800; text-transform:uppercase;
    line-height:1.3;
    align-self:end;
    white-space:nowrap;
  }
  .cta .arrow { font-size:14px; }

  /* ---------- SCROLL LINE / SECTIONS ---------- */

  /* blurred texture bridge between cards (softball team blurred, very dim) */
  .bridge {
    position: relative;
    height: 260px;
    overflow:hidden;
    background:#0a0a0a;
  }
  .bridge::before {
    content:""; position:absolute; inset:-10%;
    background:
      radial-gradient(ellipse 60% 70% at 50% 50%, rgba(45,92,196,.35), transparent 70%),
      linear-gradient(120deg, #0b1530 0%, #152a4f 40%, #0a0a0a 100%);
    filter: blur(40px);
    transform: scale(1.1);
  }
  .bridge::after {
    content:""; position:absolute; inset:0;
    background-image:
      radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 4px 4px;
    mix-blend-mode:overlay; opacity:.5;
  }

  /* standard section intro */
  .intro {
    padding: 120px 22px 60px;
    max-width: 1400px; margin: 0 auto;
    display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap:40px;
    align-items:end;
  }
  .intro__eyebrow {
    font-size:11px; letter-spacing:.3em; font-weight:700; text-transform:uppercase;
    color:var(--accent);
    display:flex; align-items:center; gap:12px;
  }
  .intro__eyebrow::before{ content:""; width:24px; height:1px; background:var(--accent); }
  .intro__title {
    font-family:var(--display); font-size: clamp(28px, 3vw, 48px);
    line-height:.92; letter-spacing:-.01em; margin:16px 0 0; color:var(--cream);
  }
  .intro__meta { color:var(--muted); font-size:14px; line-height:1.6; }
  .intro__meta strong { color:var(--cream); font-weight:700; }

  /* ---------- SCOREBOARD ---------- */
  .score {
    position:relative;
    padding: 40px 22px 140px;
  }
  .score__card {
    max-width: 1400px; margin: 0 auto;
    background: #0f0f0f;
    border: 1px solid var(--line-2);
    display:grid; grid-template-columns: 1fr 1.6fr 1fr; gap:0;
  }
  .score__team {
    padding: 44px 38px;
    display:flex; flex-direction:column; justify-content:space-between;
    min-height: 220px;
  }
  .score__team--away { border-right:1px solid var(--line); }
  .score__label { font-size:10.5px; letter-spacing:.28em; font-weight:700; text-transform:uppercase; color:var(--muted); }
  .score__name { font-family:var(--display); font-size: clamp(32px, 3.5vw, 52px); line-height:1; margin-top:8px; }
  .score__num { font-family:var(--display); font-size: clamp(72px, 10vw, 144px); line-height:.8; letter-spacing:-.02em; margin-top:auto; }
  .score__center {
    padding:32px 22px; text-align:center;
    background:#0a0a0a;
    border-left:1px solid var(--line); border-right:1px solid var(--line);
    display:flex; flex-direction:column; justify-content:center; gap:10px;
  }
  .score__state {
    display:inline-flex; align-items:center; gap:8px;
    margin:0 auto; padding:6px 12px;
    background:var(--accent); color:#0a0a0a;
    font-size:10.5px; letter-spacing:.22em; font-weight:800; text-transform:uppercase;
  }
  .score__state .pulse { width:7px; height:7px; background:#0a0a0a; border-radius:50%; animation:pulse 1.6s ease-in-out infinite; }
  @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
  .score__inning { font-family:var(--display); font-size:34px; line-height:1; }
  .score__detail { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); font-weight:600; }
  .score__winner .score__num { color:var(--accent); }

  /* ---------- PLAYER CARD STACK (nivis "product card" equivalent) ---------- */
  .players { padding: 0 22px 120px; position:relative; }
  .player-card {
    max-width: 1400px; margin: 0 auto 32px;
    background: #0e0e0e;
    border: 1px solid var(--line-2);
    display:grid;
    grid-template-columns: 1.05fr 1.4fr 1fr;
    min-height: 520px;
    position:relative;
    overflow:hidden;
  }
  .player-card__left {
    padding: 36px 34px 28px;
    display:flex; flex-direction:column; justify-content:space-between;
  }
  .player-card__eyebrow {
    font-size:10.5px; letter-spacing:.28em; font-weight:700; text-transform:uppercase; color:var(--muted);
    display:flex; align-items:center; gap:10px;
  }
  .player-card__eyebrow .bat {
    display:inline-block; width:8px; height:18px; background:var(--accent);
    transform: skewX(-12deg);
  }
  .player-card__name {
    font-family:var(--display);
    font-size: clamp(42px, 5.2vw, 84px);
    line-height:.9; margin: 28px 0 0; color:var(--cream);
  }
  .player-card__tagline { color:var(--muted); font-size:14px; margin-top:14px; max-width:380px; line-height:1.55; }

  .player-card__mid {
    background:#bfbfbf;
    position:relative;
    overflow:hidden;
    display:flex; align-items:flex-end; justify-content:center;
  }
  /* portrait placeholder — large silhouette in a grey block */
  .portrait {
    position:relative;
    width:100%; height:100%;
    background:
      radial-gradient(ellipse 70% 80% at 50% 100%, rgba(0,0,0,.35), transparent 70%),
      linear-gradient(180deg, #d2d2d2 0%, #b4b4b4 60%, #9b9b9b 100%);
  }
  .portrait svg { position:absolute; inset:0; width:100%; height:100%; }
  .player-card__mid-label {
    position:absolute; left:16px; bottom:14px; z-index:3;
    font-size:10.5px; letter-spacing:.22em; font-weight:700; text-transform:uppercase;
    color:#0a0a0a; background:rgba(255,255,255,.85); padding:4px 8px;
  }

  .player-card__right {
    padding: 36px 34px 28px;
    display:flex; flex-direction:column; gap:16px;
    border-left:1px solid var(--line);
  }
  .player-card__role {
    font-family:var(--display); font-size: 28px; line-height:1;
    color:var(--cream);
  }
  .player-card__desc { color:#a8a49a; font-size:14px; line-height:1.65; }

  .stat-row { display:grid; grid-template-columns: 1fr 1fr; gap:14px; margin-top:auto; }
  .stat {
    padding:12px 0 4px;
    border-top:1px solid var(--line);
  }
  .stat__k { font-size:10px; letter-spacing:.24em; color:var(--muted); text-transform:uppercase; font-weight:700; }
  .stat__v { font-family:var(--display); font-size: 28px; line-height:1; margin-top:4px; }

  .player-card__cta {
    margin-top:12px;
    display:flex; gap:8px;
  }
  .btn-light {
    background:var(--cream); color:#0a0a0a;
    padding:14px 18px; font-size:10.5px; letter-spacing:.22em; font-weight:800; text-transform:uppercase;
  }
  .btn-ghost {
    border:1px solid var(--line-2); color:var(--cream);
    padding:14px 18px; font-size:10.5px; letter-spacing:.22em; font-weight:800; text-transform:uppercase;
  }
  .jersey-chip {
    position:absolute; top:14px; right:14px; z-index:3;
    font-family:var(--display); font-size:42px; line-height:1;
    color:#0a0a0a; background:var(--accent);
    padding:6px 12px 3px;
  }
  .availability {
    display:inline-flex; align-items:center; gap:8px;
    font-size:10.5px; letter-spacing:.22em; font-weight:700; text-transform:uppercase; color:var(--muted);
  }
  .availability .dot { width:7px; height:7px; border-radius:50%; background:var(--accent); }

  /* ---------- SCHEDULE ---------- */
  .schedule { padding: 60px 22px 140px; max-width:1400px; margin:0 auto; overflow-x:clip; }
  .schedule-year-toolbar {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
    flex-wrap:wrap;
  }
  .schedule-year-picker {
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:auto;
  }
  .schedule-year-picker label {
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .schedule-year-picker select {
    padding:8px 12px;
    background:var(--card);
    border:1px solid var(--line);
    color:var(--cream);
    font-family:var(--ui);
    font-size:14px;
    border-radius:6px;
    min-width:100px;
  }
  .schedule-export {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
    flex:1 1 280px;
  }
  .schedule-export__label {
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
    margin-right:4px;
  }
  .schedule-export__btn {
    display:inline-block;
    padding:8px 12px;
    background:var(--card);
    border:1px solid var(--line);
    color:var(--cream);
    font-family:var(--ui);
    font-size:12px;
    letter-spacing:.04em;
    text-decoration:none;
    border-radius:6px;
    transition: border-color .2s, color .2s;
  }
  .schedule-export__btn:hover {
    border-color:var(--accent);
    color:var(--accent);
  }
  .schedule-export__hint {
    flex:1 1 100%;
    margin:0;
    font-size:11px;
    line-height:1.45;
    color:var(--muted);
    max-width:520px;
  }
  .schedule-table-outer { width:100%; max-width:100%; }
  .schedule-scroll {
    overflow:visible;
    border:none;
    background:transparent;
  }
  .sched-table-head { display:none; }
  .schedule-cards { width:100%; max-width:100%; }
  /* Phone / tablet: one card per game, full width, vertical scroll only */
  .sched-card {
    display:block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding:16px 14px;
    margin:0 0 10px;
    border:1px solid var(--line);
    background:#080808;
    position:relative;
    transition:background .2s;
  }
  .sched-card--next {
    background:rgba(232, 255, 79, 0.07);
    box-shadow:inset 0 0 0 1px rgba(232, 255, 79, 0.35);
  }
  .sched-card__date {
    font-family:var(--display);
    font-size:22px;
    line-height:1;
    margin-bottom:8px;
  }
  .sched-card__month {
    display:block;
    font-family:var(--ui);
    font-size:11px;
    letter-spacing:.22em;
    color:var(--muted);
    margin-top:4px;
    font-weight:700;
    text-transform:uppercase;
  }
  .sched-card__match {
    font-family:var(--display);
    font-size:clamp(20px, 5.5vw, 26px);
    line-height:1.1;
    margin-bottom:8px;
    word-break:break-word;
  }
  .sched-card__meta {
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
    margin-bottom:10px;
    word-break:break-word;
  }
  .sched-card__foot {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
  }
  .sched-card__result {
    font-family:var(--display);
    font-size:clamp(16px, 4.5vw, 22px);
    line-height:1;
    color:var(--accent);
  }
  .sched-card__result.loss { color:#c25448; }
  .sched-card__result.upcoming {
    color:var(--muted);
    font-size:10px;
    letter-spacing:.22em;
    font-weight:700;
    text-transform:uppercase;
    font-family:var(--ui);
  }
  .sched-card__time { color:var(--muted); font-size:12px; }
  .sched-card__type,
  .sched-card__loc,
  .sched-card__badge { display:none; }
  .schedule-load-more-wrap {
    padding:4px 0 8px;
    text-align:center;
  }
  .schedule-load-more {
    display:inline-block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding:14px 20px;
    background:var(--card);
    border:1px solid var(--line);
    color:var(--cream);
    font-family:var(--ui);
    font-size:13px;
    letter-spacing:.06em;
    border-radius:6px;
    cursor:pointer;
    transition:border-color .2s, color .2s, background .2s;
  }
  .schedule-load-more:hover {
    border-color:var(--accent);
    color:var(--accent);
    background:#111;
  }
  @media (min-width: 1100px) {
    .schedule-load-more-wrap { display:none !important; }
  }
  .sched-badge {
    min-width:26px; height:26px; padding:0 6px;
    background:var(--royal); display:grid; place-items:center;
    color:var(--cream); font-family:var(--display); font-size:12px;
  }
  @media (min-width: 1100px) {
    .schedule-scroll {
      border:1px solid var(--line);
      border-top:none;
      background:#080808;
    }
    .sched-table-head {
      display:grid;
      grid-template-columns:90px 100px 64px minmax(100px,1fr) minmax(90px,1fr) 110px 120px;
      gap:18px;
      align-items:center;
      padding:14px 8px;
      border:1px solid var(--line);
      border-bottom:1px solid var(--line-2);
      color:var(--muted);
      font-size:10.5px;
      letter-spacing:.22em;
      font-weight:700;
      text-transform:uppercase;
    }
    .sched-card {
      display:grid;
      grid-template-columns:90px 100px 64px minmax(100px,1fr) minmax(90px,1fr) 110px 120px;
      gap:18px;
      align-items:center;
      padding:22px 8px;
      margin:0;
      border:none;
      border-bottom:1px solid var(--line);
    }
    .sched-card__meta { display:none; }
    .sched-card__type,
    .sched-card__loc,
    .sched-card__badge {
      display:block;
      margin:0;
    }
    .sched-card__badge { display:flex; align-items:center; justify-content:center; }
    .sched-card__type {
      font-size:10.5px;
      letter-spacing:.22em;
      font-weight:700;
      text-transform:uppercase;
      color:var(--muted);
    }
    .sched-card__match { font-size:22px; margin:0; }
    .sched-card__loc { color:var(--muted); font-size:13px; }
    .sched-card__foot { display:contents; }
    .sched-card__result { font-size:22px; }
    .sched-card__result.upcoming { font-size:11px; }
    .sched-card__time { font-size:13px; }
  }

  /* ---------- HISTORY / STATS ---------- */
  .stats-strip {
    background:#0e0e0e;
    border-top:1px solid var(--line-2);
    border-bottom:1px solid var(--line-2);
    padding:60px 22px;
  }
  .stats-strip__inner {
    max-width:1400px; margin:0 auto;
    display:grid; grid-template-columns: repeat(4, 1fr); gap:0;
  }
  .stats-strip__season {
    grid-column: 1 / -1;
    text-align:center;
    font-size:10.5px;
    letter-spacing:.22em;
    color:var(--muted);
    font-weight:700;
    text-transform:uppercase;
    padding:0 0 20px;
    margin-bottom:12px;
    border-bottom:1px solid var(--line);
  }
  .bigstat {
    padding: 20px 26px;
    border-right: 1px solid var(--line);
  }
  .bigstat:last-child { border-right:0; }
  .bigstat__k { font-size:10.5px; letter-spacing:.22em; color:var(--muted); font-weight:700; text-transform:uppercase; }
  .bigstat__v { font-family:var(--display); font-size: clamp(44px, 5vw, 80px); line-height:1; margin-top:10px; }
  .bigstat__v .accent { color:var(--accent); }

  /* ---------- HISTORY CARD ---------- */
  .history { padding: 120px 22px; max-width:1400px; margin:0 auto; }
  .history__grid {
    display:flex; flex-wrap:wrap; justify-content:center; gap:24px;
  }
  .hcard {
    flex: 0 0 calc(50% - 12px);
    background:#0e0e0e; border:1px solid var(--line-2);
    padding: 36px 34px;
    min-height: 260px;
    display:flex; flex-direction:column;
    gap:12px;
  }
  .hcard__year { font-family:var(--display); font-size:72px; line-height:.9; color:var(--cream); }
  .hcard__year .accent { color:var(--accent); }
  .hcard__title { font-family:var(--display); font-size:28px; line-height:1; color:var(--cream); }
  .hcard__body { color:var(--muted); font-size:14px; line-height:1.65; }
  .hcard--hero { background: linear-gradient(135deg, #16356b 0%, #0b1f44 100%); border-color: transparent; }
  .hcard--hero .hcard__body { color: #d7dfeb; }

  /* ---------- FIELD GUIDE STRIP ---------- */
  .fieldguide {
    padding: 120px 22px;
    background:#0e0e0e;
    border-top:1px solid var(--line);
  }
  .fieldguide__inner { max-width:1400px; margin:0 auto; display:grid; grid-template-columns: 1fr 1fr; gap: 40px; }
  .guide-card {
    display:grid; grid-template-columns: 160px 1fr; gap:18px;
    padding: 22px 0;
    border-top: 1px solid var(--line);
  }
  .guide-card__n { font-family:var(--display); font-size:48px; line-height:.9; color:var(--accent); }
  .guide-card__label { font-size:10.5px; letter-spacing:.22em; color:var(--muted); font-weight:700; text-transform:uppercase; margin-top:4px; }
  .guide-card__title { font-family:var(--display); font-size:22px; line-height:1.05; margin:0 0 6px; }
  .guide-card__body { color:#a8a49a; font-size:13.5px; line-height:1.6; }

  /* ---------- FOOTER ---------- */
  footer.site {
    background:#050505;
    border-top:1px solid var(--line-2);
    padding: 70px 22px 28px;
  }
  .foot { max-width:1400px; margin:0 auto; display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap:30px; }
  .foot h5 { font-size:10.5px; letter-spacing:.22em; color:var(--muted); font-weight:700; text-transform:uppercase; margin:0 0 14px; }
  .foot ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; font-size:14px; }
  .foot__brand { font-family:var(--display); font-size: 86px; line-height:.85; margin:0; color:var(--cream); }
  .foot__brand .accent { color:var(--accent); }
  .foot__tag { color:var(--muted); margin-top:14px; font-size:13px; max-width:360px; line-height:1.6; }
  .legal { max-width:1400px; margin: 40px auto 0; display:flex; justify-content:space-between; color:var(--muted); font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; padding-top:22px; border-top:1px solid var(--line); }

  /* ---------- SCROLL REVEAL ---------- */
  .reveal        { opacity:0; transform:translateY(38px);   transition:opacity .85s ease, transform .85s cubic-bezier(.16,.8,.14,1); }
  .reveal-left   { opacity:0; transform:translateX(-56px);  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.8,.14,1); }
  .reveal-right  { opacity:0; transform:translateX(56px);   transition:opacity .9s ease, transform .9s cubic-bezier(.16,.8,.14,1); }
  .reveal-scale  { opacity:0; transform:scale(.9);           transition:opacity .85s ease, transform .85s cubic-bezier(.16,.8,.14,1); }
  .reveal.in, .reveal-left.in, .reveal-right.in, .reveal-scale.in { opacity:1; transform:none; }
  .reveal.d-1,.reveal-left.d-1,.reveal-right.d-1 { transition-delay:.10s; }
  .reveal.d-2,.reveal-left.d-2,.reveal-right.d-2 { transition-delay:.20s; }
  .reveal.d-3,.reveal-left.d-3,.reveal-right.d-3 { transition-delay:.30s; }
  .reveal.d-4 { transition-delay:.40s; }
  .reveal.d-5 { transition-delay:.50s; }

  /* Progress bar */
  .progress-bar { position:fixed; top:0; left:0; height:2px; background:var(--accent); z-index:200; width:100%; transform-origin:left; transform:scaleX(0); pointer-events:none; }

  /* Draw line */
  .draw-line { display:block; height:1px; background:var(--accent); transform-origin:left; transform:scaleX(0); transition:transform 1s cubic-bezier(.16,.8,.14,1); }
  .draw-line.in { transform:scaleX(1); }

  /* Char split */
  .char-wrap { display:inline-block; overflow:hidden; vertical-align:bottom; }
  .char-inner { display:inline-block; transform:translateY(105%); transition:transform .65s cubic-bezier(.16,.8,.14,1); }
  .char-wrap.in .char-inner { transform:translateY(0); }

  /* Hover lifts */
  .player-card { transition:box-shadow .35s ease, border-color .35s ease; }
  .player-card:hover { box-shadow:0 28px 80px rgba(0,0,0,.75); border-color:rgba(255,255,255,.28); }

  /* ---------- CARD FLIP (portrait panel only) ---------- */
  #card-portrait-scene { position:relative; min-height:340px; perspective:900px; }
  #card-portrait-inner { position:absolute; inset:0; transform-style:preserve-3d; transition:transform .65s cubic-bezier(.4,0,.2,1); }
  #card-portrait-inner.is-flipped { transform:rotateY(180deg); }
  #card-portrait, #card-portrait-back { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; overflow:hidden; }
  #card-portrait-back { transform:rotateY(180deg); display:flex; flex-direction:column; background:#0d0d0d; cursor:pointer; user-select:none; }
  #card-portrait { cursor:pointer; user-select:none; display:flex; align-items:flex-end; justify-content:center; background:#b4b4b4; }

  /* ---------- BOUNTY CARDS ---------- */
  .bounty-card { background:#111; border:1px solid rgba(255,255,255,.1); padding:20px 22px; display:flex; flex-direction:column; gap:10px; transition:border-color .25s ease; }
  .bounty-card:hover { border-color:rgba(255,255,255,.22); }
  .bounty-type { display:inline-block; font-size:9px; letter-spacing:.22em; font-weight:700; text-transform:uppercase; padding:3px 8px; }
  .hcard { transition:transform .38s cubic-bezier(.16,.8,.14,1), box-shadow .38s ease; }
  .hcard:hover { transform:translateY(-5px); box-shadow:0 22px 60px rgba(0,0,0,.55); }

  /* Sched row accent bar */
  .sched-card { position:relative; }
  .sched-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--accent); transform:scaleY(0); transform-origin:top; transition:transform .28s cubic-bezier(.16,.8,.14,1); }
  .sched-card:hover::before { transform:scaleY(1); }
  .sched-card--next::before { transform:scaleY(1); }
  @media (min-width: 1100px) {
    .sched-card:hover { padding-left:12px; }
  }

  /* Floating accent dots in hero */
  @keyframes floatDot { 0%,100%{transform:translateY(0) scale(1);opacity:.7} 50%{transform:translateY(-18px) scale(1.15);opacity:.4} }

  /* Marquee ticker */
  .marquee-wrap { overflow:hidden; white-space:nowrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; background:#0a0a0a; }
  .marquee-track { display:inline-block; animation:marquee 28s linear infinite; }
  .marquee-track:hover { animation-play-state:paused; }
  @keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
  .marquee-item { display:inline-block; margin:0 28px; font-size:11px; letter-spacing:.28em; font-weight:700; text-transform:uppercase; color:var(--muted); }
  .marquee-item .sep { color:var(--accent); margin:0 6px; }

  /* ---------- CART STYLES ---------- */
  .cart-badge {
    display:none; position:absolute; top:-6px; right:-6px;
    width:18px; height:18px; border-radius:50%;
    background:#0a0a0a; border:1px solid var(--accent);
    color:var(--accent); font-size:9px; font-weight:800;
    align-items:center; justify-content:center;
  }
  .cart-badge.show { display:flex; }
  .nav__cart { position:relative; }
  /* Hidden until initShop: no flash before JS; shown only when catalogue OK and panier non vide */
  #cart-btn { display: none; }

  /* Cart drawer */
  .cart-overlay {
    position:fixed; inset:0; background:rgba(0,0,0,.55);
    z-index:200; opacity:0; pointer-events:none;
    transition:opacity .32s ease;
  }
  .cart-overlay.open { opacity:1; pointer-events:all; }

  .cart-drawer {
    position:fixed; right:0; top:0; bottom:0;
    width: min(460px, 100vw);
    background:#0d0d0d; border-left:1px solid var(--line-2);
    z-index:201;
    display:flex; flex-direction:column;
    transform:translateX(100%);
    transition:transform .38s cubic-bezier(.2,.8,.15,1);
  }
  .cart-drawer.open { transform:translateX(0); }

  .cart-head {
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 24px 18px;
    border-bottom:1px solid var(--line);
  }
  .cart-head h4 {
    margin:0; font-family:var(--display); font-size:22px; letter-spacing:.04em;
  }
  .cart-head .count { font-size:10px; letter-spacing:.22em; color:var(--muted); font-weight:700; text-transform:uppercase; margin-left:8px; }
  .cart-close {
    width:36px; height:36px; border:1px solid var(--line-2);
    display:grid; place-items:center; cursor:pointer;
    font-size:18px; line-height:1; color:var(--muted);
    transition:border-color .2s, color .2s;
  }
  .cart-close:hover { border-color:var(--accent); color:var(--accent); }

  .cart-items { flex:1; overflow-y:auto; padding:0 24px; }
  .cart-items::-webkit-scrollbar { width:4px; }
  .cart-items::-webkit-scrollbar-track { background:#0d0d0d; }
  .cart-items::-webkit-scrollbar-thumb { background:var(--line-2); }

  .cart-empty {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    height:100%; gap:14px; color:var(--muted); text-align:center;
  }
  .cart-empty svg { opacity:.3; }
  .cart-empty p { font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; margin:0; }

  .cart-item {
    display:grid; grid-template-columns:72px 1fr auto;
    gap:14px; align-items:start;
    padding:18px 0;
    border-bottom:1px solid var(--line);
  }
  .cart-item__thumb {
    background:#1a1a1a; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    height:72px; overflow:hidden;
  }
  .cart-item__name { font-size:13px; font-weight:600; color:var(--cream); margin:0 0 4px; }
  .cart-item__meta { font-size:10.5px; letter-spacing:.18em; color:var(--muted); text-transform:uppercase; }
  .cart-item__price { font-family:var(--display); font-size:20px; color:var(--accent); white-space:nowrap; }

  .qty-row { display:flex; align-items:center; gap:0; margin-top:10px; }
  .qty-btn {
    width:28px; height:28px; border:1px solid var(--line-2);
    display:grid; place-items:center; cursor:pointer;
    font-size:14px; line-height:1; color:var(--cream);
    background:none; transition:border-color .18s, color .18s;
  }
  .qty-btn:hover { border-color:var(--accent); color:var(--accent); }
  .qty-btn:disabled { opacity:0.35; cursor:not-allowed; }
  .qty-val {
    width:36px; height:28px; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2);
    display:grid; place-items:center;
    font-size:13px; font-weight:700; color:var(--cream);
  }
  .cart-item__remove {
    font-size:10px; letter-spacing:.18em; color:var(--muted); cursor:pointer;
    text-transform:uppercase; font-weight:700; padding:2px 0;
    transition:color .18s; background:none; border:0; font:inherit;
  }
  .cart-item__remove:hover { color:#c25448; }

  .cart-foot {
    border-top:1px solid var(--line-2);
    padding:20px 24px 24px;
    display:flex; flex-direction:column; gap:14px;
  }
  .cart-subtotal {
    display:flex; justify-content:space-between; align-items:baseline;
    font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--muted);
  }
  .cart-subtotal .amt { font-family:var(--display); font-size:32px; color:var(--cream); }
  .cart-checkout {
    display:flex; align-items:center; justify-content:center; gap:10px;
    background:var(--accent); color:#0a0a0a;
    padding:18px 24px;
    font-size:11px; letter-spacing:.24em; font-weight:800; text-transform:uppercase;
    cursor:pointer; border:0; font-family:inherit;
    transition:opacity .2s;
  }
  .cart-checkout:hover { opacity:.88; }
  .cart-checkout:disabled { opacity:.4; cursor:not-allowed; }
  .cart-continue {
    text-align:center; font-size:10px; letter-spacing:.2em; color:var(--muted);
    text-transform:uppercase; font-weight:700; cursor:pointer; padding:4px 0;
    background:none; border:0; font:inherit;
    transition:color .18s;
  }
  .cart-continue:hover { color:var(--cream); }

  /* Product card */
  .prod-card {
    flex: 0 0 calc(25% - 12px);
    background:#111; border:1px solid rgba(255,255,255,.1);
    cursor:pointer; display:flex; flex-direction:column;
    transition:border-color .25s ease;
  }
  .prod-card:hover { border-color:var(--accent); }
  .prod-card__img {
    aspect-ratio:1; background:#1a1a1a;
    position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  .prod-card__badge {
    position:absolute; top:10px; right:10px;
    background:var(--accent); color:#0a0a0a;
    font-size:9px; letter-spacing:.2em; font-weight:800; padding:4px 8px; text-transform:uppercase;
  }
  .prod-card__badge--sold {
    background:#c25448; color:#fff;
  }
  .prod-card__body { padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; }
  .prod-card__cat { font-size:10px; letter-spacing:.22em; color:var(--muted); font-weight:700; text-transform:uppercase; margin:0 0 10px; }
  .prod-card__name { font-family:var(--display); font-size:21px; margin:0 0 6px; color:var(--cream); line-height:1.05; }

  /* Size selector */
  .size-row { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:12px; }
  .sz {
    height:28px; min-width:34px; padding:0 6px;
    border:1px solid var(--line-2); background:none; color:var(--muted);
    font-size:10px; letter-spacing:.16em; font-weight:700; text-transform:uppercase;
    cursor:pointer; font-family:inherit;
    transition:border-color .18s, color .18s, background .18s;
    display:grid; place-items:center;
  }
  .sz:hover { border-color:var(--cream); color:var(--cream); }
  .sz.active { border-color:var(--accent); color:#0a0a0a; background:var(--accent); }
  .sz.sold-out { opacity:.25; cursor:not-allowed; text-decoration:line-through; }

  .visually-hidden {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  .prod-card__unlock { margin-bottom:10px; }
  .prod-unlock-input {
    width:100%; box-sizing:border-box;
    padding:9px 11px; border:1px solid var(--line-2); background:#111;
    color:var(--cream); font-size:12px; font-family:inherit;
    border-radius:2px;
  }
  .prod-unlock-input::placeholder { color:var(--muted); opacity:.85; }
  .prod-unlock-input:focus { outline:1px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
  .prod-unlock-input--error {
    border-color:#c25448 !important;
    outline:1px solid rgba(194,84,72,.5);
    outline-offset:1px;
  }

  .prod-card__bottom { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); }
  .prod-card__price { font-family:var(--display); font-size:26px; color:var(--accent); }
  .prod-add {
    display:inline-flex; align-items:center; gap:6px;
    background:var(--accent); color:#0a0a0a;
    padding:10px 14px; border:0; cursor:pointer; font-family:inherit;
    font-size:10px; letter-spacing:.2em; font-weight:800; text-transform:uppercase;
    transition:opacity .18s;
  }
  .prod-add:hover { opacity:.85; }
  .prod-add:active { opacity:.7; }

  /* Shop filters */
  .shop-filters {
    display:flex; gap:8px; flex-wrap:wrap; margin-bottom:36px;
  }
  .shop-filter {
    padding:8px 16px; border:1px solid var(--line-2);
    font-size:10px; letter-spacing:.2em; font-weight:700; text-transform:uppercase;
    color:var(--muted); background:none; cursor:pointer; font-family:inherit;
    transition:border-color .2s, color .2s, background .2s;
  }
  .shop-filter.active { border-color:var(--accent); color:#0a0a0a; background:var(--accent); }
  .shop-filter:hover:not(.active) { border-color:var(--cream); color:var(--cream); }

  .shop-empty {
    width:100%; max-width:520px; margin:0 auto; padding:40px 28px;
    text-align:center; border:1px solid var(--line-2); background:var(--card);
    border-radius:4px;
  }
  .shop-empty__title {
    font-family:var(--display); font-size:clamp(22px, 3vw, 28px);
    color:var(--cream); margin:0 0 14px; letter-spacing:.04em;
  }
  .shop-empty__text {
    margin:0; font-size:15px; line-height:1.55; color:var(--muted);
    font-family:var(--ui);
  }

  /* Cart flash animation on badge */
  @keyframes badge-pop { 0%{transform:scale(1)} 40%{transform:scale(1.5)} 100%{transform:scale(1)} }
  .cart-badge.pop { animation:badge-pop .35s ease; }

  /* Checkout success toast */
  .toast {
    position:fixed; bottom:28px; left:50%; transform:translateX(-50%) translateY(20px);
    background:var(--accent); color:#0a0a0a;
    padding:14px 24px; font-size:11px; letter-spacing:.22em; font-weight:800; text-transform:uppercase;
    z-index:300; opacity:0; pointer-events:none;
    transition:opacity .3s ease, transform .3s ease;
    white-space:nowrap;
  }
  .toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

  /* ---------- PRIVACY NOTICE (first-visit info banner, dismissible) ----------
     z-index 80 is intentional: above the nav (50) but below the modal overlay
     (90). This way, clicking "En savoir plus" opens the privacy modal whose
     overlay naturally covers the banner; closing the modal reveals the banner
     again so the user can confirm with "J'ai compris" after reading. Only the
     OK button sets the dismissal flag. The banner is purely informational —
     site has no trackers to gate. */
  .privacy-notice {
    position:fixed; bottom:18px; left:18px; right:18px;
    max-width:520px; margin-left:auto;
    background:var(--card); color:var(--cream);
    border:1px solid var(--line-2);
    padding:16px 18px 14px;
    z-index:80;
    box-shadow:0 12px 32px rgba(0,0,0,.45);
    transform:translateY(20px); opacity:0;
    transition:opacity .35s ease, transform .35s ease;
  }
  .privacy-notice.show { opacity:1; transform:translateY(0); }
  .privacy-notice__title {
    display:block;
    font-size:11px; letter-spacing:.22em; font-weight:800; text-transform:uppercase;
    color:var(--accent);
    margin-bottom:6px;
  }
  .privacy-notice__text {
    margin:0 0 12px; font-size:12.5px; line-height:1.55; color:var(--muted);
  }
  .privacy-notice__actions {
    display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  }
  .privacy-notice__link {
    background:transparent; border:0; padding:0;
    color:var(--cream); text-decoration:underline;
    cursor:pointer;
    font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
    font-family:inherit;
  }
  .privacy-notice__link:hover { color:var(--accent); }
  .privacy-notice__ok {
    margin-left:auto;
    background:var(--accent); color:#0a0a0a; border:0;
    padding:10px 20px; cursor:pointer;
    font-size:11px; letter-spacing:.22em; font-weight:800; text-transform:uppercase;
    font-family:inherit;
    transition:filter .15s ease;
  }
  .privacy-notice__ok:hover { filter:brightness(1.08); }
  .privacy-notice__ok:focus-visible,
  .privacy-notice__link:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  @media (max-width: 520px) {
    .privacy-notice { left:12px; right:12px; bottom:12px; padding:14px; }
    .privacy-notice__ok { padding:9px 16px; }
  }

  html.entry-overlay-open,
  body.entry-overlay-open {
    overflow:hidden;
    height:100%;
  }

  .entry-overlay {
    position:fixed;
    inset:0;
    z-index:220;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(5, 5, 7, .86);
    backdrop-filter:blur(4px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
  }
  .entry-overlay.open {
    opacity:1;
    pointer-events:auto;
  }
  .entry-overlay__card {
    width:min(720px, 100%);
    border:1px solid var(--line-2);
    background:linear-gradient(160deg, rgba(20,20,20,.98), rgba(10,10,10,.98));
    padding:28px 26px 24px;
    box-shadow:0 18px 54px rgba(0,0,0,.45);
    text-align:center;
  }
  .entry-overlay__intro {
    max-width:62ch;
    margin:0 auto;
  }
  .entry-overlay__eyebrow {
    color:var(--accent);
    font-size:10px;
    letter-spacing:.24em;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:12px;
  }
  .entry-overlay__title {
    margin:0 0 12px;
    color:var(--cream);
    font-family:var(--display);
    font-size:36px;
    letter-spacing:.02em;
    line-height:1.05;
    text-transform:uppercase;
  }
  .entry-overlay__text {
    margin:0;
    color:rgba(242,239,232,.78);
    font-size:14px;
    line-height:1.6;
  }
  .entry-overlay__privacy-card {
    margin:18px auto 0;
    max-width:64ch;
    border:1px solid var(--line);
    background:rgba(255,255,255,.03);
    padding:12px 14px;
  }
  .entry-overlay__privacy-label {
    color:var(--accent);
    font-size:10px;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:8px;
  }
  .entry-overlay__privacy {
    margin:0;
    color:rgba(242,239,232,.76);
    font-size:13px;
    line-height:1.55;
  }
  .entry-overlay__privacy-link {
    color:var(--accent);
    text-decoration:underline;
    text-underline-offset:2px;
    margin-top:8px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    transition:color .15s;
    display:inline-block;
  }
  .entry-overlay__privacy-link:hover { color:var(--cream); }
  .entry-overlay__privacy-link:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:2px;
  }
  .entry-overlay__actions {
    margin-top:14px;
  }
  .entry-overlay__rally {
    margin:0 0 16px;
    color:var(--accent);
    font-family:var(--display);
    font-size:30px;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .entry-overlay__cta {
    background:var(--accent);
    color:#0a0a0a;
    border:1px solid var(--accent);
    padding:12px 22px;
    font-size:11px;
    letter-spacing:.22em;
    font-weight:800;
    text-transform:uppercase;
    font-family:var(--ui);
    transition:filter .15s ease;
    margin:0 auto;
  }
  .entry-overlay__cta:hover { filter:brightness(1.08); }
  .entry-overlay__cta:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:2px;
  }
  @media (max-width: 640px) {
    .entry-overlay { padding:14px; }
    .entry-overlay__card { padding:20px 16px 16px; }
    .entry-overlay__title { font-size:26px; }
    .entry-overlay__text { font-size:13px; }
    .entry-overlay__privacy { font-size:12.5px; }
    .entry-overlay__privacy-card { padding:11px 12px; }
    .entry-overlay__actions { margin-top:12px; }
    .entry-overlay__rally { font-size:23px; margin-bottom:13px; }
    .entry-overlay__cta { width:100%; }
  }

  /* ---------- HERO BACKGROUND MUSIC ---------- */
  .hero-music {
    position:fixed; right:18px; bottom:18px; z-index:79;
    display:flex; flex-direction:column; align-items:flex-end; gap:8px;
    pointer-events:none; max-width:calc(100vw - 36px);
  }
  .hero-music > * { pointer-events:auto; }
  .hero-music__hint {
    background:var(--card); color:var(--cream);
    border:1px solid var(--accent);
    padding:10px 16px;
    font-family:var(--ui); font-size:11px; font-weight:700;
    letter-spacing:.14em; text-transform:uppercase;
    box-shadow:0 8px 24px rgba(0,0,0,.4);
    transition:border-color .15s, filter .15s;
  }
  .hero-music__hint:hover { filter:brightness(1.06); }
  .hero-music__hint:focus-visible {
    outline:2px solid var(--accent); outline-offset:2px;
  }
  .hero-music__toggle {
    width:44px; height:44px; flex-shrink:0;
    display:grid; place-items:center;
    position:relative;
    background:var(--card); color:var(--cream);
    border:1px solid var(--line-2);
    box-shadow:0 6px 20px rgba(0,0,0,.35);
    transition:border-color .2s, background .2s, color .2s, box-shadow .2s, filter .2s, opacity .15s;
  }
  .hero-music__toggle:hover {
    border-color:var(--accent);
  }
  .hero-music__toggle:focus-visible {
    outline:2px solid var(--accent); outline-offset:2px;
  }
  .hero-music__toggle--on {
    border-color:rgba(170,245,96,.9);
    color:var(--accent);
    background:var(--card-2);
    box-shadow:
      0 0 0 1px rgba(170,245,96,.25),
      0 0 18px rgba(170,245,96,.24),
      0 6px 20px rgba(0,0,0,.35);
    filter:brightness(1.04);
    animation:heroMusicOnGlow 2.2s ease-in-out infinite;
  }
  .hero-music__toggle::before {
    content:'♪';
    font-size:20px;
    line-height:1;
    font-family:var(--display);
    display:block;
    transform:translateY(-1px);
  }
  .hero-music__toggle:not(.hero-music__toggle--on)::before {
    opacity:.42;
  }
  .hero-music__toggle--paused {
    border:1px solid transparent;
    background:
      linear-gradient(var(--card), var(--card)) padding-box,
      linear-gradient(
        90deg,
        #ff3f7f 0%,
        #ff9a00 20%,
        #e9ff3d 40%,
        #00f5a0 60%,
        #00c7ff 80%,
        #8558ff 100%
      ) border-box;
    background-size:100% 100%, 300% 300%;
    animation:heroMusicOffBounce 1.05s ease-in-out infinite;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.18),
      0 0 16px rgba(255,80,170,.22),
      0 6px 20px rgba(0,0,0,.35);
  }
  .hero-music__toggle--paused {
    animation:
      heroMusicOffBounce 1.05s ease-in-out infinite,
      heroMusicSquareBorderTrail 1.65s linear infinite;
  }
  @keyframes heroMusicOnGlow {
    0% {
      border-color:rgba(150,235,80,.62);
      box-shadow:
        0 0 0 1px rgba(150,235,80,.16),
        0 0 10px rgba(150,235,80,.1),
        0 6px 20px rgba(0,0,0,.35);
    }
    50% {
      border-color:rgba(190,255,110,.98);
      box-shadow:
        0 0 0 1px rgba(190,255,110,.34),
        0 0 22px rgba(190,255,110,.32),
        0 6px 20px rgba(0,0,0,.35);
    }
    100% {
      border-color:rgba(150,235,80,.62);
      box-shadow:
        0 0 0 1px rgba(150,235,80,.16),
        0 0 10px rgba(150,235,80,.1),
        0 6px 20px rgba(0,0,0,.35);
    }
  }
  @keyframes heroMusicSquareBorderTrail {
    0% { background-position:0% 0%; }
    25% { background-position:100% 0%; }
    50% { background-position:100% 100%; }
    75% { background-position:0% 100%; }
    100% { background-position:0% 0%; }
  }
  @keyframes heroMusicOffBounce {
    0% { transform:scale(1); }
    20% { transform:scale(1.06); }
    40% { transform:scale(.98); }
    60% { transform:scale(1.05); }
    80% { transform:scale(.99); }
    100% { transform:scale(1); }
  }
  @media (prefers-reduced-motion: reduce) {
    .hero-music__toggle--paused,
    .hero-music__toggle--on {
      animation:none;
      transform:none;
    }
    .hero-music__toggle {
      transition:border-color .2s, background .2s, color .2s, box-shadow .2s, opacity .15s;
    }
  }

  /* ---------- TWEAKS PANEL ---------- */
  .tweaks-panel {
    position:fixed; right:18px; bottom:18px; z-index:100;
    width: 260px;
    background:#0a0a0a; border:1px solid var(--line-2);
    padding:16px 16px 14px;
    display:none;
    font-size:12px;
  }
  .tweaks-panel.open { display:block; }
  .tweaks-panel h6 { margin:0 0 12px; font-size:10px; letter-spacing:.28em; color:var(--accent); font-weight:800; text-transform:uppercase; }
  .tweaks-panel label { display:block; font-size:10.5px; letter-spacing:.2em; color:var(--muted); font-weight:700; text-transform:uppercase; margin:10px 0 6px; }
  .tweaks-panel input[type=text] { width:100%; background:#141414; border:1px solid var(--line); color:var(--cream); padding:8px 10px; font:inherit; }
  .accent-row { display:flex; gap:8px; flex-wrap:wrap; }
  .accent-row button { width:28px; height:28px; border:1px solid var(--line); }
  .accent-row button.sel { outline:2px solid var(--cream); outline-offset:1px; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 900px) {
    .intro { grid-template-columns: 1fr; gap: 18px; padding-top:80px; }
    .score__card { grid-template-columns: 1fr; }
    .score__team--away { border-right:0; border-bottom:1px solid var(--line); }
    .score__center { border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .player-card { grid-template-columns: 1fr; }
    .player-card__mid { min-height: 360px; }
    .player-card__right { border-left:0; border-top:1px solid var(--line); }
    .schedule { overflow-x:clip; }
    .schedule-year-toolbar {
      flex-direction:column;
      align-items:stretch;
      gap:14px;
    }
    .schedule-year-picker { margin-left:0; justify-content:space-between; }
    .schedule-export { flex-direction:column; align-items:stretch; }
    .schedule-export__label { margin-right:0; }
    .schedule-export__btn { text-align:center; width:100%; box-sizing:border-box; }
    .schedule-scroll {
      border:none;
      background:transparent;
    }
    .stats-strip__inner { grid-template-columns: 1fr 1fr; }
    .bigstat { border-right:0; border-bottom:1px solid var(--line); }
    .history__grid .hcard { flex: 0 0 100%; }
    .prod-card { flex: 0 0 calc(50% - 8px); }
    .fieldguide__inner, .foot { grid-template-columns: 1fr; }
    .hero-card__body { grid-template-columns:1fr; gap:18px; }
    #player-card { grid-template-columns: 1fr !important; }
    #card-portrait-scene { min-height: 220px !important; }
    #card-stats { grid-template-columns: repeat(2, 1fr) !important; gap:12px; }
  }

  .nav__burger {
    display:none;
    flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:36px; height:36px; padding:0;
    background:none; border:1px solid var(--line-2); cursor:pointer;
    flex-shrink:0;
  }

  /* Language switcher */
  .lang-switcher {
    display:flex; align-items:center; gap:4px;
    font-size:10px; letter-spacing:.18em; font-weight:700;
    flex-shrink:0;
  }
  .lang-btn {
    background:none; border:none; cursor:pointer;
    color:var(--muted); padding:4px 2px;
    font-size:10px; letter-spacing:.18em; font-weight:700; font-family:var(--ui);
    text-transform:uppercase; transition:color .15s;
  }
  .lang-btn:hover { color:var(--cream); }
  .lang-btn.active { color:var(--accent); }
  .lang-sep { color:var(--line-2); font-size:10px; }
  .nav__burger span {
    display:block; width:16px; height:1.5px; background:var(--cream);
    transition:transform .2s, opacity .2s;
  }
  .nav__burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
  .nav__burger.open span:nth-child(2) { opacity:0; }
  .nav__burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

  .nav__menu {
    display:none;
    position:fixed; top:80px; left:0; width:100%; z-index:49;
    background:#0a0a0a; border-bottom:1px solid var(--line-2);
    flex-direction:column;
    box-sizing:border-box;
  }
  .nav__menu.open { display:flex; }
  .nav__menu-item {
    padding:16px 22px;
    font-size:11px; letter-spacing:.22em; font-weight:700; text-transform:uppercase;
    color:var(--muted); border-bottom:1px solid var(--line);
    text-decoration:none; transition:color .15s;
  }
  .nav__menu-item.member-connected {
    background:rgba(189, 248, 80, 0.14);
    color:var(--cream);
  }
  .nav__menu-item:hover, .nav__menu-item:active { color:var(--cream); }

  @media (max-width: 480px) {
    .brand__name { display:none; }
    .brand { flex-shrink:0; padding:8px 10px; }
    .nav__link { display:none; }
    .nav__burger { display:flex; }

    /* Shop: force 2-column grid, override inline flex */
    #shop-grid { display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:12px !important; }
    .prod-card { flex:none; min-width:0; }
    .prod-card__body { padding:10px 12px 14px; }
    .prod-card__name { font-size:17px; }
    .prod-card__bottom { flex-direction:column; align-items:flex-start; gap:8px; }
    .prod-card__price { font-size:22px; }
    .prod-add { width:100%; justify-content:center; }

    /* Footer: brand full-width, 3 link columns side by side */
    .foot { grid-template-columns:repeat(3,1fr); gap:14px; }
    .foot > div:first-child { grid-column:1 / -1; }
    .foot__brand { font-size:52px; }
    .foot ul { font-size:12px; gap:6px; }
    .legal { flex-direction:column; gap:6px; align-items:center; text-align:center; }
  }

  /* ---------- CHECKOUT MODAL ---------- */
  .checkout-overlay {
    position:fixed; inset:0; background:rgba(0,0,0,.72);
    z-index:90; opacity:0; pointer-events:none;
    transition:opacity .25s ease;
  }
  .checkout-overlay.open { opacity:1; pointer-events:auto; }

  .checkout-modal {
    position:fixed; top:50%; left:50%;
    transform:translate(-50%,-50%) scale(.96);
    width:min(560px,94vw); max-height:92vh; overflow-y:auto;
    background:var(--card); border:1px solid var(--line-2);
    z-index:100; opacity:0; pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
    padding:32px 32px 28px;
  }
  .checkout-modal.open {
    opacity:1; pointer-events:auto;
    transform:translate(-50%,-50%) scale(1);
  }

  .checkout-close {
    position:absolute; top:14px; right:14px;
    width:30px; height:30px; font-size:22px; line-height:1;
    color:var(--muted); transition:color .15s;
  }
  .checkout-close:hover { color:var(--cream); }

  .checkout-eyebrow {
    font-family:var(--display); font-size:11px; letter-spacing:.22em;
    color:var(--accent); margin-bottom:6px;
  }
  .checkout-modal h2 {
    font-family:var(--display); font-size:30px; line-height:1.05;
    color:var(--cream); margin:0 0 22px;
  }

  .checkout-field {
    display:block; margin-bottom:14px;
    font-size:10px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--muted); font-weight:700;
  }
  .checkout-field input,
  .checkout-field textarea {
    display:block; width:100%; margin-top:6px;
    background:var(--bg); border:1px solid var(--line-2);
    color:var(--cream); padding:10px 12px;
    font-family:var(--ui); font-size:14px; letter-spacing:.01em;
    text-transform:none; font-weight:400;
  }
  .checkout-field input:focus,
  .checkout-field textarea:focus {
    outline:none; border-color:var(--accent);
  }
  .checkout-field textarea { min-height:60px; resize:vertical; }

  .checkout-row { display:grid; grid-template-columns:2fr 1fr; gap:12px; }
  @media (max-width:520px) { .checkout-row { grid-template-columns:1fr; } }

  .checkout-modal fieldset {
    border:1px solid var(--line-2); padding:12px 14px 8px;
    margin:0 0 14px;
  }
  .checkout-modal legend {
    font-family:var(--display); font-size:10px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--accent); padding:0 8px;
  }
  .checkout-radio {
    display:flex; align-items:center; gap:10px;
    text-transform:none; letter-spacing:.01em; font-weight:400;
    color:var(--cream); font-size:13px; margin-bottom:6px; cursor:pointer;
  }
  .checkout-radio:last-child { margin-bottom:4px; }
  .checkout-radio input { width:auto; margin:0; accent-color:var(--accent); }
  .checkout-radio .hint { color:var(--muted); font-size:12px; }

  .checkout-summary {
    border-top:1px solid var(--line);
    padding-top:14px; margin-top:6px;
  }
  .checkout-summary__row {
    display:flex; justify-content:space-between; align-items:center;
    font-size:13px; padding:5px 0; color:var(--muted);
  }
  .checkout-summary__row .name { color:var(--cream); }
  .checkout-summary__row.total {
    font-family:var(--display); font-size:22px;
    color:var(--cream); border-top:1px solid var(--line);
    padding-top:11px; margin-top:8px;
  }
  .checkout-summary__row.total .amt { color:var(--accent); }

  .checkout-submit {
    width:100%; padding:14px; margin-top:18px;
    background:var(--accent); color:#0a0a0a;
    font-family:var(--display); font-size:15px; letter-spacing:.16em;
    font-weight:700; transition:filter .15s;
  }
  .checkout-submit:hover { filter:brightness(1.08); }
  .checkout-submit:disabled {
    opacity:.55; cursor:wait; filter:none;
  }

  /* Member modal — password + show/hide toggle */
  .checkout-modal .password-field {
    position:relative;
    width:100%;
  }
  .checkout-modal .password-field__input {
    width:100%;
    box-sizing:border-box;
    padding:10px 44px 10px 10px;
    background:#111;
    border:1px solid rgba(255,255,255,.12);
    color:var(--cream);
    font:inherit;
  }
  .checkout-modal .password-field__input:focus {
    outline:none;
    border-color:var(--accent);
  }
  .checkout-modal .password-field__toggle {
    position:absolute;
    right:4px;
    top:50%;
    transform:translateY(-50%);
    width:36px;
    height:32px;
    display:grid;
    place-items:center;
    padding:0;
    margin:0;
    border:0;
    border-radius:4px;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
    transition:color .15s, background .15s;
  }
  .checkout-modal .password-field__toggle:hover {
    color:var(--cream);
    background:rgba(255,255,255,.08);
  }
  .checkout-modal .password-field__toggle:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:1px;
  }
  .checkout-modal .password-field__icon {
    display:block;
    flex-shrink:0;
  }

  /* Logout: destructive (red) secondary action */
  .checkout-submit.member-logout {
    margin-top:12px;
    background:rgba(127,29,29,.35);
    color:#fecaca;
    border:1px solid rgba(248,113,113,.55);
    box-shadow:none;
    cursor:pointer;
    transition:border-color .15s, color .15s, background .15s, filter .15s;
  }
  .checkout-submit.member-logout:hover {
    filter:none;
    border-color:#f87171;
    color:#fff;
    background:rgba(185,28,28,.45);
  }
  .checkout-submit.member-logout:focus-visible {
    outline:2px solid #f87171;
    outline-offset:2px;
  }

  .pill.member-logout {
    cursor:pointer;
    background:rgba(127,29,29,.32);
    color:#fecaca;
    border-color:rgba(248,113,113,.5);
    transition:border-color .15s, color .15s, background .15s;
  }
  .pill.member-logout:hover {
    border-color:#fca5a5;
    color:#fff;
    background:rgba(185,28,28,.5);
  }
  .pill.member-logout:focus-visible {
    outline:2px solid #f87171;
    outline-offset:2px;
  }

  .checkout-note {
    margin:10px 0 0; font-size:11px; color:var(--muted); line-height:1.5;
  }

  .payment-method-list {
    display:flex; flex-direction:column; gap:10px;
    margin:18px 0 6px;
  }
  .payment-method-btn {
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:'label arrow' 'hint arrow';
    align-items:center;
    gap:2px 14px;
    width:100%; padding:18px 18px;
    background:var(--card-2); color:var(--cream);
    border:1px solid var(--line-2);
    text-align:left;
    cursor:pointer;
    transition:background .15s, border-color .15s, transform .15s;
  }
  .payment-method-btn:hover,
  .payment-method-btn:focus-visible {
    background:var(--card);
    border-color:var(--accent);
    outline:none;
  }
  .payment-method-btn:active { transform:translateY(1px); }
  .payment-method-btn__label {
    grid-area:label;
    font-family:var(--display); font-size:15px; letter-spacing:.08em;
    font-weight:700; text-transform:uppercase;
  }
  .payment-method-btn__hint {
    grid-area:hint;
    font-family:var(--ui); font-size:12px; color:var(--muted);
    letter-spacing:.02em;
  }
  .payment-method-btn__arrow {
    grid-area:arrow;
    font-family:var(--display); font-size:22px; color:var(--accent);
    line-height:1;
  }

  .cf-turnstile {
    margin:16px 0 4px;
    display:flex; justify-content:center;
  }

  .contact-success-text {
    margin:14px 0 22px; color:var(--muted); font-size:14px; line-height:1.6;
  }

  .success-card {
    border:1px solid var(--line-2); padding:18px; margin:0 0 16px;
    background:var(--bg);
  }
  .success-row {
    display:flex; justify-content:space-between; align-items:center;
    gap:12px; padding:9px 0; border-bottom:1px solid var(--line);
  }
  .success-row:last-child { border:0; padding-bottom:0; }
  .success-row:first-child { padding-top:0; }
  .success-label {
    font-size:10px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--muted); font-weight:700; flex-shrink:0;
  }
  .success-val {
    font-family:var(--mono); font-size:13px; color:var(--cream);
    font-weight:600; text-align:right; word-break:break-all;
  }
  .success-val.big { font-family:var(--display); font-size:22px; color:var(--accent); }
  .success-instructions {
    font-size:13px; color:var(--cream); line-height:1.55;
    margin:14px 0 18px;
  }
  .success-instructions strong { color:var(--accent); }

  .send-order {
    border-top:1px solid var(--line);
    padding-top:18px; margin:16px 0 18px;
  }
  .send-order__title {
    font-family:var(--display); font-size:14px; letter-spacing:.12em;
    text-transform:uppercase; color:var(--accent); margin-bottom:4px;
  }
  .send-order__hint {
    font-size:12px; color:var(--muted); margin-bottom:12px; line-height:1.5;
  }
  .send-order__actions {
    display:grid; grid-template-columns:repeat(2,1fr); gap:8px;
  }
  .send-order__btn {
    display:flex; align-items:center; justify-content:center; gap:8px;
    padding:11px 12px; background:var(--bg); border:1px solid var(--line-2);
    color:var(--cream); font-family:var(--ui); font-size:12px; font-weight:600;
    text-transform:uppercase; letter-spacing:.1em; text-align:center;
    text-decoration:none; cursor:pointer;
    transition:border-color .15s, background .15s, color .15s;
  }
  .send-order__btn:hover {
    border-color:var(--accent); background:var(--card-2);
  }
  .send-order__btn.copied {
    border-color:var(--accent); color:var(--accent);
  }
  .send-order__icon {
    font-family:var(--mono); font-size:13px; opacity:.85;
  }
  .send-order__manual {
    margin-top:14px;
  }
  .send-order__manual summary {
    cursor:pointer; padding:6px 0; color:var(--muted);
    font-size:11px; text-transform:uppercase; letter-spacing:.16em;
    transition:color .15s; user-select:none;
  }
  .send-order__manual summary:hover { color:var(--cream); }
  .send-order__manual textarea {
    display:block; width:100%; margin-top:8px;
    background:var(--bg); border:1px solid var(--line-2);
    color:var(--cream); padding:10px 12px;
    font-family:var(--mono); font-size:11.5px; line-height:1.5;
    text-transform:none; letter-spacing:0;
    resize:vertical;
  }
  .send-order__manual-hint {
    margin-top:6px; color:var(--muted); font-size:11px;
    font-family:var(--mono);
  }
  .send-order__manual-hint span { color:var(--accent); }

  .checkout-eyebrow.success { color:var(--accent); }
  .checkout-eyebrow.success::before {
    content:'✓'; display:inline-block;
    width:16px; height:16px; line-height:16px;
    background:var(--accent); color:#0a0a0a;
    border-radius:50%; text-align:center;
    font-weight:900; font-size:10px;
    margin-right:8px; vertical-align:1px;
  }

  .bank-card {
    border:1px solid var(--accent);
    background:var(--bg);
    margin:0 0 18px;
  }
  .bank-row {
    padding:14px 18px;
    border-bottom:1px solid var(--line);
  }
  .bank-row:last-child { border-bottom:0; }
  .bank-row__label {
    font-size:10px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--muted); font-weight:700; margin-bottom:6px;
  }
  .bank-row__val {
    display:flex; align-items:center; gap:10px;
    justify-content:space-between;
  }
  .bank-row__text {
    font-family:var(--mono); font-size:14px; color:var(--cream);
    font-weight:600; word-break:break-all; flex:1; min-width:0;
  }
  .bank-row.big .bank-row__text {
    font-family:var(--display); font-size:32px; line-height:1;
    color:var(--accent); letter-spacing:.01em;
  }
  .bank-row__hint {
    font-size:11px; color:var(--accent); margin-top:8px; line-height:1.45;
  }
  .bank-row__hint strong { text-decoration:underline; }
  .bank-copy {
    flex-shrink:0; padding:7px 12px;
    background:var(--card-2); border:1px solid var(--line-2);
    color:var(--cream); font-family:var(--mono); font-size:14px;
    cursor:pointer; transition:border-color .15s, color .15s, background .15s;
  }
  .bank-copy:hover {
    border-color:var(--accent); color:var(--accent);
  }
  .bank-copy.copied {
    border-color:var(--accent); color:var(--accent); background:rgba(232,255,79,.08);
  }

  .bank-steps {
    margin:0 0 16px; padding:0 0 0 22px;
    font-size:13px; color:var(--cream); line-height:1.7;
  }
  .bank-steps li { padding:3px 0; }
  .bank-steps strong { color:var(--accent); }

  .bank-confirm-text {
    font-size:12px; color:var(--muted); margin:0 0 12px;
    text-align:center; line-height:1.5;
  }
  .bank-issue-text {
    font-size:12px; color:var(--muted); margin:0 0 16px;
    text-align:center; line-height:1.6;
  }
  .bank-issue-text a {
    color:var(--accent); text-decoration:underline;
    transition:color .15s;
  }
  .bank-issue-text a:hover { color:var(--cream); }
  .bank-issue-fallback {
    display:block; margin-top:4px; font-size:11px;
  }
  .bank-issue-fallback span {
    font-family:var(--mono); color:var(--cream);
  }

  .legal-link {
    cursor:pointer; text-decoration:underline;
    color:inherit; transition:color .15s;
  }
  .legal-link:hover { color:var(--cream); }
  .legal-link:focus { outline:1px solid var(--accent); outline-offset:2px; }

  /* Formation stats: groupe baseball vs primes + tri colonnes */
  .formation-table__groups th {
    font-size:10px;
    letter-spacing:.2em;
    font-weight:700;
    text-transform:uppercase;
    padding:10px 8px 8px;
    border-bottom:1px solid var(--line);
    text-align:center;
  }
  .formation-table__group--player {
    background:rgba(255,255,255,.03);
    color:var(--muted);
    border-right:1px solid var(--line-2);
  }
  .formation-table__group--stats {
    background:rgba(232,255,79,.06);
    color:var(--cream);
    border-right:1px solid var(--line-2);
    box-shadow:inset 0 -2px 0 rgba(232,255,79,.35);
  }
  .formation-table__group--bounty {
    background:rgba(45,92,196,.12);
    color:#a8c4f5;
    box-shadow:inset 0 -2px 0 rgba(45,92,196,.45);
  }
  .formation-table__units th {
    font-size:10px;
    letter-spacing:.22em;
    color:var(--muted);
    font-weight:700;
    text-transform:uppercase;
    border-bottom:1px solid var(--line);
  }
  .formation-table__sortable {
    cursor:pointer;
    user-select:none;
    transition:color .15s, background .15s;
  }
  .formation-table__sortable:hover {
    color:var(--cream);
    background:rgba(255,255,255,.04);
  }
  .formation-table__sortable--asc::after,
  .formation-table__sortable--desc::after {
    display:inline-block;
    margin-left:5px;
    font-size:9px;
    letter-spacing:0;
    opacity:.85;
  }
  .formation-table__sortable--asc::after { content:'▲'; }
  .formation-table__sortable--desc::after { content:'▼'; }
  .formation-table--subs .formation-table__group--stats {
    background:rgba(255,255,255,.04);
    box-shadow:inset 0 -2px 0 rgba(255,255,255,.12);
    color:var(--muted);
  }
  .formation-table--subs .formation-table__group--bounty {
    background:rgba(45,92,196,.08);
  }
