/* HARDWOOD — designer drop-in, remapped to live class names
   Black canvas · basketball orange · faint iGR gold · Manrope italic display · scoreboard mono numerals */

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600;700&display=swap");

:root{
  /* Canvas */
  --hw-canvas:#08080a; --hw-canvas-2:#0e0e12; --hw-surface:#131318; --hw-surface-2:#1b1b22; --hw-surface-3:#25252e;
  /* Foreground */
  --hw-fg:#f3f3f5; --hw-fg-2:#a6a6b0; --hw-fg-3:#6c6c78; --hw-white:#ffffff;
  /* Orange (primary energy) */
  --hw-orange:#ff5a1f; --hw-orange-2:#ff7a3c; --hw-orange-deep:#e0440c;
  --hw-orange-soft:rgba(255,90,31,0.14); --hw-orange-glow:rgba(255,90,31,0.40);
  /* Gold (faint, for rings/honours) */
  --hw-gold:#f4c542; --hw-gold-soft:rgba(244,197,66,0.14);
  /* State */
  --hw-up:#44c97f; --hw-down:#ff5d4d; --hw-warn:#f7b23b;
  /* Lines */
  --hw-line:rgba(255,255,255,0.08); --hw-line-soft:rgba(255,255,255,0.14); --hw-line-strong:rgba(255,255,255,0.26);
  /* Type */
  --hw-display:"Manrope","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hw-body:"Manrope","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hw-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  /* Layout */
  --hw-max:1650px; --hw-gutter:24px;
  /* Radii (sport = sharp) */
  --hw-r:4px; --hw-r-sm:3px; --hw-r-pill:999px;
  /* Shadows */
  --hw-shadow:0 1px 0 rgba(255,255,255,0.04) inset, 0 12px 30px rgba(0,0,0,0.6);
  --hw-shadow-pop:0 18px 50px rgba(0,0,0,0.7), 0 0 0 1px var(--hw-orange-glow);
  --hw-focus:0 0 0 3px rgba(255,90,31,0.45);
  /* Motion */
  --hw-ease:cubic-bezier(.2,.9,.2,1); --hw-dur:180ms;
  /* Court grain */
  --hw-grain:repeating-linear-gradient(90deg, rgba(255,255,255,0.014) 0 1px, transparent 1px 116px);

  /* === Legacy alias names for inline styles in build.py === */
  --paper:var(--hw-canvas); --paper-2:var(--hw-canvas-2); --bone:var(--hw-surface);
  --ink:var(--hw-fg); --ink-2:var(--hw-fg-2); --muted:var(--hw-fg-3); --dim:var(--hw-fg-3);
  --orange:var(--hw-orange); --court:var(--hw-orange-deep); --bet:var(--hw-gold); --signal:var(--hw-up); --danger:var(--hw-down); --predict:#7A4FE5;
  --rule:var(--hw-line); --rule-strong:var(--hw-line-strong); --rule-hair:rgba(255,255,255,0.05);
  --gold-glow:var(--hw-orange-glow);
  --shadow-card:var(--hw-shadow); --shadow-pop:var(--hw-shadow-pop);
  --r-card:var(--hw-r); --r-button:var(--hw-r-sm); --r-pill:var(--hw-r-pill); --container:var(--hw-max);
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--hw-canvas);color:var(--hw-fg);font-family:var(--hw-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{background-image:radial-gradient(1100px 560px at 82% -10%, var(--hw-orange-soft), transparent 58%), var(--hw-grain);background-attachment:fixed;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%;display:block}
a{color:var(--hw-orange);text-decoration:none;transition:color var(--hw-dur) var(--hw-ease)}
a:hover{color:var(--hw-orange-2)}
a:focus-visible{outline:none;box-shadow:var(--hw-focus);border-radius:2px}
::selection{background:var(--hw-orange);color:#fff}

.skip{position:absolute;left:-999px;top:0;background:var(--hw-orange);color:#fff;padding:10px 16px;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;border-radius:0 0 var(--hw-r-sm) 0;z-index:200}
.skip:focus{left:0}

.wrap{max-width:var(--hw-max);margin-inline:auto;padding-inline:var(--hw-gutter)}

/* Scoreboard numerals on stat-like elements */
.stat .n,.gb-rec,.odd .o-val,.team .rank,.sec-head .num,.ticker,.mu .vs,.h2h-tally .side .n,.tape-score,.beam-q-score,.duel-row .h-val,.duel-row .a-val{font-family:var(--hw-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* Type helpers */
.mono{font-family:var(--hw-mono)}
.display{font-family:var(--hw-display);text-transform:uppercase;letter-spacing:0.01em;font-weight:800;font-style:italic}
.kicker{font-family:var(--hw-display);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.16em;color:var(--hw-fg-2)}

/* ============ LIVE TICKER ============ */
.topbar{background:#000;color:var(--hw-fg-2);border-bottom:2px solid var(--hw-orange);overflow:hidden;white-space:nowrap;position:sticky;top:0;z-index:100}
.topbar::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#000,transparent 6%,transparent 94%,#000)}
.ticker{display:inline-flex;align-items:center;gap:0;padding-block:9px;animation:hw-marquee 46s linear infinite;font-size:12px;letter-spacing:0.04em;text-transform:uppercase}
.topbar:hover .ticker{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:7px;padding-inline:22px;border-right:1px solid var(--hw-line)}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--hw-orange);box-shadow:0 0 0 0 var(--hw-orange-glow);animation:hw-pulse 1.6s var(--hw-ease) infinite;display:inline-block}
@keyframes hw-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes hw-pulse{0%{box-shadow:0 0 0 0 var(--hw-orange-glow)}70%{box-shadow:0 0 0 8px rgba(255,90,31,0)}100%{box-shadow:0 0 0 0 rgba(255,90,31,0)}}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.35}}

/* ============ MASTHEAD / NAV ============ */
.masthead{position:sticky;top:36px;z-index:99;background:rgba(8,8,10,0.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hw-line-soft)}
.masthead .wrap{display:flex;align-items:center;gap:var(--hw-gutter);min-height:68px}
.logo{display:flex;flex-direction:column;gap:2px;line-height:1;font-family:var(--hw-display);font-weight:800;font-size:23px;letter-spacing:0.01em;text-transform:uppercase;font-style:italic;color:var(--hw-white)}
.logo .dot{color:var(--hw-orange)}
.logo small{display:block;font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:0.18em;color:var(--hw-fg-3);font-weight:700;margin-top:6px}
.navlist{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:wrap}
.navlist a{position:relative;color:var(--hw-fg-2);font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:0.04em;padding:9px 13px}
.navlist a::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--hw-orange);transform:scaleX(0);transform-origin:left;transition:transform var(--hw-dur) var(--hw-ease)}
.navlist a:hover,.navlist a.active,.navlist a[aria-current="page"]{color:var(--hw-white)}
.navlist a:hover::after,.navlist a.active::after,.navlist a[aria-current="page"]::after{transform:scaleX(1)}
.mast-cta{display:flex;align-items:center;gap:12px;margin-left:auto}
.menu-toggle{display:none;background:none;border:1px solid var(--hw-line-soft);color:var(--hw-fg);font-family:var(--hw-body);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;padding:9px 14px;border-radius:var(--hw-r-sm);cursor:pointer}

