:root {
  --black: #08090a;
  --charcoal: #101214;
  --charcoal-2: #171a1d;
  --panel: #1c2024;
  --white: #f5f4ef;
  --muted: #a2a7ab;
  --line: rgba(245, 244, 239, .16);
  --line-strong: rgba(245, 244, 239, .28);
  --red: #e62c2f;
  --red-dark: #8f1b20;
  --red-soft: #b82228;
  --max-width: 1240px;
  --pad: clamp(1.25rem, 4vw, 4rem);
  --heading: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Black", sans-serif;
  --body: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; color: var(--white); background: var(--black); font-family: var(--body); font-size: 1rem; line-height: 1.55; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; background: url("assets/evm-poster-texture.jpg") center top / cover no-repeat; opacity: .085; mix-blend-mode: screen; }
body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .2; background-image: radial-gradient(rgba(255,255,255,.16) .65px, transparent .65px); background-size: 5px 5px; mix-blend-mode: soft-light; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
::selection { color: var(--black); background: var(--red); }

.shell { width: min(calc(100% - 2 * var(--pad)), var(--max-width)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; padding: .75rem 1rem; color: var(--black); background: var(--white); transform: translateY(-180%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }

:focus-visible { outline: 3px solid var(--white); outline-offset: 4px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 3.35rem; padding: .8rem 1.35rem .7rem; border: 1px solid var(--red); color: var(--white); background: var(--red); font-family: var(--heading); font-size: .92rem; letter-spacing: .08em; line-height: 1; text-transform: uppercase; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)); transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s var(--ease-out); }
.button:hover { color: var(--white); background: var(--red-soft); border-color: var(--red-soft); transform: translateY(-3px); }
.button span { font-family: var(--body); font-size: 1.1rem; }
.button--ghost { background: transparent; border-color: var(--line-strong); }
.button--ghost:hover { background: rgba(245,244,239,.1); border-color: var(--white); }
.button--header { min-height: 2.65rem; padding: .7rem 1rem .6rem; font-size: .75rem; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; border-bottom: 1px solid transparent; background: linear-gradient(180deg, rgba(8,9,10,.9), transparent); transition: background .3s ease, border-color .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled { border-color: var(--line); background: rgba(8,9,10,.96); box-shadow: 0 10px 35px rgba(0,0,0,.26); backdrop-filter: blur(14px); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 5.4rem; }
.brand, .footer-brand { display: inline-flex; align-items: center; }
.brand__plate { display: block; width: 6.7rem; height: 3.55rem; overflow: hidden; background: #fff; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%); }
.brand__plate img { width: 100%; height: 100%; object-fit: cover; object-position: center 51%; }
.site-nav { display: flex; align-items: center; gap: clamp(1.1rem, 2.5vw, 2.25rem); }
.site-nav > a:not(.button), .footer-nav a { position: relative; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; transition: color .2s ease; }
.site-nav > a:not(.button)::after, .footer-nav a::after { content: ""; position: absolute; right: 0; bottom: -.65rem; left: 0; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.site-nav > a:not(.button):hover, .site-nav > a:not(.button)[aria-current="true"], .footer-nav a:hover { color: var(--white); }
.site-nav > a:not(.button):hover::after, .site-nav > a:not(.button)[aria-current="true"]::after, .footer-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; align-items: center; gap: .75rem; padding: .55rem 0 .55rem .75rem; border: 0; background: transparent; cursor: pointer; }
.menu-toggle__label { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.menu-toggle__icon { display: grid; gap: 4px; width: 1.45rem; }
.menu-toggle__icon i { display: block; height: 2px; background: var(--white); transition: transform .2s ease, opacity .2s ease; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.hero { position: relative; min-height: min(900px, 100svh); padding: 9.7rem 0 0; overflow: hidden; background: #0b0d0f; }
.hero__backdrop { position: absolute; inset: 0; background: linear-gradient(90deg, #0b0d0f 0%, rgba(11,13,15,.83) 46%, rgba(11,13,15,.45) 100%), linear-gradient(135deg, rgba(230,44,47,.14), transparent 48%); pointer-events: none; }
.hero::before, .hero::after { content: ""; position: absolute; pointer-events: none; }
.hero::before { display: none; }
.announcement-rail { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; min-height: 2.55rem; padding: .55rem .8rem; border-block: 1px solid var(--line); background: rgba(8,9,10,.42); color: var(--muted); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.announcement-rail__label { color: var(--red); font-weight: 700; letter-spacing: .15em; }
.announcement-rail a { justify-self: end; color: var(--white); font-weight: 700; letter-spacing: .12em; }
.announcement-rail a span { color: var(--red); font-size: 1rem; }
.announcement-rail a:hover { color: var(--red); }
.hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: center; min-height: 575px; gap: clamp(2.5rem, 6vw, 5rem); }
.hero__copy { padding: 1rem 0 5rem; }
.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.6rem; color: var(--red); font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow b { color: rgba(245,244,239,.4); font-weight: 400; }
.eyebrow__dot { width: .45rem; height: .45rem; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(230,44,47,.13); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--heading); font-weight: 400; letter-spacing: .015em; line-height: .9; text-transform: uppercase; }
h1 { max-width: 760px; margin-bottom: 1.7rem; color: var(--white); font-size: clamp(3.45rem, 7.3vw, 7.15rem); }
h1 em, h2 em { color: transparent; -webkit-text-stroke: 1px var(--red); font-style: normal; }
.hero__intro { max-width: 34rem; margin-bottom: 2rem; color: #c7c9c8; font-size: clamp(1.05rem, 1.6vw, 1.2rem); line-height: 1.55; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hero__note { display: flex; align-items: center; gap: .55rem; margin: 2.1rem 0 0; color: var(--muted); font-size: .77rem; letter-spacing: .04em; }
.hero__note span { color: var(--red); }

.hero-art { position: relative; justify-self: end; width: min(100%, 470px); height: 470px; transform: rotate(3deg); }
.hero-art__stamp { position: absolute; top: 0; right: 8%; z-index: 3; color: var(--red); font-size: .7rem; font-weight: 700; letter-spacing: .18em; transform: rotate(-3deg); }
.hero-art__red-block { position: absolute; inset: 8% 2% 4% 13%; background: var(--red); clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%); opacity: .88; }
.hero-art__plate { position: absolute; inset: 7% 11% 13% 2%; z-index: 2; overflow: hidden; border: 1px solid rgba(245,244,239,.68); background: #fff; clip-path: polygon(0 0, 96% 0, 100% 5%, 100% 100%, 4% 100%, 0 95%); box-shadow: 18px 18px 0 rgba(0,0,0,.4); }
.hero-art__plate::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(115deg, transparent 36%, rgba(230,44,47,.12) 36.2%, rgba(230,44,47,.12) 37%, transparent 37.2%); pointer-events: none; }
.hero-art__plate img { position: absolute; inset: 14% -7% 5%; width: 114%; height: 81%; max-width: none; object-fit: cover; object-position: center 51%; }
.hero-art__plate-kicker, .hero-art__plate-foot { position: absolute; z-index: 2; color: #111; font-size: .58rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.hero-art__plate-kicker { top: 5%; left: 7%; }
.hero-art__plate-foot { right: 6%; bottom: 4%; color: var(--red-dark); }
.hero-art__outline { position: absolute; right: -12%; bottom: -9%; z-index: 3; color: transparent; font-family: var(--heading); font-size: 10rem; line-height: .75; -webkit-text-stroke: 1px rgba(245,244,239,.25); transform: rotate(-3deg); }
.hero-art__corner { position: absolute; right: 6%; bottom: 1%; width: 4.2rem; height: 4.2rem; border-right: 3px solid var(--red); border-bottom: 3px solid var(--red); }

.fact-strip { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); min-height: 7.4rem; border-top: 1px solid var(--line-strong); background: rgba(10,11,12,.78); }
.fact-strip__item { display: flex; align-items: center; gap: .9rem; padding: 1.2rem 1.25rem; border-right: 1px solid var(--line); }
.fact-strip__item:last-child { border-right: 0; }
.fact-strip__index { color: var(--red); font-size: .64rem; font-weight: 700; letter-spacing: .12em; }
.fact-strip__item span:last-child { display: grid; gap: .15rem; color: var(--muted); font-size: .75rem; }
.fact-strip__item b { color: var(--white); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }

.section { position: relative; padding: clamp(6rem, 10vw, 10rem) 0; }
section[id] { scroll-margin-top: 5.75rem; }
.section-kicker { display: flex; align-items: center; gap: .75rem; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.section-kicker span { display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; color: var(--white); background: var(--red); font-size: .62rem; clip-path: polygon(0 0, 100% 0, 100% 76%, 76% 100%, 0 100%); }
.events-section { background: #0d1012; overflow: hidden; }
.events-section::before { content: "EVENTS"; position: absolute; right: -3vw; bottom: -2vw; color: transparent; font-family: var(--heading); font-size: clamp(9rem, 22vw, 24rem); line-height: .72; -webkit-text-stroke: 1px rgba(245,244,239,.045); pointer-events: none; }
.events-section > .shell { position: relative; z-index: 1; }
.events-section__heading { margin-bottom: 3.5rem; }
.text-link { width: max-content; color: var(--white); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.text-link span { color: var(--red); font-size: 1rem; }
.text-link:hover { color: var(--red); }
.events-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.event-card { display: grid; grid-template-columns: minmax(220px, .82fr) 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--line); background: #1b1f22; clip-path: polygon(0 0, 98% 0, 100% 3%, 100% 100%, 2% 100%, 0 97%); transition: transform .25s var(--ease-out), border-color .25s ease; }
.event-card:hover { border-color: rgba(245,244,239,.42); transform: translateY(-5px); }
.event-card--dark { background: #15181a; }
.event-card__poster { min-height: 100%; overflow: hidden; background: #090a0b; aspect-ratio: 3 / 4; }
.event-card__poster img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease-out); }
.event-card:hover .event-card__poster img { transform: scale(1.035); }
.event-card__details { display: flex; flex-direction: column; align-items: start; justify-content: end; padding: clamp(1.15rem, 2.3vw, 2rem); }
.event-card__label { margin-bottom: .8rem; color: var(--red); font-size: .6rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.event-card__details h3 { max-width: 10rem; margin-bottom: 1.1rem; font-family: var(--heading); font-size: clamp(1.6rem, 2.6vw, 2.6rem); font-weight: 400; line-height: .92; text-transform: uppercase; }
.event-card__meta { margin-bottom: 1.4rem; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.event-card__link { display: inline-flex; align-items: center; gap: .65rem; width: max-content; min-height: 2.75rem; margin-top: auto; padding: .72rem .85rem .62rem; border: 1px solid var(--red); color: var(--white); background: var(--red); font-size: .62rem; font-weight: 700; letter-spacing: .1em; line-height: 1; text-transform: uppercase; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)); transition: background .2s ease, border-color .2s ease, transform .2s var(--ease-out); }
.event-card__link span { color: var(--white); font-size: 1rem; }
.event-card__link:hover { color: var(--white); background: var(--red-soft); border-color: var(--red-soft); transform: translateY(-3px); }
.about-section { background: rgba(13,15,17,.75); }
.about-section::before { content: "EVM"; position: absolute; top: 13%; right: -2rem; color: transparent; font-family: var(--heading); font-size: clamp(8rem, 20vw, 22rem); line-height: .8; -webkit-text-stroke: 1px rgba(245,244,239,.05); pointer-events: none; }
.about-section__grid { display: grid; grid-template-columns: minmax(120px, .34fr) minmax(300px, .84fr) minmax(390px, 1fr); gap: clamp(2rem, 5vw, 5rem); }
.about-section__lead h2, .section-heading h2, .watch-copy h2, .contact-section h2 { margin: 1.4rem 0 2rem; font-size: clamp(3.55rem, 7vw, 6.8rem); }
.about-section__body { max-width: 31rem; color: #c4c7c6; font-size: 1.05rem; line-height: 1.75; }
.manifesto-label { margin-bottom: .8rem; color: var(--muted); font-size: .66rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.about-list { border-top: 1px solid var(--line); }
.about-list__item { display: grid; grid-template-columns: 2rem 1fr; gap: .2rem 1rem; padding: 1.05rem 0 1.1rem; border-bottom: 1px solid var(--line); }
.about-list__item > span { grid-row: span 2; color: var(--red); font-size: .65rem; font-weight: 700; padding-top: .15rem; }
.about-list__item strong { font-size: .95rem; letter-spacing: .02em; }
.about-list__item p { margin: .35rem 0 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }

.champions-section { background: #0d1012; overflow: hidden; }
.champions-section__texture { position: absolute; inset: 0; background: url("assets/evm-poster-texture.jpg") center / cover; opacity: .1; mix-blend-mode: screen; pointer-events: none; }
.champions-section::before { content: "CHAMPIONS"; position: absolute; right: -3vw; bottom: -2vw; color: transparent; font-family: var(--heading); font-size: clamp(7rem, 17vw, 19rem); line-height: .72; -webkit-text-stroke: 1px rgba(245,244,239,.045); pointer-events: none; }
.champions-section > .shell { position: relative; z-index: 1; }
.champions-section__heading { margin-bottom: 3.5rem; }
.champions-section__stamp { display: inline-flex; align-items: center; gap: .55rem; color: var(--red); font-size: .62rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.champions-section__stamp::before { content: ""; width: 1.9rem; height: 1px; background: var(--red); }
.champions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.champion-card { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 0; min-height: 31rem; overflow: hidden; padding: 1rem 1.2rem 1.25rem; border: 1px solid var(--line); background: #171a1d; clip-path: polygon(0 0, 98% 0, 100% 3%, 100% 100%, 2% 100%, 0 97%); isolation: isolate; transition: transform .25s var(--ease-out), border-color .25s ease, background .25s ease; }
.champion-card::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(140deg, rgba(230,44,47,.15), transparent 44%), repeating-linear-gradient(135deg, transparent 0 68px, rgba(245,244,239,.025) 68px 70px, transparent 70px 140px); pointer-events: none; }
.champion-card::after { content: ""; position: absolute; right: 1.2rem; bottom: 1.1rem; left: 1.2rem; height: 3px; background: var(--red); transform: scaleX(.22); transform-origin: left; transition: transform .3s var(--ease-out); }
.champion-card:hover { border-color: rgba(245,244,239,.42); background: #1c2024; transform: translateY(-5px); }
.champion-card:hover::after { transform: scaleX(1); }
.champion-card--red { background: linear-gradient(145deg, #4e2023, #241519 62%, #111315); }
.champion-card--red::before { background: linear-gradient(140deg, rgba(230,44,47,.3), transparent 44%), repeating-linear-gradient(135deg, transparent 0 68px, rgba(245,244,239,.025) 68px 70px, transparent 70px 140px); }
.champion-card--slate { background: #1b2024; }
.champion-card--slate::before { background: linear-gradient(140deg, rgba(111,126,137,.18), transparent 44%), repeating-linear-gradient(135deg, transparent 0 68px, rgba(245,244,239,.025) 68px 70px, transparent 70px 140px); }
.champion-card--black { background: #111315; }
.champion-card--black::before { background: linear-gradient(140deg, rgba(245,244,239,.08), transparent 44%), repeating-linear-gradient(135deg, transparent 0 68px, rgba(245,244,239,.025) 68px 70px, transparent 70px 140px); }
.champion-card--grey { background: #252a2d; }
.champion-card--grey::before { background: linear-gradient(140deg, rgba(164,174,178,.15), transparent 44%), repeating-linear-gradient(135deg, transparent 0 68px, rgba(245,244,239,.025) 68px 70px, transparent 70px 140px); }
.champion-card--vacant { border-color: rgba(230,44,47,.45); }
.champion-card--vacant::after { background: var(--muted); }
.champion-card__top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .6rem; font-weight: 700; letter-spacing: .15em; line-height: 1.2; text-transform: uppercase; }
.champion-card__status { color: var(--red); text-align: right; }
.champion-card--vacant .champion-card__status { color: var(--white); }
.champion-card__visual { position: relative; z-index: 1; display: grid; grid-template-rows: minmax(14rem, 1fr) 10rem; min-height: 24rem; margin: 0 -1.2rem; overflow: hidden; background: radial-gradient(circle at 50% 20%, rgba(245,244,239,.14), transparent 43%), linear-gradient(145deg, rgba(230,44,47,.16), transparent 58%); }
.champion-card__portrait-panel { position: relative; min-height: 0; overflow: hidden; background: linear-gradient(180deg, rgba(8,9,10,.05), rgba(8,9,10,.2)); }
.champion-card__portrait-panel::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8,9,10,.28), transparent 36%, transparent 64%, rgba(8,9,10,.25)), linear-gradient(0deg, rgba(8,9,10,.48), transparent 46%); pointer-events: none; }
.champion-card__portrait-panel::after { content: ""; position: absolute; right: 1rem; bottom: 0; left: 1rem; z-index: 3; height: 1px; background: rgba(245,244,239,.26); pointer-events: none; }
.champion-card__portrait-panel--vacant { background: radial-gradient(circle at 50% 40%, rgba(245,244,239,.08), transparent 48%), linear-gradient(145deg, rgba(111,126,137,.12), rgba(8,9,10,.18)); }
.champion-card__portrait { position: absolute; inset: 0; z-index: 2; display: flex; align-items: end; justify-content: center; width: 100%; height: 100%; margin: 0; pointer-events: none; }
.champion-card__portrait img { width: auto; height: 116%; max-width: 100%; object-fit: contain; object-position: bottom center; filter: drop-shadow(-.65rem .7rem .7rem rgba(0,0,0,.42)); transition: transform .35s var(--ease-out), filter .35s ease; }
.champion-card__portraits { position: absolute; inset: 0; z-index: 2; display: flex; align-items: end; justify-content: center; gap: 0; }
.champion-card__portraits .champion-card__portrait { position: relative; inset: auto; width: 50%; height: 100%; }
.champion-card__portraits .champion-card__portrait:first-child { transform: translateX(10%) rotate(-2deg); }
.champion-card__portraits .champion-card__portrait:last-child { transform: translateX(-10%) rotate(2deg); }
.champion-card__belt-panel { position: relative; z-index: 5; display: grid; place-items: center; min-width: 0; min-height: 0; margin: 0; overflow: hidden; padding: .45rem .9rem; border: 1px solid rgba(245,244,239,.52); border-inline: 0; background: linear-gradient(180deg, rgba(8,9,10,.82), rgba(8,9,10,.97)); box-shadow: 0 .65rem 1rem rgba(0,0,0,.34); clip-path: polygon(0 0, 98% 0, 100% 12%, 100% 100%, 2% 100%, 0 88%); }
.champion-card__belt-panel img { display: block; width: auto; height: 100%; max-width: 100%; object-fit: contain; filter: drop-shadow(0 .35rem .45rem rgba(0,0,0,.42)); transition: filter .35s ease; }
.champion-card:hover .champion-card__portrait img { filter: drop-shadow(-.75rem .85rem .8rem rgba(0,0,0,.5)); transform: translateY(-4px); }
.champion-card:hover .champion-card__belt-panel img { filter: drop-shadow(0 .45rem .55rem rgba(0,0,0,.55)); }
.champion-card--vacant .champion-card__belt-panel { border-color: rgba(230,44,47,.46); }
.champion-card--vacant .champion-card__belt-panel img { filter: grayscale(.7) saturate(.55) brightness(.8) drop-shadow(0 .35rem .45rem rgba(0,0,0,.42)); }
.champion-card__info { position: relative; z-index: 4; max-width: 75%; padding-top: .85rem; }
.champion-card__division { margin: 0 0 .35rem; color: var(--red); font-size: .63rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.champion-card__info h3 { max-width: 95%; margin: 0; color: var(--white); font-family: var(--heading); font-size: clamp(2rem, 3.4vw, 3.35rem); font-weight: 400; line-height: .9; text-transform: uppercase; }
.champion-card__info h3 span { color: var(--red); font-family: var(--body); font-size: .55em; }
.champion-card__note { margin: .65rem 0 0; color: var(--muted); font-size: .76rem; }

.featured-section { position: relative; overflow: hidden; padding: clamp(2.7rem, 4vw, 4.2rem) 0; border-block: 1px solid var(--line); background: #15181a; }
.featured-section::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: min(34vw, 500px); background: var(--red); clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%); opacity: .9; pointer-events: none; }
.featured-section::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, transparent 0 72px, rgba(245,244,239,.03) 72px 74px, transparent 74px 144px); opacity: .3; pointer-events: none; }
.featured-section > .shell { position: relative; z-index: 1; }
.featured-section__header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(245,244,239,.24); }
.featured-section__header .eyebrow { margin: 0; color: var(--white); }
.featured-section__meta { color: rgba(245,244,239,.68); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.featured-section__grid { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(330px, 1.2fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); padding-top: clamp(1.6rem, 3vw, 2.5rem); }
.featured-section__copy h2 { max-width: 30rem; margin: 0 0 .8rem; font-size: clamp(2.6rem, 4.7vw, 5rem); }
.featured-section__copy p { margin: 0 0 1.2rem; color: rgba(245,244,239,.82); font-size: clamp(.92rem, 1.2vw, 1.05rem); }
.featured-section__copy .button { margin: 0; }
.featured-section__logo { position: relative; display: grid; place-items: center; min-height: 12.5rem; padding: 1rem 2rem; border: 1px solid rgba(245,244,239,.48); background: #0b0d0f; clip-path: polygon(0 0, 97% 0, 100% 5%, 100% 100%, 3% 100%, 0 95%); box-shadow: 14px 14px 0 rgba(8,9,10,.34); transition: border-color .2s ease, background .2s ease, transform .25s var(--ease-out), box-shadow .25s ease; }
.featured-section__logo:hover { border-color: var(--white); background: #111416; transform: translateY(-4px); box-shadow: 14px 18px 0 rgba(8,9,10,.34); }
.featured-section__logo img { width: min(58%, 15rem); max-height: 10.5rem; height: auto; object-fit: contain; filter: drop-shadow(0 12px 16px rgba(0,0,0,.34)); }

.roster-section { background: #111416; overflow: hidden; }
.roster-section__texture { position: absolute; inset: 0; background: url("assets/evm-poster-texture.jpg") center / cover; opacity: .15; mix-blend-mode: screen; pointer-events: none; }
.roster-section::before { content: ""; position: absolute; top: 0; right: 0; width: min(55vw, 740px); height: 100%; background: linear-gradient(135deg, transparent 50%, rgba(230,44,47,.04) 50%); pointer-events: none; }
.roster-section > .shell { position: relative; z-index: 1; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading__aside { display: grid; gap: 1.5rem; width: min(100%, 23rem); padding-bottom: .4rem; }
.section-heading__aside p { max-width: 19rem; margin: 0; color: var(--muted); font-size: .9rem; }
.search-field { display: flex; align-items: center; gap: .7rem; min-height: 3rem; padding: 0 .9rem; border-bottom: 1px solid var(--line-strong); background: rgba(8,9,10,.32); }
.search-field svg { width: 1.1rem; height: 1.1rem; flex: none; fill: none; stroke: var(--red); stroke-width: 1.6; }
.search-field input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--white); background: transparent; font-size: .85rem; }
.search-field input::placeholder { color: #767c80; }
.search-field:focus-within { border-color: var(--red); box-shadow: 0 2px 0 var(--red); }
.roster-meta { display: flex; align-items: center; gap: .8rem; margin: 4rem 0 1.15rem; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.roster-meta #roster-count { color: var(--white); }
.roster-meta__rule { width: 2.5rem; height: 1px; background: var(--red); }
.roster-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.roster-card { position: relative; min-height: 13.2rem; overflow: hidden; padding: 1.1rem 1.1rem 1rem; background: var(--panel); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%); transition: transform .25s var(--ease-out), box-shadow .25s ease; }
.roster-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(145deg, rgba(255,255,255,.08), transparent 34%, rgba(0,0,0,.38)); opacity: .7; pointer-events: none; }
.roster-card:hover { z-index: 2; transform: translateY(-6px) rotate(-1deg); box-shadow: 10px 14px 0 rgba(0,0,0,.2); }
.roster-card--red { background: linear-gradient(145deg, #b82228, #53161a 62%, #17191b); }
.roster-card--slate { background: linear-gradient(145deg, #394046, #1c2226 62%, #111315); }
.roster-card--black { background: linear-gradient(145deg, #292d30, #101214 60%, #070809); }
.roster-card--grey { background: linear-gradient(145deg, #65686a, #292d30 64%, #131516); }
.roster-card__portrait { position: absolute; right: -6%; bottom: 0; z-index: 0; width: 78%; height: 110%; margin: 0; display: flex; align-items: end; justify-content: end; pointer-events: none; }
.roster-card__portrait img { width: 100%; height: 100%; object-fit: contain; object-position: bottom right; filter: drop-shadow(-8px 8px 8px rgba(0,0,0,.28)); }
.roster-card--has-image .roster-card__portrait { right: -2%; width: 70%; max-width: 13rem; height: 104%; }
.roster-card--has-image .roster-card__portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,9,10,.8), transparent 38%), linear-gradient(0deg, rgba(8,9,10,.38), transparent 30%); pointer-events: none; }
.roster-card--has-image .roster-card__portrait img { object-position: bottom center; }
.roster-card--has-image::before { background: linear-gradient(90deg, rgba(8,9,10,.96) 0%, rgba(8,9,10,.76) 25%, rgba(8,9,10,.08) 64%, rgba(8,9,10,.12) 100%), linear-gradient(0deg, rgba(8,9,10,.32), transparent 44%); opacity: 1; }
.roster-card--has-image .roster-card__monogram { color: rgba(245,244,239,.08); }
.roster-card--has-image .roster-card__portrait { z-index: 2; }
.roster-card--has-image .roster-card__monogram { z-index: 1; color: rgba(245,244,239,.16); }
.roster-card--has-image .roster-card__content { max-width: 74%; z-index: 2; }
.roster-card--has-image .roster-card__content h3 { text-shadow: 1px 2px 0 rgba(8,9,10,.35); }
.roster-card__number { position: relative; z-index: 2; color: rgba(245,244,239,.55); font-size: .65rem; font-weight: 700; letter-spacing: .15em; }
.roster-card__monogram { position: absolute; top: 1.45rem; right: .8rem; z-index: 1; color: rgba(245,244,239,.12); font-family: var(--heading); font-size: 6rem; line-height: .75; letter-spacing: -.06em; }
.roster-card__content { position: absolute; right: 1.1rem; bottom: 1.05rem; left: 1.1rem; z-index: 2; }
.roster-card__content p { margin: 0 0 .35rem; color: rgba(245,244,239,.65); font-size: .59rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.roster-card__content h3 { max-width: 95%; margin: 0; color: var(--white); font-family: var(--heading); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 400; letter-spacing: .02em; line-height: .98; text-transform: uppercase; }
.roster-empty { margin: 2rem 0 0; color: var(--muted); }
.management-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.4rem; margin-top: 1rem; padding: 1.15rem 1.25rem; border: 1px solid var(--line); border-left: 4px solid var(--red); background: rgba(8,9,10,.56); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%); }
.management-card__badge { display: grid; place-items: center; width: 3.2rem; height: 3.2rem; border: 1px solid var(--red); color: var(--red); font-family: var(--heading); font-size: .85rem; clip-path: polygon(0 0, 100% 0, 100% 75%, 75% 100%, 0 100%); }
.management-card .eyebrow { margin-bottom: .35rem; font-size: .58rem; }
.management-card h3 { margin: 0; font-family: var(--heading); font-size: 1.8rem; font-weight: 400; line-height: 1; text-transform: uppercase; }
.management-card__role { margin: 0; color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.watch-section { background: #090b0c; }
.watch-section::before { content: "WATCH"; position: absolute; right: -3vw; bottom: -4vw; color: transparent; font-family: var(--heading); font-size: clamp(9rem, 22vw, 24rem); line-height: .7; -webkit-text-stroke: 1px rgba(245,244,239,.055); pointer-events: none; }
.watch-section__grid { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(3rem, 8vw, 9rem); }
.watch-copy h2 { margin-bottom: 1.5rem; }
.watch-copy > p:not(.eyebrow) { max-width: 29rem; margin-bottom: 1.8rem; color: var(--muted); font-size: 1rem; }
.watch-frame { position: relative; padding: .85rem; border: 1px solid var(--line-strong); background: #171a1c; clip-path: polygon(0 0, 97% 0, 100% 4%, 100% 100%, 3% 100%, 0 96%); box-shadow: 18px 18px 0 rgba(230,44,47,.11); }
.watch-frame::before { content: ""; position: absolute; top: -1px; left: 12%; width: 35%; height: 3px; background: var(--red); }
.watch-frame__top, .watch-frame__bottom { display: flex; align-items: center; justify-content: space-between; padding: .45rem .35rem .65rem; color: var(--muted); font-size: .6rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.watch-frame__bottom { padding: .65rem .35rem .25rem; }
.watch-frame__bottom span:last-child { color: var(--red); font-size: 1rem; }
.watch-screen { position: relative; min-height: 24rem; overflow: hidden; background: linear-gradient(130deg, #351114, #0a0b0c 52%, #24282b); isolation: isolate; }
.watch-screen::before { content: ""; position: absolute; inset: -20%; z-index: -1; background: repeating-linear-gradient(135deg, transparent 0 34px, rgba(230,44,47,.17) 34px 36px, transparent 36px 74px); transform: rotate(5deg); }
.watch-screen iframe { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; border: 0; background: #090a0b; }
.watch-preview { position: absolute; inset: 0; z-index: 1; display: grid; place-content: center; justify-items: center; gap: 1.1rem; width: 100%; height: 100%; padding: 2rem 2rem 4.5rem; border: 0; color: var(--white); background: transparent; cursor: pointer; text-align: center; }
.watch-preview::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(230,44,47,.2), transparent 54%); pointer-events: none; }
.watch-preview__play { position: relative; display: grid; place-items: center; width: 4.5rem; height: 4.5rem; padding-left: .18rem; border: 1px solid rgba(245,244,239,.72); color: var(--white); background: var(--red); font-size: 1.35rem; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); transition: transform .25s var(--ease-out), background .2s ease; }
.watch-preview__copy { position: relative; display: grid; gap: .25rem; }
.watch-preview__copy strong { font-family: var(--heading); font-size: clamp(1.7rem, 3vw, 2.8rem); font-weight: 400; line-height: .9; text-transform: uppercase; }
.watch-preview__copy small { color: var(--muted); font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.watch-preview:hover .watch-preview__play { background: var(--red-soft); transform: translateY(-4px) scale(1.04); }
.watch-screen__fallback { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .85rem; color: var(--muted); background: rgba(8,9,10,.9); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.watch-screen__fallback a { color: var(--white); font-weight: 700; }
.watch-screen__fallback a:hover { color: var(--red); }
.watch-screen__fallback a span { color: var(--red); font-size: 1rem; }

.contact-section { position: relative; overflow: hidden; background: var(--red); }
.contact-section::before { content: ""; position: absolute; inset: 0; background: url("assets/evm-poster-texture.jpg") center / cover; opacity: .13; mix-blend-mode: multiply; pointer-events: none; }
.contact-section::after { content: ""; position: absolute; top: 0; right: -10%; width: 60%; height: 100%; background: linear-gradient(135deg, transparent 50%, rgba(8,9,10,.12) 50%); pointer-events: none; }
.contact-section__top, .contact-section__bottom { position: relative; z-index: 1; }
.contact-section__top { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-top: clamp(4rem, 7vw, 6rem); padding-bottom: clamp(3.5rem, 6vw, 5.5rem); border-bottom: 1px solid rgba(8,9,10,.25); }
.contact-section .eyebrow { color: rgba(8,9,10,.7); }
.contact-section h2 { margin: 1rem 0 0; color: var(--black); font-size: clamp(3.6rem, 7vw, 7rem); }
.contact-section h2 em { color: transparent; -webkit-text-stroke-color: var(--black); }
.social-links { display: grid; grid-template-columns: repeat(3, minmax(140px, 1fr)); width: min(100%, 39rem); border-top: 1px solid rgba(8,9,10,.32); border-bottom: 1px solid rgba(8,9,10,.32); }
.social-link { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .65rem; min-height: 4.5rem; padding: .75rem .85rem; border-right: 1px solid rgba(8,9,10,.32); color: var(--black); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.social-link:last-child { border-right: 0; }
.social-link:hover { color: var(--white); background: var(--black); }
.social-link__icon { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid rgba(8,9,10,.48); }
.social-link:hover .social-link__icon { border-color: var(--red); }
.social-link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.social-link svg path:first-child { fill: currentColor; stroke: none; }
.social-link .svg-fill-white { fill: var(--white); stroke: none; }
.contact-section__bottom { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 10vw, 11rem); padding-top: clamp(5rem, 9vw, 9rem); padding-bottom: clamp(5.5rem, 10vw, 10rem); }
.contact-section__copy h2 { margin-bottom: 1.6rem; }
.contact-section__copy > p:not(.eyebrow) { max-width: 25rem; color: rgba(8,9,10,.78); font-size: 1.05rem; }
.contact-details { padding: 2.7rem 1.5rem 1rem; border-left: 1px solid rgba(8,9,10,.25); background: rgba(8,9,10,.07); }
.email-link { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; align-items: end; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(8,9,10,.35); color: var(--black); }
.email-link__label { grid-column: 1 / -1; color: rgba(8,9,10,.68); font-size: .65rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.email-link strong { font-size: clamp(1.2rem, 2.3vw, 1.8rem); font-weight: 700; letter-spacing: -.02em; }
.email-link > span:last-child { font-size: 1.3rem; }
.email-link:hover strong { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.contact-detail { display: grid; grid-template-columns: 6rem 1fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid rgba(8,9,10,.35); }
.contact-detail__label { color: rgba(8,9,10,.64); font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contact-detail strong { color: var(--black); font-size: .9rem; }
.contact-details__note { margin: 1.2rem 0 0; color: rgba(8,9,10,.66); font-size: .78rem; }

.site-footer { background: #090a0b; }
.site-footer__main { display: grid; grid-template-columns: 1.15fr 1fr 1fr 1.15fr; gap: 2rem; align-items: start; padding-top: 3.8rem; padding-bottom: 3.8rem; }
.footer-location, .footer-contact { display: grid; gap: .32rem; padding-top: .45rem; }
.footer-location span { color: var(--red); font-size: .65rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.footer-location strong { font-size: .85rem; }
.footer-location small { color: var(--muted); font-size: .75rem; }
.footer-nav { display: grid; gap: .75rem; padding-top: .45rem; }
.footer-nav a { width: max-content; font-size: .65rem; }
.footer-contact { justify-items: end; text-align: right; }
.footer-contact > a { color: var(--white); font-size: .78rem; }
.footer-contact > a:hover { color: var(--red); }
.footer-socials { display: flex; gap: .45rem; margin-top: .35rem; }
.footer-socials a { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--line); color: var(--muted); font-size: .58rem; font-weight: 700; transition: color .2s ease, border-color .2s ease; }
.footer-socials a:hover { border-color: var(--red); color: var(--red); }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.2rem; padding-bottom: 1.4rem; border-top: 1px solid var(--line); color: #6e7478; font-size: .68rem; }
.back-to-top { color: var(--white); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.back-to-top:hover { color: var(--red); }
.back-to-top span { color: var(--red); font-size: 1rem; }

.reveal { opacity: 1; transform: translateY(0); }
html.js .reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
html.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
html.js .reveal--delay { transition-delay: .12s; }
html.js .reveal--delay-2 { transition-delay: .22s; }

@media (max-width: 1024px) {
  :root { --pad: clamp(1.25rem, 4vw, 2.5rem); }
  .hero { padding-top: 8.4rem; }
  .hero__inner { grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); min-height: 520px; gap: 1rem; }
  .hero-art { width: min(100%, 385px); height: 395px; }
  .hero-art__outline { font-size: 7.5rem; }
  .about-section__grid { grid-template-columns: .28fr 1fr 1.2fr; gap: 2rem; }
  .featured-section__grid { grid-template-columns: minmax(0, .85fr) minmax(260px, 1.15fr); gap: 2rem; padding-top: 1.5rem; }
  .roster-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .events-grid { grid-template-columns: 1fr; }
  .watch-section__grid { gap: 4rem; }
  .site-footer__main { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-contact { grid-column: 3; }
}

@media (max-width: 768px) {
  section[id] { scroll-margin-top: 4.9rem; }
  .site-header__inner { min-height: 4.65rem; }
  .brand__plate { width: 6.1rem; height: 3.25rem; }
  .menu-toggle { display: inline-flex; }
  html.js .site-nav { position: absolute; top: calc(100% + 1px); right: var(--pad); left: var(--pad); display: grid; gap: 0; padding: .6rem; border: 1px solid var(--line); background: rgba(13,15,17,.98); box-shadow: 12px 14px 0 rgba(0,0,0,.22); opacity: 0; pointer-events: none; transform: translateY(-8px); visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
  html.js .site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
  html.js .site-nav > a:not(.button) { padding: .9rem .8rem; border-bottom: 1px solid var(--line); }
  html.js .site-nav > a:not(.button)::after { bottom: 0; }
  html.js .site-nav .button--header { margin-top: .6rem; }
  html:not(.js) .site-header__inner { flex-wrap: wrap; }
  html:not(.js) .site-nav { width: 100%; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; padding: .55rem 0 1rem; overflow-x: auto; }
  html:not(.js) .menu-toggle { display: none; }
  .hero { min-height: auto; padding-top: 7.6rem; }
  .announcement-rail { grid-template-columns: auto 1fr; gap: .45rem .8rem; }
  .announcement-rail a { grid-column: 2; justify-self: start; }
  .hero__inner { display: block; min-height: auto; }
  .hero__copy { position: relative; z-index: 2; padding: 2rem 0 3.5rem; }
  h1 { font-size: clamp(3.6rem, 13vw, 6.5rem); }
  .hero-art { width: min(87vw, 430px); height: min(87vw, 430px); margin: 0 0 2rem auto; }
  .fact-strip { grid-template-columns: repeat(2, 1fr); min-height: auto; }
  .fact-strip__item { min-height: 5.6rem; }
  .fact-strip__item:nth-child(2) { border-right: 0; }
  .fact-strip__item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .about-section__grid, .watch-section__grid, .contact-section__bottom { grid-template-columns: 1fr; }
  .about-section__grid { gap: 2.7rem; }
  .champions-grid { grid-template-columns: 1fr; }
  .champion-card { min-height: 25rem; }
  .featured-section__grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .featured-section__copy h2 { max-width: 28rem; }
  .featured-section__logo { min-height: 12rem; }
  .section-kicker { margin-bottom: 0; }
  .about-section__lead h2, .section-heading h2, .watch-copy h2, .contact-section h2 { font-size: clamp(3.6rem, 14vw, 6.5rem); }
  .section-heading { display: grid; align-items: start; }
  .section-heading__aside { width: 100%; }
  .section-heading__aside p { max-width: 27rem; }
  .roster-meta { margin-top: 3rem; }
  .roster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-grid { grid-template-columns: 1fr; }
  .management-card { grid-template-columns: auto 1fr; }
  .management-card__role { grid-column: 2; }
  .watch-section__grid { gap: 3.5rem; }
  .watch-frame { width: 100%; }
  .watch-screen { min-height: 20rem; }
  .contact-details { padding-right: 0; padding-left: 0; border-left: 0; background: transparent; }
  .contact-section__top { display: grid; align-items: start; }
  .social-links { width: 100%; }
  .contact-details { padding-top: 0; }
  .site-footer__main { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.25rem; }
  .footer-contact { grid-column: 2; }
  .site-footer__bottom { align-items: start; flex-direction: column; }
}

@media (max-width: 480px) {
  :root { --pad: 1rem; }
  .hero { padding-top: 7rem; }
  .announcement-rail { grid-template-columns: 1fr; gap: .2rem; padding: .7rem .75rem; font-size: .58rem; }
  .announcement-rail a { grid-column: auto; }
  .hero__copy { padding-top: 1.2rem; }
  .eyebrow { font-size: .61rem; letter-spacing: .14em; }
  h1 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .hero__intro { font-size: .98rem; }
  .hero__actions { display: grid; grid-template-columns: 1fr; }
  .hero__actions .button { width: 100%; }
  .hero-art { width: 100%; height: min(90vw, 365px); margin-top: 1rem; }
  .hero-art__outline { font-size: 5.8rem; }
  .hero-art__stamp { right: 2%; font-size: .57rem; }
  .hero-art__plate-kicker, .hero-art__plate-foot { font-size: .47rem; }
  .fact-strip__item { gap: .6rem; padding: .85rem .75rem; }
  .fact-strip__item span:last-child { font-size: .68rem; }
  .fact-strip__item b { font-size: .58rem; }
  .roster-grid { gap: .55rem; }
  .roster-card { min-height: 11.4rem; padding: .8rem; }
  .roster-card__content { right: .8rem; bottom: .8rem; left: .8rem; }
  .roster-card__content h3 { font-size: 1.25rem; }
  .roster-card__monogram { top: 1.2rem; font-size: 4rem; }
  .event-card { grid-template-columns: 1fr; }
  .event-card__poster { aspect-ratio: 3 / 4; }
  .event-card__details { min-height: 15rem; }
  .event-card__link { width: 100%; }
  .watch-screen__fallback { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .watch-preview { padding-right: 1rem; padding-left: 1rem; }
  .management-card { gap: .8rem; padding: 1rem; }
  .management-card h3 { font-size: 1.35rem; }
  .management-card__role { font-size: .59rem; }
  .social-links { grid-template-columns: 1fr; }
  .social-link { min-height: 3.7rem; border-right: 0; border-bottom: 1px solid rgba(8,9,10,.32); }
  .social-link:last-child { border-bottom: 0; }
  .contact-section__top { gap: 2.4rem; }
  .featured-section__header { align-items: start; flex-direction: column; gap: .55rem; }
  .featured-section__logo { min-height: 10rem; padding: 1rem 1.5rem; }
  .featured-section__logo img { width: min(70%, 12rem); max-height: 8rem; }
  .champion-card { grid-template-rows: auto minmax(20rem, auto) auto; min-height: 26.5rem; padding: .9rem 1rem 1.1rem; }
  .champion-card__visual { grid-template-rows: minmax(12rem, 1fr) 8.5rem; min-height: 20.5rem; margin-inline: -1rem; }
  .champion-card__belt-panel { padding: .3rem .55rem; }
  .champion-card__portrait { right: auto; bottom: auto; width: 100%; height: 100%; }
  .champion-card__portrait img { height: 116%; }
  .champion-card__portraits .champion-card__portrait { width: 50%; height: 100%; }
  .champion-card__info { max-width: 82%; }
  .champion-card__info h3 { font-size: clamp(1.8rem, 9vw, 2.7rem); }
  .email-link { grid-template-columns: 1fr auto; }
  .email-link strong { font-size: 1rem; overflow-wrap: anywhere; }
  .contact-detail { grid-template-columns: 1fr; gap: .35rem; }
  .site-footer__main { grid-template-columns: 1fr; gap: 1.8rem; }
  .footer-contact { grid-column: auto; justify-items: start; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html.js .reveal, html.js .reveal.is-visible { opacity: 1; transform: none; }
}

@media print {
  body::before, body::after, .site-header, .hero-art, .search-field, .button, .social-links, .back-to-top { display: none !important; }
  body, .section, .site-footer, .contact-section { color: #000; background: #fff; }
  .hero { min-height: auto; padding: 2rem 0; }
  h1, h2, h3, p, .about-list__item strong, .fact-strip__item b { color: #000 !important; -webkit-text-stroke: 0 !important; }
}

/* Staff uses the roster portrait treatment and responsive grid. */
.staff-section { background: #0d1012; border-top: 1px solid var(--line); }
.staff-grid { margin-top: 3rem; }
