:root {
  --fm-ink: #020f24;
  --fm-ink-2: #061a3a;
  --fm-ink-3: #0b2b58;
  --fm-blue: #032a72;
  --fm-blue-bright: #d2a74b;
  --fm-accent: #d2a74b;
  --fm-surface: #fff;
  --fm-live: #ed1c2e;
  --fm-paper: #f4f1ea;
  --fm-white: #fff;
  --fm-muted: #6b7788;
  --fm-line: #d8d8d3;
  --fm-dark-line: rgba(255, 255, 255, .13);
  --fm-shadow: 0 24px 70px rgba(2, 10, 22, .18);
  --fm-shell: 1380px;
  --fm-text: 760px;
  --fm-gutter: clamp(18px, 3vw, 48px);
  --fm-space-1: .5rem;
  --fm-space-2: 1rem;
  --fm-space-3: 1.5rem;
  --fm-space-4: 2rem;
  --fm-space-5: 3rem;
  --fm-space-6: clamp(4rem, 8vw, 8rem);
  --fm-display: "Roboto Condensed", "Arial Narrow", Impact, ui-sans-serif, sans-serif;
  --fm-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--fm-ink);
  background: var(--fm-paper);
  font-family: var(--fm-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, [type="submit"] { cursor: pointer; }
:focus-visible { outline: 3px solid var(--fm-blue-bright); outline-offset: 4px; }
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
.fm-skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 99999;
  transform: translateY(-150%); padding: 10px 16px;
  color: var(--fm-white); background: var(--fm-blue);
}
.fm-skip-link:focus { transform: none; }
.fm-shell { width: min(calc(100% - (var(--fm-gutter) * 2)), var(--fm-shell)); margin-inline: auto; }
.fm-shell-wide { width: min(calc(100% - (var(--fm-gutter) * 2)), 1580px); margin-inline: auto; }
.fm-main { min-height: 55vh; overflow: clip; }
.fm-section--dark { color: var(--fm-white); background: var(--fm-ink); }
.fm-kicker, .fm-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  color: var(--fm-blue); font-size: .72rem; font-weight: 850;
  letter-spacing: .16em; line-height: 1.2; text-transform: uppercase;
}
.fm-kicker::before { content: ""; width: 28px; height: 3px; background: currentColor; }
.fm-kicker--live { color: var(--fm-live); }
.fm-section-heading {
  display: flex; align-items: end; justify-content: space-between; gap: 2rem;
  margin-bottom: clamp(1.7rem, 4vw, 3.5rem);
}
.fm-section-heading h1, .fm-section-heading h2 {
  max-width: 900px; margin: .35rem 0 0;
  font-family: var(--fm-display); font-size: clamp(2.35rem, 5vw, 5.4rem);
  font-stretch: condensed; font-weight: 900; letter-spacing: -.045em; line-height: .92;
  text-transform: uppercase;
}
.fm-section-heading h2 { font-size: clamp(2rem, 4vw, 4rem); }
.fm-section-heading > a { color: var(--fm-blue); font-size: .83rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.fm-section-heading--inverse > a { color: var(--fm-blue-bright); }
.fm-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.fm-button {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center;
  padding: .75rem 1.4rem; border: 1px solid transparent; text-decoration: none;
  font-size: .82rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.fm-button--primary { color: var(--fm-white); background: var(--fm-blue); }
.fm-button--primary:hover { background: #0a4b9f; }
.fm-button--light { color: var(--fm-blue); background: var(--fm-white); }
.fm-button--ghost { color: inherit; border-color: currentColor; background: transparent; }
.fm-button--ghost:hover { color: var(--fm-ink); background: var(--fm-white); }
.fm-text-link { color: var(--fm-blue); font-weight: 800; text-decoration: none; }

/* Header */
.fm-site-header { position: relative; z-index: 1000; color: var(--fm-white); background: var(--fm-ink); }
.fm-microbar { border-bottom: 1px solid var(--fm-dark-line); background: #030914; }
.fm-microbar__inner { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 1rem; font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.fm-microbar nav { display: flex; gap: 1.2rem; }
.fm-microbar a { text-decoration: none; }
.fm-nav-wrap { position: relative; z-index: 100; border-bottom: 1px solid var(--fm-dark-line); background: rgba(7, 17, 31, .98); }
.fm-nav-wrap.is-fixed { position: fixed; top: 0; right: 0; left: 0; box-shadow: 0 12px 32px rgba(2, 10, 22, .22); }
.admin-bar .fm-nav-wrap { top: 32px; }
.fm-navbar { display: grid; min-height: 78px; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(1.5rem, 3vw, 3.8rem); }
.fm-brand { position: relative; z-index: 2; }
.fm-logo-link { display: inline-flex; align-items: center; text-decoration: none; }
.fm-logo-link img { width: 205px; height: auto; }
.fm-site-header .fm-logo-link img, .fm-site-footer .fm-logo-link img, .fm-site-header .custom-logo, .fm-site-footer .custom-logo { filter: brightness(0) invert(1); }
.custom-logo-link { display: block; }
.custom-logo { width: auto; max-width: 220px; max-height: 52px; }
.fm-primary-nav { display: flex; height: 100%; align-items: center; justify-content: center; gap: clamp(1rem, 2.2vw, 2.4rem); }
.fm-primary-nav a { position: relative; display: flex; height: 100%; align-items: center; color: rgba(255,255,255,.86); font-size: .79rem; font-weight: 850; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.fm-primary-nav a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--fm-blue); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.fm-primary-nav a:hover::after, .fm-primary-nav a[aria-current="page"]::after { transform: scaleX(1); }
.fm-nav-item { position: relative; display: flex; height: 100%; align-items: center; }
.fm-subnav { position: absolute; top: calc(100% - 1px); left: 50%; z-index: 4; display: grid; width: 220px; padding: .45rem; border-top: 3px solid var(--fm-accent); background: var(--fm-ink-2); box-shadow: 0 20px 42px rgba(2,10,22,.3); opacity: 0; pointer-events: none; transform: translate(-50%, 10px); transition: opacity .18s ease, transform .18s ease; }
.fm-nav-item:hover .fm-subnav, .fm-nav-item:focus-within .fm-subnav { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.fm-primary-nav .fm-subnav a { min-height: 42px; height: auto; padding: .7rem .85rem; border-bottom: 1px solid var(--fm-dark-line); color: rgba(255,255,255,.78); font-size: .7rem; }
.fm-primary-nav .fm-subnav a:last-child { border-bottom: 0; }
.fm-primary-nav .fm-subnav a::after { display: none; }
.fm-nav-live span { width: 7px; height: 7px; margin-right: .45rem; border-radius: 50%; background: var(--fm-live); box-shadow: 0 0 0 5px rgba(237,28,46,.14); }
.fm-header-search { display: flex; width: 180px; border-bottom: 1px solid rgba(255,255,255,.35); }
.fm-header-search input { min-width: 0; flex: 1; padding: .45rem 0; border: 0; color: var(--fm-white); outline: 0; background: transparent; }
.fm-header-search input::placeholder { color: rgba(255,255,255,.55); }
.fm-header-search button { border: 0; color: var(--fm-white); background: none; font-size: 1.4rem; }
.fm-menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.fm-menu-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 5px 0; background: var(--fm-white); transition: transform .2s, opacity .2s; }
.fm-live-ticker { background: var(--fm-ink-2); border-bottom: 1px solid var(--fm-dark-line); }
.fm-live-ticker__inner { display: flex; min-height: 44px; align-items: stretch; gap: 1rem; }
.fm-live-ticker__label { display: flex; min-width: 106px; align-items: center; justify-content: center; margin-left: calc(var(--fm-gutter) * -1); padding-inline: var(--fm-gutter); color: var(--fm-white); background: var(--fm-live); font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.fm-live-ticker__inner a { display: flex; min-width: 0; flex: 1; align-items: center; gap: 1rem; overflow: hidden; text-decoration: none; }
.fm-live-ticker__inner strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.fm-live-ticker__inner a span { margin-left: auto; color: rgba(255,255,255,.65); font-size: .72rem; white-space: nowrap; }
.fm-live-ticker__items { position: relative; min-width: 0; flex: 1; overflow: hidden; }
.fm-live-ticker__item { position: absolute; inset: 0; display: flex; min-width: 0; align-items: center; gap: 1rem; overflow: hidden; opacity: 0; visibility: hidden; text-decoration: none; transform: translateY(7px); transition: opacity .35s ease, transform .35s ease, visibility .35s ease; }
.fm-live-ticker__item.is-active { opacity: 1; visibility: visible; transform: translateY(0); }
.fm-header-ad, .fm-footer-ad { padding-block: 1rem; }
.fm-header-ad:empty, .fm-footer-ad:empty, .fm-home-ad:empty, .fm-archive-ad:empty, .fm-article-ad:empty, .fm-grid-ad:empty { display: none; }

/* Sponsor inventory */
.fm-banner { position: relative; display: grid; place-items: center; width: 100%; overflow: hidden; color: var(--fm-muted); background: rgba(127, 142, 163, .08); }
.fm-banner:empty { display: none; }
.fm-banner__label { position: absolute; top: 3px; left: 5px; z-index: 1; color: currentColor; font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fm-banner a, .fm-banner picture { display: block; width: 100%; }
.fm-banner img { width: 100%; height: auto; margin: auto; object-fit: contain; }
.fm-banner--preview { min-height: 110px; padding: 24px; border: 2px dashed var(--fm-accent); background: color-mix(in srgb, var(--fm-accent) 9%, var(--fm-surface)); text-align: center; }
.fm-banner--preview strong, .fm-banner--preview code { display: block; }
.fm-banner--preview strong { color: var(--fm-ink); font-size: 1rem; }
.fm-banner--preview code { margin-top: 5px; color: var(--fm-muted); font-size: .72rem; }
.fm-banner__preview-kicker { color: var(--fm-accent); font-size: .63rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.fm-banner--header_leaderboard, .fm-banner--footer_leaderboard, .fm-banner--home_after_live, .fm-banner--news_archive_top, .fm-banner--matches_top, .fm-banner--live_top, .fm-banner--poll_top, .fm-banner--coupons_top { min-height: 90px; }
.fm-banner--home_sidebar_top, .fm-banner--home_sidebar_middle, .fm-banner--news_sidebar_top, .fm-banner--news_sidebar_sticky, .fm-banner--article_sidebar { min-height: 250px; }
.fm-banner--live_companion, .fm-banner--match_companion, .fm-banner--poll_companion { min-height: 250px; }
.fm-banner--home_between_news_1, .fm-banner--home_between_news_2, .fm-banner--news_archive_inline, .fm-banner--article_inline_1, .fm-banner--article_inline_2 { min-height: 0; max-height: 280px; }
.fm-banner--home_between_news_1 img, .fm-banner--home_between_news_2 img, .fm-banner--news_archive_inline img, .fm-banner--article_inline_1 img, .fm-banner--article_inline_2 img { width: auto; max-width: 100%; max-height: 280px; }
.fm-section--dark .fm-banner { color: rgba(255,255,255,.45); background: rgba(255,255,255,.05); }

/* Cards and home */
.fm-home-hero { position: relative; padding: clamp(3.5rem, 7vw, 7rem) 0 6rem; }
.fm-home-hero::before, .fm-page-mast::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 0 68%, rgba(210,167,75,.28) 68% 68.18%, transparent 68.18%), repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.028) 80px); }
.fm-home-hero > *, .fm-page-mast > * { position: relative; }
.fm-hero-intro { max-width: 620px; margin: 1rem 0 0; color: rgba(255,255,255,.68); font-size: 1rem; }
.fm-hero-grid { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(380px, .68fr); gap: 1.25rem; align-items: stretch; }
.fm-hero-grid__secondary { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); align-content: stretch; gap: 1rem; }
.fm-section-heading--inverse > .fm-home-news-button { color: var(--fm-blue); }
.fm-news-card { position: relative; min-width: 0; background: var(--fm-white); }
.fm-news-card__media { display: block; overflow: hidden; background: var(--fm-ink-2); text-decoration: none; }
.fm-news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.fm-news-card:hover .fm-news-card__media img { transform: scale(1.025); }
.fm-news-card__fallback { display: grid; min-height: 240px; place-items: center; color: rgba(255,255,255,.1); font-family: var(--fm-display); font-size: 6rem; font-weight: 900; }
.fm-news-card__body { padding: 1.35rem; }
.fm-news-card__title { margin: .55rem 0 .7rem; font-family: var(--fm-display); font-size: clamp(1.2rem, 1.7vw, 1.8rem); font-weight: 900; letter-spacing: 0; line-height: 1.08; }
.fm-news-card__title a { text-decoration: none; }
.fm-news-card p { margin: 0 0 .8rem; color: var(--fm-muted); }
.fm-meta { color: var(--fm-muted); font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.fm-news-card--feature { color: var(--fm-white); background: var(--fm-ink-2); }
.fm-news-card--feature .fm-news-card__media { min-height: 590px; aspect-ratio: 16 / 10; }
.fm-news-card--feature .fm-news-card__body { position: absolute; right: 0; bottom: 0; left: 0; padding: clamp(1.5rem, 4vw, 4rem); background: linear-gradient(0deg, rgba(2,8,17,.96), rgba(2,8,17,.1)); }
.fm-news-card--feature .fm-news-card__title { max-width: 820px; font-size: clamp(2rem, 3.8vw, 4.1rem); }
.fm-news-card--feature p { max-width: 720px; color: rgba(255,255,255,.78); }
.fm-news-card--compact { display: grid; grid-template-columns: 42% 1fr; min-height: 180px; overflow: hidden; }
.fm-news-card--compact .fm-news-card__media { min-height: 180px; }
.fm-news-card--compact .fm-news-card__title { font-size: clamp(1.05rem, 1.35vw, 1.35rem); }
.fm-news-card--compact .fm-news-card__body { display: flex; min-width: 0; padding: 1rem; flex-direction: column; justify-content: center; }
.fm-news-card--compact .fm-news-card__excerpt { display: -webkit-box; margin-bottom: .45rem; overflow: hidden; font-size: .78rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.fm-news-card--compact .fm-meta { margin-top: auto; }
.fm-news-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.fm-news-card__meta time { color: var(--fm-muted); font-size: .65rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.fm-news-card__read { display: inline-flex; width: max-content; align-items: center; gap: .45rem; margin-top: auto; color: var(--fm-blue); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.fm-news-card__read span { color: var(--fm-accent); font-size: 1rem; transition: transform .2s ease; }
.fm-news-card:hover .fm-news-card__read span { transform: translateX(4px); }
.fm-hero-grid__secondary .fm-news-card--compact { color: var(--fm-white); border: 1px solid var(--fm-dark-line); background: rgba(255,255,255,.045); }
.fm-hero-grid__secondary .fm-news-card--compact .fm-news-card__body { background: linear-gradient(120deg, rgba(3,42,114,.38), transparent); }
.fm-hero-grid__secondary .fm-news-card--compact .fm-news-card__meta time, .fm-hero-grid__secondary .fm-news-card--compact .fm-news-card__excerpt { color: rgba(255,255,255,.58); }
.fm-hero-grid__secondary .fm-news-card--compact .fm-eyebrow { color: var(--fm-accent); }
.fm-home-news-stream { display: grid; gap: 1rem; }
.fm-news-card--stream-lead { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); min-height: 390px; }
.fm-news-card--stream-lead .fm-news-card__media { min-height: 390px; }
.fm-news-card--stream-lead .fm-news-card__body { display: flex; padding: clamp(1.5rem,3vw,2.5rem); flex-direction: column; justify-content: center; }
.fm-news-card--stream-lead .fm-news-card__title { font-size: clamp(2rem,3vw,3rem); }
.fm-news-card--stream-lead .fm-news-card__excerpt { color: var(--fm-muted); }
.fm-news-card--list { display: grid; grid-template-columns: 250px minmax(0,1fr); min-height: 175px; border-bottom: 1px solid var(--fm-line); transition: transform .2s ease, box-shadow .2s ease; }
.fm-news-card--list:hover { z-index: 1; box-shadow: 0 18px 45px rgba(2,15,36,.1); transform: translateY(-2px); }
.fm-news-card--list .fm-news-card__media { min-height: 175px; }
.fm-news-card--list .fm-news-card__body { display: flex; min-width: 0; padding: 1.35rem 1.6rem; flex-direction: column; }
.fm-news-card--list .fm-news-card__title { margin-block: .55rem; font-size: clamp(1.35rem,2vw,1.9rem); }
.fm-news-card--list .fm-news-card__excerpt { display: -webkit-box; margin-bottom: .8rem; overflow: hidden; color: var(--fm-muted); font-size: .88rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.fm-broadcast-rail { position: relative; z-index: 2; margin-top: -2.5rem; padding: 2.5rem 0 3.2rem; background: var(--fm-white); box-shadow: var(--fm-shadow); }
.fm-broadcast-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--fm-line); border-bottom: 1px solid var(--fm-line); }
.fm-broadcast-ticket { position: relative; display: grid; min-height: 190px; align-content: space-between; padding: 1.35rem; border-right: 1px solid var(--fm-line); text-decoration: none; }
.fm-broadcast-ticket:last-child { border-right: 0; }
.fm-broadcast-ticket::after { content: "→"; position: absolute; right: 1.2rem; bottom: 1.1rem; color: var(--fm-blue); font-size: 1.3rem; }
.fm-broadcast-ticket:hover { color: var(--fm-white); background: var(--fm-ink-2); }
.fm-broadcast-ticket strong { margin: 1.4rem 0 .75rem; font-family: var(--fm-display); font-size: 1.35rem; line-height: 1.02; }
.fm-broadcast-ticket > span:not(.fm-status), .fm-broadcast-ticket small { color: var(--fm-muted); font-size: .73rem; font-weight: 700; }
.fm-status { display: inline-flex; width: max-content; align-items: center; padding: .32rem .6rem; color: var(--fm-white); background: var(--fm-blue); font-size: .61rem; font-weight: 900; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
.fm-status--live_available, .fm-status--prelive { background: var(--fm-live); }
.fm-status--archived { color: var(--fm-ink); background: var(--fm-white); }
.fm-empty-line { padding: 1.4rem; border: 1px solid var(--fm-line); color: var(--fm-muted); }
.fm-home-ad, .fm-archive-ad, .fm-article-ad { padding-block: 2rem; }
.fm-editorial-section { padding-block: var(--fm-space-6); background: var(--fm-paper); }
.fm-home-columns, .fm-archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2.5rem, 5vw, 5.5rem); align-items: start; }
.fm-news-mosaic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.fm-news-card--wide { grid-column: 1 / -1; display: grid; grid-template-columns: 58% 1fr; }
.fm-news-card--wide .fm-news-card__media { min-height: 360px; }
.fm-home-sidebar { display: grid; gap: 2rem; }
.fm-sidebar-module { padding: 1.5rem; color: var(--fm-white); background: var(--fm-ink-2); }
.fm-sidebar-module h2 { margin: .7rem 0 1.2rem; font-family: var(--fm-display); font-size: 2rem; line-height: 1; text-transform: uppercase; }
.fm-sidebar-module .fm-text-link { display: block; margin-top: 1.4rem; }
.fm-match-section { padding-block: var(--fm-space-6); }
.fm-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.fm-video-card { min-width: 0; color: var(--fm-white); background: var(--fm-ink-2); }
.fm-video-card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--fm-ink-3); }
.fm-video-card__media img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: transform .35s, opacity .35s; }
.fm-video-card:hover img { transform: scale(1.035); opacity: 1; }
.fm-video-card__media .fm-status { position: absolute; top: .75rem; left: .75rem; }
.fm-video-card__play { position: absolute; top: 50%; left: 50%; width: 58px; height: 58px; border: 2px solid rgba(255,255,255,.9); border-radius: 50%; transform: translate(-50%, -50%); }
.fm-video-card__play::after { content: ""; position: absolute; top: 50%; left: 53%; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 13px solid var(--fm-white); transform: translate(-40%, -50%); }
.fm-video-card__body { padding: 1.15rem; border-top: 3px solid var(--fm-blue); }
.fm-video-card h3 { margin: .55rem 0 .7rem; font-family: var(--fm-display); font-size: 1.45rem; letter-spacing: -.025em; line-height: 1.02; }
.fm-video-card h3 a { text-decoration: none; }
.fm-video-card .fm-meta { margin: 0; color: rgba(255,255,255,.58); }
.fm-partner-cta { color: var(--fm-white); background: var(--fm-blue); }
.fm-partner-cta__inner { display: flex; min-height: 350px; align-items: center; justify-content: space-between; gap: 3rem; }
.fm-partner-cta h2 { max-width: 850px; margin: .4rem 0 1rem; font-family: var(--fm-display); font-size: clamp(2.5rem, 5vw, 5rem); line-height: .9; text-transform: uppercase; }
.fm-partner-cta p { max-width: 650px; }
.fm-partner-cta .fm-kicker { color: var(--fm-white); }
.fm-partner-cta .fm-button { color: var(--fm-blue); background: var(--fm-white); white-space: nowrap; }

/* Page mastheads and archives */
.fm-page-mast { position: relative; overflow: hidden; padding: clamp(4rem, 9vw, 8rem) 0; color: var(--fm-white); background: var(--fm-ink-2); }
.fm-page-mast h1 { max-width: 1100px; margin: .45rem 0 .8rem; font-family: var(--fm-display); font-size: clamp(3.8rem, 10vw, 9.5rem); font-weight: 900; letter-spacing: -.055em; line-height: .82; text-transform: uppercase; }
.fm-page-mast p { max-width: 750px; margin: 0; color: rgba(255,255,255,.72); font-size: clamp(1rem, 1.5vw, 1.25rem); }
.fm-page-mast .fm-kicker, .fm-section--dark .fm-kicker { color: var(--fm-accent); }
.fm-page-mast--news h1 { font-size: clamp(3.4rem, 7vw, 6.5rem); }
.fm-news-mast { display: flex; align-items: end; justify-content: space-between; gap: 4rem; }
.fm-news-mast__count { display: grid; min-width: 180px; padding: 1.4rem; border-top: 4px solid var(--fm-accent); background: rgba(255,255,255,.07); }
.fm-news-mast__count strong { color: var(--fm-accent); font-family: var(--fm-display); font-size: 3rem; line-height: 1; }
.fm-news-mast__count span { margin-top: .4rem; color: rgba(255,255,255,.64); font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.fm-page-mast--live { border-bottom: 6px solid var(--fm-live); }
.fm-page-mast--benefits, .fm-page-mast--account { background: var(--fm-blue); }
.fm-filter-bar { display: flex; gap: .4rem; overflow-x: auto; padding-block: 1rem; border-bottom: 1px solid var(--fm-line); scrollbar-width: thin; }
.fm-filter-bar a { padding: .55rem .9rem; color: var(--fm-muted); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.fm-filter-bar a.is-active, .fm-filter-bar a:hover { color: var(--fm-white); background: var(--fm-blue); }
.fm-news-archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.4rem; }
.fm-news-archive-grid .fm-news-card--wide { grid-column: 1 / -1; }
.fm-news-archive-grid .fm-news-card--wide .fm-news-card__title { font-size: clamp(1.7rem, 2.8vw, 2.7rem); }
.fm-news-archive-grid .fm-banner { grid-column: 1 / -1; }
.fm-news-mosaic .fm-banner { grid-column: 1 / -1; }
.fm-news-archive { padding-block: clamp(3rem,6vw,6rem); background: #f7f5ef; }
.fm-news-archive-main { min-width: 0; }
.fm-news-featured { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); gap: 1.1rem; margin-bottom: clamp(3rem,6vw,5.5rem); }
.fm-news-featured__secondary { display: grid; grid-template-rows: repeat(2,minmax(0,1fr)); gap: 1.1rem; }
.fm-news-card--archive-lead { position: relative; min-height: 570px; overflow: hidden; color: var(--fm-white); background: var(--fm-ink-2); }
.fm-news-card--archive-lead .fm-news-card__media { position: absolute; inset: 0; }
.fm-news-card--archive-lead .fm-news-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,15,36,.97), rgba(2,15,36,.04) 75%); }
.fm-news-card--archive-lead .fm-news-card__body { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; padding: clamp(1.5rem,4vw,3.2rem); }
.fm-news-card--archive-lead .fm-news-card__title { max-width: 850px; font-size: clamp(2.2rem,4vw,4rem); line-height: 1; }
.fm-news-card--archive-lead .fm-news-card__excerpt { max-width: 690px; margin-bottom: 0; color: rgba(255,255,255,.68); }
.fm-news-card--archive-lead .fm-news-card__meta time { color: rgba(255,255,255,.58); }
.fm-news-card--archive-lead .fm-eyebrow { color: var(--fm-accent); }
.fm-news-card--archive-secondary { display: grid; grid-template-columns: 43% minmax(0,1fr); min-height: 0; }
.fm-news-card--archive-secondary .fm-news-card__media { min-height: 0; }
.fm-news-card--archive-secondary .fm-news-card__body { display: flex; min-width: 0; padding: 1.15rem; flex-direction: column; justify-content: center; }
.fm-news-card--archive-secondary .fm-news-card__title { font-size: clamp(1.15rem,1.6vw,1.5rem); }
.fm-news-card--archive-secondary .fm-news-card__excerpt { display: -webkit-box; margin: 0; overflow: hidden; color: var(--fm-muted); font-size: .76rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.fm-news-card--archive-secondary .fm-news-card__meta { display: block; }
.fm-news-card--archive-secondary .fm-news-card__meta time { display: none; }
.fm-news-feed-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 1.5rem; padding-top: 1.5rem; border-top: 5px solid var(--fm-ink); }
.fm-news-feed-heading h2 { margin: 0; font-family: var(--fm-display); font-size: clamp(2.2rem,4vw,4rem); letter-spacing: -.035em; line-height: .92; text-transform: uppercase; }
.fm-news-feed { display: grid; gap: 1rem; }
.fm-news-feed > .fm-banner { margin-block: 1rem; }
.fm-archive-sidebar { display: grid; gap: 2rem; }
.fm-banner--news_sidebar_sticky { position: sticky; top: 110px; }
.fm-sidebar-card { overflow: hidden; background: var(--fm-white); }
.fm-sidebar-card__heading { padding: 1.25rem; border-top: 5px solid var(--fm-accent); }
.fm-sidebar-card__heading span, .fm-sidebar-card__label { color: var(--fm-blue); font-size: .64rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.fm-sidebar-card__heading h2 { margin: .35rem 0 0; font-family: var(--fm-display); font-size: 1.8rem; line-height: 1; text-transform: uppercase; }
.fm-sidebar-news-list { margin: 0; padding: 0; list-style: none; }
.fm-sidebar-news-list li { display: grid; grid-template-columns: 34px 1fr; gap: .7rem; padding: 1rem 1.15rem; border-top: 1px solid var(--fm-line); }
.fm-sidebar-news-list li > span { color: var(--fm-accent); font-family: var(--fm-display); font-size: 1.2rem; }
.fm-sidebar-news-list li div { display: grid; gap: .35rem; }
.fm-sidebar-news-list a { font-size: .88rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
.fm-sidebar-news-list time { color: var(--fm-muted); font-size: .66rem; text-transform: uppercase; }
.fm-sidebar-card--live { padding: 1.4rem; color: var(--fm-white); background: var(--fm-ink-2); }
.fm-sidebar-card--live .fm-sidebar-card__label { margin: 1.5rem 0 .45rem; color: var(--fm-accent); }
.fm-sidebar-card--live h2 { margin: 0 0 .7rem; font-family: var(--fm-display); font-size: 1.7rem; line-height: 1.05; }
.fm-sidebar-card--live h2 a { text-decoration: none; }
.fm-sidebar-card--live > p:not(.fm-sidebar-card__label) { color: rgba(255,255,255,.62); font-size: .78rem; }
.fm-sidebar-card--live .fm-text-link { color: var(--fm-accent); font-size: .75rem; }
.fm-sidebar-video__media { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--fm-ink); }
.fm-sidebar-video__media img { width: 100%; height: 100%; object-fit: cover; }
.fm-sidebar-card--video > div { padding: 1.2rem; }
.fm-sidebar-card--video h2 { margin: .4rem 0 0; font-family: var(--fm-display); font-size: 1.45rem; line-height: 1.05; }
.fm-sidebar-card--video h2 a { text-decoration: none; }
.fm-sidebar-card--categories nav { display: grid; }
.fm-sidebar-card--categories nav a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.15rem; border-top: 1px solid var(--fm-line); color: var(--fm-ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.fm-sidebar-card--categories nav a:hover, .fm-sidebar-card--categories nav a.is-active { color: var(--fm-white); background: var(--fm-blue); }
.fm-sidebar-card--categories nav strong { color: var(--fm-accent); font-family: var(--fm-display); font-size: 1.1rem; }
.fm-match-browser { padding-block: var(--fm-space-5) var(--fm-space-6); color: var(--fm-white); background: var(--fm-ink); }
.fm-match-filters { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(120px, .8fr)) auto auto; gap: .8rem; align-items: end; margin-bottom: 3rem; padding: 1.25rem; background: var(--fm-ink-2); }
.fm-match-filters label { display: grid; gap: .4rem; }
.fm-match-filters label span { color: rgba(255,255,255,.58); font-size: .64rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.fm-match-filters input, .fm-match-filters select { width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid var(--fm-dark-line); color: var(--fm-white); background: var(--fm-ink); }
.fm-match-filters option { color: var(--fm-ink); background: var(--fm-white); }
.fm-filter-reset { padding: .75rem .4rem; color: rgba(255,255,255,.65); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.fm-video-grid--archive { grid-template-columns: repeat(3, minmax(0,1fr)); }
.fm-grid-ad { grid-column: 1 / -1; }
.fm-empty-state { grid-column: 1 / -1; padding: clamp(2rem, 5vw, 5rem); border: 1px solid var(--fm-line); background: var(--fm-white); }
.fm-empty-state h2 { margin: 0 0 .7rem; font-family: var(--fm-display); font-size: clamp(2rem, 4vw, 4rem); line-height: 1; text-transform: uppercase; }
.fm-empty-state p { color: var(--fm-muted); }
.fm-empty-state--inverse { border-color: var(--fm-dark-line); background: var(--fm-ink-2); }
.fm-empty-state--inverse p { color: rgba(255,255,255,.65); }
.fm-pagination { grid-column: 1 / -1; margin-top: 2rem; }
.fm-pagination ul { display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; list-style: none; }
.fm-pagination a, .fm-pagination span { display: grid; min-width: 42px; height: 42px; place-items: center; padding-inline: .75rem; border: 1px solid var(--fm-line); text-decoration: none; }
.fm-pagination .current, .fm-pagination a:hover { color: var(--fm-white); border-color: var(--fm-blue); background: var(--fm-blue); }

/* Broadcast */
.fm-live-page, .fm-single-match { padding: 3rem 0 var(--fm-space-6); }
.fm-live-layout, .fm-match-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.5rem; align-items: start; margin-top: 2rem; }
.fm-broadcast-stage { position: relative; min-height: clamp(420px, 56vw, 760px); overflow: hidden; background: #020811; }
.fm-broadcast-stage__backdrop { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: .26; filter: saturate(.7); }
.fm-broadcast-stage__backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,8,17,.97), rgba(2,8,17,.2)); }
.fm-broadcast-stage__content { position: relative; z-index: 1; display: flex; min-height: inherit; align-items: center; justify-content: center; flex-direction: column; padding: clamp(1.5rem, 6vw, 6rem); text-align: center; }
.fm-broadcast-stage__content h1 { max-width: 950px; margin: 1rem 0; font-family: var(--fm-display); font-size: clamp(2rem, 5vw, 5rem); line-height: .92; text-transform: uppercase; }
.fm-broadcast-stage__content p { max-width: 700px; color: rgba(255,255,255,.72); }
.fm-broadcast-stage__kicker { margin: 2rem 0 0 !important; color: var(--fm-white) !important; font-size: .72rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.fm-countdown { display: flex; align-items: baseline; gap: .8rem; margin: .3rem 0 1.5rem; }
.fm-countdown strong { font-family: var(--fm-display); font-size: clamp(3.2rem, 9vw, 8.8rem); letter-spacing: -.05em; line-height: .85; }
.fm-countdown span { color: var(--fm-blue-bright); font-size: .8rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.fm-lock { position: relative; width: 62px; height: 50px; margin: 2rem; border: 3px solid var(--fm-white); }
.fm-lock::before { content: ""; position: absolute; top: -36px; left: 50%; width: 34px; height: 35px; border: 3px solid var(--fm-white); border-bottom: 0; border-radius: 20px 20px 0 0; transform: translateX(-50%); }
.fm-protected-player { position: absolute; inset: 0; display: grid; place-items: center; background: var(--fm-ink); }
.fm-protected-player iframe, .fm-broadcast-stage iframe { width: 100%; height: 100%; border: 0; }
.fm-archive-player { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 1rem; border: 0; color: var(--fm-white); background: transparent; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fm-archive-player .fm-video-card__play { position: relative; top: auto; left: auto; transform: none; }
.fm-live-info, .fm-match-header { padding: 1.8rem; background: var(--fm-ink-2); }
.fm-live-info h2, .fm-match-header h1 { margin: .6rem 0; font-family: var(--fm-display); font-size: clamp(2rem, 4vw, 4rem); line-height: .92; text-transform: uppercase; }
.fm-live-info p, .fm-match-header p { color: rgba(255,255,255,.6); }
.fm-live-layout > aside, .fm-match-companion { position: sticky; top: 110px; }
.fm-next-broadcasts, .fm-related-matches { padding-top: 5rem; }
.fm-match-description { padding: 1.5rem; color: rgba(255,255,255,.74); background: var(--fm-ink-2); }

/* Polls and benefits */
.fm-polls-page, .fm-benefits-page, .fm-account-page, .fm-search-results { padding-block: var(--fm-space-5) var(--fm-space-6); }
.fm-poll-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 2rem; align-items: start; }
.fm-poll-mast { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4rem; align-items: end; }
.fm-poll-stats { display: grid; grid-template-columns: repeat(2, minmax(130px,1fr)); gap: 1px; background: var(--fm-dark-line); }
.fm-poll-stats > div { display: grid; min-height: 150px; align-content: end; padding: 1.4rem; background: rgba(255,255,255,.06); }
.fm-poll-stats strong { color: var(--fm-accent); font-family: var(--fm-display); font-size: 2.8rem; line-height: 1; }
.fm-poll-stats span { margin-top: .45rem; color: rgba(255,255,255,.7); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fm-poll-feature { min-height: 480px; padding: clamp(1.5rem, 4vw, 4rem); color: var(--fm-white); background: var(--fm-ink-2); clip-path: polygon(0 0, calc(100% - 42px) 0, 100% 42px, 100% 100%, 0 100%); }
.fm-poll-feature h2 { max-width: 900px; margin: .7rem 0 2rem; font-family: var(--fm-display); font-size: clamp(2rem, 5vw, 4.6rem); line-height: .92; text-transform: uppercase; }
.fm-poll-archive { margin-top: 5rem; }
.fm-poll-list { display: grid; gap: 1px; background: var(--fm-line); }
.fm-poll-list article { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 1.5rem; align-items: center; padding: 1.4rem; background: var(--fm-white); }
.fm-poll-list article > span, .fm-poll-list article > strong { color: var(--fm-muted); font-size: .72rem; }
.fm-poll-list h3 { margin: 0; font-family: var(--fm-display); font-size: 1.35rem; line-height: 1.05; }
.fm-poll-list details { grid-column: 1 / -1; }
.fm-poll-list summary { color: var(--fm-blue); cursor: pointer; font-weight: 800; }
.fm-poll-aside { display: grid; gap: 2rem; }
.fm-poll-how { padding: 1.5rem; border-top: 5px solid var(--fm-accent); background: var(--fm-white); }
.fm-poll-how ol { display: grid; gap: 0; margin: 1rem 0 0; padding: 0; list-style: none; }
.fm-poll-how li { display: grid; grid-template-columns: 42px 1fr; gap: .8rem; align-items: center; padding: .9rem 0; border-bottom: 1px solid var(--fm-line); }
.fm-poll-how li:last-child { border-bottom: 0; }
.fm-poll-how strong { color: var(--fm-blue); font-family: var(--fm-display); font-size: 1.4rem; }
.fm-poll-how span { color: var(--fm-muted); font-size: .82rem; }
.fm-benefits-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(400px, 1fr); gap: 4rem; align-items: center; padding-block: 2rem 4rem; }
.fm-benefits-intro h2 { margin: .6rem 0 0; font-family: var(--fm-display); font-size: clamp(2.4rem, 5vw, 5rem); line-height: .9; text-transform: uppercase; }
.fm-benefits-intro ol { display: grid; gap: 1px; margin: 0; padding: 0; background: var(--fm-line); list-style: none; }
.fm-benefits-intro li { display: grid; grid-template-columns: 65px 1fr; align-items: center; gap: 1rem; padding: 1.1rem; background: var(--fm-white); }
.fm-benefits-intro li strong { color: var(--fm-blue); font-family: var(--fm-display); font-size: 1.7rem; }
.fm-benefits-nav { display: flex; gap: .45rem; margin: -1.35rem 0 2rem; padding: .5rem; background: var(--fm-white); box-shadow: 0 12px 36px rgba(3,25,58,.1); }
.fm-benefits-nav a { padding: .85rem 1.2rem; color: var(--fm-ink); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.fm-benefits-nav a:hover { color: var(--fm-white); background: var(--fm-blue); }
.fm-benefits-overview { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(2rem,5vw,5rem); align-items: end; padding-block: clamp(3rem,7vw,6rem); }
.fm-benefits-overview__intro h2 { max-width: 640px; margin: .65rem 0 1rem; font-family: var(--fm-display); font-size: clamp(2.8rem,5vw,5rem); letter-spacing: -.04em; line-height: .88; text-transform: uppercase; }
.fm-benefits-overview__intro p { max-width: 620px; color: var(--fm-muted); font-size: 1.05rem; }
.fm-benefits-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--fm-line); border-left: 1px solid var(--fm-line); }
.fm-benefits-features article { min-height: 240px; padding: 1.4rem; border-right: 1px solid var(--fm-line); border-bottom: 1px solid var(--fm-line); background: var(--fm-white); }
.fm-benefits-features article > span { color: var(--fm-accent); font-family: var(--fm-display); font-size: 2rem; }
.fm-benefits-features h3 { margin: 3.8rem 0 .55rem; font-family: var(--fm-display); font-size: 1.55rem; text-transform: uppercase; }
.fm-benefits-features p { margin: 0; color: var(--fm-muted); font-size: .84rem; line-height: 1.55; }
.fm-benefits-qr { padding-top: 1rem; scroll-margin-top: 120px; }
.fm-benefits-overview { scroll-margin-top: 120px; }
.fm-benefits-login { display: flex; min-height: 260px; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem,4vw,3.5rem); color: var(--fm-white); background: var(--fm-ink-2); }
.fm-benefits-login h3 { margin: .5rem 0 .8rem; font-family: var(--fm-display); font-size: clamp(2rem,4vw,3.8rem); line-height: .95; text-transform: uppercase; }
.fm-benefits-login p { max-width: 640px; color: rgba(255,255,255,.68); }
.fm-benefits-login .fm-button--ghost { color: var(--fm-white); }
.fm-qr-integration { display: grid; gap: 2rem; }
.fm-qr-integration .qr-coupons-shell { --qr-brand: var(--fm-blue); --qr-brand-dark: var(--fm-ink-2); max-width: none; font-family: var(--fm-sans); }
.fm-qr-integration .qr-coupons-card { border-radius: 0; box-shadow: none; }
.fm-qr-integration button, .fm-qr-integration .qr-coupons-button { border-radius: 0; }