/* ============ BUTTONS / CHIPS / TAGS (skewed, athletic) ============ */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--hw-display);font-weight:800;font-size:13.5px;text-transform:uppercase;letter-spacing:0.04em;padding:12px 22px;border:1px solid var(--hw-line-strong);background:transparent;color:var(--hw-white);transform:skewX(-9deg);cursor:pointer;transition:background var(--hw-dur) var(--hw-ease),transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease),color var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease);white-space:nowrap;text-decoration:none}
.btn > *{transform:skewX(9deg);display:inline-block}
.btn:hover{background:var(--hw-orange);color:#fff;border-color:var(--hw-orange)}
.btn.gold{background:var(--hw-orange);color:#fff;border-color:var(--hw-orange);box-shadow:0 8px 20px rgba(255,90,31,0.3)}
.btn.gold:hover{background:var(--hw-orange-deep);border-color:var(--hw-orange-deep);transform:skewX(-9deg) translateY(-1px)}
.btn.outline{background:transparent}

.pill{display:inline-flex;align-items:center;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:0.04em;padding:10px 17px;background:var(--hw-surface-2);color:var(--hw-white);border:1px solid var(--hw-line-soft);transform:skewX(-9deg);transition:background var(--hw-dur) var(--hw-ease),color var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease);text-decoration:none}
.pill > *{transform:skewX(9deg);display:inline-block}
.pill:hover{background:var(--hw-orange);color:#fff;border-color:var(--hw-orange)}
.pill.gold{background:var(--hw-orange);color:#fff;border-color:var(--hw-orange);font-weight:800}
.pill.live{background:rgba(68,201,127,0.18);color:var(--hw-up);border-color:var(--hw-up)}
.pill.danger{background:rgba(255,93,77,0.18);color:var(--hw-down);border-color:var(--hw-down)}
.pill.predict{background:rgba(122,79,229,0.18);color:#A37FFA;border-color:#7A4FE5}
.pillrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 480px at 30% -10%, rgba(255,90,31,0.18), transparent 60%), var(--hw-canvas);border-bottom:1px solid var(--hw-line);padding:0}
.hero::before{content:"";position:absolute;top:0;bottom:0;right:-8%;width:42%;background:linear-gradient(120deg, transparent 0 40%, var(--hw-orange-soft) 40% 42%, transparent 42%, transparent 58%, rgba(255,90,31,0.06) 58% 60%, transparent 60%);transform:skewX(-12deg);transform-origin:top right;pointer-events:none;z-index:0}
.hero::after{content:"";position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:460px;height:460px;border-radius:50%;border:2px solid var(--hw-line);pointer-events:none;z-index:0}
.hero .wrap{position:relative;z-index:1;padding-block:clamp(52px,8vw,112px);max-width:1180px}
.hero .meta{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.16em;color:var(--hw-orange);margin:0 0 22px;display:flex;gap:14px;align-items:center}
.hero .meta::before{content:"";width:48px;height:1px;background:var(--hw-orange)}
.hero h1{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:clamp(56px,9.4vw,128px);line-height:0.86;letter-spacing:-0.03em;text-transform:uppercase;margin:0 0 26px;color:var(--hw-white);text-wrap:balance}
.hero h1 em{font-style:italic;color:var(--hw-orange)}
.hero h1 .strike{text-decoration:line-through;text-decoration-thickness:6px;text-decoration-color:var(--hw-orange)}
.hero p.lede,.hero .lede{max-width:620px;margin:0 0 30px;font-size:19px;line-height:1.55;color:var(--hw-fg-2);text-wrap:pretty;font-family:var(--hw-body)}

/* ============ BREADCRUMBS ============ */
.crumbs{padding-block:22px;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;color:var(--hw-fg-3);background:transparent;border-bottom:1px solid var(--hw-line)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.crumbs li{display:flex;align-items:center;gap:10px}
.crumbs li:not(:last-child)::after{content:"→";color:var(--hw-line-strong)}
.crumbs a{color:var(--hw-fg-2);font-weight:700}
.crumbs a:hover{color:var(--hw-orange)}
.crumbs li:last-child a,.crumbs li:last-child span{color:var(--hw-white)}

/* ============ SECTION SCAFFOLD ============ */
.sec{padding-block:clamp(52px,7vw,88px);border-bottom:1px solid var(--hw-line);position:relative}
.sec:nth-child(even){background-color:var(--hw-canvas-2);background-image:var(--hw-grain)}
.sec-head{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:end;margin-bottom:40px;position:relative;padding-left:22px}
.sec-head::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:6px;background:var(--hw-orange);transform:skewX(-9deg)}
.sec-head .num{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.16em;color:var(--hw-fg-2)}
.sec-head h2{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:clamp(36px,5.2vw,58px);line-height:0.96;letter-spacing:-0.02em;text-transform:uppercase;margin:0;color:var(--hw-white);text-wrap:balance}
.sec-head h2 em{font-style:italic;color:var(--hw-orange)}
.sec-head .meta{margin:14px 0 0;font-size:13.5px;color:var(--hw-fg-3);font-family:var(--hw-mono);text-transform:uppercase;letter-spacing:0.04em;text-align:right;max-width:300px;font-weight:600}

/* ============ STATS STRIP ============ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hw-line);background:var(--hw-surface);box-shadow:var(--hw-shadow);overflow:hidden;margin-bottom:32px;position:relative}
.stats::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--hw-orange);z-index:1}
.stat{display:flex;flex-direction:column;gap:8px;padding:28px 28px;border-left:1px solid var(--hw-line);background:transparent}
.stat:first-child{border-left:none}
.stat::before{display:none}
.stat .l{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--hw-fg-3);font-weight:800}
.stat .n{font-size:46px;font-weight:700;line-height:1;color:var(--hw-white);letter-spacing:-0.02em}
.stat .delta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--hw-fg-3)}
.stat .delta.dn{color:var(--hw-down)}

/* ============ CARDS (generic) ============ */
.card{background:var(--hw-surface);border:1px solid var(--hw-line);border-radius:var(--hw-r);padding:22px;transition:transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease);display:block;color:var(--hw-fg);box-shadow:var(--hw-shadow);text-decoration:none}
.card:hover{transform:translateY(-4px);box-shadow:var(--hw-shadow-pop);border-color:var(--hw-line-soft);color:var(--hw-fg)}
.card h3{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:22px;line-height:1.05;margin-bottom:6px;letter-spacing:-0.01em;color:var(--hw-white);text-transform:uppercase}
.card h3 em{font-style:italic;color:var(--hw-orange)}
.card .sub{font-family:var(--hw-mono);font-size:11px;letter-spacing:0.10em;color:var(--hw-orange);text-transform:uppercase;margin-bottom:14px;font-weight:700}
.card .body{color:var(--hw-fg-2);font-size:14.5px;line-height:1.65}
.card .ftr{margin-top:14px;display:flex;justify-content:space-between;align-items:center;font-family:var(--hw-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--hw-fg-3)}
.card .ftr .arrow{color:var(--hw-orange)}

.grid{display:grid;gap:20px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-6{grid-template-columns:repeat(6,1fr)}

/* ============ GAME / FIXTURE CARD ============ */
.game{position:relative;background:var(--hw-surface);border:1px solid var(--hw-line);border-top:3px solid var(--hw-orange);border-radius:var(--hw-r);padding:0;overflow:hidden;box-shadow:var(--hw-shadow);transition:transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease)}
.game:hover{transform:translateY(-4px);box-shadow:var(--hw-shadow-pop)}
.game-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px 12px;background:transparent;font-family:var(--hw-mono);font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--hw-fg-3);border-bottom:1px solid var(--hw-line)}
.game-head .tip{color:var(--hw-orange)}
.game-body{padding:14px 20px}
.gb-team{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:10px 0;border-radius:var(--hw-r-sm);transition:background var(--hw-dur) var(--hw-ease);color:var(--hw-fg);text-decoration:none}
.gb-team + .gb-team{border-top:1px dashed var(--hw-line)}
.gb-team:hover{background:var(--hw-surface-2);color:var(--hw-fg)}
.badge{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 30% 28%, rgba(255,255,255,0.14), transparent 45%), #000;box-shadow:inset 0 0 0 1px rgba(255,90,31,0.4);position:relative;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--hw-display);font-weight:800;font-size:13px;color:var(--hw-white);font-style:italic}
.badge::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(rgba(255,90,31,0.5), rgba(255,90,31,0.5)) center / 1.5px 100% no-repeat, linear-gradient(rgba(255,90,31,0.5), rgba(255,90,31,0.5)) center / 100% 1.5px no-repeat;pointer-events:none}
.badge.alt{background:radial-gradient(circle at 30% 28%, rgba(255,255,255,0.10), transparent 45%), var(--hw-surface-2);box-shadow:inset 0 0 0 1px var(--hw-line-strong)}
.badge.alt::after{opacity:0.4}
.badge.has-img{background:#fff;padding:3px;box-shadow:inset 0 0 0 1px var(--hw-line-strong)}
.badge.has-img::after{display:none}
.badge.has-img img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.gb-name{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:16px;color:var(--hw-white);text-transform:uppercase;letter-spacing:-0.005em}
.gb-name small{display:block;font-family:var(--hw-mono);font-size:10px;letter-spacing:0.06em;color:var(--hw-fg-3);text-transform:uppercase;margin-top:2px;font-style:normal;font-weight:600}
.gb-rec{font-family:var(--hw-mono);font-size:18px;font-weight:700;color:var(--hw-white);text-align:right}
.gb-divider{display:none}
.game-odds{display:flex;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--hw-line);background:transparent}
.odd{flex:1;display:flex;flex-direction:column;gap:2px;align-items:center;padding:9px 6px;border-radius:var(--hw-r-sm);background:var(--hw-surface-2);border:1px solid var(--hw-line);transition:background var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease);color:var(--hw-white);text-decoration:none}
.odd:hover{background:var(--hw-surface-3);border-color:var(--hw-orange);color:var(--hw-white)}
.odd .o-label{font-size:9.5px;text-transform:uppercase;letter-spacing:0.07em;color:var(--hw-fg-3);font-weight:800;white-space:nowrap}
.odd .o-val{font-size:15px;font-weight:700;color:var(--hw-white)}
.game-tag{position:absolute;top:0;right:0;background:var(--hw-orange);color:#fff;font-family:var(--hw-display);font-size:10px;letter-spacing:0.10em;padding:5px 12px;text-transform:uppercase;font-weight:800;transform:skewX(-9deg);transform-origin:top right}
.game-tag.lock{background:#7A4FE5;color:#fff}

/* ============ TEAM POWER-RANK CARD ============ */
.team{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:20px;background:var(--hw-surface);border:1px solid var(--hw-line);border-left:3px solid var(--hw-orange);border-radius:var(--hw-r);box-shadow:var(--hw-shadow);color:var(--hw-fg);transition:transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease);aspect-ratio:auto;text-decoration:none}
.team:hover{transform:translateY(-4px);box-shadow:var(--hw-shadow-pop);color:var(--hw-fg)}
.team .rank{font-family:var(--hw-display);font-size:34px;font-weight:700;font-style:italic;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--hw-line-strong);letter-spacing:-0.02em}
.team:hover .rank{-webkit-text-stroke-color:var(--hw-orange)}
.team .crest{width:48px;height:48px;background:#fff;border-radius:50%;padding:3px;border:1.5px solid var(--hw-orange);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.team .crest img{width:100%;height:100%;object-fit:contain}
.team .nm{font-family:var(--hw-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:18px;color:var(--hw-white);letter-spacing:-0.01em;line-height:1.05}
.team .nm small{display:block;font-family:var(--hw-mono);font-style:normal;font-weight:600;font-size:10px;color:var(--hw-fg-3);text-transform:uppercase;letter-spacing:0.06em;margin-top:6px}
.team .rec{display:flex;justify-content:space-between;font-family:var(--hw-mono);font-size:13px;color:var(--hw-fg-2);border-top:1px dashed var(--hw-line);padding-top:10px;font-weight:700}
.team .rec .tr{color:var(--hw-up)}
.team .rec .tr.dn{color:var(--hw-down)}

/* ============ PLAYER CARD (roster grid) ============ */
.player-card{display:flex;flex-direction:column;gap:0;background:var(--hw-surface);border:1px solid var(--hw-line);border-bottom:3px solid var(--hw-orange);border-radius:var(--hw-r);overflow:hidden;color:var(--hw-fg);transition:transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease);box-shadow:var(--hw-shadow);text-decoration:none}
.player-card:hover{transform:translateY(-4px);box-shadow:var(--hw-shadow-pop)}
.player-card .pic{height:220px;position:relative;overflow:hidden;background:radial-gradient(420px 280px at 50% 0%, rgba(255,90,31,0.26), transparent 70%), #000;display:flex;align-items:flex-end;justify-content:center}
.player-card .pic::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 70%, rgba(255,90,31,0.20), transparent 60%)}
.player-card .pic .num{position:absolute;top:-30px;right:-10px;font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:200px;line-height:0.8;color:transparent;-webkit-text-stroke:2px rgba(255,90,31,0.16);letter-spacing:-0.04em}
.player-card .pic .pos{position:absolute;top:14px;left:14px;font-family:var(--hw-mono);font-size:10px;letter-spacing:0.06em;color:var(--hw-white);text-transform:uppercase;background:rgba(0,0,0,0.55);backdrop-filter:blur(4px);padding:5px 10px;font-weight:700;border:1px solid var(--hw-line-soft)}
.player-card .pic.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:1;z-index:0}
.player-card .pic.has-img::before{display:none}
.player-card .pic.has-img .pos,.player-card .pic.has-img .num{z-index:2}
.player-card .body{padding:16px 18px}
.player-card .body h3{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:16px;color:var(--hw-white);text-transform:uppercase;letter-spacing:-0.005em;margin-bottom:6px}
.player-card .body .meta{font-family:var(--hw-mono);font-size:11px;letter-spacing:0.06em;color:var(--hw-fg-3);text-transform:uppercase;font-weight:600}

