@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Saira+Condensed:wght@500;600;700;800;900&display=swap');

:root { color-scheme: dark; --ink:#050505; --ink-2:#0c0c0d; --panel:#121214; --panel-2:#19191c; --paper:#f2efe8; --white:#fff; --silver:#c4c4c8; --muted:#929297; --line:#303034; --line-soft:#202023; --gold:#d6ad2b; --gold-dark:#7a6218; --live:#ef4136; --display:'Saira Condensed',Impact,'Arial Narrow',sans-serif; --body:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --content:1380px; --gutter:clamp(20px,4.5vw,72px); --ease:cubic-bezier(.2,.8,.2,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:76px; overflow-x:clip; -webkit-text-size-adjust:100%; }
body { margin:0; overflow-x:clip; background:var(--ink); color:var(--white); font:400 16px/1.65 var(--body); -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { color:inherit; cursor:pointer; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
::selection { background:var(--gold); color:var(--ink); }
h1,h2,h3,h4 { margin:0; font-family:var(--display); font-weight:900; letter-spacing:-.035em; line-height:.92; text-transform:uppercase; }
p { margin:0; }
.wrap { width:min(var(--content),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.skip-link { position:fixed; z-index:300; top:-80px; left:20px; padding:12px 18px; background:var(--gold); color:var(--ink); font-weight:800; }
.skip-link:focus { top:20px; }
.eyebrow { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow+:is(h1,h2,h3,h4) { margin-top:.18em; }
.pill { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid var(--line); background:var(--ink); color:var(--silver); font-size:.69rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.text-link { display:inline-flex; align-items:center; gap:10px; padding-bottom:4px; border-bottom:2px solid var(--gold); color:var(--white); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.text-link::after { content:'↗'; color:var(--gold); }
.text-link:hover { color:var(--gold); }
.button { display:inline-flex; min-height:54px; align-items:center; justify-content:center; padding:0 28px; border:2px solid var(--gold); border-radius:0; background:var(--gold); color:var(--ink); font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; transition:transform .2s var(--ease),box-shadow .2s; }
.button:hover { transform:translateY(-3px); box-shadow:8px 8px 0 var(--white); }
.button.ghost { border-color:var(--white); background:transparent; color:var(--white); }
.button.ghost:hover { border-color:var(--gold); box-shadow:8px 8px 0 var(--gold); }
.button.small { min-height:44px; padding-inline:20px; font-size:.69rem; }
.lede { max-width:720px; color:var(--silver); font-size:clamp(1rem,1.4vw,1.25rem); line-height:1.7; }
.empty-state { grid-column:1/-1; padding:48px 24px; border:1px dashed var(--line); color:var(--muted); text-align:center; }

.site-header { position:sticky; z-index:100; top:0; border-bottom:1px solid rgba(255,255,255,.13); background:rgba(5,5,5,.95); backdrop-filter:blur(18px); }
.site-header::before { content:''; position:absolute; inset:0 auto 0 0; width:7px; background:var(--gold); }
.nav-row { display:flex; min-height:78px; align-items:center; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:12px; white-space:nowrap; }
.brand img { width:34px; height:34px; object-fit:contain; }
.brand span { font-family:var(--display); font-size:1.45rem; font-weight:900; letter-spacing:.025em; line-height:1; }
.main-nav { display:flex; align-items:stretch; align-self:stretch; gap:0; margin-left:clamp(8px,2vw,30px); }
.main-nav a { display:flex; align-items:center; padding:0 17px; border-inline-start:1px solid transparent; color:var(--silver); font-size:.76rem; font-weight:800; letter-spacing:.075em; text-transform:uppercase; }
.main-nav a:hover,.main-nav a[aria-current='page'] { border-color:var(--line); background:var(--panel); color:var(--gold); }
.nav-spacer { flex:1; }
.lang { display:inline-flex; border:1px solid var(--line); }
.lang button { min-width:38px; padding:8px; border:0; background:transparent; color:var(--muted); font-size:.68rem; font-weight:900; }
.lang button.active { background:var(--white); color:var(--ink); }
.nav-tester { display:inline-flex; min-height:44px; align-items:center; padding:0 18px; border:2px solid var(--gold); color:var(--gold); font-size:.7rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.nav-tester:hover { background:var(--gold); color:var(--ink); }
.menu-toggle { display:none; width:46px; height:46px; border:1px solid var(--line); background:var(--panel); }
.menu-toggle span { display:block; width:20px; height:2px; margin:4px auto; background:var(--white); transition:transform .2s,opacity .2s; }
.menu-toggle[aria-expanded='true'] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded='true'] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.mobile-nav { display:none; }

.home-hero { position:relative; min-height:calc(100svh - 78px); isolation:isolate; display:flex; align-items:stretch; overflow:hidden; border-bottom:1px solid var(--line); background:var(--ink); }
.home-hero::before { content:''; position:absolute; z-index:-2; inset:0; background-image:var(--hero-football-image); background-position:center 28%; background-size:cover; filter:saturate(.72) contrast(1.18); transform:scale(1.015); }
.home-hero::after { content:''; position:absolute; z-index:-1; inset:0; background:rgba(0,0,0,.64); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr); align-items:end; gap:clamp(28px,4vw,64px); padding-block:clamp(84px,11vw,150px) 56px; }
.hero-copy { max-width:930px; }
.hero-kicker { display:inline-flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:24px; padding:8px 12px; border-left:5px solid var(--gold); background:rgba(0,0,0,.72); }
.hero-kicker strong { color:var(--white); font-family:var(--display); font-size:.95rem; letter-spacing:.11em; }
.hero-kicker span { color:var(--silver); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.hero-title { max-width:1050px; font-size:clamp(4.5rem,10.6vw,10.5rem); line-height:.84; text-wrap:balance; text-shadow:0 5px 35px rgba(0,0,0,.7); }
.hero-title span,.hero-title em { display:block; }
.hero-title em { color:var(--gold); font-style:normal; }
.hero-copy .lede { max-width:650px; margin-top:30px; color:var(--white); text-shadow:0 2px 14px var(--ink); }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:0; margin-top:44px; border-block:1px solid rgba(255,255,255,.28); }
.hero-meta span { min-width:155px; padding:16px 24px 16px 0; }
.hero-meta span+span { padding-left:24px; border-left:1px solid rgba(255,255,255,.28); }
.hero-meta b { display:block; font-family:var(--display); font-size:2.15rem; line-height:1; }
.hero-meta i { display:block; color:var(--silver); font-size:.68rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.hero-stage { align-self:end; }
.release-signal { position:relative; padding:0; border:1px solid rgba(255,255,255,.25); border-top:7px solid var(--gold); background:rgba(5,5,5,.9); box-shadow:22px 22px 0 rgba(214,173,43,.2); }
.release-signal::after { content:'THE ROAD TO RELEASE'; display:block; padding:10px 18px; border-top:1px solid var(--line); color:var(--muted); font-size:.62rem; font-weight:900; letter-spacing:.18em; }
.release-signal__kicker { display:block; padding:14px 18px 10px; color:var(--gold); font-size:.68rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.release-signal__title { display:block; padding:0 18px; font-family:var(--display); font-size:clamp(2rem,3.5vw,3.3rem); font-weight:900; line-height:.9; text-transform:uppercase; }
.release-signal__label { display:block; padding:18px; color:var(--white); font-family:var(--display); font-size:clamp(2.3rem,4vw,4rem); font-weight:900; line-height:.85; text-transform:uppercase; }
.release-countdown { display:grid; grid-template-columns:repeat(4,1fr); margin-top:20px; border-top:1px solid var(--line); }
.release-countdown>div { min-width:0; padding:20px 5px 16px; text-align:center; }
.release-countdown>div+div { border-left:1px solid var(--line); }
.release-countdown strong { display:block; color:var(--gold); font-family:var(--display); font-size:clamp(2.25rem,3.6vw,4rem); font-variant-numeric:tabular-nums; line-height:.8; }
.release-countdown span { display:block; margin-top:10px; color:var(--muted); font-size:.6rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

.section { padding:clamp(82px,10vw,160px) 0; border-bottom:1px solid var(--line-soft); }
.section--tight { padding:clamp(58px,7vw,104px) 0; }
.section-head { display:grid; max-width:980px; gap:20px; margin-bottom:clamp(42px,6vw,82px); }
.section-head h2 { font-size:clamp(3.4rem,7.8vw,7.4rem); }
.section-head p { max-width:680px; color:var(--silver); font-size:clamp(1rem,1.5vw,1.22rem); }
.section-head--compact { display:flex; max-width:none; align-items:end; justify-content:space-between; gap:28px; }
.section-head--compact>div { max-width:900px; }
.section-action { display:flex; flex-wrap:wrap; gap:12px; }
.connect { background:var(--paper); color:var(--ink); }
.connect .eyebrow { color:var(--gold-dark); }
.connect-copy h2 { font-size:clamp(3.8rem,7vw,7.1rem); }
.connect-copy>p { max-width:610px; margin-top:26px; color:var(--silver); font-size:clamp(1rem,1.4vw,1.2rem); }
.connect-copy>.eyebrow { margin-top:0; color:var(--gold); font-size:.72rem; }
.connect .connect-copy>p { color:#363638; }
.connect .connect-copy>.eyebrow { color:var(--gold-dark); }
.connect-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,.85fr); gap:clamp(42px,7vw,100px); align-items:center; }
.connect-visual { border-top:8px solid var(--gold); background:var(--ink); color:var(--white); }
.connect-node { display:grid; grid-template-columns:54px 1fr; align-items:center; min-height:70px; border-bottom:1px solid var(--line); }
.connect-node i { display:grid; height:100%; place-items:center; border-right:1px solid var(--line); color:var(--gold); font-family:var(--display); font-style:normal; font-weight:900; }
.connect-node span { padding:12px 18px; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.connect-node.is-hub { background:var(--gold); color:var(--ink); }
.connect-node.is-hub i { border-color:rgba(0,0,0,.2); color:var(--ink); }
.stat-row { display:flex; flex-wrap:wrap; gap:0; margin-top:40px; border-block:1px solid #c7c3bb; }
.stat-row span { min-width:155px; padding:15px 22px 15px 0; }
.stat-row span+span { padding-left:22px; border-left:1px solid #c7c3bb; }
.stat-row b { display:block; color:var(--ink); font-family:var(--display); font-size:2.8rem; line-height:1; }
.stat-row i { display:block; color:#555; font-size:.65rem; font-style:normal; font-weight:700; text-transform:uppercase; }
.media-break { position:relative; isolation:isolate; min-height:min(760px,78svh); display:flex; align-items:end; overflow:hidden; border-bottom:1px solid var(--line); }
.media-break__image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.15); }
.media-break::after { content:''; position:absolute; z-index:-1; inset:0; background:rgba(0,0,0,.55); }
.media-break .wrap { padding-block:90px; }
.media-break__copy { max-width:930px; padding-left:clamp(20px,4vw,60px); border-left:10px solid var(--gold); }
.media-break__copy h2 { max-width:900px; font-size:clamp(4.1rem,9.4vw,9rem); }
.media-break__copy p { max-width:650px; margin-top:26px; color:var(--white); font-size:clamp(1rem,1.5vw,1.22rem); }

.trailer-section { padding:clamp(70px,9vw,130px) 0; overflow:hidden; background:var(--paper); color:var(--ink); }
.trailer-shell { position:relative; border:1px solid #aaa69e; background:var(--ink); box-shadow:18px 18px 0 var(--gold); }
.trailer-shell::before { content:''; position:absolute; z-index:2; inset:-1px auto auto -1px; width:clamp(86px,9vw,136px); height:8px; background:var(--gold); pointer-events:none; }
.trailer-copy { display:grid; grid-template-columns:minmax(370px,.48fr) minmax(0,1fr); align-items:stretch; }
.trailer-copy>div { position:relative; z-index:1; display:flex; min-width:0; flex-direction:column; justify-content:center; padding:clamp(38px,3.8vw,58px); background:var(--ink); color:var(--white); }
.trailer-copy h2 { max-width:7.5ch; margin:18px 0 22px; font-size:clamp(4rem,5vw,5.75rem); line-height:.82; text-wrap:balance; }
.trailer-subline { max-width:34ch; color:var(--silver); font-size:clamp(1rem,1.2vw,1.12rem); line-height:1.55; }
.premiere-note { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px 14px; margin-top:clamp(28px,3vw,42px); padding-top:18px; border-top:1px solid var(--line); text-transform:uppercase; }
.premiere-note__label { display:inline-flex; align-items:center; gap:9px; color:var(--gold); font-size:.7rem; font-weight:900; letter-spacing:.12em; white-space:nowrap; }
.premiere-note__label::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--live); box-shadow:0 0 0 4px rgba(239,65,54,.14); }
.premiere-note__time { color:var(--white); font-family:var(--display); font-size:1.08rem; font-weight:800; letter-spacing:.02em; line-height:1.1; text-align:right; }
.trailer-video { position:relative; min-width:0; aspect-ratio:16/9; align-self:center; overflow:hidden; background:#000; }
.trailer-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

.gameday-board { background:var(--ink); }
.game-platform-grid { display:grid; grid-template-columns:repeat(2,minmax(0,460px)); justify-content:space-between; gap:clamp(32px,5vw,72px); align-items:start; }
.app-game-widget { min-width:0; color:#fff; }
.app-game-widget__topbar { display:flex; min-height:38px; align-items:flex-end; justify-content:space-between; gap:10px; padding:0 8px 5px; }
.app-game-widget__league { flex:1; padding-bottom:4px; overflow:hidden; color:#b4b8bd; font-size:.625rem; font-weight:700; letter-spacing:.55px; text-overflow:ellipsis; white-space:nowrap; }
.app-game-widget__status { padding:3px 8px; border:1px solid #343840; border-radius:999px; color:#fff; font-size:.5625rem; font-weight:700; letter-spacing:.5px; }
.app-game-widget__status.is-live { border-color:#e8352f; background:#e8352f; }
.app-game-widget__kickoff { min-height:28px; padding:0 8px 7px; color:#b4b8bd; font-size:.625rem; font-weight:700; letter-spacing:.45px; }
.app-game-widget__matchup { position:relative; display:flex; height:124px; overflow:hidden; border-radius:24px; box-shadow:0 9px 18px rgba(0,0,0,.32); }
.app-game-widget__team { position:relative; display:flex; flex:1; min-width:0; align-items:center; gap:6px; padding:0 30px 0 10px; overflow:hidden; background:var(--app-team); }
.app-game-widget__team::before { content:''; position:absolute; inset:0; background:rgba(0,0,0,.24); }
.app-game-widget__team::after { content:''; position:absolute; inset:0 0 54% 0; background:rgba(255,255,255,.07); }
.app-game-widget__team--right { padding:0 10px 0 30px; }
.app-team-mark { position:relative; z-index:1; display:grid; flex:0 0 58px; width:58px; height:58px; place-items:center; }
.app-team-mark i { position:absolute; width:42px; height:42px; border:2px solid rgba(255,255,255,.82); border-radius:9px; background:var(--app-team); transform:rotate(45deg); }
.app-team-mark b { position:relative; color:#fff; font-family:var(--display); font-size:1rem; font-weight:900; text-shadow:0 1px 2px rgba(0,0,0,.65); }
.app-team-mark img { position:relative; z-index:1; width:58px; height:58px; object-fit:contain; }
.app-game-widget__identity { position:relative; z-index:1; display:flex; flex:1; min-width:0; flex-direction:column; }
.app-game-widget__team--right .app-game-widget__identity { align-items:flex-end; }
.app-game-widget__identity b { color:#fff; font-family:var(--display); font-size:1.5rem; font-weight:900; letter-spacing:.7px; line-height:1.125; }
.app-game-widget__identity small { margin-top:3px; color:rgba(255,255,255,.72); font-size:.5625rem; font-weight:700; }
.app-game-widget__score { position:relative; z-index:1; color:#fff; font-family:var(--display); font-size:1.94rem; font-variant-numeric:tabular-nums; font-weight:900; line-height:1.16; text-shadow:0 1px 3px rgba(0,0,0,.3); }
.app-game-widget__center { position:absolute; z-index:3; top:43px; left:50%; display:grid; width:38px; height:38px; margin-left:-19px; place-items:center; border-radius:12px; background:#11151a; color:#fff; font-size:.5625rem; font-weight:700; box-shadow:0 5px 12px rgba(0,0,0,.22); }
.app-game-widget__center.is-live { width:48px; margin-left:-24px; background:#e8352f; }
.app-game-widget__center.is-scheduled { top:32px; display:flex; width:68px; height:60px; margin-left:-34px; flex-direction:column; padding:7px; }
.app-game-widget__center i { display:block; width:22px; height:2px; margin:6px 0 5px; border-radius:2px; background:#c9a227; }
.app-game-widget__center small { color:#8c9096; font-size:.5rem; font-style:normal; font-weight:700; letter-spacing:.35px; line-height:1; white-space:nowrap; }
.app-game-widget__footer { display:flex; min-height:36px; align-items:center; gap:10px; padding:0 8px; }
.app-game-widget__situation { flex:1; color:#b4b8bd; font-size:.5625rem; font-weight:700; }
.app-game-widget__action { color:#8c9096; font-size:.625rem; font-weight:800; letter-spacing:.55px; }
.app-standings-widget { display:grid; gap:8px; min-width:0; }
.app-standings-widget__head { display:flex; min-height:38px; align-items:flex-end; justify-content:space-between; gap:12px; padding:0 8px 5px; }
.app-standings-widget__head strong { color:#fff; font-size:.94rem; font-weight:900; }
.app-standings-widget__head span { color:#8c9096; font-size:.5625rem; font-weight:700; letter-spacing:.5px; text-align:right; }
.app-standing-row { position:relative; display:grid; grid-template-columns:24px 38px minmax(0,1fr) auto; min-height:64px; align-items:center; gap:8px; padding:0 10px; overflow:hidden; border:1px solid #2a2a2e; border-radius:20px; background:#161618; box-shadow:0 5px 12px rgba(0,0,0,.22); }
.app-standing-row.is-qualified::before { content:''; position:absolute; inset:6px auto 6px 0; width:4px; border-radius:0 3px 3px 0; background:#c9a227; }
.app-standing-row__rank { display:grid; width:24px; height:24px; place-items:center; border-radius:8px; background:#1d1d20; color:#b4b8bd; font-size:.6875rem; font-weight:900; }
.app-standing-row__mark { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:rgba(255,255,255,.06); color:#b4b8bd; font-family:var(--display); font-size:.75rem; font-weight:900; }
.app-standing-row__mark img { width:28px; height:28px; object-fit:contain; }
.app-standing-row__team { display:flex; min-width:0; flex-direction:column; }
.app-standing-row__team b { overflow:hidden; color:#fff; font-size:.75rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.app-standing-row__team small { margin-top:3px; color:#5a5f64; font-size:.5rem; font-weight:900; letter-spacing:.5px; }
.app-standing-row.is-qualified .app-standing-row__team small { color:#c9a227; }
.app-standing-row__record { display:flex; align-items:flex-end; flex-direction:column; padding:5px 8px; border-radius:12px; background:#1d1d20; }
.app-standing-row__record b { color:#fff; font-size:.75rem; font-weight:900; }
.app-standing-row__record small { margin-top:2px; color:#8c9096; font-size:.625rem; font-weight:800; }

.product { background:var(--ink-2); }
.product-piece { display:grid; grid-template-columns:minmax(0,.78fr) minmax(430px,1.1fr); gap:clamp(36px,7vw,110px); align-items:center; min-height:760px; padding:clamp(62px,8vw,120px) 0; border-top:1px solid var(--line); }
.product-piece:nth-child(odd) .product-piece__stage { order:-1; }
.product-piece__number { color:var(--gold); font-family:var(--display); font-size:.9rem; font-weight:800; letter-spacing:.14em; }
.product-piece__copy h3 { margin:20px 0 24px; font-size:clamp(3.5rem,6.4vw,6.4rem); }
.product-piece__copy p { max-width:540px; color:var(--silver); font-size:clamp(1rem,1.4vw,1.18rem); }
.product-piece__copy .text-link { margin-top:30px; }
.product-piece__stage { position:relative; display:grid; min-height:620px; place-items:center; overflow:hidden; border:1px solid var(--line); background:var(--panel); }
.product-piece__stage::before { content:''; position:absolute; inset:50% auto auto 50%; width:78%; aspect-ratio:1; border:1px solid var(--gold-dark); border-radius:50%; transform:translate(-50%,-50%); }
.device { position:relative; z-index:2; width:min(300px,72vw); aspect-ratio:390/812; padding:9px; border:1px solid #48484d; border-radius:44px; background:#080809; box-shadow:22px 30px 70px rgba(0,0,0,.62); }
.device__screen { position:relative; width:100%; height:100%; overflow:hidden; padding:10px 0; border-radius:35px; background:var(--ink); }
.device__screen img { width:100%; height:100%; object-fit:contain; object-position:center top; }
.device__glare { position:absolute; inset:0; border:1px solid rgba(255,255,255,.1); border-radius:inherit; pointer-events:none; }
.device-stack { position:relative; display:grid; min-height:650px; place-items:center; }
.device-stack .device { position:absolute; }
.device-stack .device:nth-child(1) { z-index:1; transform:translateX(-52%) rotate(-7deg) scale(.86); opacity:.72; }
.device-stack .device:nth-child(2) { z-index:3; }
.device-stack .device:nth-child(3) { z-index:1; transform:translateX(52%) rotate(7deg) scale(.86); opacity:.72; }

.data-rail-wrap { position:relative; margin-top:20px; }
.data-rail { display:flex; gap:12px; overflow-x:auto; padding:2px 2px 16px; scrollbar-color:var(--gold) var(--panel); scroll-snap-type:x mandatory; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.app-league-cell { position:relative; flex:0 0 96px; aspect-ratio:1; padding:12px; border:1px solid #2a2a2e; border-radius:20px; background:#161618; box-shadow:0 5px 12px rgba(0,0,0,.22); cursor:default; scroll-snap-align:start; }
.app-league-badge { position:relative; display:grid; width:100%; height:100%; place-items:center; border:1px solid #c9a227; border-radius:16px; background:#332b14; color:#c9a227; overflow:hidden; }
.app-league-badge.has-logo { padding:0; border-color:transparent; border-radius:0; background:transparent; overflow:visible; }
.app-league-badge b { font-family:var(--display); font-size:.94rem; font-weight:900; }
.app-league-logo { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.app-league-logo--glow { opacity:.32; filter:brightness(0) invert(1); transform:scale(1.035); }
.team-rail .app-team-row { flex:0 0 330px; scroll-snap-align:start; }
.app-team-row { display:flex; min-width:0; min-height:68px; align-items:center; gap:12px; padding:12px; border:1px solid #2a2a2e; border-radius:20px; background:#161618; box-shadow:0 5px 12px rgba(0,0,0,.22); cursor:default; }
.app-team-row__logo { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; padding:5px; border-radius:12px; background:rgba(255,255,255,.06); }
.app-team-row__logo img { width:100%; height:100%; object-fit:contain; }
.app-team-row__logo b { color:#b4b8bd; font-family:var(--display); font-size:.75rem; font-weight:900; }
.app-team-row__copy { display:flex; flex:1; min-width:0; flex-direction:column; }
.app-team-row__copy b { overflow:hidden; color:#fff; font-family:var(--display); font-size:.82rem; font-weight:800; line-height:1.1; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.app-team-row__copy small { margin-top:3px; overflow:hidden; color:#8c9096; font-size:.625rem; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.app-team-row__chip { flex:0 0 auto; max-width:80px; overflow:hidden; padding:5px 10px; border:1px solid rgba(201,162,39,.32); border-radius:999px; background:#332b14; color:#c9a227; font-size:.625rem; font-weight:700; letter-spacing:.4px; text-overflow:ellipsis; white-space:nowrap; }
.app-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
[data-league-grid] { display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:10px; }
[data-league-grid] .app-league-cell { width:100%; }
.active-count { display:flex; min-height:50px; align-items:center; gap:8px; padding:0 16px; border:1px solid #2a2a2e; border-radius:16px; background:#161618; }
.active-count b { color:#c9a227; font-family:var(--display); font-size:1.35rem; line-height:1; }
.active-count span { color:#b4b8bd; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.league-grid,.partner-grid,.news-grid,.update-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.league-card { grid-column:span 3; display:grid; min-height:250px; align-content:space-between; gap:24px; padding:26px; border:1px solid var(--line); border-top:6px solid var(--gold); background:var(--panel); }
.league-card:hover,.partner-card:hover,.news-card:hover { background:var(--panel-2); transform:translateY(-4px); }
.league-card-top { display:flex; align-items:start; justify-content:space-between; }
.league-logo,.partner-logo { display:grid; width:70px; height:70px; place-items:center; border:1px solid var(--line); background:var(--ink); color:var(--gold); font-family:var(--display); font-size:1.25rem; font-weight:900; }
.league-logo img,.partner-logo img { width:76%; height:76%; object-fit:contain; }
.league-card h3 { font-size:1.8rem; }
.league-card p { color:var(--muted); font-size:.78rem; }
.league-toolbar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:38px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.league-toolbar input { flex:1; min-width:230px; min-height:50px; padding:0 16px; border:1px solid var(--line); background:var(--panel); color:var(--white); }
.league-filter { min-height:50px; padding:0 18px; border:1px solid var(--line); background:transparent; color:var(--silver); font-size:.7rem; font-weight:900; text-transform:uppercase; }
.league-filter.active { border-color:var(--gold); background:var(--gold); color:var(--ink); }
.partner-card { grid-column:span 3; display:flex; min-height:138px; align-items:center; gap:18px; padding:22px; border:1px solid var(--line); background:var(--panel); transition:.2s var(--ease); }
.partner-card .role { display:block; color:var(--gold); font-size:.62rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.partner-card h3 { margin-top:6px; font-size:1.45rem; }

.news-card { grid-column:span 4; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-bottom:6px solid var(--gold); background:var(--panel); cursor:pointer; transition:.2s var(--ease); }
.news-card:first-child { grid-column:span 8; grid-row:span 2; }
.news-card__media { aspect-ratio:16/9; overflow:hidden; background:var(--panel-2); }
.news-card:first-child .news-card__media { aspect-ratio:16/8.5; }
.news-card__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.08); transition:transform .5s var(--ease); }
.news-card:hover .news-card__media img { transform:scale(1.04); }
.news-card__body { display:flex; flex:1; flex-direction:column; gap:14px; padding:24px; }
.card-meta { display:flex; gap:10px; color:var(--muted); font-size:.7rem; font-weight:700; text-transform:uppercase; }
.news-card h3 { font-size:clamp(1.65rem,2.6vw,2.6rem); }
.news-card p { display:-webkit-box; overflow:hidden; color:var(--silver); font-size:.88rem; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.news-card .text-link { align-self:start; margin-top:auto; }
.update-card { grid-column:span 4; padding:26px; border:1px solid var(--line); border-left:6px solid var(--gold); background:var(--panel); }
.update-card h3 { margin:12px 0; font-size:1.7rem; }
.update-card p { color:var(--silver); font-size:.9rem; }
.news-modal { position:fixed; z-index:200; inset:0; display:grid; place-items:center; padding:20px; }
.news-modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.88); }
.news-modal__panel { position:relative; width:min(880px,100%); max-height:92vh; overflow:auto; border:1px solid var(--line); border-top:7px solid var(--gold); background:var(--panel); }
.news-modal__close { position:absolute; z-index:2; top:14px; right:14px; width:46px; height:46px; border:1px solid var(--white); background:var(--ink); color:var(--white); font-size:1.4rem; }
.news-modal__image { width:100%; aspect-ratio:16/8; object-fit:cover; }
.news-modal__body { display:grid; gap:18px; padding:clamp(28px,5vw,60px); }
.news-modal__body h2 { font-size:clamp(2.3rem,5vw,4.6rem); }
.news-modal__body p { color:var(--silver); white-space:pre-line; }

.form-card { display:grid; gap:18px; padding:clamp(28px,4vw,54px); border:1px solid var(--line); border-top:7px solid var(--gold); background:var(--panel); }
.field,.field-row { display:grid; gap:9px; }
.field-row { grid-template-columns:1fr 1fr; gap:16px; }
.field label { color:var(--silver); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; min-height:54px; padding:14px 16px; border:1px solid var(--line); border-radius:0; background:var(--ink); color:var(--white); }
.field textarea { min-height:140px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--gold); outline:0; }
.consent { display:flex; gap:10px; color:var(--muted); font-size:.78rem; }
.form-hp { display:none!important; }
.form-status { min-height:22px; font-size:.8rem; font-weight:700; }
.form-status.success { color:#5bd67e; }
.form-status.error { color:#ff746d; }
.form-note { padding:13px 15px; border-left:3px solid var(--gold); background:#0b0b0c; color:var(--muted); font-size:.78rem; line-height:1.55; }
.feedback-board-section { background:radial-gradient(circle at 88% 8%,rgba(214,173,43,.13),transparent 32%),#080809; }
.feedback-toolbar { display:flex; align-items:center; border:1px solid var(--line); }
.feedback-toolbar button { min-height:46px; padding:0 18px; border:0; border-left:1px solid var(--line); background:transparent; color:var(--silver); font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.feedback-toolbar button:first-child { border-left:0; }
.feedback-toolbar button.active { background:var(--gold); color:var(--ink); }
.feedback-board { display:grid; gap:16px; }
.feedback-card { display:grid; grid-template-columns:minmax(0,1fr) 250px; border:1px solid var(--line); border-left:7px solid var(--gold); background:var(--panel); }
.feedback-card__copy { min-width:0; padding:clamp(26px,4vw,46px); }
.feedback-card__meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px; color:var(--muted); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.feedback-category,.feedback-status { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border:1px solid var(--line); }
.feedback-category { color:var(--gold); }
.feedback-status--planned,.feedback-status--reviewing { border-color:#6f5b18; background:#201b09; color:#e6c348; }
.feedback-status--done { border-color:#236b3a; background:#0b2514; color:#73dc91; }
.feedback-status--declined { border-color:#6d3430; background:#28100f; color:#ff8880; }
.feedback-card h3 { margin-top:20px; font-size:clamp(2rem,4vw,3.6rem); line-height:.9; overflow-wrap:anywhere; }
.feedback-card__copy>p { max-width:820px; margin-top:16px; color:var(--silver); }
.feedback-card .feedback-benefit { color:var(--white); }
.feedback-benefit strong { color:var(--gold); }
.feedback-response { max-width:820px; margin-top:24px; padding:18px 20px; border:1px solid #4f431c; background:#171407; }
.feedback-response strong { display:block; color:var(--gold); font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; }
.feedback-response p { margin-top:7px; color:var(--white); font-size:.88rem; }
.feedback-votes { display:grid; grid-template-columns:1fr 1fr; align-content:stretch; border-left:1px solid var(--line); background:#0b0b0c; }
.feedback-vote { display:grid; min-height:152px; place-content:center; gap:3px; border:0; background:transparent; color:var(--silver); text-align:center; }
.feedback-vote+.feedback-vote { border-left:1px solid var(--line); }
.feedback-vote span { font-size:.8rem; }
.feedback-vote strong { font-family:var(--display); font-size:2.4rem; line-height:1; }
.feedback-vote small,.feedback-score small { font-size:.6rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.feedback-vote--up:hover,.feedback-vote--up.active { background:#0e2716; color:#71df91; }
.feedback-vote--down:hover,.feedback-vote--down.active { background:#2a1110; color:#ff817a; }
.feedback-vote:disabled { cursor:wait; opacity:.6; }
.feedback-score { grid-column:1/-1; display:flex; min-height:74px; align-items:center; justify-content:space-between; gap:14px; padding:16px 20px; border-top:1px solid var(--line); color:var(--muted); }
.feedback-score strong { color:var(--gold); font-family:var(--display); font-size:1.8rem; }
.feedback-loading,.feedback-empty { padding:45px 24px; border:1px dashed var(--line); color:var(--muted); text-align:center; }
.feedback-vote-status { margin-top:14px; }
.give-back__card { display:grid; grid-template-columns:1fr auto; align-items:end; gap:30px; padding:clamp(36px,6vw,80px); border:1px solid var(--gold-dark); border-left:12px solid var(--gold); background:var(--panel); }
.give-back__card h2 { margin-top:12px; font-size:clamp(3rem,6vw,6.3rem); }
.give-back__card>div>p { max-width:720px; margin-top:18px; color:var(--silver); }
.give-back__actions { display:flex; flex-direction:column; align-items:start; gap:14px; }
.give-back__note { max-width:300px; color:var(--muted); font-size:.7rem; }
.campaign-promo { --campaign-accent:var(--gold); position:relative; display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); min-height:520px; overflow:hidden; border:1px solid #343438; background:linear-gradient(135deg,#151517,#09090a 68%); box-shadow:0 42px 100px rgba(0,0,0,.35); }
.campaign-promo::before { content:''; position:absolute; z-index:2; inset:0 auto 0 0; width:8px; background:var(--campaign-accent); }
.campaign-promo__visual { position:relative; min-height:420px; overflow:hidden; background:radial-gradient(circle at center,rgba(208,169,22,.25),transparent 62%),#111; }
.campaign-promo__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,#0b0b0c); }
.campaign-promo__visual img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.1); }
.campaign-promo__monogram { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.08); font-family:var(--display); font-size:clamp(4rem,9vw,9rem); font-weight:900; line-height:.75; text-align:center; transform:rotate(-8deg); }
.campaign-promo__content { position:relative; z-index:3; display:flex; min-width:0; flex-direction:column; justify-content:center; padding:clamp(38px,6vw,86px); }
.campaign-promo__content .eyebrow { color:var(--campaign-accent); }.campaign-promo__content h2 { max-width:780px; margin:15px 0 22px; font-size:clamp(3.4rem,7vw,7.4rem); line-height:.82; overflow-wrap:anywhere; }.campaign-promo__summary { max-width:680px; color:var(--silver); font-size:clamp(.95rem,1.3vw,1.15rem); }
.campaign-page-placement { background:radial-gradient(circle at 12% 50%,rgba(214,173,43,.11),transparent 38%),#09090a; }
.campaign-announcement { position:relative; z-index:90; border-bottom:1px solid var(--campaign-accent,var(--gold)); background:#101012; }
.campaign-announcement::before { content:''; position:absolute; inset:0 auto 0 0; width:7px; background:var(--campaign-accent,var(--gold)); }
.campaign-announcement__inner { min-height:54px; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:18px; }
.campaign-announcement__label { color:var(--campaign-accent,var(--gold)); font-size:.66rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.campaign-announcement strong { min-width:0; overflow:hidden; font-family:var(--display); font-size:1.18rem; line-height:1; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.campaign-announcement__progress { color:var(--silver); font-size:.72rem; font-weight:800; white-space:nowrap; }
.campaign-announcement__action { color:var(--white); font-size:.69rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.campaign-promo__stats { display:grid; grid-template-columns:minmax(230px,1fr) auto; align-items:end; gap:28px; margin:34px 0 28px; }.campaign-promo__impact { color:var(--white); font-family:var(--display); font-size:1.5rem; font-weight:900; text-transform:uppercase; }
.campaign-progress { display:grid; gap:9px; }.campaign-progress>span { display:block; width:100%; height:8px; overflow:hidden; background:#29292c; }.campaign-progress i { display:block; height:100%; background:var(--campaign-accent,var(--gold)); }.campaign-progress b { color:var(--silver); font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; }.campaign-progress__gain { color:var(--campaign-accent,var(--gold)); font-style:normal; font-size:.78rem; font-weight:800; }.campaign-progress__stamp { color:var(--muted); font-size:.66rem; letter-spacing:.04em; }
.campaign-overview-hero { background:radial-gradient(circle at 75% 50%,rgba(208,169,22,.12),transparent 33%); }.campaign-overview-hero h1,.campaign-hero h1 { line-height:.8; overflow-wrap:anywhere; }
.campaign-group+.campaign-group { margin-top:90px; }.campaign-group>h2 { margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid var(--line); font-size:clamp(2.5rem,5vw,4.8rem); }.campaign-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.campaign-card { --campaign-accent:var(--gold); display:grid; grid-template-columns:minmax(180px,.72fr) minmax(0,1fr); min-height:360px; overflow:hidden; border:1px solid var(--line); border-bottom:7px solid var(--campaign-accent); background:var(--panel); transition:.25s var(--ease); }.campaign-card:hover { transform:translateY(-5px); border-color:#5b5130; }.campaign-card__media { min-height:260px; overflow:hidden; background:#111; }.campaign-card__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); transition:transform .45s var(--ease); }.campaign-card:hover img { transform:scale(1.04); }.campaign-card__media>span { display:grid; height:100%; place-items:center; padding:20px; color:#39393d; font-family:var(--display); font-size:3.4rem; font-weight:900; line-height:.8; text-align:center; }.campaign-card__body { display:flex; min-width:0; flex-direction:column; padding:32px; }.campaign-card h2 { margin:12px 0; font-size:clamp(2.2rem,4vw,4.2rem); line-height:.86; overflow-wrap:anywhere; }.campaign-card__body>p:not(.eyebrow) { color:var(--silver); }.campaign-card .campaign-progress { margin-top:auto; padding-top:26px; }.campaign-card .text-link { margin-top:20px; }
.campaign-empty { min-height:260px; display:grid; place-items:center; padding:40px; border:1px dashed var(--line); color:var(--muted); text-align:center; }.campaign-detail-loading { min-height:80vh; display:grid; place-content:center; gap:18px; color:var(--muted); text-align:center; }.campaign-detail-loading span { width:54px; height:6px; background:var(--gold); animation:campaign-load 1s ease-in-out infinite alternate; }@keyframes campaign-load { to { transform:scaleX(2); opacity:.35; } }
.campaign-hero { position:relative; min-height:min(860px,92vh); display:flex; align-items:end; overflow:hidden; background:#09090a; }.campaign-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.13); }.campaign-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,6,.98) 0%,rgba(5,5,6,.78) 48%,rgba(5,5,6,.28)),linear-gradient(0deg,#09090a,transparent 62%); }.campaign-hero__copy { position:relative; z-index:2; padding-block:clamp(140px,18vh,220px) clamp(70px,9vh,110px); }.campaign-hero h1 { max-width:980px; margin:18px 0 28px; font-size:clamp(4.5rem,10vw,10rem); }.campaign-hero .lede { max-width:720px; }.campaign-hero .hero-actions { justify-content:flex-start; }
.campaign-stat-section { border-block:1px solid var(--line); background:#101012; }.campaign-stat-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); }.campaign-stat { min-height:210px; display:flex; flex-direction:column; justify-content:center; padding:34px; border-left:1px solid var(--line); }.campaign-stat:first-child { border-left:0; }.campaign-stat small { color:var(--campaign-accent); font-size:.62rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }.campaign-stat strong { display:block; margin:12px 0 5px; font-family:var(--display); font-size:clamp(2.5rem,4.8vw,5rem); line-height:.84; }.campaign-stat span { color:var(--muted); font-size:.75rem; }.campaign-stat .campaign-progress { margin-top:20px; }.campaign-stat--total { background:var(--campaign-accent); color:#080808; }.campaign-stat--total small,.campaign-stat--total span { color:#24210f; }
.campaign-story { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(50px,8vw,120px); align-items:start; }.campaign-story h2,.campaign-impact h2,.campaign-donation h2,.campaign-finale h2 { margin:14px 0 24px; font-size:clamp(3.5rem,7vw,7.2rem); line-height:.84; overflow-wrap:anywhere; }.campaign-steps { display:grid; }.campaign-steps article { position:relative; min-height:150px; padding:22px 20px 24px 88px; border-top:1px solid var(--line); }.campaign-steps article>b { position:absolute; left:12px; top:20px; color:var(--campaign-accent); font-family:var(--display); font-size:2.6rem; }.campaign-steps h3 { font-size:1.8rem; }.campaign-steps p { margin-top:9px; color:var(--silver); }
.campaign-video { aspect-ratio:16/9; padding:8px; border:1px solid var(--campaign-accent); background:#000; }.campaign-video iframe { width:100%; height:100%; border:0; }
.campaign-impact { background:#efeee9; color:#080808; }.campaign-impact .eyebrow { color:#7c6718; }.campaign-impact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#aaa89f; border:1px solid #aaa89f; }.campaign-impact-grid article { min-height:330px; padding:38px; background:#efeee9; }.campaign-impact-grid small { color:#7c6718; font-size:.65rem; font-weight:950; letter-spacing:.13em; }.campaign-impact-grid strong { display:block; margin:34px 0 6px; font-family:var(--display); font-size:clamp(3.8rem,7vw,7rem); line-height:.8; }.campaign-impact-grid h3 { margin:20px 0 12px; font-size:1.8rem; }.campaign-impact-grid p { color:#515151; }
.campaign-donation { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:40px; padding:clamp(40px,7vw,90px); border:1px solid var(--campaign-accent); border-left:10px solid var(--campaign-accent); background:var(--panel); }.campaign-donation>div>p:last-child { max-width:750px; color:var(--silver); }.campaign-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.campaign-media { margin:0; overflow:hidden; border:1px solid var(--line); background:var(--panel); }.campaign-media img,.campaign-media video,.campaign-media iframe { display:block; width:100%; aspect-ratio:16/9; border:0; object-fit:cover; background:#000; }.campaign-media figcaption { padding:24px; }.campaign-media h3 { font-size:1.7rem; }.campaign-media p { margin-top:9px; color:var(--silver); }.campaign-finale { position:relative; overflow:hidden; padding:clamp(60px,9vw,120px); border:1px solid var(--line); background:radial-gradient(circle at 85% 15%,rgba(208,169,22,.22),transparent 32%),#101012; }.campaign-finale::after { content:'IMPACT'; position:absolute; right:-.04em; bottom:-.22em; color:rgba(255,255,255,.035); font-family:var(--display); font-size:clamp(8rem,22vw,24rem); font-weight:900; }.campaign-finale>* { position:relative; z-index:1; }.campaign-finale .lede { max-width:720px; }
.ad-slot { padding:36px 0; }
.ad-label { width:min(var(--content),calc(100% - var(--gutter)*2)); margin:0 auto 10px; color:var(--muted); font-size:.62rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.ad-link { display:block; width:min(var(--content),calc(100% - var(--gutter)*2)); margin:auto; overflow:hidden; border:1px solid var(--line); }
.ad-link img { width:100%; }
.cta-card { padding:clamp(52px,8vw,110px); border:1px solid var(--line); border-top:9px solid var(--gold); background:var(--paper); color:var(--ink); text-align:left; }
.cta-card .eyebrow { color:var(--gold-dark); }
.cta-card h2 { max-width:980px; font-size:clamp(4rem,8vw,8rem); }
.cta-card .lede { margin:24px 0 34px; color:#363638; }
.cta-card .button.ghost { border-color:var(--ink); color:var(--ink); }
.cta-card .hero-actions { justify-content:flex-start; }

.page-hero { position:relative; overflow:hidden; padding:clamp(95px,11vw,170px) 0 60px; border-bottom:1px solid var(--line); }
.page-hero::after { content:''; position:absolute; top:0; right:-6vw; width:42vw; height:100%; border-left:1px solid var(--line); background:var(--panel); transform:skewX(-12deg); transform-origin:bottom; }
.page-hero .wrap { position:relative; z-index:1; }
.page-hero h1 { max-width:1120px; font-size:clamp(4.3rem,10vw,10rem); }
.page-hero .lede { margin-top:28px; }
.breadcrumbs { display:flex; gap:8px; margin-bottom:25px; color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.feature-strip { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.feature-strip article { min-height:250px; padding:34px; }
.feature-strip article+article { border-left:1px solid var(--line); }
.feature-strip article>b { color:var(--gold); font-size:.7rem; letter-spacing:.12em; }
.feature-strip h3 { margin:16px 0; font-size:2rem; }
.feature-strip p { color:var(--silver); }
.tester-note { padding:18px 20px; border-left:5px solid var(--gold); background:var(--panel); color:var(--silver); }
.legal-shell { display:grid; grid-template-columns:minmax(220px,.3fr) minmax(0,1fr); gap:clamp(30px,6vw,90px); }
.legal-nav { position:sticky; top:110px; align-self:start; display:grid; border-top:5px solid var(--gold); background:var(--panel); }
.legal-nav a { padding:14px 18px; border-bottom:1px solid var(--line); color:var(--silver); font-size:.78rem; font-weight:700; }
.legal-nav a:hover,.legal-nav a[aria-current='page'] { background:var(--gold); color:var(--ink); }
.legal-copy { max-width:880px; }
.legal-copy section { padding:0 0 42px; }
.legal-copy h2 { margin-bottom:18px; font-size:clamp(2rem,4vw,3.8rem); }
.legal-copy h3 { margin:24px 0 10px; font-size:1.45rem; }
.legal-copy p,.legal-copy li { color:var(--silver); }
.legal-copy ul { padding-left:20px; }
.legal-copy a { color:var(--gold); text-decoration:underline; }

.site-footer { padding:72px 0 26px; border-top:8px solid var(--gold); background:var(--paper); color:var(--ink); }
.footer-main { display:grid; grid-template-columns:minmax(270px,1.7fr) repeat(3,1fr); gap:44px; }
.site-footer .brand span { color:var(--ink); }
.footer-about p { max-width:290px; margin-top:18px; color:#555; font-size:.7rem; font-weight:800; letter-spacing:.12em; }
.footer-col { display:grid; align-content:start; gap:10px; }
.footer-col h3 { margin-bottom:7px; color:var(--ink); font-family:var(--body); font-size:.7rem; letter-spacing:.12em; }
.footer-col a { color:#4e4e52; font-size:.8rem; }
.footer-col a:hover { color:var(--gold-dark); }
.footer-bottom { display:flex; justify-content:space-between; gap:16px; margin-top:54px; padding-top:20px; border-top:1px solid #c9c5bd; color:#5d5d60; font-size:.65rem; font-weight:700; letter-spacing:.08em; }
[data-reveal] { transform:translateY(22px); transition:transform .7s var(--ease); }
[data-reveal].is-visible { transform:none; }

@media (max-width:1120px) {
  .main-nav a { padding-inline:10px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-stage { max-width:620px; }
  .connect-grid,.product-piece { grid-template-columns:1fr; }
  .product-piece:nth-child(odd) .product-piece__stage { order:0; }
  .league-card,.partner-card { grid-column:span 4; }
  .footer-main { grid-template-columns:1.5fr repeat(3,1fr); }
}
@media (max-width:980px) {
  body { padding-top:66px; }
  .site-header,.app-page .site-header { position:fixed; inset:0 0 auto; width:100%; }
  .main-nav,.nav-spacer,.nav-row>.lang,.nav-row>.nav-tester { display:none; }
  .nav-row { min-height:66px; }
  .menu-toggle { display:block; margin-left:auto; }
  /* backdrop-filter macht den Header zum Containing Block seiner fixed-
     Nachfahren: die .mobile-nav darin schrumpfte auf Header-Hoehe (nur "App"
     sichtbar). Bei offenem Menue weg, dann spannt die Nav wieder den Viewport. */
  body.menu-open .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; }
  .mobile-nav { position:fixed; z-index:98; inset:66px 0 0; display:grid; align-content:start; overflow:auto; -webkit-overflow-scrolling:touch; padding:24px var(--gutter) 42px; background:var(--ink); transform:translateX(101%); transition:transform .3s var(--ease); }
  .mobile-nav.open { transform:none; }
  .mobile-nav a { padding:15px 2px; border-bottom:1px solid var(--line); font-family:var(--display); font-size:2.2rem; font-weight:900; line-height:1; text-transform:uppercase; }
  .mobile-nav-tester { margin-top:22px; border:2px solid var(--gold)!important; background:var(--gold); color:var(--ink)!important; text-align:center; }
  .mobile-nav .lang { width:max-content; margin-top:22px; }
  .home-hero { min-height:auto; }
  .hero-grid { padding-block:80px 44px; }
  .hero-title { font-size:clamp(4rem,17vw,7rem); }
  .hero-meta span { min-width:125px; }
  .trailer-copy { grid-template-columns:1fr; }
  .trailer-copy>div { min-height:auto; padding:clamp(38px,7vw,64px); }
  .trailer-copy h2 { max-width:9ch; }
  .trailer-video { width:100%; }
  .game-platform-grid { grid-template-columns:1fr; }
  .app-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-piece { min-height:auto; }
  .product-piece__stage { min-height:560px; }
  .league-card,.partner-card,.update-card { grid-column:span 6; }
  .news-card,.news-card:first-child { grid-column:span 6; grid-row:auto; }
  .give-back__card { grid-template-columns:1fr; }
  .campaign-promo,.campaign-card,.campaign-story { grid-template-columns:1fr; }.campaign-promo__visual { min-height:340px; }.campaign-promo__visual::after { background:linear-gradient(0deg,#0b0b0c,transparent 60%); }.campaign-stat-grid { grid-template-columns:repeat(2,1fr); }.campaign-stat:nth-child(3) { border-left:0; border-top:1px solid var(--line); }.campaign-stat:nth-child(4) { border-top:1px solid var(--line); }.campaign-impact-grid { grid-template-columns:1fr; }.campaign-impact-grid article { min-height:260px; }.campaign-donation { grid-template-columns:1fr; align-items:start; }
  .feature-strip { grid-template-columns:1fr; }
  .feedback-card { grid-template-columns:1fr; }
  .feedback-votes { grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:0; }
  .feedback-vote { min-height:116px; }
  .feature-strip article+article { border-top:1px solid var(--line); border-left:0; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-about { grid-column:1/-1; }
  .legal-shell { grid-template-columns:1fr; }
  .legal-nav { position:static; }
}
@media (max-width:560px) {
  .brand span { font-size:1.15rem; }
  .hero-title { font-size:4rem; }
  .hero-kicker span { width:100%; }
  .hero-actions .button { width:100%; }
  .feedback-toolbar { width:100%; }
  .feedback-toolbar button { flex:1; padding-inline:10px; }
  .hero-meta span { flex:1 1 33%; min-width:0; padding-right:10px; }
  .hero-meta span+span { padding-left:10px; }
  .release-countdown strong { font-size:2.25rem; }
  .trailer-section { padding:58px 0 68px; }
  .trailer-shell { box-shadow:9px 9px 0 var(--gold); }
  .trailer-shell::before { height:6px; }
  .trailer-copy>div { padding:34px 26px 30px; }
  .trailer-copy h2 { max-width:8ch; margin:16px 0 18px; font-size:clamp(3.45rem,17vw,4.5rem); }
  .trailer-subline { font-size:1rem; }
  .premiere-note { grid-template-columns:1fr; gap:7px; margin-top:28px; }
  .premiere-note__time { font-size:1rem; text-align:left; }
  .game-halves { grid-template-columns:1fr; }
  .game-team,.game-team.away { flex-direction:row; justify-content:flex-start; text-align:left; }
  .game-team.away::before { inset:0 auto 0 0; }
  .game-center { min-height:90px; border-block:1px solid var(--line); border-inline:0; }
  .section-head--compact { align-items:start; flex-direction:column; }
  .connect-grid { gap:42px; }
  .product-piece__stage { min-height:500px; }
  .device-stack { min-height:530px; }
  .device-stack .device:nth-child(1) { transform:translateX(-30%) rotate(-5deg) scale(.78); }
  .device-stack .device:nth-child(3) { transform:translateX(30%) rotate(5deg) scale(.78); }
  .league-card,.partner-card,.news-card,.news-card:first-child,.update-card { grid-column:1/-1; }
  .app-team-grid { grid-template-columns:1fr; }
  [data-league-grid] { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .field-row { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .page-hero::after { display:none; }
  .campaign-grid,.campaign-media-grid,.campaign-stat-grid { grid-template-columns:1fr; }.campaign-promo__content { padding:34px 28px; }.campaign-promo__content h2 { font-size:3.5rem; }.campaign-promo__stats { grid-template-columns:1fr; }.campaign-card { grid-template-columns:1fr; }.campaign-stat,.campaign-stat:nth-child(n) { min-height:160px; border-top:1px solid var(--line); border-left:0; }.campaign-stat:first-child { border-top:0; }.campaign-hero { min-height:760px; }.campaign-hero h1 { font-size:4.5rem; }.campaign-story { grid-template-columns:1fr; }.campaign-donation { padding:34px 26px; }
  .campaign-announcement__inner { min-height:64px; grid-template-columns:minmax(0,1fr) auto; gap:3px 12px; padding-block:9px; }.campaign-announcement__label { grid-column:1; }.campaign-announcement strong { grid-column:1; font-size:1.05rem; }.campaign-announcement__progress { display:none; }.campaign-announcement__action { grid-column:2; grid-row:1/3; }
}
.app-link-hero { min-height:min(760px,88vh); display:flex; align-items:center; }.app-link-hero .wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(28px,5vw,70px); align-items:center; }.app-link-hero h1 { margin:.1em 0 .25em; font-size:clamp(3.2rem,8vw,7.4rem); line-height:.84; overflow-wrap:anywhere; }.app-link-hero p.lead { max-width:640px; }.app-link-hero .hero-actions { margin-top:28px; }.app-link-media { width:clamp(120px,18vw,220px); aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); background:var(--panel); }.app-link-media img { width:100%; height:100%; object-fit:cover; }.app-link-media--contain img { object-fit:contain; padding:14%; }.app-link-note { margin-top:26px; color:var(--muted); font-size:.82rem; }.app-link-note a { color:var(--gold); }
@media (max-width:760px) { .app-link-hero .wrap { grid-template-columns:1fr; }.app-link-media { order:-1; width:120px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } [data-reveal] { transform:none!important; transition:none!important; } .news-card__media img { transition:none; } }