/* Auth and account */
.fm-auth-page { min-height: 760px; padding-block: clamp(3rem, 8vw, 7rem); color: var(--fm-white); background: var(--fm-ink); }
.fm-auth-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 520px); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.fm-auth-story h1 { max-width: 800px; margin: .8rem 0 1.3rem; font-family: var(--fm-display); font-size: clamp(3.4rem, 8vw, 7.5rem); line-height: .82; text-transform: uppercase; }
.fm-auth-story p { max-width: 620px; color: rgba(255,255,255,.72); font-size: 1.15rem; }
.fm-auth-story ul { display: grid; gap: .55rem; padding: 0; list-style: none; }
.fm-auth-story li::before { content: "✓"; margin-right: .65rem; color: var(--fm-blue-bright); }
.fm-auth-card { padding: clamp(1.5rem, 4vw, 3.5rem); color: var(--fm-ink); background: var(--fm-white); box-shadow: var(--fm-shadow); clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%); }
.fm-auth-card h2 { margin: .5rem 0 1.8rem; font-family: var(--fm-display); font-size: 3rem; line-height: 1; text-transform: uppercase; }
.fm-auth-card form, .fm-auth-form { display: grid; gap: 1rem; }
.fm-auth-card form > p { display: grid; gap: .4rem; margin: 0; }
.fm-auth-card label, .fm-auth-form label { display: grid; gap: .4rem; color: var(--fm-ink); font-size: .78rem; font-weight: 800; }
.fm-auth-card input:not([type="checkbox"]), .fm-auth-form input:not([type="checkbox"]) { width: 100%; min-height: 50px; padding: .75rem; border: 1px solid var(--fm-line); border-radius: 0; background: #fafafa; }
.fm-auth-card .login-remember label, .fm-check { display: flex; align-items: flex-start; gap: .6rem; font-weight: 600; }
.fm-auth-card .button-primary { min-height: 50px; border: 0; color: var(--fm-white); background: var(--fm-blue); font-weight: 850; text-transform: uppercase; }
.fm-forgot-link { display: inline-block; margin-top: 1rem; color: var(--fm-blue); font-size: .82rem; }
.fm-social-login { display: grid; gap: .8rem; margin-top: 1.5rem; text-align: center; }
.fm-social-login > span { display: flex; align-items: center; gap: .8rem; color: var(--fm-muted); font-size: .7rem; text-transform: uppercase; }
.fm-social-login > span::before, .fm-social-login > span::after { content: ""; height: 1px; flex: 1; background: var(--fm-line); }
.fm-auth-switch { margin-top: 1.6rem; font-size: .86rem; }
.fm-auth-switch a { color: var(--fm-blue); font-weight: 800; }
.fm-form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .9rem; }
.fm-form-alert { padding: .8rem 1rem; border-left: 4px solid; font-size: .85rem; }
.fm-form-alert--error { color: #8a0611; border-color: var(--fm-live); background: #fff0f1; }
.fm-form-alert--success { color: #075d35; border-color: #14965a; background: #eafaf2; }
.fm-account-layout { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 3rem; align-items: start; }
.fm-account-nav { position: sticky; top: 110px; display: grid; border-top: 4px solid var(--fm-blue); background: var(--fm-white); }
.fm-account-nav a { padding: .9rem 1rem; border-bottom: 1px solid var(--fm-line); font-size: .78rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.fm-account-nav a:hover { color: var(--fm-white); background: var(--fm-blue); }
.fm-account-content { display: grid; gap: 2rem; }
.fm-account-panel { padding: clamp(1.4rem, 3vw, 2.5rem); background: var(--fm-white); }
.fm-account-panel h2 { margin: .5rem 0 1.5rem; font-family: var(--fm-display); font-size: 2.6rem; line-height: 1; text-transform: uppercase; }
.fm-account-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--fm-line); }
.fm-account-actions a { display: grid; gap: .3rem; padding: 1.4rem; background: var(--fm-paper); text-decoration: none; }
.fm-account-actions a:hover { color: var(--fm-white); background: var(--fm-ink-2); }
.fm-account-actions span { color: var(--fm-muted); font-size: .76rem; }

/* Articles and editorial content */
.fm-article { padding-bottom: var(--fm-space-6); background: var(--fm-paper); }
.fm-article-header { max-width: 1120px; padding-top: clamp(3rem, 8vw, 7rem); padding-bottom: 2rem; }
.fm-article-header h1 { margin: .7rem 0 1.5rem; font-family: var(--fm-display); font-size: clamp(2.7rem, 6vw, 5.5rem); letter-spacing: -.045em; line-height: .92; }
.fm-article-byline { display: flex; align-items: center; gap: .75rem; color: var(--fm-muted); font-size: .75rem; }
.fm-article-byline img { border-radius: 50%; }
.fm-article-byline p { margin: 0; }
.fm-article-hero { margin-top: 1rem; }
.fm-article-hero img { width: 100%; max-height: 860px; object-fit: cover; }
.fm-article-hero figcaption { padding: .65rem 0; color: var(--fm-muted); font-size: .72rem; }
.fm-article-layout { display: grid; grid-template-columns: minmax(0,var(--fm-text)) 340px; justify-content: center; gap: clamp(2.5rem, 6vw, 6rem); padding-top: 3rem; }
.fm-prose { font-size: clamp(1rem, 1.15vw, 1.14rem); }
.fm-prose > *:first-child { margin-top: 0; }
.fm-prose h2, .fm-prose h3 { margin: 2.2em 0 .7em; font-family: var(--fm-display); line-height: 1; }
.fm-prose h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.fm-prose h3 { font-size: 1.8rem; }
.fm-prose p { margin: 0 0 1.4em; }
.fm-prose a { color: #0a4b9f; }
.fm-prose blockquote { margin: 2.2rem 0; padding: 1rem 0 1rem 1.4rem; border-left: 5px solid var(--fm-blue); font-family: var(--fm-display); font-size: 1.8rem; line-height: 1.15; }
.fm-prose figure { max-width: 100%; margin: 2.5rem 0; }
.fm-article-sidebar { position: sticky; top: 110px; display: grid; height: max-content; gap: 1.5rem; }
.fm-share { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--fm-line); }
.fm-share span { margin-right: auto; font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.fm-share a { padding: .45rem .65rem; border: 1px solid var(--fm-line); color: var(--fm-ink); font-size: .72rem; font-weight: 800; text-decoration: none; }
.fm-related-news { margin-top: 5rem; padding-block: 4rem; background: var(--fm-white); }
.fm-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.4rem; }
.fm-article-mast { position: relative; overflow: hidden; padding: clamp(4rem,7vw,7rem) 0 clamp(6rem,10vw,9rem); color: var(--fm-white); background: var(--fm-ink-2); }
.fm-article-mast::after { content: ""; position: absolute; top: -25%; right: 8%; width: 1px; height: 155%; background: var(--fm-accent); transform: rotate(18deg); opacity: .48; }
.fm-article-mast__inner { position: relative; z-index: 1; max-width: 1180px; }
.fm-article-mast__meta { display: flex; align-items: center; gap: .7rem; color: var(--fm-accent); font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.fm-article-mast__meta a { color: inherit; text-decoration: none; }
.fm-article-mast h1 { max-width: 1080px; margin: 1rem 0 1.5rem; font-family: var(--fm-display); font-size: clamp(2.7rem,6vw,5.6rem); font-weight: 900; letter-spacing: -.045em; line-height: .91; }
.fm-article-deck { max-width: 800px; margin: 0 0 2rem; color: rgba(255,255,255,.7); font-size: clamp(1rem,1.5vw,1.22rem); line-height: 1.55; }
.fm-article-byline { display: flex; align-items: center; gap: .8rem; color: var(--fm-white); }
.fm-author-mark { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; color: var(--fm-blue); border-radius: 50%; background: var(--fm-accent); font-family: var(--fm-display); font-size: 1.25rem; font-weight: 900; }
.fm-article-byline p { display: grid; gap: .15rem; margin: 0; }
.fm-article-byline strong { font-size: .8rem; }
.fm-article-byline p span { color: rgba(255,255,255,.55); font-size: .68rem; }
.fm-article-hero { position: relative; z-index: 2; margin-top: clamp(-5rem,-7vw,-3rem); margin-bottom: 0; box-shadow: 0 30px 75px rgba(2,15,36,.18); }
.fm-article-hero img { width: 100%; max-height: 680px; object-fit: cover; }
.fm-article-hero figcaption { padding: .7rem .2rem; color: var(--fm-muted); font-size: .7rem; }
.fm-article-layout { grid-template-columns: minmax(0,var(--fm-text)) 340px; align-items: start; padding-top: clamp(3rem,6vw,5.5rem); }
.fm-article-content { min-width: 0; padding: clamp(1.6rem,4vw,3.5rem); border-top: 5px solid var(--fm-accent); background: var(--fm-white); box-shadow: 0 20px 55px rgba(2,15,36,.06); }
.fm-article-content .fm-prose > p:first-child { color: #18253a; font-size: 1.16em; line-height: 1.68; }
.fm-share--top { margin: 0 0 2.5rem; padding: 0 0 1.25rem; border-top: 0; border-bottom: 1px solid var(--fm-line); }
.fm-related-news { margin-top: clamp(4rem,8vw,7rem); padding-block: clamp(3rem,6vw,5rem); }
.fm-related-news .fm-section-heading h2 { font-size: clamp(2.3rem,4vw,4rem); }
.fm-related-news .fm-news-card--archive-secondary { display: block; }
.fm-related-news .fm-news-card--archive-secondary .fm-news-card__media { aspect-ratio: 16/10; }
.fm-related-news .fm-news-card--archive-secondary .fm-news-card__body { min-height: 190px; justify-content: flex-start; }
.fm-related-news .fm-news-card--archive-secondary .fm-news-card__title { font-size: 1.45rem; }
.fm-related-news .fm-news-card--archive-secondary .fm-news-card__excerpt { margin-top: .3rem; }
.fm-content-page { padding-block: var(--fm-space-6); background: var(--fm-white); }
.fm-content-page > .fm-prose { max-width: var(--fm-text); }
.fm-pullquote { margin: 0 0 3rem; padding: 1.5rem 0; border-top: 5px solid var(--fm-blue); border-bottom: 1px solid var(--fm-line); font-family: var(--fm-display); font-size: clamp(2rem, 4vw, 4rem); line-height: .95; text-transform: uppercase; }
.fm-content-page--partners .fm-prose { margin-inline: auto; }
.fm-about-page { background: var(--fm-paper); }
.fm-about-intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(3rem,8vw,8rem); align-items: start; padding-block: var(--fm-space-6); }
.fm-about-intro h2 { max-width: 650px; margin: .7rem 0 0; font-family: var(--fm-display); font-size: clamp(2.4rem,5vw,5rem); letter-spacing: -.04em; line-height: .92; text-transform: uppercase; }
.fm-about-values { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; padding-bottom: var(--fm-space-6); background: var(--fm-line); }
.fm-about-values article { min-height: 330px; padding: clamp(1.5rem,3vw,2.6rem); background: var(--fm-white); }
.fm-about-values article > span { color: var(--fm-accent); font-family: var(--fm-display); font-size: 2rem; }
.fm-about-values h2 { margin: 4rem 0 1rem; color: var(--fm-blue); font-family: var(--fm-display); font-size: 2.5rem; text-transform: uppercase; }
.fm-about-values p { color: var(--fm-muted); }
.fm-about-band { color: var(--fm-white); background: var(--fm-blue); }
.fm-about-band__inner { display: grid; grid-template-columns: repeat(3,1fr); }
.fm-about-band__inner > div { display: grid; min-height: 220px; align-content: center; justify-items: center; border-right: 1px solid rgba(255,255,255,.2); text-align: center; }
.fm-about-band__inner > div:last-child { border-right: 0; }
.fm-about-band strong { color: var(--fm-accent); font-family: var(--fm-display); font-size: clamp(3rem,6vw,5.5rem); line-height: 1; }
.fm-about-band span { font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fm-about-cta { display: flex; min-height: 380px; align-items: center; justify-content: space-between; gap: 3rem; }
.fm-about-cta h2 { max-width: 900px; margin: .7rem 0 0; font-family: var(--fm-display); font-size: clamp(2.4rem,5vw,4.8rem); line-height: .93; text-transform: uppercase; }
.fm-package-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 4rem; background: var(--fm-line); }
.fm-package-grid article { min-height: 300px; padding: 2rem; background: var(--fm-paper); }
.fm-package-grid article > span { color: var(--fm-blue); font-family: var(--fm-display); font-size: 2rem; }
.fm-package-grid h2 { margin: 3rem 0 1rem; font-family: var(--fm-display); font-size: 2.5rem; text-transform: uppercase; }
.fm-search-large { display: flex; max-width: 760px; gap: .6rem; margin-top: 2rem; }
.fm-search-large input { min-width: 0; min-height: 52px; flex: 1; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.35); color: var(--fm-white); background: rgba(0,0,0,.2); }
.fm-result-list { display: grid; gap: 1px; background: var(--fm-line); }
.fm-result-list article { padding: clamp(1.2rem, 3vw, 2.2rem); background: var(--fm-white); }
.fm-result-list h2 { margin: .5rem 0; font-family: var(--fm-display); font-size: clamp(1.8rem, 4vw, 3.5rem); line-height: 1; }
.fm-result-list h2 a { text-decoration: none; }
.fm-result-list p, .fm-result-list time { color: var(--fm-muted); }

/* 404 */
.fm-404 { min-height: 720px; color: var(--fm-white); background: var(--fm-ink); }
.fm-404__inner { display: grid; min-height: 720px; grid-template-columns: minmax(0,1fr) minmax(300px,.75fr); gap: 4rem; align-items: center; }
.fm-404__score { display: block; color: var(--fm-white); font-family: var(--fm-display); font-size: clamp(4rem, 11vw, 11rem); font-weight: 900; letter-spacing: -.06em; line-height: .75; }
.fm-404__score span { color: var(--fm-blue); }
.fm-404 h1 { margin: 1rem 0; font-family: var(--fm-display); font-size: clamp(2.8rem, 6vw, 6rem); line-height: .86; text-transform: uppercase; }
.fm-404 p { max-width: 600px; color: rgba(255,255,255,.65); }
.fm-404__field { position: relative; aspect-ratio: 1 / 1.15; border: 3px solid rgba(255,255,255,.2); background: #0b462c; transform: perspective(900px) rotateY(-14deg) rotateX(5deg); }
.fm-404__field::before, .fm-404__field::after { content: ""; position: absolute; border: 2px solid rgba(255,255,255,.4); }
.fm-404__field::before { inset: 50% 0 auto; }
.fm-404__field::after { top: 50%; left: 50%; width: 30%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%,-50%); }

/* Footer */
.fm-footer-ad { padding-block: 2rem; }
.fm-site-footer { padding: 0 0 1.3rem; color: var(--fm-white); background: #020b1c; }
.fm-footer-lead { display: flex; min-height: 280px; align-items: center; justify-content: space-between; gap: 3rem; padding-block: 3rem; border-bottom: 1px solid var(--fm-dark-line); }
.fm-footer-lead h2 { max-width: 800px; margin: .6rem 0 0; font-family: var(--fm-display); font-size: clamp(2.5rem,5vw,5rem); letter-spacing: -.04em; line-height: .9; text-transform: uppercase; }
.fm-footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 3rem; padding-top: 4rem; }
.fm-footer-brand p { max-width: 360px; color: rgba(255,255,255,.58); }
.fm-footer-grid nav, .fm-footer-contact { display: grid; align-content: start; gap: .55rem; }
.fm-footer-grid nav h2, .fm-footer-contact h2 { margin: 0 0 .8rem; color: var(--fm-accent); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.fm-footer-grid nav a, .fm-footer-contact a { color: rgba(255,255,255,.72); font-size: .82rem; text-decoration: none; }
.fm-footer-grid nav a:hover, .fm-footer-contact a:hover { color: var(--fm-white); }
.fm-footer-social { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.3rem; }
.fm-footer-social a { padding: .4rem .65rem; border: 1px solid var(--fm-dark-line); color: rgba(255,255,255,.72); font-size: .7rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.fm-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding-top: 1.2rem; border-top: 1px solid var(--fm-dark-line); color: rgba(255,255,255,.45); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }

@media (max-width: 1180px) {
  .fm-primary-nav { gap: 1rem; }
  .fm-header-search { width: 135px; }
  .fm-match-filters { grid-template-columns: repeat(3,1fr); }
  .fm-match-filters label:first-child { grid-column: span 2; }
  .fm-video-grid--archive { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1024px) {
  .fm-navbar { grid-template-columns: auto auto; justify-content: space-between; }
  .fm-menu-toggle { display: block; grid-column: 2; }
  .fm-primary-nav { position: fixed; inset: 0 0 0 26%; z-index: 1; display: grid; height: auto; align-content: center; justify-items: start; gap: 0; padding: 7rem var(--fm-gutter) 3rem; background: var(--fm-ink-2); transform: translateX(105%); transition: transform .25s ease; }
  .menu-open .fm-primary-nav { transform: none; }
  .fm-primary-nav a { width: 100%; height: auto; padding: 1rem 0; border-bottom: 1px solid var(--fm-dark-line); font-family: var(--fm-display); font-size: clamp(1.8rem, 5vw, 3rem); }
  .fm-primary-nav a::after { display: none; }
  .fm-nav-item { display: block; width: 100%; height: auto; }
  .fm-subnav { position: static; width: 100%; padding: 0 0 .55rem 1rem; border-top: 0; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
  .fm-primary-nav .fm-subnav a { min-height: 0; padding: .6rem 0; border-bottom: 0; color: var(--fm-accent); font-family: var(--fm-sans); font-size: .72rem; }
  .menu-open .fm-menu-toggle { position: fixed; top: 50px; right: var(--fm-gutter); z-index: 5; }
  .admin-bar.menu-open .fm-menu-toggle { top: 82px; }
  .menu-open .fm-menu-toggle > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-open .fm-menu-toggle > span:nth-child(2) { opacity: 0; }
  .menu-open .fm-menu-toggle > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .fm-header-search { display: none; }
  .fm-hero-grid { grid-template-columns: 1fr; }
  .fm-hero-grid__secondary { grid-template-columns: repeat(2,1fr); }
  .fm-news-card--compact { grid-template-columns: 1fr; }
  .fm-news-card--compact .fm-news-card__media { aspect-ratio: 16/9; min-height: auto; }
  .fm-news-card--compact .fm-news-card__body { min-height: 190px; }
  .fm-broadcast-strip { grid-template-columns: repeat(2,1fr); }
  .fm-broadcast-ticket:nth-child(2) { border-right: 0; }
  .fm-broadcast-ticket:nth-child(-n+2) { border-bottom: 1px solid var(--fm-line); }
  .fm-home-columns, .fm-archive-layout { grid-template-columns: 1fr; }
  .fm-home-sidebar, .fm-archive-sidebar { grid-template-columns: repeat(2,1fr); }
  .fm-video-grid { grid-template-columns: repeat(2,1fr); }
  .fm-live-layout, .fm-match-layout, .fm-poll-layout { grid-template-columns: 1fr; }
  .fm-poll-mast { grid-template-columns: 1fr; align-items: start; }
  .fm-poll-stats { max-width: 420px; }
  .fm-live-layout > aside, .fm-match-companion { position: static; }
  .fm-live-layout > aside .fm-banner, .fm-match-companion .fm-banner, .fm-poll-layout > aside .fm-banner { max-width: 420px; margin-inline: auto; }
  .fm-benefits-intro { grid-template-columns: 1fr; gap: 2rem; }
  .fm-benefits-overview { grid-template-columns: 1fr; }
  .fm-article-layout { grid-template-columns: minmax(0,var(--fm-text)); }
  .fm-article-sidebar { position: static; }
  .fm-package-grid { grid-template-columns: 1fr; }
  .fm-package-grid article { min-height: 210px; }
  .fm-about-intro { grid-template-columns: 1fr; gap: 2rem; }
  .fm-footer-grid { grid-template-columns: repeat(3,1fr); }
  .fm-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 782px) {
  .admin-bar .fm-nav-wrap { top: 46px; }
  .fm-microbar__inner > span { display: none; }
  .fm-microbar__inner { justify-content: flex-end; }
  .fm-navbar { min-height: 68px; }
  .fm-live-ticker__label { min-width: 76px; }
  .fm-live-ticker__inner a { display: grid; gap: 0; padding-block: .4rem; }
  .fm-live-ticker__inner a span { margin: 0; }
  .fm-news-card--feature .fm-news-card__media { min-height: 500px; aspect-ratio: auto; }
  .fm-news-card--feature .fm-news-card__body { padding: 1.5rem; }
  .fm-hero-grid__secondary { grid-template-columns: 1fr; }
  .fm-news-card--compact { grid-template-columns: 38% 1fr; }
  .fm-news-card--compact .fm-news-card__media { min-height: 170px; aspect-ratio: auto; }
  .fm-news-card--compact .fm-news-card__body { min-height: auto; }
  .fm-news-mosaic, .fm-news-archive-grid { grid-template-columns: 1fr; }
  .fm-news-mast { align-items: flex-start; flex-direction: column; gap: 2rem; }
  .fm-news-mast__count { width: 100%; min-width: 0; }
  .fm-news-featured { grid-template-columns: 1fr; }
  .fm-news-featured__secondary { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; }
  .fm-news-card--archive-lead { min-height: 520px; }
  .fm-news-card--archive-secondary { display: block; }
  .fm-news-card--archive-secondary .fm-news-card__media { aspect-ratio: 16/10; }
  .fm-news-card--archive-secondary .fm-news-card__body { min-height: 180px; justify-content: flex-start; }
  .fm-news-card--stream-lead { grid-template-columns: 1fr; }
  .fm-news-card--stream-lead .fm-news-card__media { min-height: auto; aspect-ratio: 16/10; }
  .fm-news-card--list { grid-template-columns: 210px minmax(0,1fr); }
  .fm-news-card--list .fm-news-card__excerpt { -webkit-line-clamp: 1; }
  .fm-news-card--wide { grid-column: auto; grid-template-columns: 1fr; }
  .fm-news-card--wide .fm-news-card__media { min-height: auto; aspect-ratio: 16/9; }
  .fm-home-sidebar, .fm-archive-sidebar { grid-template-columns: 1fr; }
  .fm-match-filters { grid-template-columns: repeat(2,1fr); }
  .fm-match-filters label:first-child { grid-column: 1 / -1; }
  .fm-video-grid--archive { grid-template-columns: repeat(2,1fr); }
  .fm-auth-layout { grid-template-columns: 1fr; }
  .fm-auth-story { padding-top: 1rem; }
  .fm-account-layout { grid-template-columns: 1fr; }
  .fm-account-nav { position: static; grid-template-columns: repeat(4, max-content); overflow-x: auto; }
  .fm-account-actions { grid-template-columns: 1fr; }
  .fm-poll-list article { grid-template-columns: 1fr; gap: .5rem; }
  .fm-package-grid { grid-template-columns: 1fr; }
  .fm-about-values { grid-template-columns: 1fr; }
  .fm-about-values article { min-height: 230px; }
  .fm-about-values h2 { margin-top: 2rem; }
  .fm-about-band__inner { grid-template-columns: 1fr; }
  .fm-about-band__inner > div { min-height: 160px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .fm-about-band__inner > div:last-child { border-bottom: 0; }
  .fm-404__inner { grid-template-columns: 1fr; padding-block: 5rem; }
  .fm-404__field { display: none; }
  .fm-news-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  :root { --fm-gutter: 18px; }
  .fm-microbar nav { gap: .8rem; }
  .fm-primary-nav { left: 10%; }
  .fm-section-heading { align-items: start; flex-direction: column; gap: 1rem; }
  .fm-home-hero { padding-top: 3.5rem; }
  .fm-news-card--feature .fm-news-card__media { min-height: 430px; }
  .fm-news-card--feature .fm-news-card__media img { min-height: 430px; }
  .fm-news-card--feature .fm-news-card__title { font-size: clamp(2rem, 11vw, 3.5rem); }
  .fm-news-card--feature p { display: none; }
  .fm-news-card--compact { grid-template-columns: 1fr; }
  .fm-news-card--compact .fm-news-card__media { min-height: auto; aspect-ratio: 16/9; }
  .fm-news-card--archive-lead { min-height: 480px; }
  .fm-news-card--archive-lead .fm-news-card__title { font-size: clamp(2rem,10vw,3.2rem); }
  .fm-news-featured__secondary { grid-template-columns: 1fr; }
  .fm-news-card--list { grid-template-columns: 1fr; }
  .fm-news-card--list .fm-news-card__media { min-height: auto; aspect-ratio: 16/9; }
  .fm-news-card--list .fm-news-card__excerpt { -webkit-line-clamp: 2; }
  .fm-news-feed-heading { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .fm-broadcast-strip { grid-template-columns: 1fr; }
  .fm-broadcast-ticket { min-height: 160px; border-right: 0; border-bottom: 1px solid var(--fm-line); }
  .fm-broadcast-ticket:last-child { border-bottom: 0; }
  .fm-video-grid, .fm-video-grid--archive { grid-template-columns: 1fr; }
  .fm-partner-cta__inner { min-height: 430px; align-items: start; justify-content: center; flex-direction: column; }
  .fm-page-mast { padding-block: 4rem; }
  .fm-page-mast h1 { font-size: clamp(3.2rem, 20vw, 6.2rem); }
  .fm-page-mast--benefits h1 { font-size: clamp(2.8rem, 14vw, 4rem); letter-spacing: -.055em; }
  .fm-match-filters { grid-template-columns: 1fr; }
  .fm-match-filters label:first-child { grid-column: auto; }
  .fm-broadcast-stage { min-height: 480px; }
  .fm-countdown { display: grid; gap: 0; }
  .fm-poll-feature { padding: 1.4rem; clip-path: none; }
  .fm-poll-stats { grid-template-columns: 1fr 1fr; }
  .fm-poll-stats > div { min-height: 125px; padding: 1rem; }
  .fm-benefits-intro { grid-template-columns: 1fr; }
  .fm-benefits-nav { overflow-x: auto; }
  .fm-benefits-nav a { white-space: nowrap; }
  .fm-benefits-features { grid-template-columns: 1fr; }
  .fm-benefits-features article { min-height: 180px; }
  .fm-benefits-features h3 { margin-top: 2rem; }
  .fm-benefits-login { align-items: flex-start; flex-direction: column; }
  .fm-form-grid { grid-template-columns: 1fr; }
  .fm-auth-card { clip-path: none; }
  .fm-article-header h1 { font-size: clamp(2.8rem, 14vw, 5rem); }
  .fm-article-mast { padding-block: 3.5rem 5rem; }
  .fm-article-mast h1 { font-size: clamp(2.6rem,13vw,4.4rem); }
  .fm-article-hero { margin-top: -2.5rem; }
  .fm-article-content { padding: 1.35rem; }
  .fm-about-cta, .fm-footer-lead { align-items: flex-start; justify-content: center; flex-direction: column; }
  .fm-share span { width: 100%; }
  .fm-footer-grid { grid-template-columns: 1fr 1fr; }
  .fm-footer-brand { grid-column: 1 / -1; }
  .fm-footer-contact { grid-column: 1 / -1; }
  .fm-footer-bottom { flex-direction: column; }
  .fm-banner--header_leaderboard, .fm-banner--footer_leaderboard, .fm-banner--home_after_live, .fm-banner--news_archive_top, .fm-banner--matches_top, .fm-banner--live_top, .fm-banner--poll_top, .fm-banner--coupons_top { min-height: 100px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Fanmate 2026 visual refinement */
::selection { color: var(--fm-white); background: var(--fm-blue); }
html, body { overflow-x: clip; }
body { background-color: var(--fm-paper); background-image: radial-gradient(circle at 15% 0, rgba(210,167,75,.08), transparent 28rem); }
.fm-main { position: relative; }
.fm-button { position: relative; overflow: hidden; transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.fm-button:hover { box-shadow: 0 12px 28px rgba(2,15,36,.18); transform: translateY(-2px); }
.fm-text-link, .fm-section-heading > a { transition: color .2s ease, transform .2s ease; }
.fm-text-link:hover, .fm-section-heading > a:hover { color: var(--fm-accent); transform: translateX(3px); }

/* Navigation */
.fm-microbar { background: #010815; }
.fm-microbar__inner > span { color: var(--fm-accent); }
.fm-nav-wrap { background: rgba(2,15,36,.96); backdrop-filter: blur(18px); }
.fm-nav-wrap.is-fixed { background: rgba(2,15,36,.9); box-shadow: 0 15px 45px rgba(0,0,0,.28); }
.fm-navbar { min-height: 74px; }
.fm-logo-link img { width: 184px; }
.fm-primary-nav a { color: rgba(255,255,255,.76); transition: color .2s ease; }
.fm-primary-nav a:hover, .fm-primary-nav a[aria-current="page"] { color: var(--fm-white); }
.fm-primary-nav a::after { background: var(--fm-accent); }
.fm-header-search { width: 165px; transition: border-color .2s ease; }
.fm-header-search:focus-within { border-color: var(--fm-accent); }
.fm-header-search button { display: grid; width: 34px; padding: 0; place-items: center; }
.fm-header-search svg { width: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.fm-subnav { border: 1px solid var(--fm-dark-line); border-top: 3px solid var(--fm-accent); }
.fm-primary-nav .fm-subnav a:hover { color: var(--fm-white); background: rgba(255,255,255,.06); }

/* Editorial surfaces */
.fm-page-mast { padding-block: clamp(4rem,7.5vw,7rem); border-bottom: 1px solid rgba(210,167,75,.3); background: radial-gradient(circle at 84% 28%, rgba(15,74,145,.34), transparent 31rem), var(--fm-ink-2); }
.fm-page-mast::before { background: linear-gradient(108deg, transparent 0 69%, rgba(210,167,75,.38) 69% 69.12%, transparent 69.12%), repeating-linear-gradient(90deg, transparent 0 95px, rgba(255,255,255,.023) 96px); }
.fm-page-mast::after { content: ""; position: absolute; right: clamp(1rem,7vw,8rem); bottom: -42px; width: 170px; height: 84px; border: 1px solid rgba(255,255,255,.1); border-top: 5px solid var(--fm-accent); transform: skewX(-18deg); }
.fm-page-mast h1 { max-width: 980px; font-size: clamp(3.5rem,8vw,7.7rem); line-height: .84; }
.fm-page-mast--news h1 { font-size: clamp(3.2rem,6.5vw,6rem); }
.fm-page-mast--benefits, .fm-page-mast--account { background: radial-gradient(circle at 82% 15%, rgba(210,167,75,.2), transparent 28rem), var(--fm-blue); }
.fm-page-mast--live { background: radial-gradient(circle at 82% 15%, rgba(237,28,46,.2), transparent 26rem), var(--fm-ink-2); }
.fm-kicker::before { clip-path: polygon(0 0,100% 0,82% 100%,0 100%); }
.fm-section-heading h1, .fm-section-heading h2 { text-wrap: balance; }
.fm-archive-ad, .fm-home-ad, .fm-article-ad { padding-block: clamp(1.4rem,3vw,2.4rem); }
.fm-banner { border: 1px solid rgba(2,15,36,.08); box-shadow: 0 16px 45px rgba(2,15,36,.07); }
.fm-section--dark .fm-banner { border-color: var(--fm-dark-line); box-shadow: none; }
.fm-banner__label { top: 7px; left: 9px; padding: .18rem .35rem; color: rgba(255,255,255,.9); background: rgba(2,15,36,.78); }
.fm-news-card { border: 1px solid rgba(2,15,36,.075); box-shadow: 0 14px 35px rgba(2,15,36,.055); transition: box-shadow .25s ease, transform .25s ease; }
.fm-news-card:hover { z-index: 2; box-shadow: 0 25px 60px rgba(2,15,36,.14); transform: translateY(-4px); }
.fm-news-card--feature, .fm-news-card--archive-lead { border-color: rgba(255,255,255,.12); }
.fm-news-card__media { position: relative; }
.fm-news-card__media::before { content: ""; position: absolute; z-index: 1; top: 0; right: 0; width: 46px; height: 5px; background: var(--fm-accent); }
.fm-news-card--compact .fm-news-card__body { position: relative; }
.fm-news-card--compact .fm-news-card__body::after { content: ""; position: absolute; right: 0; bottom: 0; width: 34px; height: 34px; border-right: 3px solid var(--fm-accent); border-bottom: 3px solid var(--fm-accent); opacity: .5; }
.fm-filter-bar { gap: .55rem; padding-block: .85rem; }
.fm-filter-bar a { border: 1px solid transparent; }
.fm-filter-bar a:not(.is-active):hover { color: var(--fm-blue); border-color: var(--fm-line); background: var(--fm-white); }
.fm-news-archive { background: linear-gradient(180deg,#f9f7f2,var(--fm-paper)); }
.fm-news-feed { gap: 1.15rem; }
.fm-news-card--list { border: 0; border-left: 4px solid transparent; }
.fm-news-card--list:hover { border-left-color: var(--fm-accent); }
.fm-news-feed-heading { position: relative; border-top-width: 1px; }
.fm-news-feed-heading::before { content: ""; position: absolute; top: -1px; left: 0; width: 90px; height: 5px; background: var(--fm-blue); }
.fm-sidebar-card { border: 1px solid rgba(2,15,36,.08); box-shadow: 0 16px 36px rgba(2,15,36,.055); }
.fm-sidebar-news-list li { transition: background .2s ease; }
.fm-sidebar-news-list li:hover { background: #f8f6f0; }
.fm-archive-description { max-width: 700px; color: rgba(255,255,255,.72); }

/* Homepage and video cards */
.fm-home-hero { background: radial-gradient(circle at 80% 10%, rgba(3,42,114,.68), transparent 34rem), var(--fm-ink); }
.fm-home-hero::after { content: "FANMATE"; position: absolute; right: -1.3rem; bottom: -2.8rem; color: rgba(255,255,255,.025); font-family: var(--fm-display); font-size: clamp(7rem,18vw,18rem); font-weight: 900; letter-spacing: -.08em; line-height: 1; pointer-events: none; }
.fm-hero-grid, .fm-section-heading { position: relative; z-index: 1; }
.fm-broadcast-rail { margin-top: -2rem; background: rgba(255,255,255,.96); }
.fm-broadcast-empty { display: grid; grid-template-columns: auto 1fr auto; gap: 1.4rem; align-items: center; min-height: 130px; padding: 1.35rem; border: 1px solid var(--fm-line); border-left: 5px solid var(--fm-accent); background: linear-gradient(105deg,#fff,#f5f2eb); }
.fm-broadcast-empty__mark { display: grid; width: 78px; height: 78px; place-items: center; color: var(--fm-white); background: var(--fm-ink-2); font-family: var(--fm-display); font-size: 2rem; font-weight: 900; clip-path: polygon(0 0,86% 0,100% 14%,100% 100%,14% 100%,0 86%); }
.fm-broadcast-empty strong { font-family: var(--fm-display); font-size: 1.55rem; line-height: 1; text-transform: uppercase; }
.fm-broadcast-empty p { margin: .3rem 0 0; color: var(--fm-muted); }
.fm-match-section { background: radial-gradient(circle at 92% 8%, rgba(3,42,114,.65), transparent 32rem), var(--fm-ink); }
.fm-video-grid { gap: 1.2rem; }
.fm-video-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(145deg,var(--fm-ink-2),#04152f); box-shadow: 0 18px 42px rgba(0,0,0,.14); transition: border-color .2s ease, transform .25s ease; }
.fm-video-card::after { content: ""; position: absolute; right: 0; bottom: 0; width: 30px; height: 30px; border-right: 3px solid var(--fm-accent); border-bottom: 3px solid var(--fm-accent); opacity: .5; }
.fm-video-card:hover { border-color: rgba(210,167,75,.7); transform: translateY(-4px); }
.fm-video-card__body { min-height: 145px; border-top-color: var(--fm-accent); }
.fm-video-card__play { width: 54px; height: 54px; border-width: 1px; background: rgba(2,15,36,.46); backdrop-filter: blur(8px); transition: background .2s ease, transform .2s ease; }
.fm-video-card:hover .fm-video-card__play { background: var(--fm-blue); transform: translate(-50%,-50%) scale(1.08); }
.fm-partner-cta { position: relative; overflow: hidden; background: linear-gradient(110deg,var(--fm-blue) 0 66%,#0a397e 66%); }
.fm-partner-cta::after { content: ""; position: absolute; top: -50%; right: 12%; width: 1px; height: 200%; background: rgba(210,167,75,.7); transform: rotate(17deg); }
.fm-partner-cta__inner { position: relative; z-index: 1; min-height: 320px; }

/* Matches and live */
.fm-match-browser { background: radial-gradient(circle at 80% 4%, rgba(3,42,114,.52), transparent 32rem), var(--fm-ink); }
.fm-match-browser__head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--fm-dark-line); }
.fm-match-browser__head h2 { margin: .5rem 0 0; font-family: var(--fm-display); font-size: clamp(2.4rem,5vw,4.8rem); letter-spacing: -.04em; line-height: .9; text-transform: uppercase; }
.fm-match-browser__head p { margin: 0; color: rgba(255,255,255,.58); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fm-match-browser__head p strong { margin-right: .4rem; color: var(--fm-accent); font-family: var(--fm-display); font-size: 2rem; }
.fm-match-filters { position: relative; margin-bottom: 2rem; border: 1px solid var(--fm-dark-line); border-top: 4px solid var(--fm-accent); background: rgba(6,26,58,.8); box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.fm-match-filters input:focus, .fm-match-filters select:focus { border-color: var(--fm-accent); outline: 0; }
.fm-filter-reset { min-height: 46px; align-content: center; text-align: center; text-decoration: none; }
.fm-filter-reset:hover { color: var(--fm-white); }
.fm-live-page, .fm-single-match { background: radial-gradient(circle at 78% 0,rgba(3,42,114,.4),transparent 35rem),var(--fm-ink); }
.fm-broadcast-stage { border: 1px solid var(--fm-dark-line); box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.fm-live-info, .fm-match-header { position: relative; border-top: 4px solid var(--fm-accent); }
.fm-live-info::after, .fm-match-header::after { content: ""; position: absolute; right: 0; bottom: 0; width: 40px; height: 40px; border-right: 3px solid var(--fm-accent); border-bottom: 3px solid var(--fm-accent); }
.fm-schedule-empty { display: flex; min-height: 150px; align-items: center; gap: 1.4rem; padding: 1.5rem; border: 1px solid var(--fm-dark-line); background: rgba(255,255,255,.035); }
.fm-schedule-empty > span { display: grid; width: 64px; height: 64px; flex: 0 0 64px; place-items: center; color: var(--fm-accent); border: 1px solid rgba(210,167,75,.5); font-size: 2rem; }
.fm-schedule-empty strong { font-family: var(--fm-display); font-size: 1.6rem; text-transform: uppercase; }
.fm-schedule-empty p { margin: .2rem 0 0; color: rgba(255,255,255,.58); }

/* Polls */
.fm-polls-page { background: linear-gradient(180deg,#f8f6f0,var(--fm-paper)); }
.fm-poll-layout { gap: 1.4rem; margin-top: 1.8rem; }
.fm-poll-feature { position: relative; min-height: 520px; border: 1px solid rgba(255,255,255,.12); background: radial-gradient(circle at 100% 0,rgba(3,42,114,.72),transparent 26rem),var(--fm-ink-2); box-shadow: 0 25px 65px rgba(2,15,36,.2); }
.fm-poll-feature::after { content: ""; position: absolute; top: 0; right: 0; width: 70px; height: 6px; background: var(--fm-accent); }
.fm-poll-feature h2 { font-size: clamp(2rem,4.2vw,4rem); }
.fm-poll-pulse { position: relative; overflow: hidden; min-height: 245px; padding: 1.6rem; color: var(--fm-white); background: var(--fm-blue); }
.fm-poll-pulse::after { content: ""; position: absolute; right: -30px; bottom: -35px; width: 130px; height: 130px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 22px rgba(255,255,255,.04),0 0 0 44px rgba(255,255,255,.03); }
.fm-poll-pulse .fm-sidebar-card__label { color: var(--fm-accent); }
.fm-poll-pulse > strong { display: block; margin-top: 2rem; color: var(--fm-accent); font-family: var(--fm-display); font-size: 4.4rem; line-height: .8; }
.fm-poll-pulse h3 { margin: .65rem 0 .5rem; font-family: var(--fm-display); font-size: 1.75rem; line-height: 1; text-transform: uppercase; }
.fm-poll-pulse p { max-width: 230px; margin: 0; color: rgba(255,255,255,.66); font-size: .82rem; }
.fm-poll-archive { margin-top: clamp(3.5rem,7vw,6rem); }
.fm-archive-count { color: var(--fm-muted); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fm-poll-list { gap: .65rem; background: transparent; }
.fm-poll-list article { position: relative; border: 1px solid rgba(2,15,36,.08); border-left: 4px solid transparent; box-shadow: 0 8px 24px rgba(2,15,36,.035); transition: border-color .2s ease, transform .2s ease; }
.fm-poll-list article:hover { border-left-color: var(--fm-accent); transform: translateX(3px); }
.fm-poll-list summary { width: max-content; font-size: .72rem; text-transform: uppercase; }
.fm-poll-list details[open] { padding-top: 1.2rem; border-top: 1px solid var(--fm-line); }
.fm-poll-more { margin-top: 1rem; }
.fm-poll-more > summary { padding: 1rem 1.2rem; color: var(--fm-white); background: var(--fm-blue); cursor: pointer; font-size: .75rem; font-weight: 900; letter-spacing: .08em; list-style: none; text-align: center; text-transform: uppercase; }
.fm-poll-more > summary::after { content: " +"; color: var(--fm-accent); }
.fm-poll-more[open] > summary { margin-bottom: .65rem; }
.fm-poll-more[open] > summary::after { content: " –"; }

/* About and partnership pages */
.fm-about-page { background: linear-gradient(180deg,#f8f5ee,var(--fm-paper)); }
.fm-about-intro { position: relative; padding-block: clamp(4rem,8vw,7rem); }
.fm-about-intro::after { content: "01"; position: absolute; right: 0; bottom: -1rem; color: rgba(3,42,114,.045); font-family: var(--fm-display); font-size: 13rem; font-weight: 900; line-height: 1; pointer-events: none; }
.fm-about-signature { position: relative; max-width: 650px; margin: 2.5rem 0 0; padding: 1.5rem 1.5rem 1.5rem 2rem; border-left: 5px solid var(--fm-accent); color: var(--fm-blue); background: var(--fm-white); font-family: var(--fm-display); font-size: clamp(1.5rem,2.5vw,2.3rem); font-weight: 900; line-height: 1.05; text-transform: uppercase; }
.fm-about-values { gap: 1rem; background: transparent; }
.fm-about-values article { position: relative; overflow: hidden; min-height: 290px; border: 1px solid rgba(2,15,36,.08); box-shadow: 0 16px 40px rgba(2,15,36,.05); transition: transform .25s ease; }
.fm-about-values article:hover { transform: translateY(-5px); }
.fm-about-values article::after { content: ""; position: absolute; top: 0; right: 0; width: 58px; height: 5px; background: var(--fm-accent); }
.fm-about-values h2 { margin-top: 3rem; }
.fm-about-band { background: linear-gradient(110deg,var(--fm-blue),#061f48); }
.fm-about-band__inner > div { min-height: 190px; }
.fm-about-band strong { font-size: clamp(3rem,5vw,4.8rem); }
.fm-about-cta { min-height: 320px; }
.fm-partners-page { padding-block: clamp(4rem,8vw,7rem); background: linear-gradient(180deg,#f8f5ee,var(--fm-paper)); }
.fm-partner-intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.fm-partner-intro h2 { max-width: 650px; margin: .7rem 0 0; font-family: var(--fm-display); font-size: clamp(2.7rem,5.2vw,5.2rem); letter-spacing: -.045em; line-height: .9; text-transform: uppercase; }
.fm-package-grid { gap: 1rem; background: transparent; }
.fm-package-grid article { position: relative; min-height: 340px; border: 1px solid rgba(2,15,36,.08); background: var(--fm-white); box-shadow: 0 16px 42px rgba(2,15,36,.055); transition: color .25s ease, background .25s ease, transform .25s ease; }
.fm-package-grid article::after { content: ""; position: absolute; right: 0; bottom: 0; width: 40px; height: 40px; border-right: 4px solid var(--fm-accent); border-bottom: 4px solid var(--fm-accent); }
.fm-package-grid article:hover { color: var(--fm-white); background: var(--fm-ink-2); transform: translateY(-6px); }
.fm-package-grid article > span { color: var(--fm-accent); font-size: 1rem; letter-spacing: .08em; }
.fm-package-grid h2 { margin-top: 3.8rem; }
.fm-package-grid p { color: var(--fm-muted); }
.fm-package-grid article:hover p { color: rgba(255,255,255,.68); }
.fm-package-grid article > strong { position: absolute; right: 2rem; bottom: 2rem; left: 2rem; padding-top: .8rem; border-top: 1px solid var(--fm-line); color: var(--fm-blue); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.fm-package-grid article:hover > strong { color: var(--fm-accent); border-color: var(--fm-dark-line); }
.fm-partner-lab { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.8fr); gap: clamp(3rem,8vw,8rem); align-items: center; margin-top: clamp(4rem,8vw,7rem); padding: clamp(2rem,5vw,4rem); color: var(--fm-white); background: radial-gradient(circle at 100% 0,rgba(3,42,114,.7),transparent 25rem),var(--fm-ink-2); }
.fm-partner-lab h2 { max-width: 700px; margin: .7rem 0 1rem; font-family: var(--fm-display); font-size: clamp(2.4rem,4.4vw,4.5rem); line-height: .9; text-transform: uppercase; }
.fm-partner-lab p { max-width: 670px; color: rgba(255,255,255,.65); }
.fm-partner-slots { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--fm-dark-line); }
.fm-partner-slots span { padding: 1rem; background: rgba(255,255,255,.05); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fm-partner-slots span::before { content: "+"; margin-right: .6rem; color: var(--fm-accent); }
.fm-partner-contact { display: flex; min-height: 280px; align-items: center; justify-content: space-between; gap: 3rem; padding: clamp(2rem,5vw,4rem); color: var(--fm-white); background: var(--fm-blue); }
.fm-partner-contact h2 { max-width: 760px; margin: .6rem 0 0; font-family: var(--fm-display); font-size: clamp(2.5rem,5vw,4.8rem); line-height: .9; text-transform: uppercase; }

/* Accounts, search and system pages */
.fm-auth-page { position: relative; overflow: hidden; background: radial-gradient(circle at 14% 25%,rgba(3,42,114,.72),transparent 33rem),var(--fm-ink); }
.fm-auth-page::after { content: ""; position: absolute; top: -25%; left: 62%; width: 1px; height: 155%; background: rgba(210,167,75,.45); transform: rotate(17deg); }
.fm-auth-layout { position: relative; z-index: 1; }
.fm-auth-card { border-top: 6px solid var(--fm-accent); box-shadow: 0 30px 85px rgba(0,0,0,.32); }
.fm-auth-card input:not([type="checkbox"]):focus, .fm-auth-form input:not([type="checkbox"]):focus { border-color: var(--fm-blue); outline: 3px solid rgba(3,42,114,.1); }
.fm-auth-card .button-primary, .fm-auth-card .fm-button { transition: background .2s ease, transform .2s ease; }
.fm-auth-card .button-primary:hover { background: #0a4b9f; transform: translateY(-2px); }
.fm-account-panel { border: 1px solid rgba(2,15,36,.08); box-shadow: 0 14px 36px rgba(2,15,36,.04); }
.fm-search-results { background: linear-gradient(180deg,#f8f5ee,var(--fm-paper)); }
.fm-search-large { padding: .55rem; border: 1px solid rgba(255,255,255,.18); background: rgba(0,0,0,.18); backdrop-filter: blur(8px); }
.fm-search-large input { border: 0; background: transparent; }
.fm-result-list { counter-reset: search-result; gap: .75rem; background: transparent; }
.fm-result-list article { position: relative; padding-left: clamp(4.5rem,8vw,7rem); border: 1px solid rgba(2,15,36,.08); box-shadow: 0 10px 30px rgba(2,15,36,.04); transition: border-color .2s ease, transform .2s ease; counter-increment: search-result; }
.fm-result-list article::before { content: counter(search-result,decimal-leading-zero); position: absolute; top: 1.7rem; left: 1.5rem; color: var(--fm-accent); font-family: var(--fm-display); font-size: 1.7rem; }
.fm-result-list article:hover { border-left-color: var(--fm-accent); transform: translateX(4px); }
.fm-result-list h2 { font-size: clamp(1.8rem,3vw,2.8rem); }
.fm-content-page { background: linear-gradient(180deg,#fff,#faf8f3); }
.fm-content-page > .fm-shell.fm-prose { max-width: 900px; padding: clamp(1.7rem,4vw,3.5rem); border-top: 5px solid var(--fm-accent); background: var(--fm-white); box-shadow: 0 20px 55px rgba(2,15,36,.06); }
.fm-404 { position: relative; overflow: hidden; background: radial-gradient(circle at 78% 18%,rgba(3,42,114,.7),transparent 32rem),var(--fm-ink); }
.fm-404::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0 95px,rgba(255,255,255,.022) 96px); }
.fm-404__inner { position: relative; z-index: 1; }
.fm-404__field { border-color: rgba(255,255,255,.35); background: linear-gradient(135deg,#082d23,#0b5134); box-shadow: 35px 40px 90px rgba(0,0,0,.34); }

/* Footer */
.fm-site-footer { position: relative; background: radial-gradient(circle at 85% 10%,rgba(3,42,114,.22),transparent 28rem),#010a1a; }
.fm-site-footer::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--fm-accent),transparent); opacity: .6; }
.fm-footer-lead { min-height: 250px; }
.fm-footer-grid { padding-top: clamp(3rem,6vw,5rem); }
.fm-footer-grid nav a, .fm-footer-contact a { width: max-content; transition: color .2s ease, transform .2s ease; }
.fm-footer-grid nav a:hover, .fm-footer-contact a:hover { transform: translateX(3px); }
.fm-footer-bottom { padding-bottom: .25rem; }

/* Targeted interaction and player corrections */
.fm-hero-grid .fm-news-card:hover {
  z-index: auto;
  box-shadow: none;
  transform: none;
}
.fm-broadcast-stage--archived {
  min-height: 0;
  aspect-ratio: 16 / 9;
}
.fm-broadcast-stage--archived .fm-broadcast-stage__content {
  position: absolute;
  inset: 0;
  min-height: 0;
  padding: 0;
}
.fm-broadcast-stage--archived .fm-broadcast-stage__content > .fm-status {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
}
.fm-broadcast-stage--archived .fm-broadcast-stage__content > iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
}

@media (max-width: 1024px) {
  .fm-primary-nav { background: radial-gradient(circle at 90% 20%,rgba(3,42,114,.8),transparent 28rem),var(--fm-ink-2); }
  .fm-match-browser__head { align-items: start; flex-direction: column; }
  .fm-partner-intro, .fm-partner-lab { grid-template-columns: 1fr; }
  .fm-partner-lab { gap: 2.5rem; }
}

@media (max-width: 782px) {
  .fm-page-mast::after { right: 8px; width: 110px; }
  .fm-about-intro::after { display: none; }
  .fm-poll-list article { grid-template-columns: 95px minmax(0,1fr) auto; }
  .fm-package-grid article { min-height: 280px; }
}

@media (max-width: 600px) {
  .fm-navbar { min-height: 68px; }
  .fm-logo-link img { width: 158px; }
  .fm-page-mast h1 { font-size: clamp(3rem,17vw,5.5rem); }
  .fm-page-mast--news h1 { font-size: clamp(2.8rem,14vw,4.7rem); }
  .fm-page-mast--benefits h1 { font-size: clamp(2.7rem,14vw,3.75rem); }
  .fm-broadcast-empty { grid-template-columns: auto 1fr; }
  .fm-broadcast-empty .fm-button { grid-column: 1 / -1; }
  .fm-broadcast-empty__mark { width: 62px; height: 62px; }
  .fm-match-browser__head h2 { font-size: 3rem; }
  .fm-poll-list article { grid-template-columns: 1fr; gap: .35rem; }
  .fm-poll-list article > strong { position: absolute; top: 1.2rem; right: 1.2rem; }
  .fm-poll-list details { margin-top: .7rem; }
  .fm-partner-slots { grid-template-columns: 1fr; }
  .fm-package-grid article > strong { position: static; display: block; margin-top: 1.5rem; }
  .fm-partner-contact { align-items: flex-start; flex-direction: column; }
  .fm-auth-page::after { display: none; }
  .fm-result-list article { padding-left: 4.2rem; }
  .fm-result-list article::before { top: 1.25rem; left: 1rem; }
  .fm-footer-grid { row-gap: 2.5rem; }
}

/* Homepage broadcast lead */
.fm-broadcast-rail {
  z-index: 1;
  margin-top: 0;
  padding: clamp(2.6rem,5vw,4.6rem) 0 clamp(3rem,5vw,5rem);
  overflow: hidden;
  color: var(--fm-white);
  background:
    radial-gradient(circle at 82% -30%,rgba(30,98,203,.82),transparent 30rem),
    linear-gradient(125deg,#020f24 0%,#061c42 48%,#032a72 100%);
  box-shadow: inset 0 -1px rgba(255,255,255,.1), 0 22px 55px rgba(2,15,36,.2);
}
.fm-broadcast-rail::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(110deg,transparent 0 72%,rgba(210,167,75,.28) 72% 72.15%,transparent 72.15%),
    repeating-linear-gradient(90deg,transparent 0 109px,rgba(255,255,255,.025) 110px);
  pointer-events: none;
}
.fm-broadcast-rail .fm-shell { position: relative; z-index: 1; }
.fm-broadcast-heading { margin-bottom: clamp(1.5rem,3vw,2.4rem); }
.fm-broadcast-heading h2 { font-size: clamp(2.6rem,5vw,5rem); letter-spacing: -.04em; line-height: .88; text-transform: uppercase; }
.fm-broadcast-heading > a { padding-bottom: .45rem; border-bottom: 2px solid var(--fm-accent); color: var(--fm-white); }
.fm-broadcast-strip {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1rem;
  border: 0;
  counter-reset: broadcast-ticket;
}
.fm-broadcast-ticket {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 245px;
  padding: 1.35rem;
  overflow: hidden;
  color: var(--fm-white);
  border: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(145deg,rgba(15,67,145,.92),rgba(3,24,58,.96));
  box-shadow: 0 18px 38px rgba(0,0,0,.24);
  flex-direction: column;
  text-decoration: none;
  transform: translateY(0);
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
  counter-increment: broadcast-ticket;
}
.fm-broadcast-ticket::before {
  content: counter(broadcast-ticket,decimal-leading-zero);
  position: absolute;
  top: .55rem;
  right: .85rem;
  color: rgba(255,255,255,.085);
  font-family: var(--fm-display);
  font-size: 4.8rem;
  font-weight: 900;
  letter-spacing: -.07em;
  line-height: 1;
  pointer-events: none;
}
.fm-broadcast-ticket::after {
  content: "→";
  position: absolute;
  right: 1.25rem;
  bottom: 1.2rem;
  color: var(--fm-accent);
  font-size: 1.5rem;
  transition: transform .22s ease;
}
.fm-broadcast-ticket:hover {
  color: var(--fm-white);
  border-color: rgba(210,167,75,.82);
  background: linear-gradient(145deg,#0c4da2,#041a3d);
  box-shadow: 0 26px 55px rgba(0,0,0,.34);
  transform: translateY(-6px);
}
.fm-broadcast-ticket:hover::after { transform: translateX(5px); }
.fm-broadcast-ticket--live_available,
.fm-broadcast-ticket--prelive { background: linear-gradient(145deg,#9d1733,#3b0b1a 76%); }
.fm-broadcast-ticket .fm-status { position: relative; z-index: 1; }
.fm-broadcast-ticket .fm-status--upcoming { color: var(--fm-ink); background: var(--fm-accent); }
.fm-broadcast-ticket strong {
  position: relative;
  z-index: 1;
  margin: auto 0 1rem;
  padding-top: 2.3rem;
  font-family: var(--fm-display);
  font-size: clamp(1.55rem,1.75vw,2rem);
  line-height: .98;
  text-wrap: balance;
}
.fm-broadcast-ticket > .fm-broadcast-ticket__time {
  padding-top: .8rem;
  padding-right: 2rem;
  border-top: 1px solid rgba(255,255,255,.18);
  color: var(--fm-white);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.fm-broadcast-ticket > .fm-broadcast-ticket__competition {
  margin-top: .4rem;
  padding-right: 2rem;
  overflow: hidden;
  color: rgba(255,255,255,.62);
  font-size: .68rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fm-broadcast-rail .fm-broadcast-empty { color: var(--fm-ink); }

@media (max-width: 1024px) {
  .fm-broadcast-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fm-broadcast-ticket { border: 1px solid rgba(255,255,255,.16); }
}

@media (max-width: 600px) {
  .fm-broadcast-rail { padding-top: 2.2rem; }
  .fm-broadcast-strip { grid-template-columns: 1fr; }
  .fm-broadcast-ticket { min-height: 210px; border: 1px solid rgba(255,255,255,.16); }
}

/* Full-screen mobile navigation */
@media (max-width: 1024px) {
  :root { --fm-mobile-admin-offset: 0px; }
  .admin-bar { --fm-mobile-admin-offset: 32px; }
  body.menu-open { overflow: hidden; overscroll-behavior: none; }
  .menu-open .fm-nav-wrap { z-index: 1100; }
  .fm-primary-nav {
    position: fixed;
    top: var(--fm-mobile-admin-offset);
    right: 0;
    bottom: auto;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: calc(100vh - var(--fm-mobile-admin-offset));
    height: calc(100dvh - var(--fm-mobile-admin-offset));
    padding: 104px max(var(--fm-gutter),env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(var(--fm-gutter),env(safe-area-inset-left));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background:
      linear-gradient(112deg,transparent 0 77%,rgba(210,167,75,.23) 77% 77.18%,transparent 77.18%),
      radial-gradient(circle at 92% 13%,rgba(15,74,145,.78),transparent 25rem),
      #020f24;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-16px);
    transition: opacity .22s ease, transform .28s ease, visibility .28s ease;
  }
  .menu-open .fm-primary-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  .fm-primary-nav > a,
  .fm-primary-nav > .fm-nav-item {
    width: min(100%,680px);
  }
  .fm-primary-nav > a,
  .fm-primary-nav > .fm-nav-item > a {
    min-height: 0;
    padding: .82rem 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
    color: var(--fm-white);
    font-size: clamp(1.65rem,5.5vw,2.7rem);
    line-height: .95;
  }
  .fm-primary-nav > a[aria-current="page"],
  .fm-primary-nav > .fm-nav-item > a[aria-current="page"] { color: var(--fm-accent); }
  .fm-nav-item { display: block; height: auto; }
  .fm-subnav {
    position: static;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .55rem;
    margin: .7rem 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  .fm-primary-nav .fm-subnav a {
    min-height: 44px;
    justify-content: flex-start;
    padding: .7rem .85rem;
    border: 1px solid rgba(255,255,255,.14);
    color: var(--fm-accent);
    background: rgba(255,255,255,.045);
    font-family: var(--fm-sans);
    font-size: .7rem;
    line-height: 1.2;
  }
  .fm-primary-nav .fm-subnav a:hover,
  .fm-primary-nav .fm-subnav a:focus-visible {
    color: var(--fm-white);
    border-color: var(--fm-accent);
    background: rgba(210,167,75,.1);
  }
  .menu-open .fm-brand {
    position: fixed;
    top: calc(var(--fm-mobile-admin-offset) + 22px);
    left: max(var(--fm-gutter),env(safe-area-inset-left));
    z-index: 3;
  }
  .menu-open .fm-logo-link img { width: 158px; }
  .menu-open .fm-menu-toggle,
  .admin-bar.menu-open .fm-menu-toggle {
    position: fixed;
    top: calc(var(--fm-mobile-admin-offset) + 16px);
    right: max(var(--fm-gutter),env(safe-area-inset-right));
    z-index: 3;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.055);
  }
}

@media (max-width: 782px) {
  .admin-bar { --fm-mobile-admin-offset: 46px; }
}

@media (max-width: 600px) {
  .fm-primary-nav { padding-top: 92px; }
  .fm-primary-nav > a,
  .fm-primary-nav > .fm-nav-item > a { font-size: clamp(1.55rem,8vw,2.15rem); }
  .menu-open .fm-brand { top: calc(var(--fm-mobile-admin-offset) + 20px); }
  .menu-open .fm-logo-link img { width: 150px; }
  .menu-open .fm-menu-toggle,
  .admin-bar.menu-open .fm-menu-toggle { top: calc(var(--fm-mobile-admin-offset) + 14px); }
}

/* Readable display typography on high-density and large screens */
.fm-main h1,
.fm-main h2 {
  font-stretch: normal;
  font-kerning: normal;
  letter-spacing: 0;
  line-height: .96;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
}
.fm-main h3 {
  font-stretch: normal;
  font-kerning: normal;
  letter-spacing: .006em;
  line-height: 1.08;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
}
.fm-main .fm-broadcast-heading h2 {
  letter-spacing: .012em;
  line-height: 1;
}
.fm-broadcast-ticket strong {
  letter-spacing: .01em;
  line-height: 1.1;
}
.fm-footer-lead h2 {
  font-stretch: normal;
  font-kerning: normal;
  letter-spacing: 0;
  line-height: .98;
  text-rendering: optimizeLegibility;
}
.fm-live-ticker__label { background: #b8122d; }

@media (min-width: 1600px) {
  .fm-main h1,
  .fm-main h2,
  .fm-footer-lead h2 { letter-spacing: .008em; }
}