/* ============ PLAYER PORTRAIT (large, on player profile) ============ */
.player-portrait-large{position:relative;background:radial-gradient(420px 380px at 50% 0%, rgba(255,90,31,0.26), transparent 70%), #000;border-radius:var(--hw-r);overflow:hidden;border:1px solid var(--hw-line);aspect-ratio:4/5;box-shadow:var(--hw-shadow)}
.player-portrait-large img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.40;filter:saturate(0.9)}
.player-portrait-large img.cut{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;z-index:2;filter:drop-shadow(0 24px 44px rgba(0,0,0,0.6))}
.player-portrait-large .gloss{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%, rgba(255,90,31,0.22), transparent 60%), linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.8) 100%);z-index:1}
.player-portrait-large .nameplate{position:absolute;left:24px;bottom:24px;z-index:3}
.player-portrait-large .nameplate small{display:block;font-family:var(--hw-mono);font-size:11.5px;font-weight:700;color:var(--hw-orange);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.10em}
.player-portrait-large .nameplate h2{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:46px;color:var(--hw-white);line-height:0.92;letter-spacing:-0.02em;text-transform:uppercase}
.player-portrait-large .meta-row{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;z-index:3}
.player-portrait-large .meta-row .chip{font-family:var(--hw-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;background:rgba(0,0,0,0.55);backdrop-filter:blur(6px);color:var(--hw-white);padding:6px 12px;border:1px solid var(--hw-line-soft);font-weight:700}
.player-portrait-large .meta-row .chip.danger{background:var(--hw-warn);color:#000;border-color:var(--hw-warn)}

/* ============ FILTER BAR ============ */
.filter{display:flex;flex-wrap:wrap;gap:10px;padding:18px;background:var(--hw-surface);border:1px solid var(--hw-line);border-radius:var(--hw-r);margin-bottom:24px;align-items:center;box-shadow:var(--hw-shadow)}
.filter label{font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.10em;color:var(--hw-fg-3);text-transform:uppercase;margin-right:6px;font-weight:700}
.filter input,.filter select{background:var(--hw-surface-2);border:1px solid var(--hw-line-soft);border-radius:var(--hw-r-sm);padding:10px 14px;color:var(--hw-fg);font-family:var(--hw-body);font-size:13px;min-width:160px;outline:none;transition:border-color var(--hw-dur) var(--hw-ease);font-weight:500}
.filter input:focus,.filter select:focus{border-color:var(--hw-orange)}

/* ============ HONOURS / TROPHIES ============ */
.honours{display:flex;flex-wrap:wrap;gap:10px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.h-cell{display:inline-flex;align-items:center;padding:10px 16px;background:var(--hw-surface);border:1px solid var(--hw-line);font-family:var(--hw-display);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:0.03em;color:var(--hw-fg-2);transform:skewX(-9deg);transition:transform var(--hw-dur) var(--hw-ease),background var(--hw-dur) var(--hw-ease),color var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease);cursor:default;border-radius:0;aspect-ratio:auto;text-align:left;line-height:1}
.h-cell{position:relative}
.h-cell > *{display:inline-block;transform:skewX(9deg)}
.h-cell::before{content:attr(data-label)}
.h-cell:hover{transform:skewX(-9deg) translateY(-2px);color:var(--hw-white);border-color:var(--hw-line-strong)}
.h-cell.ring{border-color:rgba(244,197,66,0.45);color:var(--hw-gold)}
.h-cell.ring:hover{background:var(--hw-gold-soft)}
.h-cell.mvp{border-color:var(--hw-orange-glow);color:var(--hw-orange)}
.h-cell.mvp:hover{background:var(--hw-orange);color:#fff}
.h-cell.gold{background:var(--hw-gold-soft);border-color:rgba(244,197,66,0.45);color:var(--hw-gold)}

/* ============ TABLES ============ */
table.t{width:100%;border-collapse:collapse;background:var(--hw-surface);border:1px solid var(--hw-line);border-radius:var(--hw-r);overflow:hidden}
table.t th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hw-fg-3);font-weight:800;padding:14px 18px;border-bottom:1px solid var(--hw-line-soft);background:var(--hw-surface-2);font-family:var(--hw-display)}
table.t td{padding:13px 18px;border-bottom:1px solid var(--hw-line);font-size:14.5px;color:var(--hw-fg);font-family:var(--hw-body)}
table.t tbody tr:hover td{background:var(--hw-surface-2)}
table.t tr:last-child td{border-bottom:0}
table.t td a{color:var(--hw-white);font-weight:800}
table.t td a:hover{color:var(--hw-orange)}
table.t .num{font-family:var(--hw-mono);text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
table.t th.num{text-align:right}
table.t .ctr,table.t th.ctr{text-align:center}
table.t td.lg,table.t th.lg{text-align:center;width:64px}
.lg-crest{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#fff;border-radius:50%;padding:3px;border:1px solid var(--hw-line-soft);vertical-align:middle}
.lg-crest img{width:100%;height:100%;object-fit:contain}
.t-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.t-scroll table.t{min-width:760px}

/* Matchup cell */
.mu{display:inline-flex;align-items:center;gap:12px;flex-wrap:nowrap;white-space:nowrap}
.mu .tm{display:inline-flex;align-items:center;gap:8px;color:var(--hw-fg);font-weight:800;white-space:nowrap;font-family:var(--hw-display);font-style:italic;text-transform:uppercase;font-size:14px}
.mu .tm img{width:24px;height:24px;object-fit:contain;background:#fff;border-radius:50%;padding:2px;border:1px solid var(--hw-line-soft);flex:0 0 24px}
.mu .vs{font-family:var(--hw-mono);font-size:10px;letter-spacing:0.10em;color:var(--hw-fg-3);text-transform:uppercase;padding:0 4px;flex:0 0 auto;font-weight:700}
@media (max-width:640px){.mu{flex-wrap:wrap;gap:6px}.mu .vs{width:100%;padding:2px 0}}

/* ============ LIVE TILES ============ */
.live-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.live-tile{background:var(--hw-surface);border:1px solid var(--hw-line);border-top:3px solid var(--hw-orange);border-radius:var(--hw-r);padding:16px 18px;display:flex;flex-direction:column;gap:8px;transition:transform var(--hw-dur) var(--hw-ease),box-shadow var(--hw-dur) var(--hw-ease);color:var(--hw-fg);box-shadow:var(--hw-shadow);text-decoration:none}
.live-tile:hover{transform:translateY(-4px);box-shadow:var(--hw-shadow-pop)}
.live-tile .meta{display:flex;justify-content:space-between;font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.08em;color:var(--hw-fg-3);text-transform:uppercase;font-weight:700}
.live-tile .meta .now{color:var(--hw-orange)}
.live-tile .matchup{display:flex;justify-content:space-between;align-items:center}
.live-tile .matchup .tm{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:16px;color:var(--hw-white);text-transform:uppercase;letter-spacing:-0.005em}
.live-tile .matchup .sc{font-family:var(--hw-mono);font-weight:700;font-size:26px;color:var(--hw-fg-2);letter-spacing:-0.01em}
.live-tile .matchup .sc.lead{color:var(--hw-orange)}
.live-tile .pg{font-family:var(--hw-mono);font-size:11px;color:var(--hw-fg-3);display:flex;justify-content:space-between;border-top:1px dashed var(--hw-line);padding-top:8px;margin-top:4px;font-weight:700}

/* ============ KV LIST (definition list) ============ */
dl.kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hw-line);border:1px solid var(--hw-line);border-radius:var(--hw-r);overflow:hidden}
dl.kv > div{display:contents}
dl.kv dt{padding:14px 18px;font-family:var(--hw-display);font-size:11px;letter-spacing:0.10em;color:var(--hw-fg-3);text-transform:uppercase;background:var(--hw-surface);font-weight:800;border-bottom:1px solid var(--hw-line)}
dl.kv dd{padding:14px 18px;background:var(--hw-surface);font-family:var(--hw-body);font-size:14.5px;color:var(--hw-fg);font-weight:600;border-bottom:1px solid var(--hw-line)}
dl.kv > div:last-child dt,dl.kv > div:last-child dd{border-bottom:0}

/* ============ PAGE HERO (smaller hero variant) ============ */
.page-hero{padding:54px 0 36px;border-bottom:1px solid var(--hw-line);position:relative;overflow:hidden;background:radial-gradient(800px 360px at 25% -10%, rgba(255,90,31,0.14), transparent 60%), var(--hw-canvas)}
.page-hero h1{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:clamp(40px,5.6vw,84px);line-height:0.92;letter-spacing:-0.022em;margin-bottom:14px;color:var(--hw-white);text-transform:uppercase}
.page-hero h1 em{font-style:italic;color:var(--hw-orange)}
.page-hero p{font-family:var(--hw-body);font-size:18px;line-height:1.55;max-width:680px;color:var(--hw-fg-2)}

/* ============ ARTICLE PROSE ============ */
article.prose{max-width:760px;margin:0 auto;font-size:17px;line-height:1.75;color:var(--hw-fg-2)}
article.prose h2{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:34px;color:var(--hw-white);margin:48px 0 14px;letter-spacing:-0.01em;text-transform:uppercase}
article.prose h3{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:22px;color:var(--hw-white);margin:32px 0 10px;text-transform:uppercase}
article.prose p{margin-bottom:18px}
article.prose ul,article.prose ol{margin:18px 0 18px 24px}
article.prose li{margin-bottom:6px}
article.prose a{color:var(--hw-orange);border-bottom:2px solid var(--hw-orange);font-weight:700}
article.prose strong{color:var(--hw-fg);font-weight:700}
article.prose blockquote{border-left:4px solid var(--hw-orange);padding:14px 24px;margin:24px 0;font-family:var(--hw-display);font-style:italic;font-size:22px;color:var(--hw-fg);font-weight:600;background:var(--hw-surface);border-radius:0 var(--hw-r) var(--hw-r) 0}

/* ============ FOOTER ============ */
footer.site{background:#000;background-image:repeating-linear-gradient(90deg, rgba(255,255,255,0.02) 0 1px, transparent 1px 116px);border-top:3px solid var(--hw-orange);padding-top:58px;color:var(--hw-fg-2);margin-top:auto}
footer.site .wrap{padding-bottom:0}
footer.site .f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding-bottom:44px}
footer.site h4{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--hw-white);margin:0 0 6px;font-weight:800;font-family:var(--hw-display)}
footer.site a{display:block;color:var(--hw-fg-2);font-size:14px;font-weight:600;padding:5px 0;border-bottom:0;font-family:var(--hw-body)}
footer.site a:hover{color:var(--hw-orange)}
footer.site .f-lede{color:var(--hw-fg-2);font-size:14.5px;font-family:var(--hw-body);font-weight:400;line-height:1.6;font-style:normal}
footer.site .f-lede em{color:var(--hw-white);font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:0.01em}
footer.site .f-bot{border-top:1px solid var(--hw-line);padding-block:22px 40px;display:flex;justify-content:space-between;font-size:11.5px;color:var(--hw-fg-3);font-family:var(--hw-mono);text-transform:uppercase;letter-spacing:0.04em;flex-wrap:wrap;gap:12px;font-weight:600}
footer.site .compliance{font-size:12px;line-height:1.7;color:var(--hw-fg-3);margin:0 0 12px;max-width:1000px;font-family:var(--hw-body);text-transform:none;letter-spacing:0;font-weight:400}

/* ============ TEAM HERO ============ */
.team-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--hw-line);background:var(--hw-canvas);min-height:440px;display:flex;align-items:flex-end}
.team-hero > .banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.50;filter:saturate(1.05);z-index:0}
.team-hero > .gloss{position:absolute;inset:0;background:linear-gradient(0deg, rgba(8,8,10,0.96), rgba(8,8,10,0.45));z-index:1}
.team-hero > .watermark{position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:420px;height:420px;opacity:0.18;z-index:1;pointer-events:none;filter:drop-shadow(0 0 60px rgba(255,90,31,0.30))}
.team-hero > .watermark img{width:100%;height:100%;object-fit:contain}
.team-hero > .stripe{position:absolute;top:32px;bottom:32px;left:0;width:6px;background:var(--team-color, var(--hw-orange));z-index:2;transform:skewX(-9deg);transform-origin:top left}
.team-hero .content{position:relative;z-index:3;padding:64px 32px 56px;max-width:var(--hw-max);margin:0 auto;width:100%;color:var(--hw-white)}
.team-hero .kicker{font-family:var(--hw-display);font-size:12px;font-weight:800;letter-spacing:0.16em;color:var(--hw-orange);text-transform:uppercase;margin-bottom:18px;display:flex;gap:14px;align-items:center;font-style:normal}
.team-hero .kicker::before{content:"";width:42px;height:1px;background:var(--hw-orange)}
.team-hero .meta{font-family:var(--hw-mono);font-size:12px;letter-spacing:0.06em;color:var(--hw-fg-2);text-transform:uppercase;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:14px;font-weight:600}
.team-hero .meta span::before{content:"·";margin-right:14px;color:var(--hw-orange)}
.team-hero .meta span:first-child::before{display:none;margin:0}
.team-hero h1{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:clamp(56px,8vw,116px);line-height:0.90;letter-spacing:-0.025em;margin:0 0 22px;color:var(--hw-white);text-transform:uppercase}
.team-hero h1 em{font-style:italic;color:var(--hw-orange)}
.team-hero .lede{font-family:var(--hw-body);font-weight:400;font-size:18px;line-height:1.55;max-width:720px;color:var(--hw-fg-2);margin:0}

/* === FANART + KIT === */
.fanart-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}
.fanart-strip a{display:block;aspect-ratio:16/9;border-radius:var(--hw-r);overflow:hidden;border:1px solid var(--hw-line);position:relative;background:#000}
.fanart-strip img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--hw-ease)}
.fanart-strip a:hover img{transform:scale(1.06)}
.kit-shot{display:flex;justify-content:center;padding:32px;background:radial-gradient(600px 320px at 50% 50%, rgba(255,90,31,0.10), transparent 70%), var(--hw-surface);border-radius:var(--hw-r);border:1px solid var(--hw-line);box-shadow:var(--hw-shadow)}
.kit-shot img{max-height:280px;width:auto}

/* === LEAGUE STRIP + LEAGUE CARDS === */
.league-strip{position:relative;border:1px solid var(--hw-line);border-radius:var(--hw-r);overflow:hidden;background:#000;margin-bottom:32px;min-height:160px;display:flex;align-items:center;box-shadow:var(--hw-shadow)}
.league-strip img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.30}
.league-strip .gloss{position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.60) 50%, rgba(255,90,31,0.20) 100%)}
.league-strip .inner{position:relative;z-index:2;display:flex;align-items:center;gap:28px;padding:24px 28px;width:100%;color:var(--hw-white)}
.league-strip .crest{flex:0 0 96px;width:96px;height:96px;background:#fff;border-radius:50%;padding:10px;border:2px solid var(--hw-orange);display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px var(--hw-orange-glow)}
.league-strip .crest img{width:100%;height:100%;object-fit:contain}
.league-strip h2{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:42px;line-height:1;letter-spacing:-0.02em;color:var(--hw-white);margin:0;text-transform:uppercase}
.league-strip h2 em{font-style:italic;color:var(--hw-orange)}
.league-strip .sub{font-family:var(--hw-mono);font-size:11px;letter-spacing:0.06em;color:var(--hw-fg-2);text-transform:uppercase;margin-top:8px;display:flex;flex-wrap:wrap;gap:14px;font-weight:700}
.league-strip .sub span::before{content:"·";margin-right:14px;color:var(--hw-orange)}
.league-strip .sub span:first-child::before{display:none;margin:0}

.league-card{display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;min-height:280px;background:var(--hw-surface);border:1px solid var(--hw-line);border-top:3px solid var(--hw-orange);border-radius:var(--hw-r);padding:22px;box-shadow:var(--hw-shadow);color:var(--hw-fg)}
.league-card:hover{transform:translateY(-4px);box-shadow:var(--hw-shadow-pop)}
.league-card .crest-lg{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background:transparent;border:0;padding:0;box-shadow:none;display:flex;align-items:center;justify-content:center;z-index:0;pointer-events:none}
.league-card .crest-lg img{width:100%;height:100%;object-fit:contain;opacity:0.10;transition:opacity .25s var(--hw-ease),transform .35s var(--hw-ease);filter:saturate(0.9)}
.league-card:hover .crest-lg img{opacity:0.20;transform:scale(1.04)}
.league-card .sub,.league-card h3,.league-card .body,.league-card .ftr{position:relative;z-index:1}

/* ============ MATCH CENTRE — TALE OF THE TAPE ============ */
.tape{position:relative;overflow:hidden;background:#000;background-image:var(--hw-grain);color:var(--hw-white);border-bottom:1px solid var(--hw-line);padding:54px 0 36px}
.tape::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 480px at 50% 0%, rgba(255,90,31,0.22), transparent 55%), radial-gradient(800px 480px at 50% 100%, rgba(255,90,31,0.10), transparent 60%);pointer-events:none}
.tape::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--hw-orange)}
.tape-meta{position:relative;z-index:2;text-align:center;font-family:var(--hw-mono);font-size:11px;letter-spacing:0.20em;color:var(--hw-orange);text-transform:uppercase;margin-bottom:18px;font-weight:700}
.tape-meta span{padding:0 8px}
.tape-meta::before,.tape-meta::after{content:"";display:inline-block;width:60px;height:1px;background:var(--hw-orange);vertical-align:middle;margin:0 8px}
.tape-row{position:relative;z-index:2;display:grid;grid-template-columns:1fr 220px 1fr;gap:0;align-items:center;max-width:var(--hw-max);margin:0 auto;padding:0 32px}

.tape-card{padding:32px 0;text-align:center;position:relative;color:var(--hw-white);text-decoration:none}
.tape-card.home{text-align:right;padding-right:48px;border-right:1px solid var(--hw-line-soft)}
.tape-card.away{text-align:left;padding-left:48px;border-left:1px solid var(--hw-line-soft)}
.tape-card .crest-ring{display:inline-flex;align-items:center;justify-content:center;width:140px;height:140px;background:#fff;border-radius:50%;padding:12px;position:relative;margin-bottom:18px}
.tape-card .crest-ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--team-color, var(--hw-orange));opacity:0.75}
.tape-card .crest-ring img{width:100%;height:100%;object-fit:contain}
.tape-card .city{font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.16em;color:var(--hw-fg-2);text-transform:uppercase;margin-bottom:8px;font-weight:600}
.tape-card .name{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:46px;line-height:0.92;letter-spacing:-0.025em;color:var(--hw-white);margin-bottom:14px;text-transform:uppercase}
.tape-card .name em{font-style:italic;color:var(--hw-orange)}
.tape-card .rec{font-family:var(--hw-mono);font-weight:700;font-size:34px;color:var(--hw-white);line-height:1;font-variant-numeric:tabular-nums}
.tape-card .rec small{display:block;font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.12em;color:var(--hw-fg-3);text-transform:uppercase;margin-top:6px;font-weight:600}
.tape-card .form-mini{margin-top:14px;display:flex;gap:5px;justify-content:inherit}
.tape-card.home .form-mini{justify-content:flex-end}
.tape-card.away .form-mini{justify-content:flex-start}
.tape-card .form-mini span{width:20px;height:20px;font-family:var(--hw-display);font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:0}
.tape-card .form-mini span.W{background:rgba(68,201,127,0.18);color:var(--hw-up);border:1px solid var(--hw-up)}
.tape-card .form-mini span.L{background:rgba(255,90,31,0.18);color:var(--hw-orange);border:1px solid var(--hw-orange)}

.tape-vs{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;position:relative}
.tape-vs::before,.tape-vs::after{content:"";position:absolute;left:50%;width:1px;background:var(--hw-line-soft);transform:translateX(-50%)}
.tape-vs::before{top:0;bottom:calc(50% + 80px)}
.tape-vs::after{top:calc(50% + 80px);bottom:0}
.tape-status{font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;padding:6px 14px;border:1px solid var(--hw-line-strong);background:rgba(0,0,0,0.40);color:var(--hw-fg);font-weight:700}
.tape-status.live{color:var(--hw-up);border-color:var(--hw-up);background:rgba(68,201,127,0.18)}
.tape-status.live .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--hw-up);box-shadow:0 0 12px var(--hw-up);animation:blink 1.2s infinite;margin-right:8px;vertical-align:middle}
.tape-status.ot{color:var(--hw-orange);border-color:var(--hw-orange);background:var(--hw-orange-soft)}
.tape-vsmark{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:80px;line-height:0.85;color:var(--hw-orange);text-transform:uppercase;letter-spacing:-0.02em;text-shadow:0 0 30px var(--hw-orange-glow)}
.tape-score{font-family:var(--hw-mono);font-weight:700;font-size:54px;line-height:0.9;letter-spacing:-0.02em;color:var(--hw-white);display:flex;gap:14px;align-items:baseline;font-variant-numeric:tabular-nums}
.tape-score .h,.tape-score .a{color:var(--hw-fg-2);transition:color var(--hw-dur) var(--hw-ease)}
.tape-score .h.win,.tape-score .a.win{color:var(--hw-orange)}
.tape-score .sep{font-family:var(--hw-display);font-weight:600;font-size:28px;color:var(--hw-fg-3);font-style:italic}
.tape-when{font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.10em;color:var(--hw-fg-3);text-transform:uppercase;text-align:center;font-weight:600}

.tape-card.home::before,.tape-card.away::before{content:"";position:absolute;top:18px;bottom:18px;width:3px;background:var(--team-color, var(--hw-orange));transform:skewX(-9deg)}
.tape-card.home::before{right:0}
.tape-card.away::before{left:0}

@media (max-width:900px){
  .tape-row{grid-template-columns:1fr;gap:24px}
  .tape-card.home,.tape-card.away{text-align:center;border:0;padding:0}
  .tape-card.home::before,.tape-card.away::before{display:none}
  .tape-card.home .form-mini,.tape-card.away .form-mini{justify-content:center}
  .tape-vs{order:2}
  .tape-card.away{order:3}
  .tape-vs::before,.tape-vs::after{display:none}
  .tape-vsmark{font-size:54px}
}

/* ============ DUEL ROWS ============ */
.duel{max-width:880px;margin:0 auto;padding:8px 32px}
.duel-row{display:grid;grid-template-columns:1fr 140px 1fr;gap:16px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--hw-line)}
.duel-row:last-child{border-bottom:0}
.duel-row .h-val,.duel-row .a-val{font-family:var(--hw-mono);font-weight:700;font-size:30px;line-height:1;color:var(--hw-fg-2);letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
.duel-row .h-val{text-align:right}.duel-row .a-val{text-align:left}
.duel-row .h-val.lead,.duel-row .a-val.lead{color:var(--hw-orange)}
.duel-row .axis{text-align:center;font-family:var(--hw-display);font-size:11px;letter-spacing:0.16em;color:var(--hw-fg-3);text-transform:uppercase;position:relative;font-weight:800}
.duel-row .axis::before,.duel-row .axis::after{content:"";position:absolute;top:50%;width:18px;height:1px;background:var(--hw-line-strong)}
.duel-row .axis::before{right:calc(100% + 8px)}
.duel-row .axis::after{left:calc(100% + 8px)}
.duel-row .bars{grid-column:1 / -1;display:grid;grid-template-columns:1fr 140px 1fr;gap:16px;margin-top:6px}
.duel-row .bar{height:5px;background:var(--hw-line);border-radius:0;overflow:hidden;position:relative}
.duel-row .bar .fill{position:absolute;top:0;bottom:0;background:var(--hw-orange);opacity:0.95}
.duel-row .bar.h .fill{right:0}
.duel-row .bar.a .fill{left:0}

/* ============ GAME BEAM ============ */
.beam{max-width:var(--hw-max);margin:0 auto;padding:32px;background:var(--hw-surface);border:1px solid var(--hw-line);border-radius:var(--hw-r);position:relative;box-shadow:var(--hw-shadow)}
.beam-head{display:flex;justify-content:space-between;font-family:var(--hw-mono);font-size:11px;letter-spacing:0.08em;color:var(--hw-fg-3);text-transform:uppercase;margin-bottom:24px;font-weight:700}
.beam-track{position:relative;height:120px}
.beam-line{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--hw-line-strong)}
.beam-q{position:absolute;width:1px;background:var(--hw-line);top:8px;bottom:8px}
.beam-dot{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid var(--hw-orange);background:var(--hw-canvas);transform:translate(-50%,-50%);z-index:2}
.beam-dot.home{top:30%}
.beam-dot.away{top:70%;border-color:var(--hw-fg-3);background:var(--hw-surface-2)}
.beam-label{position:absolute;font-family:var(--hw-mono);font-size:10px;letter-spacing:0.08em;color:var(--hw-fg-2);text-transform:uppercase;text-align:center;transform:translateX(-50%);font-weight:700}
.beam-q-num{bottom:-4px}
.beam-q-score{top:6px;color:var(--hw-orange);font-family:var(--hw-mono);font-weight:700;font-size:14px}
.beam-edge{position:absolute;font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--hw-fg-2);font-weight:700}
.beam-edge.home{left:0;top:-2px}
.beam-edge.away{right:0;bottom:-2px}
.beam-edge strong{color:var(--hw-white);font-weight:800;display:block;font-family:var(--hw-display);font-size:18px;font-style:italic}

/* ============ H2H PANELS ============ */
.h2h-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:24px}
@media (max-width:900px){.h2h-grid{grid-template-columns:1fr}}
.h2h-panel{background:var(--hw-surface);border:1px solid var(--hw-line);border-radius:var(--hw-r);overflow:hidden;box-shadow:var(--hw-shadow)}
.h2h-panel header{padding:14px 18px;border-bottom:1px solid var(--hw-line);background:var(--hw-surface-2);display:flex;justify-content:space-between;align-items:center}
.h2h-panel header .t{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:16px;color:var(--hw-white);text-transform:uppercase}
.h2h-panel header .src{font-family:var(--hw-mono);font-size:10px;letter-spacing:0.08em;color:var(--hw-fg-3);text-transform:uppercase;font-weight:700}

.h2h-tally{padding:24px 18px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;text-align:center}
.h2h-tally .side{display:flex;flex-direction:column;align-items:center;gap:8px}
.h2h-tally .side img{width:48px;height:48px;background:#fff;border-radius:50%;padding:4px;border:1.5px solid var(--hw-line-strong)}
.h2h-tally .side .n{font-family:var(--hw-mono);font-weight:700;font-size:56px;line-height:0.9;color:var(--hw-fg-2);letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.h2h-tally .side .n.lead{color:var(--hw-orange)}
.h2h-tally .side .lbl{font-family:var(--hw-mono);font-size:10px;letter-spacing:0.08em;color:var(--hw-fg-3);text-transform:uppercase;font-weight:700}
.h2h-tally .vs-axis{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:24px;color:var(--hw-line-strong);text-transform:uppercase}

.h2h-bar{padding:0 18px 18px}
.h2h-bar .meter{height:8px;background:var(--hw-line);overflow:hidden;display:flex;border-radius:0}
.h2h-bar .meter .fh{background:var(--hw-orange)}
.h2h-bar .meter .fa{background:var(--hw-fg-3)}
.h2h-bar .l{display:flex;justify-content:space-between;font-family:var(--hw-mono);font-size:10.5px;letter-spacing:0.08em;color:var(--hw-fg-3);text-transform:uppercase;margin-top:8px;font-weight:700}

.pulse-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;font-family:var(--hw-display);font-weight:800;font-size:11px;letter-spacing:0.10em;text-transform:uppercase;border:1px solid var(--hw-line-strong);background:var(--hw-surface);color:var(--hw-fg-2);transform:skewX(-9deg)}
.pulse-pill > *{display:inline-block;transform:skewX(9deg)}
.pulse-pill.lopsided{background:rgba(255,93,77,0.15);color:var(--hw-down);border-color:var(--hw-down)}
.pulse-pill.one-sided{background:var(--hw-orange-soft);color:var(--hw-orange);border-color:var(--hw-orange)}
.pulse-pill.even-rivalry,.pulse-pill.coin-flip{background:rgba(68,201,127,0.15);color:var(--hw-up);border-color:var(--hw-up)}

.h2h-row{display:grid;grid-template-columns:90px 1fr auto auto;gap:14px;padding:12px 16px;border-bottom:1px dashed var(--hw-line);align-items:center;font-family:var(--hw-mono);font-size:12px}
.h2h-row:last-child{border-bottom:0}
.h2h-row .d{color:var(--hw-fg-3);font-weight:700}
.h2h-row .matchup{color:var(--hw-white);font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:14px;letter-spacing:-0.005em;text-transform:uppercase}
.h2h-row .sc{color:var(--hw-fg-2);font-weight:700}
.h2h-row .w{padding:3px 10px;text-transform:uppercase;letter-spacing:0.10em;font-size:10px;font-weight:800;font-family:var(--hw-display);transform:skewX(-9deg);display:inline-block}
.h2h-row .w.home{background:var(--hw-orange-soft);color:var(--hw-orange);border:1px solid var(--hw-orange-glow)}
.h2h-row .w.away{background:var(--hw-surface-2);color:var(--hw-fg-2);border:1px solid var(--hw-line-strong)}

.h2h-recent-list{padding:6px 16px 14px}
.h2h-recent-list .h2h-row{padding:10px 0;grid-template-columns:90px 60px 1fr auto auto;gap:12px;border-bottom-style:dashed}
.h2h-recent-list .h2h-row .se{font-family:var(--hw-mono);font-size:10px;letter-spacing:0.10em;color:var(--hw-orange);text-transform:uppercase;font-weight:700}

/* ============ RIVALRY EDITORIAL ============ */
.rivalry{background:radial-gradient(800px 480px at 80% 50%, rgba(255,90,31,0.25), transparent 70%), #000;border:1px solid var(--hw-orange-glow);border-left:3px solid var(--hw-orange);border-radius:var(--hw-r);padding:42px 44px;position:relative;overflow:hidden;color:var(--hw-white);box-shadow:0 18px 50px rgba(0,0,0,0.7)}
.rivalry::before{content:"";position:absolute;top:-60px;right:-60px;width:300px;height:300px;border-radius:50%;border:1px solid var(--hw-orange-glow);pointer-events:none}
.rivalry .tag{font-family:var(--hw-display);font-size:12px;font-weight:800;letter-spacing:0.18em;color:var(--hw-orange);text-transform:uppercase;margin-bottom:10px;position:relative}
.rivalry h3{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:42px;line-height:0.96;letter-spacing:-0.025em;color:var(--hw-white);margin-bottom:14px;position:relative;text-transform:uppercase}
.rivalry h3 em{font-style:italic;color:var(--hw-orange)}
.rivalry p{font-family:var(--hw-body);font-weight:400;font-size:18px;line-height:1.6;color:var(--hw-fg-2);max-width:760px;position:relative;margin:0}
.rivalry .glyph{position:absolute;right:32px;bottom:0;font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:180px;line-height:0.8;color:transparent;-webkit-text-stroke:2px rgba(255,90,31,0.18);pointer-events:none;letter-spacing:-0.04em;text-transform:uppercase}

/* ============ FORM PILL STRIP ============ */
.form-strip{display:flex;gap:6px;flex-wrap:wrap}
.form-pill{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--hw-display);font-weight:800;font-size:13px;letter-spacing:0;line-height:1;border-radius:0}
.form-pill.W{background:rgba(68,201,127,0.15);color:var(--hw-up);border:1px solid var(--hw-up)}
.form-pill.L{background:rgba(255,90,31,0.15);color:var(--hw-orange);border:1px solid var(--hw-orange)}

/* ============ ROSTER TWO-UP ============ */
.roster-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.roster-col h3{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:22px;letter-spacing:-0.01em;color:var(--hw-white);margin-bottom:12px;display:flex;align-items:center;gap:12px;text-transform:uppercase}
.roster-col h3 img{width:32px;height:32px;border-radius:50%;background:#fff;padding:2px;object-fit:contain;border:1px solid var(--hw-line-strong)}
.roster-list{display:flex;flex-direction:column;gap:6px}
.roster-list a{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px 12px;background:var(--hw-surface);border:1px solid var(--hw-line);border-left:2px solid var(--hw-orange);color:var(--hw-fg);transition:background var(--hw-dur) var(--hw-ease),border-color var(--hw-dur) var(--hw-ease);text-decoration:none}
.roster-list a:hover{background:var(--hw-surface-2);border-color:var(--hw-orange)}
.roster-list .h{width:32px;height:32px;border-radius:50%;background:#000;border:1px solid var(--hw-line-strong);overflow:hidden;display:flex;align-items:center;justify-content:center}
.roster-list .h img{width:100%;height:100%;object-fit:cover;object-position:center top}
.roster-list .nm{font-family:var(--hw-display);font-weight:800;font-style:italic;font-size:14px;color:var(--hw-white);text-transform:uppercase;letter-spacing:-0.005em}
.roster-list .pos{font-family:var(--hw-mono);font-size:10px;letter-spacing:0.06em;color:var(--hw-fg-3);text-transform:uppercase;font-weight:700}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(20px);transition:all .7s var(--hw-ease)}
.reveal.in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .grid.cols-6{grid-template-columns:repeat(3,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){border-left:none}
  .live-list{grid-template-columns:repeat(2,1fr)}
  footer.site .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .navlist{display:none}
  .navlist.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#000;padding:18px;flex-direction:column;gap:14px;border-bottom:1px solid var(--hw-line)}
  .menu-toggle{display:inline-flex}
  .hero::after,.hero::before{display:none}
}
@media (max-width:560px){
  html,body{font-size:16px}
  .wrap{padding-inline:18px}
  .stats{grid-template-columns:1fr}
  .stat{border-left:none;border-top:1px solid var(--hw-line)}
  .stat:first-child{border-top:none}
  .grid.cols-3,.grid.cols-4,.grid.cols-6{grid-template-columns:1fr 1fr}
  .live-list{grid-template-columns:1fr}
  .sec-head{grid-template-columns:1fr;gap:8px}
  .sec-head .meta{text-align:left}
  dl.kv{grid-template-columns:1fr}
  footer.site .f-grid{grid-template-columns:1fr}
  .team-hero{min-height:380px}
  .team-hero > .watermark{width:260px;height:260px;right:-30px;opacity:0.14}
  .team-hero .content{padding:48px 18px 36px}
  .team-hero h1{font-size:48px}
  .roster-two{grid-template-columns:1fr}
  .mast-cta .btn{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ticker{animation:none}
  .pulse{animation:none}
  *{scroll-behavior:auto}
}
