/* Generated by scripts/build-global-runtime-css.mjs. Do not edit directly. */
/* global-navigation.css */
/* One compact, readable navigation system on every public MoFutbol route. */
:root {
  --mf-global-header-height: 54px;
  --mf-global-ticker-height: 48px;
}

/* Reserve the asynchronously rendered shell so the page does not jump on load. */
html [data-site-header]:empty {
  display: block;
  min-height: calc(var(--mf-global-header-height) + var(--mf-global-ticker-height));
  background: #050b08;
}

@media (max-width: 700px) {
  html [data-site-header]:empty {
    min-height: 106px;
  }
}

/* The shared header is in normal document flow. Remove the legacy offset that
   was reserved for the former fixed header and created a blank strip above it. */
html body.site-app-ready {
  padding-top: 0 !important;
}

html body .site-header {
  top: 0 !important;
  min-height: var(--mf-global-header-height) !important;
}

html body .site-header .site-header__inner {
  width: min(calc(100% - 24px), 100rem) !important;
  max-width: 100rem !important;
  min-height: var(--mf-global-header-height) !important;
  gap: 8px !important;
  padding-block: 4px !important;
}

html body .site-header .site-brand {
  min-width: max-content !important;
}

html body .site-header .site-brand__logo {
  width: 34px !important;
  height: 34px !important;
}

html body .site-header .site-brand__tag {
  line-height: 1.1;
}

html body .site-header .site-nav {
  min-width: 0 !important;
  overflow: visible !important;
}

html body .site-header .site-nav__list {
  justify-content: center !important;
  gap: 2px !important;
}

html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle) {
  min-height: 42px !important;
  padding-inline: 7px !important;
  font-size: 0.68rem !important;
}

html body .site-header .site-header__actions {
  flex: 0 0 auto !important;
  gap: 5px !important;
}

/* Shared command-menu structure. Some focused PHP routes intentionally ship
   only the base component CSS; keep their menus identical to the full public
   pages instead of letting legacy block-link rules collapse the panel copy. */
html body .site-header .site-nav__panel {
  display: grid !important;
  gap: 0.5rem !important;
  overflow: hidden;
  z-index: 1200 !important;
  background: #08120d !important;
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.52) !important;
}

/* The navigation builder keeps every menu in the DOM, then marks inactive
   panels with the native `hidden` attribute. The shared grid rule above must
   not override that state, or an inactive off-screen panel widens the page. */
html body .site-header .site-nav__panel[hidden] {
  display: none !important;
}

html body .site-header .site-nav__panel-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.15rem 0.15rem 0.35rem;
}

html body .site-header .site-nav__panel-head > span {
  color: var(--stl-gold, #f5c842);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

html body .site-header .site-nav__panel-head > small {
  color: var(--color-muted, #aeb9ad);
  font-size: 0.67rem;
  white-space: nowrap;
}

html body .site-header .site-nav__panel-grid {
  display: grid !important;
  gap: 0.4rem !important;
}

html body .site-header .site-nav__panel[data-nav-size="medium"] {
  min-width: min(28rem, calc(100vw - 2rem)) !important;
}

html body .site-header .site-nav__panel[data-nav-size="large"] {
  min-width: min(34rem, calc(100vw - 2rem)) !important;
}

html body .site-header .site-nav__panel[data-nav-size="medium"] .site-nav__panel-grid,
html body .site-header .site-nav__panel[data-nav-size="large"] .site-nav__panel-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body .site-header .site-nav__panel[data-nav-size="medium"] .site-nav__panel-grid > a:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

html body .site-header .site-nav__panel :where(.site-nav__panel-feature, .site-nav__panel-grid > a) {
  display: grid !important;
  grid-template-columns: 2rem minmax(0, 1fr) 1.35rem !important;
  align-items: center !important;
  column-gap: 0.65rem !important;
  min-height: 4.1rem !important;
  padding: 0.7rem 0.75rem !important;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.7rem;
}

html body .site-header .site-nav__panel-icon {
  display: inline-grid !important;
  place-items: center;
  width: 2rem !important;
  height: 2rem !important;
  line-height: 1 !important;
}

html body .site-header .site-nav__panel-copy {
  display: block !important;
  min-width: 0;
}

html body .site-header .site-nav__panel-copy > span,
html body .site-header .site-nav__panel-copy small {
  display: block !important;
  overflow-wrap: anywhere;
}

html body .site-header .site-nav__panel-copy > span {
  color: var(--color-text, #f5f6f0);
  font-weight: 800;
  line-height: 1.15;
}

html body .site-header .site-nav__panel-copy small {
  margin-top: 0.18rem;
  color: var(--color-muted, #aeb9ad);
  font-size: 0.75rem;
  line-height: 1.35;
}

html body .site-header .site-nav__panel-arrow {
  display: inline-grid !important;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
}

/* Preserve the primary Match Center action on desktop while reducing brand copy
   before the navigation needs to collapse into the drawer. */
@media (max-width: 1500px) {
  html body .site-header .site-brand__tag {
    display: none !important;
  }
}

/* Change to the full drawer before desktop controls can collide. */
@media (max-width: 1280px) {
  html body .site-header .site-header__inner {
    grid-template-columns: auto 1fr auto !important;
  }

  html body .site-header .site-nav {
    display: none !important;
  }

  html body .site-header .site-nav__menu-button {
    display: inline-flex !important;
  }
}

@media (max-width: 980px) {
  :root {
    --mf-global-header-height: 54px;
    --mf-global-ticker-height: 52px;
  }

  html body .site-header .site-header__inner {
    width: 100% !important;
    padding-inline: 14px !important;
  }

}

@media (max-width: 640px) {
  html body .site-header .site-brand__tag {
    display: none !important;
  }

}

/* Mobile command drawer: a single readable navigation list, independent of
   the desktop menu's icon-and-copy layout. This keeps labels, descriptions,
   and disclosure counts from running together on narrow screens. */
@media (max-width: 1280px) {
  html body .site-drawer {
    inset: var(--mf-global-header-height) 0 0 auto !important;
    width: min(100%, 27rem) !important;
    max-width: 100% !important;
    min-height: calc(100dvh - var(--mf-global-header-height)) !important;
    max-height: calc(100dvh - var(--mf-global-header-height)) !important;
    padding: 12px 14px max(20px, env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
    background: #07100b !important;
    border-left: 1px solid rgba(214, 255, 31, 0.18) !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
  }

  html body .site-drawer__search {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(214, 255, 31, 0.28) !important;
    border-radius: 12px !important;
    background: linear-gradient(100deg, #ffe13a, #a8f237 58%, #4cdd7d) !important;
    color: #07100b !important;
    font-family: var(--font-display, var(--font-sans)) !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  html body .site-drawer__quick {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 6px !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.025) !important;
  }

  html body .site-drawer__quick-link:first-child {
    grid-column: auto !important;
  }

  html body .site-drawer__section {
    display: grid !important;
    gap: 4px !important;
    padding: 0 !important;
  }

  html body .site-drawer__single {
    padding: 0 !important;
  }

  html body .site-drawer :where(.site-drawer__quick-link, .site-drawer__single > a, .site-drawer__links > a) {
    display: block !important;
    min-height: 48px !important;
    padding: 10px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: #edf4ea !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  html body .site-drawer :where(.site-drawer__quick-link, .site-drawer__single > a, .site-drawer__links > a):hover,
  html body .site-drawer :where(.site-drawer__quick-link, .site-drawer__single > a, .site-drawer__links > a):focus-visible,
  html body .site-drawer :where(.site-drawer__quick-link, .site-drawer__single > a, .site-drawer__links > a)[aria-current="page"] {
    color: #ffffff !important;
    border-color: rgba(214, 255, 31, 0.22) !important;
    background: rgba(214, 255, 31, 0.1) !important;
  }

  html body .site-drawer__link-copy {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    min-width: 0 !important;
  }

  html body .site-drawer__link-label {
    display: block !important;
    color: inherit !important;
    font-family: var(--font-display, var(--font-sans)) !important;
    font-size: 0.96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  html body .site-drawer__link-description {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    color: #aab9aa !important;
    font-family: var(--font-sans, sans-serif) !important;
    font-size: 0.76rem !important;
    line-height: 1.3 !important;
  }

  html body .site-drawer__group {
    border: 1px solid rgba(255, 255, 255, 0.075) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.018) !important;
  }

  html body .site-drawer__group > summary {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 10px 13px !important;
    color: #edf4ea !important;
  }

  html body .site-drawer__group-label {
    font-family: var(--font-display, var(--font-sans)) !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body .site-drawer__title-count {
    display: block !important;
    margin-left: auto !important;
    padding-left: 0.55rem !important;
    border-left: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: #8fa08f !important;
    font-family: var(--font-mono, monospace) !important;
    font-size: 0.64rem !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  html body .site-drawer__links {
    gap: 3px !important;
    padding: 0 6px 6px !important;
  }
}

@media (max-width: 640px) {
  html body .site-drawer {
    inset: var(--mf-global-header-height) 0 0 0 !important;
    width: 100% !important;
    min-height: calc(100dvh - var(--mf-global-header-height)) !important;
    border-left: 0 !important;
  }
}

/* global-density.css */
/*
 * MoFutbol production density system.
 * Loaded after route-level styles so every public route shares the same
 * concise rhythm without flattening its editorial or tournament identity.
 */

:root {
  --mf-production-section-space: clamp(1.35rem, 2.8vw, 3.25rem);
  --mf-production-grid-gap: clamp(0.7rem, 1.45vw, 1.2rem);
  --mf-production-card-pad: clamp(0.8rem, 1.5vw, 1.15rem);
}

html body main#main-content {
  overflow: clip;
}

html body main#main-content > :is(
  .stl-section,
  .mf-v22-section,
  .mf-command-center,
  .mf-newsroom-home,
  .mf-football-redesign,
  .mf-official-content-network,
  .mf-tracker-links-section,
  .mf-diaspora-command,
  .mf-diaspora-authority,
  .mf-afcon-v2-desk,
  .mf-wafcon-v2-desk
) {
  padding-block: var(--mf-production-section-space) !important;
}

/* Keep the reading width intentional while retaining the full-width stadium
   and tournament backgrounds that give key pages their identity. */
html body main#main-content :is(.stl-container, .mf-v22-container, .mf-football-desk, .mf-di-shell) {
  width: min(calc(100% - clamp(1.5rem, 5vw, 4rem)), 82rem) !important;
}

html body main#main-content :is(
  .mf-v22-grid,
  .mf-v22-card-grid,
  .mf-newsroom-story-grid,
  .mf-newsroom-player-grid,
  .mf-football-desk__cards,
  .mf-football-stats,
  .mf-command-grid,
  .mf-club-grid,
  .mf-mwpl-main-grid,
  .mf-matchday-card-grid,
  .mf-di-grid
) {
  align-items: stretch !important;
  gap: var(--mf-production-grid-gap) !important;
  grid-auto-rows: auto !important;
}

/* Eliminate legacy fixed/min heights that leave empty panels under short
   editorial copy. Components retain room for images but grow only as needed. */
html body main#main-content :is(
  .mf-v20-card,
  .mf-v22-card,
  .mf-newsroom-card,
  .mf-football-card,
  .mf-mwpl-panel,
  .mf-matchday-group,
  .mf-di-panel,
  .site-card
) {
  min-height: 0 !important;
  align-content: start;
}

html body main#main-content :is(
  .mf-v20-card__body,
  .mf-v22-card__body,
  .mf-newsroom-card__body,
  .mf-football-card__body,
  .mf-mwpl-panel__body,
  .site-card__body
) {
  padding: var(--mf-production-card-pad) !important;
}

html body main#main-content :is(h1, h2, h3) {
  text-wrap: balance;
}

html body main#main-content :is(p, li) {
  text-wrap: pretty;
}

/* Articles: the lead story copy sits below a bright editorial image. Keep its
   surface intentionally dark so hierarchy and white type remain legible. */
#mf-newsroom-front .mf-newsroom-card--lead .mf-newsroom-card__body,
#mf-newsroom-front .mf-newsroom-front-grid--deduped > .mf-newsroom-card--lead .mf-newsroom-card__body {
  background: linear-gradient(135deg, #07130f 0%, #0a1b19 58%, #10261f 100%);
  color: #f7fbf8;
}

#mf-newsroom-front .mf-newsroom-card--lead :is(h3, p, time) {
  color: #f7fbf8;
  text-shadow: none;
}

#mf-newsroom-front .mf-newsroom-card--lead .mf-newsroom-card__meta {
  color: #d4ed8a;
}

html body main#main-content :is(.mf-section-head, .mf-newsroom-head, .mf-football-desk__masthead, .stl-section__head) {
  margin-bottom: clamp(0.7rem, 1.25vw, 1.05rem) !important;
}

html body main#main-content :is(.mf-v22-actions, .mf-football-desk__actions, .mf-actions, .stl-actions) {
  gap: 0.55rem !important;
  flex-wrap: wrap !important;
}

/* Long accordions and link panels should not manufacture a second internal
   page scroll. The page remains the single, predictable scroll context. */
html body main#main-content :is(.mf-no-internal-scroll, .mf-compact-board, .mf-progressive-section) {
  max-height: none !important;
}

/* Images read as deliberate editorial units rather than creating uneven cards. */
html body main#main-content :is(
  .mf-newsroom-card__media,
  .mf-v22-card__media,
  .mf-football-card__media,
  .mf-mwpl-news-card__media
) {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

html body main#main-content :is(
  .mf-newsroom-card__media img,
  .mf-v22-card__media img,
  .mf-football-card__media img,
  .mf-mwpl-news-card__media img
) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 48rem) {
  :root {
    --mf-production-section-space: 1.15rem;
    --mf-production-grid-gap: 0.7rem;
    --mf-production-card-pad: 0.85rem;
  }

  html body main#main-content :is(.stl-container, .mf-v22-container, .mf-football-desk, .mf-di-shell) {
    width: min(calc(100% - 1.25rem), 82rem) !important;
  }

  html body main#main-content :is(
    .mf-newsroom-story-grid,
    .mf-newsroom-player-grid,
    .mf-football-desk__cards,
    .mf-command-grid,
    .mf-club-grid,
    .mf-matchday-card-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body main#main-content :is(h1, h2) {
    letter-spacing: -0.025em;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body main#main-content *,
  html body main#main-content *::before,
  html body main#main-content *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Supporter desk: a compact utility surface, not a promotional landing page. */
.mf-membership-page main { background: #050b08; }
.mf-membership-hero { border-bottom: 1px solid rgba(244,196,48,.24); background: #07110c; }
.mf-membership-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(22rem, .8fr); gap: clamp(1rem, 3vw, 3rem); align-items: end; padding-block: clamp(2rem, 5vw, 4.5rem); }
.mf-membership-hero h1 { max-width: 13ch; margin: .3rem 0 .7rem; font: 400 clamp(3rem, 7vw, 6.5rem)/.86 "Bebas Neue", sans-serif; }
.mf-membership-hero p { max-width: 62ch; color: rgba(247,247,244,.72); }
.mf-membership-score { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid rgba(244,196,48,.28); }
.mf-membership-score div { min-width: 0; padding: 1rem; border-right: 1px solid rgba(244,196,48,.18); border-bottom: 1px solid rgba(244,196,48,.18); }
.mf-membership-score div:nth-child(2n) { border-right: 0; }
.mf-membership-score div:nth-last-child(-n+2) { border-bottom: 0; }
.mf-membership-score dt { color: #f4c430; font: 400 2.4rem/1 "Bebas Neue", sans-serif; }
.mf-membership-score dd { margin: .2rem 0 0; color: rgba(247,247,244,.64); font: 600 .68rem/1.3 Montserrat, sans-serif; text-transform: uppercase; }
.mf-membership-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem); gap: 1rem; align-items: start; }
.mf-membership-section-head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; padding-bottom: .75rem; border-bottom: 1px solid rgba(244,196,48,.25); }
.mf-membership-section-head h2, .mf-membership-weekly h2 { margin: .15rem 0 0; font: 400 clamp(2rem, 3vw, 3rem)/.95 "Bebas Neue", sans-serif; }
.mf-membership-section-head > a { color: #bafc2e; font: 700 .7rem/1.2 Montserrat, sans-serif; }
.mf-membership-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mf-membership-tools article { min-width: 0; padding: 1rem; border-right: 1px solid rgba(244,196,48,.2); border-bottom: 1px solid rgba(244,196,48,.2); }
.mf-membership-tools article:nth-child(2n) { border-right: 0; }
.mf-membership-tools article > span { color: #f4c430; font: 700 .62rem/1.2 Montserrat, sans-serif; text-transform: uppercase; }
.mf-membership-tools h3 { margin: .35rem 0; font: 400 1.7rem/1 "Bebas Neue", sans-serif; }
.mf-membership-tools p { min-height: 3.8em; margin: 0 0 .8rem; color: rgba(247,247,244,.68); font: 500 .72rem/1.45 Montserrat, sans-serif; }
.mf-membership-tools :where(a, button), .mf-membership-weekly nav a { display: inline-flex; min-height: 38px; align-items: center; padding: .55rem .7rem; border: 1px solid rgba(244,196,48,.35); background: transparent; color: #f7f7f4; font: 700 .66rem/1.2 Montserrat, sans-serif; text-decoration: none; cursor: pointer; }
.mf-membership-tools button.is-active, .mf-membership-tools button[aria-pressed="true"] { border-color: #46a83e; background: rgba(70,168,62,.18); color: #bafc2e; }
.mf-membership-weekly { padding: 1rem; border: 1px solid rgba(244,196,48,.28); background: #08140e; }
.mf-membership-weekly > p { color: rgba(247,247,244,.68); font: 500 .72rem/1.45 Montserrat, sans-serif; }
.mf-membership-weekly form { display: grid; gap: .55rem; margin-top: 1rem; }
.mf-membership-weekly label { font: 600 .66rem/1.3 Montserrat, sans-serif; }
.mf-membership-weekly input[type="email"] { width: 100%; min-height: 42px; padding: .55rem .65rem; border: 1px solid rgba(244,196,48,.32); background: #030705; color: #f7f7f4; }
.mf-membership-weekly .mf-consent-check { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: .55rem; align-items: start; color: rgba(247,247,244,.72); }
body.mf-v43-ready .mf-membership-weekly .mf-consent-check input[type="checkbox"] { width: 18px !important; min-width: 18px !important; height: 18px !important; min-height: 18px !important; margin: 0; accent-color: #46a83e; }
.mf-membership-weekly .mf-consent-check a { color: #bafc2e; }
.mf-membership-weekly nav { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin-top: 1rem; }

@media (max-width: 850px) {
  .mf-membership-hero__grid, .mf-membership-layout { grid-template-columns: 1fr; }
  .mf-membership-score { max-width: 34rem; }
}

@media (max-width: 560px) {
  .mf-membership-tools { grid-template-columns: 1fr; }
  .mf-membership-tools article { border-right: 0; }
  .mf-membership-tools p { min-height: 0; }
  .mf-membership-weekly nav { grid-template-columns: 1fr; }
}

/* html-first-player-hub.css
 * A useful editorial snapshot is present in the document before enhancement.
 * The route-specific JavaScript may replace this shell with the full desk.
 */
.mf-player-hub-static {
  width: min(100% - 2rem, 1180px);
  margin-inline: auto;
  padding-block: clamp(1rem, 2vw, 1.75rem);
  color: #f7f7f4;
}

.mf-player-hub-static a { color: inherit; text-decoration: none; }

.mf-player-hub-static__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  align-items: end;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(244, 196, 48, .28);
}

.mf-player-hub-static__eyebrow,
.mf-player-hub-static__lead span,
.mf-player-hub-static__support span,
.mf-player-hub-static__updates span {
  margin: 0 0 .32rem;
  color: #f4c430;
  font: 700 .72rem/1.2 Montserrat, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mf-player-hub-static__intro h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.55rem, 5vw, 4.8rem);
  line-height: .9;
  text-wrap: balance;
}

.mf-player-hub-static__intro p {
  max-width: 64ch;
  margin: .75rem 0 0;
  color: rgba(247, 247, 244, .72);
  font: 400 .96rem/1.55 Montserrat, sans-serif;
}

.mf-player-hub-static__search label {
  display: block;
  margin-bottom: .42rem;
  font: 700 .72rem/1.2 Montserrat, sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.mf-player-hub-static__search > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  border: 1px solid rgba(244, 196, 48, .42);
  background: #080b0b;
}

.mf-player-hub-static__search input,
.mf-player-hub-static__search button {
  min-height: 46px;
  border: 0;
  border-radius: 0;
  font: 600 .84rem/1 Montserrat, sans-serif;
}

.mf-player-hub-static__search input {
  min-width: 0;
  padding-inline: .85rem;
  color: #f7f7f4;
  background: transparent;
}

.mf-player-hub-static__search button {
  padding-inline: 1rem;
  color: #080b0b;
  background: #f4c430;
  cursor: pointer;
}

.mf-player-hub-static__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid rgba(244, 196, 48, .28);
}

.mf-player-hub-static__stats span {
  padding: .72rem .8rem;
  border-right: 1px solid rgba(244, 196, 48, .18);
  color: rgba(247, 247, 244, .7);
  font: 600 .72rem/1.2 Montserrat, sans-serif;
  text-transform: uppercase;
}

.mf-player-hub-static__stats span:last-child { border-right: 0; }
.mf-player-hub-static__stats strong {
  display: block;
  margin-bottom: .12rem;
  color: #f4c430;
  font: 400 2rem/.9 "Bebas Neue", sans-serif;
}

.mf-player-hub-static__editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, .66fr) minmax(250px, .72fr);
  gap: .75rem;
  padding-top: .75rem;
}

.mf-player-hub-static__lead,
.mf-player-hub-static__support article,
.mf-player-hub-static__updates {
  min-width: 0;
  border: 1px solid rgba(244, 196, 48, .25);
  background: #0b1713;
}

.mf-player-hub-static__lead a {
  display: grid;
  grid-template-rows: minmax(220px, 1fr) auto;
  height: 100%;
}

.mf-player-hub-static__lead img,
.mf-player-hub-static__support img {
  display: block;
  width: 100%;
  background: #07110e;
  object-fit: cover;
}

.mf-player-hub-static__lead img { height: 100%; min-height: 220px; max-height: 360px; }
.mf-player-hub-static__lead a > div { padding: .9rem 1rem 1rem; }
.mf-player-hub-static h2 { margin: 0; }
.mf-player-hub-static__lead h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: .92; }
.mf-player-hub-static__lead p,
.mf-player-hub-static__support p {
  margin: .35rem 0 .7rem;
  color: rgba(247, 247, 244, .7);
  font: 400 .82rem/1.4 Montserrat, sans-serif;
}
.mf-player-hub-static__lead strong { color: #b8f52a; font: 700 .76rem/1.2 Montserrat, sans-serif; }

.mf-player-hub-static__support {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.mf-player-hub-static__support a { display: block; height: 100%; padding-bottom: .72rem; }
.mf-player-hub-static__support img { aspect-ratio: 16/9; margin-bottom: .7rem; }
.mf-player-hub-static__support :where(span, h2, p) { margin-inline: .75rem; }
.mf-player-hub-static__support h2 { font-size: 1.55rem; line-height: .95; }

.mf-player-hub-static__updates { padding: .8rem; }
.mf-player-hub-static__updates > div { padding-bottom: .6rem; }
.mf-player-hub-static__updates h2 { font-size: 1.7rem; line-height: .95; }
.mf-player-hub-static__updates > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .18rem .55rem;
  padding: .66rem 0;
  border-top: 1px solid rgba(247, 247, 244, .12);
}
.mf-player-hub-static__updates > a span { grid-column: 1 / -1; margin: 0; font-size: .61rem; }
.mf-player-hub-static__updates > a strong { font: 700 .78rem/1.25 Montserrat, sans-serif; }
.mf-player-hub-static__updates > a small { color: rgba(247, 247, 244, .62); font: 500 .67rem/1.25 Montserrat, sans-serif; text-align: right; }
.mf-player-hub-static__updates .mf-player-hub-static__all {
  display: block;
  margin-top: .35rem;
  padding: .72rem;
  border: 1px solid rgba(184, 245, 42, .45);
  color: #b8f52a;
  font: 700 .72rem/1.2 Montserrat, sans-serif;
  text-align: center;
}

.mf-player-hub-static__status {
  width: min(100% - 2rem, 1180px);
  margin: .75rem auto;
  padding: .7rem .85rem;
  border-left: 3px solid #f4c430;
  color: rgba(247, 247, 244, .76);
  background: #101813;
  font: 500 .8rem/1.45 Montserrat, sans-serif;
}

.mf-supporter-dock {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 80;
  width: min(310px, calc(100vw - 2rem));
  border: 1px solid rgba(244, 196, 48, .34);
  background: rgba(8, 11, 11, .96);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .28);
}
.mf-supporter-dock summary {
  min-height: 42px;
  padding: .78rem .9rem;
  color: #f7f7f4;
  cursor: pointer;
  font: 700 .75rem/1.2 Montserrat, sans-serif;
  letter-spacing: .05em;
  list-style: none;
  text-transform: uppercase;
}
.mf-supporter-dock summary::-webkit-details-marker { display: none; }
.mf-supporter-dock__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(247,247,244,.12); }
.mf-supporter-dock__links a { padding: .72rem; border-right: 1px solid rgba(247,247,244,.1); border-bottom: 1px solid rgba(247,247,244,.1); color: rgba(247,247,244,.74); font: 600 .68rem/1.3 Montserrat, sans-serif; text-decoration: none; }
.mf-supporter-dock__links strong { display: block; color: #f4c430; font-size: 1rem; }

.site-footer__conversion {
  display: grid;
  grid-template-columns: minmax(15rem, .8fr) minmax(0, 2.2fr);
  gap: 1rem;
  align-items: stretch;
  padding: .85rem 0;
  border-bottom: 1px solid rgba(244, 196, 48, .22);
}
.site-footer__conversion-intro > span {
  color: #f4c430;
  font: 700 .62rem/1.2 Montserrat, sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.site-footer__conversion-intro h2 { margin: .2rem 0; font-size: 1.55rem; line-height: 1; }
.site-footer__conversion-intro p { margin: 0; max-width: 42ch; color: rgba(247,247,244,.68); font: 500 .7rem/1.45 Montserrat, sans-serif; }
.site-footer__conversion-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid rgba(244,196,48,.24); }
.site-footer__conversion-links a { display: grid; align-content: center; gap: .16rem; min-width: 0; padding: .68rem .75rem; color: #f7f7f4; text-decoration: none; border-right: 1px solid rgba(244,196,48,.18); }
.site-footer__conversion-links a:last-child { border-right: 0; }
.site-footer__conversion-links a:hover { background: rgba(70,168,62,.12); }
.site-footer__conversion-links strong { display: block; font: 700 .76rem/1.2 Montserrat, sans-serif; }
.site-footer__conversion-links span { display: block; color: rgba(247,247,244,.58); font: 500 .62rem/1.3 Montserrat, sans-serif; }

@media (max-width: 68rem) {
  .site-footer__conversion { grid-template-columns: 1fr; }
  .site-footer__conversion-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__conversion-links a:nth-child(2) { border-right: 0; }
  .site-footer__conversion-links a:nth-child(-n+2) { border-bottom: 1px solid rgba(244,196,48,.18); }
}

@media (max-width: 40rem) {
  .site-footer__conversion-links { grid-template-columns: 1fr; }
  .site-footer__conversion-links a { border-right: 0; border-bottom: 1px solid rgba(244,196,48,.18); }
  .site-footer__conversion-links a:last-child { border-bottom: 0; }
}

@media (max-width: 62rem) {
  .mf-player-hub-static__intro { grid-template-columns: 1fr; align-items: start; }
  .mf-player-hub-static__editorial { grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr); }
  .mf-player-hub-static__updates { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 .75rem; }
  .mf-player-hub-static__updates > div,
  .mf-player-hub-static__updates .mf-player-hub-static__all { grid-column: 1 / -1; }
}

@media (max-width: 43rem) {
  .mf-player-hub-static { width: min(100% - 1rem, 1180px); }
  .mf-player-hub-static__intro h1 { font-size: clamp(2.35rem, 12vw, 3.3rem); }
  .mf-player-hub-static__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mf-player-hub-static__stats span:nth-child(2) { border-right: 0; }
  .mf-player-hub-static__editorial { grid-template-columns: 1fr; }
  .mf-player-hub-static__support { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .mf-player-hub-static__updates { grid-column: auto; grid-template-columns: 1fr; }
  .mf-supporter-dock { position: static; width: min(100% - 1rem, 1180px); margin: 1rem auto; }
}

/* layout-discipline.css */
/*
 * MoFutbol's final shared presentation layer.
 * Three page modes only: editorial, live/data and conversion portal. This file
 * loads after the route CSS and is intentionally limited to shared rhythm,
 * navigation, cards, controls and footer rules.
 */
:root {
  --mf-layout-space-1: clamp(.75rem, 1.25vw, 1rem);
  --mf-layout-space-2: clamp(1rem, 2vw, 1.5rem);
  --mf-layout-space-3: clamp(1.5rem, 3vw, 2.5rem);
  --mf-layout-card-radius: .85rem;
  --mf-layout-title-leading: 1.04;
}

/* Canonical modes: concise reading column for editorial, structured grids for
   live/data, and a contained conversion canvas for forms and portals. */
html[data-mf-layout="editorial"] main :is(.stl-container, .mf-v22-container, .mf-newsroom-front-grid) {
  max-width: 78rem !important;
}

html[data-mf-layout="portal"] main :is(.stl-container, .mf-v22-container, .sv-wrap, .mf-contributor-shell) {
  max-width: 72rem !important;
}

html[data-mf-layout="portal"] main :is(form, .sv-panel, .mf-contributor-panel) {
  border-radius: var(--mf-layout-card-radius) !important;
}

html[data-mf-layout="live"] main :is(.mf-command-grid, .mf-matchday-card-grid, .mf-football-desk__cards) {
  align-items: start !important;
}

/* A hero communicates one decision: first action primary, optional second
   action neutral. Legacy third+ hero controls are deliberately suppressed. */
html body main :is(.mf-v22-hero, .mf-daily-hero, .mf-football-redesign, .mf-contributor-hero, .sv-hero)
  :is(.mf-v22-actions, .mf-v22-hero__actions, .mf-daily-hero__actions, .mf-football-desk__actions, .mf-actions, .stl-actions, .sv-actions)
  > :nth-child(n + 3) {
  display: none !important;
}

html body main :is(.mf-v22-hero, .mf-daily-hero, .mf-football-redesign, .mf-contributor-hero, .sv-hero)
  :is(.mf-v22-actions, .mf-v22-hero__actions, .mf-daily-hero__actions, .mf-football-desk__actions, .mf-actions, .stl-actions, .sv-actions)
  > :nth-child(2) {
  background: transparent !important;
  color: #eef6eb !important;
}

/* Cards share a calm rhythm: short metadata first, balanced headings, copy,
   then one action. No inherited fixed height can create empty black panels. */
html body main :is(.mf-v20-card, .mf-v22-card, .mf-newsroom-card, .mf-football-card, .mf-mwpl-panel, .mf-di-panel, .site-card) {
  min-height: 0 !important;
  border-radius: var(--mf-layout-card-radius) !important;
  overflow: clip;
}

html body main :is(.mf-v20-card, .mf-v22-card, .mf-newsroom-card, .mf-football-card, .mf-mwpl-panel, .mf-di-panel, .site-card)
  :is(h2, h3, h4) {
  margin-block: .35rem .45rem !important;
  line-height: var(--mf-layout-title-leading) !important;
  text-wrap: balance;
}

html body main :is(.mf-v20-card, .mf-v22-card, .mf-newsroom-card, .mf-football-card, .mf-mwpl-panel, .mf-di-panel, .site-card)
  :is(.meta, [class*="__meta"], [class*="eyebrow"], [class*="kicker"], time) {
  order: -1;
  font-size: .68rem !important;
  letter-spacing: .075em;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

html body main :is(.mf-v20-card, .mf-v22-card, .mf-newsroom-card, .mf-football-card, .mf-mwpl-panel, .mf-di-panel, .site-card) p {
  margin-block: 0 .7rem !important;
  line-height: 1.45 !important;
}

/* The old grid often preserved the tallest item’s empty space. Let cards size
   themselves; optional/deferred content remains available in its own route. */
html body main :is(.mf-newsroom-story-grid, .mf-newsroom-player-grid, .mf-football-desk__cards,
  .mf-command-grid, .mf-club-grid, .mf-mwpl-main-grid, .mf-matchday-card-grid, .mf-di-grid) {
  align-items: start !important;
  grid-auto-rows: min-content !important;
  gap: var(--mf-layout-space-1) !important;
}

html body main [data-mf-secondary-module="true"] {
  display: none !important;
}

/* A denser footer remains fully touch-accessible; link target size stays 44px. */
html body .site-footer,
html body [data-site-footer] > footer.site-footer {
  padding-top: 1.15rem !important;
}

html body .site-footer .site-footer__inner {
  gap: 1rem 1.2rem !important;
  padding-bottom: 1rem !important;
}

html body .site-footer .site-footer__brand,
html body .site-footer .site-footer__nav {
  gap: .4rem !important;
}

html body .site-footer .site-footer__copy {
  max-width: 30ch !important;
  line-height: 1.42 !important;
}

html body .site-footer .site-footer__nav ul { gap: 0 !important; }

html body .site-footer .site-footer__nav a,
html body .site-footer .site-footer__bottom a {
  min-height: 44px !important;
  padding-block: .45rem !important;
  font-size: .86rem !important;
}

@media (max-width: 1280px) {
  html body .site-header .site-header__actions > :is(.site-header__cta--media, .site-header__theme) {
    display: none !important;
  }
}

@media (max-width: 640px) {
  :root { --mf-layout-space-1: .75rem; }

  html body .site-drawer :is(.site-drawer__link-label, .site-drawer__link-description) {
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    overflow-wrap: normal !important;
  }

  html body .site-drawer__link-label { font-size: .98rem !important; }
  html body .site-drawer__link-description { font-size: .78rem !important; }

  html body main :is(h1, .mf-football-desk__masthead h2, .mf-v22-hero h1) {
    font-size: clamp(2rem, 9vw, 2.85rem) !important;
    line-height: .99 !important;
    letter-spacing: -.03em !important;
  }

  html body main :is(.mf-newsroom-story-grid, .mf-newsroom-player-grid, .mf-football-desk__cards,
    .mf-command-grid, .mf-club-grid, .mf-mwpl-main-grid, .mf-matchday-card-grid, .mf-di-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .site-footer .site-footer__inner { gap: .65rem .85rem !important; }
}

/* global-footer.css */
/*
 * MoFutbol global footer release.
 * Loaded by assets/js/core/nav.js after route-specific styles so every public
 * page receives the same readable, keyboard-friendly footer treatment.
 */

html body .site-footer,
html body [data-site-footer] > footer.site-footer {
  position: relative;
  margin: 0 !important;
  padding: clamp(1rem, 1.8vw, 1.45rem) 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(245, 200, 66, 0.25) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(45, 184, 75, 0.11), transparent 27rem),
    linear-gradient(180deg, #07130d 0%, #030806 100%) !important;
  color: #f0f4f0 !important;
  font-family: var(--font-body, "Outfit", "Inter", system-ui, sans-serif) !important;
  isolation: isolate;
}

html body .site-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #e8302a 0 18%, #f5c842 18% 48%, #b9ed35 48% 72%, #2db84b 72% 100%);
}

html body .site-footer .site-container {
  width: min(calc(100% - clamp(2rem, 5vw, 4rem)), 76rem) !important;
  max-width: 76rem !important;
  margin-inline: auto !important;
}

html body .site-footer .site-footer__inner {
  display: grid !important;
  grid-template-columns: minmax(15rem, 1.35fr) repeat(5, minmax(7.25rem, 0.72fr)) !important;
  align-items: start !important;
  gap: clamp(.75rem, 1.45vw, 1.15rem) clamp(.7rem, 1.25vw, 1.05rem) !important;
  margin-block: 0 !important;
  margin-inline: auto !important;
  padding: 0 0 clamp(.8rem, 1.35vw, 1rem) !important;
}

html body .site-footer .site-footer__brand,
html body .site-footer .site-footer__nav {
  display: grid !important;
  align-content: start !important;
  gap: 0.45rem !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .site-footer .site-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-self: start !important;
  gap: 0.7rem !important;
  min-height: 38px !important;
  color: #fffdf3 !important;
  text-decoration: none !important;
}

html body .site-footer .site-brand__logo {
  display: block !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
}

html body .site-footer .site-brand__text {
  display: grid !important;
  gap: 0.1rem !important;
}

html body .site-footer .site-brand__name {
  color: #fffdf3 !important;
  font-family: var(--font-heading, "Outfit", system-ui, sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}

html body .site-footer .site-brand__tag {
  display: block !important;
  color: #f5c842 !important;
  font-family: var(--font-mono, "JetBrains Mono", monospace) !important;
  font-size: max(0.64rem, 11px) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body .site-footer .site-footer__copy {
  display: block !important;
  max-width: 34ch !important;
  margin: 0 !important;
  color: #b9c8bf !important;
  font-size: max(0.82rem, 13px) !important;
  line-height: 1.42 !important;
}

html body .site-footer .site-socials {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.38rem !important;
  margin: 0 !important;
}

html body .site-footer .site-socials > a {
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0.5rem !important;
  border: 1px solid rgba(245, 200, 66, 0.24) !important;
  border-radius: 0.65rem !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #eef5ef !important;
  text-decoration: none !important;
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

html body .site-footer .site-socials > a:hover {
  border-color: #f5c842 !important;
  background: #f5c842 !important;
  color: #071007 !important;
  transform: translateY(-2px) !important;
}

html body .site-footer .site-socials > a:focus-visible,
html body .site-footer .site-footer__nav a:focus-visible,
html body .site-footer .site-footer__bottom a:focus-visible,
html body .site-footer .site-brand:focus-visible {
  outline: 3px solid #b9ed35 !important;
  outline-offset: 3px !important;
}

html body .site-footer .site-socials__icon {
  width: 1.2rem !important;
  height: 1.2rem !important;
}

html body .site-footer .site-socials__label,
html body .site-footer .site-socials__handle {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

html body .site-footer .site-footer__nav h2,
html body .site-footer .site-footer__nav h3 {
  margin: 0 !important;
  color: #f5c842 !important;
  font-family: var(--font-mono, "JetBrains Mono", monospace) !important;
  font-size: max(0.64rem, 11px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

html body .site-footer .site-footer__nav ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .site-footer .site-footer__nav li {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .site-footer .site-footer__nav a,
html body .site-footer .site-footer__bottom a {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  min-width: 44px !important;
  min-height: 34px !important;
  padding: 0.35rem 0.15rem !important;
  color: #d5dfd7 !important;
  font-family: var(--font-body, "Outfit", "Inter", system-ui, sans-serif) !important;
  font-size: max(0.8rem, 13px) !important;
  font-weight: 550 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

html body .site-footer .site-footer__nav a:hover,
html body .site-footer .site-footer__bottom a:hover {
  color: #d6ff1f !important;
}

html body .site-footer .site-footer__partner-link {
  display: grid !important;
  grid-template-columns: 3rem minmax(0, 1fr) !important;
  gap: 0.6rem !important;
}

html body .site-footer .site-footer__partner-logo {
  display: block !important;
  width: 3rem !important;
  max-width: 3rem !important;
  height: 1.75rem !important;
  max-height: 1.75rem !important;
  padding: 0.22rem !important;
  object-fit: contain !important;
}

html body .site-footer .site-footer__bottom {
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.55rem 1.5rem !important;
  min-height: 42px !important;
  margin-block: 0 !important;
  margin-inline: auto !important;
  padding: 0.6rem 0 .75rem !important;
  border-top: 1px solid rgba(245, 200, 66, 0.16) !important;
  color: #9fb0a5 !important;
  font-family: var(--font-mono, "JetBrains Mono", monospace) !important;
  font-size: max(0.72rem, 11px) !important;
  line-height: 1.45 !important;
}

html body .site-footer .site-footer__operations {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.85rem !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

html body .site-footer .site-footer__bottom .site-footer__editor-portal {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0.65rem 0.9rem !important;
  border: 1px solid rgba(216, 255, 46, 0.5) !important;
  border-radius: 999px;
  color: #07120b !important;
  background: linear-gradient(100deg, #ffe339, #91ef5b);
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 68rem) {
  html body .site-footer .site-footer__inner {
    grid-template-columns: minmax(15rem, 1.25fr) repeat(3, minmax(8rem, 0.8fr)) !important;
  }

  html body .site-footer .site-footer__brand {
    grid-row: span 2 !important;
  }
}

@media (max-width: 48rem) {
  html body .site-footer,
  html body [data-site-footer] > footer.site-footer {
    padding-top: 1.35rem !important;
  }

  html body .site-footer .site-container {
    width: min(calc(100% - 1.5rem), 80rem) !important;
  }

  html body .site-footer .site-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.1rem 0.9rem !important;
  }

  html body .site-footer .site-footer__brand {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    padding-bottom: 0.35rem !important;
    border-bottom: 1px solid rgba(245, 200, 66, 0.14) !important;
  }

  html body .site-footer .site-footer__copy {
    max-width: 46ch !important;
  }

  html body .site-footer .site-socials > a {
    flex-basis: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  html body .site-footer .site-footer__nav a {
    width: 100% !important;
    min-height: 44px !important;
    padding-block: 0.6rem !important;
  }

  html body .site-footer .site-footer__bottom {
    min-height: 52px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    padding-bottom: 1.2rem !important;
  }

  html body .site-footer .site-footer__operations {
    width: 100% !important;
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 23.5rem) {
  html body .site-footer .site-footer__inner {
    grid-template-columns: 1fr !important;
  }

  html body .site-footer .site-footer__brand {
    grid-column: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .site-footer * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Final cross-page release guard: the completed World Cup final is the
   primary World Soccer archive and cannot be collapsed by legacy rules. */
html body.mf-world-cup-page main#main-content
  #wc2026-knockout[data-wc-final-ready="true"] {
  display: block !important;
}

/* global-footer-v3.css */
html body .site-footer,
html body [data-site-footer] > footer.site-footer {
  padding-top: 1rem !important;
  border-top-color: rgba(245, 200, 66, .42) !important;
  background: #050a07 !important;
}

html body .site-footer::before { height: 2px !important; }

html body .site-footer .site-container {
  width: min(calc(100% - clamp(2rem, 5vw, 4rem)), 84rem) !important;
  max-width: 84rem !important;
}

html body .site-footer .site-footer__inner {
  grid-template-columns: minmax(13.5rem, 1.3fr) repeat(5, minmax(6.3rem, .72fr)) !important;
  gap: .9rem !important;
  padding-bottom: .7rem !important;
}

html body .site-footer .site-footer__brand,
html body .site-footer .site-footer__nav { gap: .3rem !important; }

html body .site-footer .site-brand__logo { width: 32px !important; min-width: 32px !important; height: 32px !important; }
html body .site-footer .site-brand { min-height: 32px !important; gap: .55rem !important; }
html body .site-footer .site-brand__name { font-size: .95rem !important; }
html body .site-footer .site-brand__tag { font-size: .56rem !important; }
html body .site-footer .site-footer__copy { max-width: 28ch !important; font-size: .76rem !important; line-height: 1.38 !important; }

html body .site-footer .site-socials { gap: .3rem !important; }
html body .site-footer .site-socials > a { flex-basis: 30px !important; width: 30px !important; min-width: 30px !important; max-width: 30px !important; height: 30px !important; min-height: 30px !important; max-height: 30px !important; padding: .38rem !important; border-radius: 3px !important; }

html body .site-footer .site-footer__nav summary { cursor: default; list-style: none; }
html body .site-footer .site-footer__nav summary::-webkit-details-marker { display: none; }
html body .site-footer .site-footer__nav h2,
html body .site-footer .site-footer__nav h3 { font-size: .58rem !important; }
html body .site-footer .site-footer__nav ul { gap: 0 !important; }
html body .site-footer .site-footer__nav a,
html body .site-footer .site-footer__bottom a { min-height: 27px !important; padding: .2rem 0 !important; font-size: .72rem !important; line-height: 1.2 !important; }

html body .site-footer .site-footer__bottom { min-height: 34px !important; padding: .45rem 0 .6rem !important; font-size: .62rem !important; }

@media (max-width: 68rem) {
  html body .site-footer .site-footer__inner { grid-template-columns: minmax(13.5rem, 1.2fr) repeat(3, minmax(7rem, .8fr)) !important; }
}

@media (max-width: 48rem) {
  html body .site-footer .site-footer__inner { gap: .85rem .7rem !important; }
  html body .site-footer .site-footer__copy { max-width: 40ch !important; }
  html body .site-footer .site-footer__nav summary { cursor: pointer; }
  html body .site-footer .site-footer__nav a { min-height: 38px !important; }
}

@media (min-width: 821px) {
  html body .site-footer .site-footer__brand .site-socials > a {
    box-sizing: border-box !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    flex: 0 0 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 7px !important;
    justify-content: center !important;
  }

  html body .site-footer .site-footer__nav li > a,
  html body .site-footer .site-footer__bottom > a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    min-width: 36px !important;
    min-height: 34px !important;
    padding: 6px 3px !important;
  }

  html body .site-footer .site-footer__nav a.site-footer__editor-portal {
    justify-content: center !important;
    width: max-content !important;
    padding: 7px 11px !important;
    border: 1px solid rgba(216, 255, 46, .62) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ffe339, #91ef5b) !important;
    color: #07120b !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }
}

/* global-header.css */
/* Shared site chrome: every route mounts the same navigation and control rhythm. */
:root {
  --mf-global-header-height: 64px;
  --mf-global-header-control: 44px;
}

html body .site-header {
  position: relative;
  z-index: 220;
  width: 100%;
  min-height: var(--mf-global-header-height);
  background: linear-gradient(100deg, #050b08 0%, #08120c 58%, #07140e 100%);
  border-bottom: 1px solid rgba(216, 255, 46, 0.16);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
}

html body .site-header .site-header__inner {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 12px;
  min-height: var(--mf-global-header-height) !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

html body .site-header .site-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
  min-width: 144px;
  min-height: var(--mf-global-header-control);
  color: #f7fbff;
  text-decoration: none;
}

html body .site-header .site-brand__logo {
  display: block;
  width: 36px !important;
  height: 36px !important;
  object-fit: contain;
  flex: 0 0 36px;
}

html body .site-header .site-brand__text {
  display: grid;
  gap: 1px;
  min-width: 0;
}

html body .site-header .site-brand__name {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
}

html body .site-header .site-brand__tag {
  color: #d8ff2e;
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  line-height: 1.15;
  text-transform: uppercase;
}

html body .site-header .site-nav {
  display: block !important;
  min-width: 0;
  overflow: visible;
}

html body .site-header .site-nav__list {
  display: flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  margin: 0;
  padding: 0;
}

html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 5px;
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #e8f0ef;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle):hover,
html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle)[aria-current="page"],
html body .site-header .site-nav [data-has-panel].is-open > .site-nav__toggle {
  border-color: rgba(216, 255, 46, 0.45);
  background: linear-gradient(135deg, rgba(255, 203, 53, 0.2), rgba(79, 226, 126, 0.14));
  color: #fff;
}

html body .site-header .site-header__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end;
  gap: 6px;
  min-width: max-content;
}

html body .site-header .site-header__actions :where(a, button) {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--mf-global-header-control) !important;
  height: var(--mf-global-header-control) !important;
  padding: 0 11px;
  border: 1px solid rgba(216, 255, 46, 0.22);
  border-radius: 9px;
  background: #07120b;
  color: #f7fbff;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

html body .site-header .site-header__actions .site-header__cta--media {
  border-color: #ffc83d;
  background: linear-gradient(135deg, #ffe238, #f3c634);
  color: #07120b;
}

html body .site-header .site-header__actions .site-header__search {
  gap: 4px;
}

html body .site-header .site-header__actions :where(a, button):hover {
  border-color: #d8ff2e;
  transform: translateY(-1px);
}

html body .site-header :where(a, button):focus-visible {
  outline: 3px solid #d8ff2e;
  outline-offset: 2px;
}

html body .site-header .site-nav__menu-button {
  display: none !important;
  width: var(--mf-global-header-control);
  padding: 10px !important;
}

@media (max-width: 1280px) {
  html body .site-header .site-nav {
    display: none !important;
  }

  html body .site-header .site-header__inner {
    grid-template-columns: auto 1fr auto;
  }

  html body .site-header .site-nav__menu-button {
    display: inline-flex !important;
  }
}

@media (max-width: 700px) {
  :root {
    --mf-global-header-height: 58px;
  }

  html body .site-header .site-header__inner {
    gap: 8px;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  html body .site-header .site-brand {
    min-width: 0;
  }

  html body .site-header .site-brand__logo {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px;
  }

  html body .site-header .site-brand__tag,
  html body .site-header .site-header__cta--media,
  html body .site-header .site-theme-toggle {
    display: none !important;
  }

  html body .site-header .site-header__actions :where(a, button) {
    min-width: var(--mf-global-header-control);
    padding: 0 8px;
  }
}

/* release-10.css */
/* Final production quality pass: faster first paint, touch targets, readable type,
   calmer homepage entry, and durable keyboard/reduced-motion behavior. */

:root { --mf-release-focus: #d8ff3e; }

html { scroll-behavior: smooth; }

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

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--mf-release-focus) !important;
  outline-offset: 3px;
}

:where(button, input:not([type="hidden"]), select) { min-height: 44px; }

.site-header :where(a, button),
.site-footer :where(a, button),
.stl-btn,
.mf-v22-button,
.mf-v22-card-button,
.mf-matchday-row__actions :where(a, button),
.mf-matchday-date-nav button,
.mf-matchday-tools-sticky :where(button, select, input) {
  min-height: 44px;
}

/* Avoid the large empty skeleton encountered on Match Center while live data loads. */
.mf-matchday-loading,
.mf-matchday-first-paint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem 1rem;
  min-height: 72px;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(216,255,62,.24);
  border-radius: 14px;
  background: linear-gradient(120deg, rgba(8,24,16,.96), rgba(10,21,34,.92));
  color: rgba(244,247,251,.84);
}

.mf-matchday-loading > div { display: none; }
.mf-matchday-loading > span::after { content: " Verified fixtures and watch links are loading."; display: block; margin-top: .28rem; color: rgba(244,247,251,.68); font-size: .86rem; }
.mf-matchday-first-paint strong { color: #fff; }
.mf-matchday-first-paint a { color: var(--mf-release-focus); font-weight: 800; }

/* Keep the home entry focused on the matchday job; deeper routes remain in header and quick hubs. */
@media (min-width: 900px) {
  body.mf-home-v22 .mf-v22-hero--clean { min-height: 0; padding-block: clamp(1.2rem, 2.5vw, 2.5rem); }
  body.mf-home-v22 .mf-v22-hero--clean .mf-v22-group-label,
  body.mf-home-v22 .mf-v22-hero--clean .mf-v22-league-doors,
  body.mf-home-v22 .mf-v22-hero--clean .mf-v22-quick-routes { display: none !important; }
  body.mf-home-v22 .mf-v22-hero--clean .mf-v22-hero__copy { align-content: center; }
  body.mf-home-v22 .mf-v22-hero--clean .mf-v22-now-line { margin-top: .45rem; }
}

/* Progressive disclosure keeps contributor account creation the sole initial task. */
.mf-portal-auth > details.mf-portal-auth-disclosure {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(7,24,18,.56);
}

.mf-portal-auth > details.mf-portal-auth-disclosure > summary {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: .75rem 1rem;
  cursor: pointer;
  color: #fff;
  font-weight: 800;
}

.mf-portal-auth > details.mf-portal-auth-disclosure[open] > summary { border-bottom: 1px solid rgba(255,255,255,.12); }
.mf-portal-auth > details.mf-portal-auth-disclosure .mf-form-shell { border: 0; border-radius: 0; background: transparent; box-shadow: none; }

/* Footer is an information surface, not microcopy. */
.site-footer { font-size: .93rem; line-height: 1.55; }
.site-footer :where(a, p, small, span) { color: rgba(244,247,251,.82); }
.site-footer :where(h2, h3, strong) { color: #fff; }
.site-footer a:hover { color: var(--mf-release-focus); }

@media (max-width: 760px) {
  .site-header__nav { overflow-x: auto; scrollbar-width: thin; }
  .site-footer { font-size: 1rem; }
  .mf-matchday-loading, .mf-matchday-first-paint { align-items: flex-start; }
  .mf-matchday-loading > span { max-width: 28ch; }
  .mf-portal-auth { grid-template-columns: 1fr; }
  .mf-portal-auth .mf-form-grid { grid-template-columns: 1fr; }
  .mf-contributor-hero { min-height: auto; }
}

/* ux-audit-remediation.css */
/* MoFutbol 2026-07-21 UX audit remediation.
   Shared, low-specificity refinements layered after route styles. */

:root {
  --mf-reading: 72ch;
  --mf-control: 44px;
}

body {
  font-family: var(--font-body, "Outfit", "Inter", system-ui, sans-serif);
}

.site-header__search,
.mf-global-search__close,
.mf-global-search__submit {
  min-width: var(--mf-control);
  min-height: var(--mf-control);
}

.site-header__search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem .8rem;
  border: 1px solid rgba(245, 200, 66, .24);
  border-radius: 10px;
  color: #f7faf7;
  background: rgba(255,255,255,.035);
  font: 800 .72rem/1 var(--font-mono, monospace);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.site-drawer__search {
  width: 100%;
  min-height: 50px;
  margin: 0 0 .75rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(216,255,62,.38);
  border-radius: 12px;
  color: #07110d;
  background: linear-gradient(110deg, #ffd43b, #b9fb35 62%, #59dd8c);
  font-weight: 900;
  text-align: left;
}

.mf-global-search[hidden] { display: none !important; }
.mf-global-search {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: start center;
  padding: min(12vh, 7rem) 1rem 2rem;
  background: rgba(1, 6, 4, .84);
  backdrop-filter: blur(14px);
}
.mf-global-search__dialog {
  width: min(100%, 54rem);
  max-height: min(76vh, 48rem);
  overflow: auto;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid rgba(216, 255, 62, .34);
  border-radius: 18px;
  background: #07130e;
  box-shadow: 0 30px 100px rgba(0,0,0,.58);
}
.mf-global-search__head,
.mf-global-search__form,
.mf-global-search__result {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.mf-global-search__head { justify-content: space-between; margin-bottom: 1rem; }
.mf-global-search__head h2 { font-size: clamp(1.35rem, 3vw, 2rem); }
.mf-global-search__close {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #fff;
}
.mf-global-search__form input {
  width: 100%;
  min-height: 50px;
  padding: .78rem 1rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  color: #fff;
  background: #101b16;
}
.mf-global-search__submit {
  padding: .7rem 1rem;
  border-radius: 12px;
  color: #07110d;
  background: linear-gradient(110deg, #ffd43b, #b9fb35 62%, #59dd8c);
  font-weight: 900;
}
.mf-global-search__status { min-height: 1.5rem; margin: .8rem 0; color: rgba(255,255,255,.72); }
.mf-global-search__results { display: grid; gap: .55rem; }
.mf-global-search__result {
  justify-content: space-between;
  min-height: 64px;
  padding: .8rem 1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.mf-global-search__result span { display: block; color: #d8ff3e; font: 700 .65rem/1.2 var(--font-mono, monospace); text-transform: uppercase; }
.mf-global-search__result strong { display: block; margin-top: .25rem; }

/* Homepage: one clear first job and less decorative depth. */
body.mf-home-v22 .mf-v22-hero__copy { max-width: none; }
body.mf-home-v22 .mf-v22-hero__lede { max-width: 48rem; }
body.mf-home-v22 .mf-v22-now-line { max-width: 50rem; }

/* Match Center: treat controls as tools, not another hero. */
body.mf-match-center-page .mf-matchday-command { padding-block: .25rem; }
body.mf-match-center-page .mf-matchday-command h2 { font-size: clamp(1.9rem, 4vw, 3rem); }
body.mf-match-center-page .mf-matchday-controls > summary { min-height: var(--mf-control); }

/* Progressive disclosure for the long Diaspora authority experience. */
.mf-progressive-section {
  display: block;
  margin: clamp(.75rem, 1.6vw, 1.25rem) auto;
  width: min(calc(100% - 2rem), 72rem);
  border: 1px solid rgba(216,255,62,.22);
  border-radius: 16px;
  background: rgba(7,19,14,.92);
  overflow: clip;
}
.mf-progressive-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  padding: .9rem 1rem;
  cursor: pointer;
  color: #fff;
  font-weight: 850;
  list-style: none;
}
.mf-progressive-section > summary::before {
  content: "↗";
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(216,255,62,.32);
  border-radius: 10px;
  background: rgba(216,255,62,.08);
  color: #d8ff3e;
  font: 850 1rem/1 monospace;
}
.mf-progressive-section__copy {
  min-width: 0;
  display: grid;
  gap: .15rem;
  margin-right: auto;
}
.mf-progressive-section__copy strong { line-height: 1.15; }
.mf-progressive-section__copy small {
  color: rgba(255,255,255,.66);
  font-size: .78rem;
  font-weight: 550;
  line-height: 1.3;
}
.mf-progressive-section > summary::-webkit-details-marker { display: none; }
.mf-progressive-section > summary::after { content: "+"; color: #d8ff3e; font: 800 1.35rem/1 monospace; }
.mf-progressive-section[open] > summary::after { content: "−"; }
.mf-progressive-section > section { margin: 0 !important; }

body.mf-diaspora-players-page .mf-progressive-section {
  width: min(calc(100% - 2rem), 58rem);
  margin-block: .65rem 1rem;
  border-radius: 14px;
  background: linear-gradient(110deg, rgba(12,35,26,.96), rgba(6,18,14,.94));
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}
body.mf-diaspora-players-page .mf-progressive-section > summary {
  min-height: 54px;
  padding: .55rem .75rem;
  gap: .7rem;
}
body.mf-diaspora-players-page .mf-progressive-section > summary::after {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
}

body.mf-diaspora-pathways-page .mf-progressive-section {
  width: min(calc(100% - 2rem), 58rem);
  margin-block: .65rem 1rem;
  border-radius: 14px;
  background: linear-gradient(110deg, rgba(12,35,26,.96), rgba(6,18,14,.94));
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}
body.mf-diaspora-pathways-page .mf-progressive-section > summary {
  min-height: 54px;
  padding: .55rem .75rem;
  gap: .7rem;
}
body.mf-diaspora-pathways-page .mf-progressive-section > summary::after {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
}

/* Contributor: onboarding is the first task; workflow detail is secondary. */
body.mf-contributor-page .mf-contributor-hero {
  min-height: 25rem;
  padding-block: clamp(4.5rem, 7vw, 6rem) clamp(1.35rem, 2.5vw, 2rem);
}
body.mf-contributor-page .mf-contributor-hero__copy { max-width: 44rem; }
body.mf-contributor-page .mf-contributor-hero__copy .mf-unified-hero-title { max-width: 12ch; font-size: clamp(2.5rem, 5.8vw, 5.4rem); }
body.mf-contributor-page .mf-contributor-process-section { padding-block: clamp(1.25rem, 2.5vw, 2rem); }
body.mf-contributor-page .mf-contributor-process-steps { display: none; }

/* Article loading is bounded and communicates progress. */
body.mf-article-page .mf-article-loading,
body.mf-article-page #article-detail > .stl-container:has(> .mf-skel) {
  min-height: 9rem;
  display: grid;
  align-content: center;
}
.mf-article-loading-copy { margin-top: .85rem; color: rgba(255,255,255,.78); }

@media (max-width: 900px) {
  .site-header__search { display: none !important; }

  body.mf-home-v22 .mf-v22-hero {
    min-height: 0 !important;
    padding-block: 1.35rem !important;
  }
  body.mf-home-v22 .mf-v22-hero__grid { gap: .85rem !important; }
  body.mf-home-v22 .mf-v22-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(2.35rem, 11vw, 3.45rem) !important;
    line-height: .96 !important;
  }
  body.mf-home-v22 .mf-v22-hero__lede {
    font-size: 1.05rem !important;
    line-height: 1.45 !important;
  }
  body.mf-home-v22 .mf-v22-now-line__media img,
  body.mf-home-v22 .mf-v22-now-line img {
    max-height: 15rem !important;
    object-fit: cover;
  }
  body.mf-home-v22 .mf-v22-league-doors,
  body.mf-home-v22 .mf-v22-quick-routes,
  body.mf-home-v22 .mf-v22-find-panel { display: none !important; }
  body.mf-home-v22 .mf-v22-section { padding-block: 1.5rem !important; }

  body.mf-match-center-page .mf-match-polish-hero { display: none !important; }
  body.mf-match-center-page .mf-matchday-overview {
    grid-template-columns: 1fr 1fr !important;
    gap: .55rem !important;
  }
  body.mf-match-center-page .mf-matchday-overview__intro,
  body.mf-match-center-page .mf-matchday-refresh-toggle { grid-column: 1 / -1; }
  body.mf-match-center-page .mf-matchday-overview__following { display: none !important; }
  body.mf-match-center-page .mf-matchday-date-nav { gap: .4rem !important; }
  body.mf-match-center-page .mf-matchday-date-scroll { overflow-x: auto; flex-wrap: nowrap !important; scrollbar-width: thin; }
  body.mf-match-center-page .mf-matchday-controls:not([open]) > :not(summary) { display: none !important; }

  body.mf-diaspora-page .mf-diaspora-fix-hero { min-height: 0 !important; padding-block: 1.25rem !important; }
  body.mf-diaspora-page .mf-diaspora-fix-hero__grid { gap: .8rem !important; }
  body.mf-diaspora-page .mf-diaspora-fix-hero__copy h1 {
    font-size: clamp(2.15rem, 10.5vw, 3.25rem) !important;
    line-height: .96 !important;
  }
  body.mf-diaspora-page .mf-diaspora-fix-hero__copy > p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  body.mf-diaspora-page .mf-diaspora-hero-media,
  body.mf-diaspora-page .mf-diaspora-fix-hero__panel { display: none !important; }
  body.mf-diaspora-page .mf-diaspora-actions { grid-template-columns: 1fr 1fr !important; }
  body.mf-diaspora-page .mf-diaspora-actions a:first-child { grid-column: 1 / -1; }
  body.mf-diaspora-page .mf-da-command { margin-block: .75rem !important; }

  body.mf-contributor-page .mf-contributor-hero {
    min-height: 0;
    padding-block: 1.25rem 1rem;
  }
  html body.mf-magazine-authority.mf-contributor-page .mf-contributor-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .85rem;
  }
  body.mf-contributor-page .mf-contributor-hero__copy {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  body.mf-contributor-page .mf-contributor-hero__copy .mf-unified-hero-title {
    max-width: 10ch;
    font-size: clamp(2.25rem, 11vw, 3.4rem);
  }
  body.mf-contributor-page .mf-contributor-command { display: none; }
  body.mf-contributor-page #portal { padding-block: 1.25rem; }
  body.mf-contributor-page #contributor-process { padding-block: 1.1rem; }
  body.mf-contributor-page .mf-contributor-process-flow { grid-template-columns: repeat(3, minmax(0,1fr)); }
  body.mf-contributor-page .mf-contributor-process-flow li:nth-child(n+4) { display: none; }

  .mf-global-search { padding-top: 1rem; }
  .mf-global-search__form { align-items: stretch; flex-direction: column; }
}

@media (max-width: 520px) {
  body.mf-home-v22 .mf-v22-actions { display: grid !important; grid-template-columns: 1fr !important; }
  body.mf-home-v22 .mf-v22-button { width: 100%; }
  .mf-progressive-section { width: calc(100% - 1rem); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* quality-repair.css */
.mf-quality-fallback {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  min-height: 7rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(245, 200, 66, .28);
  border-radius: var(--radius-lg, 18px);
  background: linear-gradient(145deg, rgba(9, 25, 18, .98), rgba(7, 18, 29, .96));
}

.mf-quality-fallback strong,
.mf-quality-fallback p { display: block; }
.mf-quality-fallback strong { margin-top: .25rem; color: var(--text, #f4f7fb); font-size: clamp(1rem, 2vw, 1.25rem); }
.mf-quality-fallback p { margin: .35rem 0 0; color: var(--muted, #b5c0ca); }
.mf-quality-fallback__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.mf-quality-fallback__links a { min-height: 44px; }
.mf-quality-image-fallback { object-fit: contain !important; padding: 10%; background: rgba(3, 15, 10, .94); }
.mf-city2-quality-pending .stl-pro-stat-grid,
.mf-city2-quality-pending #city2-next-matchup,
.mf-city2-quality-pending #city2-results { visibility: hidden; }

button,
[role="button"],
summary,
input[type="button"],
input[type="submit"],
input[type="reset"],
select,
.stl-btn,
.mf-core-button,
[data-site-header] a,
.site-footer a,
.site-footer__social a { min-height: 44px; }

/* Give high-frequency controls a small measurement buffer so fractional layout
   rounding never drops them below the WCAG 2.2 target size. */
button,
[role="button"],
summary,
input:not([type="hidden"]),
select,
textarea,
[aria-label="Back to top"],
#back-to-top,
#mo-btt,
.back-to-top,
.mf-back-to-top { min-height: 46px !important; }

[aria-label="Back to top"],
#back-to-top,
#mo-btt,
.back-to-top,
.mf-back-to-top { min-width: 46px !important; }

.mf-hidden-hp[aria-hidden="true"] {
  position: absolute !important;
  width: 1px !important;
  min-width: 0 !important;
  height: 1px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

button:focus-visible,
[role="button"]:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #f5c842 !important;
  outline-offset: 3px !important;
}

.skip-link,
[data-skip-link] { position: fixed; top: .5rem; left: .5rem; z-index: 100000; transform: translateY(-160%); }
.skip-link:focus,
.skip-link:focus-visible,
[data-skip-link]:focus,
[data-skip-link]:focus-visible { transform: translateY(0); }

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

@media (max-width: 700px) {
  .mf-quality-fallback { grid-template-columns: 1fr; }
  .mf-quality-fallback__links { justify-content: flex-start; }
  .mf-quality-fallback__links a { width: 100%; justify-content: center; }
}

/* Homepage desktop route menu: remove the unused second grid row left behind
   when the secondary route group is intentionally hidden. */
@media (min-width: 900px) {
  html body.mf-system-home main#main-content .mf-v22-hero-explore[open] {
    margin-top: .25rem !important;
    padding-top: .65rem !important;
  }

  html body.mf-system-home main#main-content .mf-v22-hero-explore[open] > .mf-v22-hero-explore__content {
    grid-template-columns: minmax(0, 2fr) minmax(17rem, .72fr) !important;
    grid-template-areas: "hero-leagues hero-hubs" !important;
    align-items: stretch !important;
    gap: .65rem !important;
    padding-bottom: 0 !important;
  }

  html body.mf-system-home main#main-content .mf-v22-hero-explore .mf-v22-league-doors {
    grid-area: hero-leagues !important;
    align-self: stretch !important;
    margin: 0 !important;
  }

  html body.mf-system-home main#main-content .mf-v22-hero-explore .mf-v22-find-panel {
    grid-area: hero-hubs !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-self: stretch !important;
    gap: .38rem !important;
    padding: .58rem !important;
  }

  html body.mf-system-home main#main-content .mf-v22-hero-explore .mf-v22-find-panel > .mf-v22-kicker {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
  }

  html body.mf-system-home main#main-content .mf-v22-hero-explore .mf-v22-find-panel > a {
    min-height: 46px !important;
    padding: .4rem .5rem !important;
  }

  /* Match the highly specific desktop homepage shell so older release rules
     cannot recreate the removed row or force the hubs back to two columns. */
  html body.mf-system-home.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero-explore[open] > .mf-v22-hero-explore__content {
    grid-template-columns: minmax(0, 2fr) minmax(17rem, .72fr) !important;
    grid-template-areas: "hero-leagues hero-hubs" !important;
    align-items: stretch !important;
  }

  html body.mf-system-home.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero-explore .mf-v22-league-doors {
    height: 100% !important;
    margin: 0 !important;
  }

  html body.mf-system-home.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero-explore .mf-v22-find-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    height: 100% !important;
    padding: .58rem !important;
  }
}

/* Global compact footer. Link targets remain at least 44px while each desktop
   link group uses two columns and smaller viewports use native disclosures. */
html body .site-footer,
html body [data-site-footer] > footer.site-footer {
  padding: .85rem 0 0 !important;
}

html body .site-footer .site-footer__inner {
  gap: .7rem 1rem !important;
  padding: 0 0 .65rem !important;
}

html body .site-footer .site-footer__brand,
html body .site-footer .site-footer__nav {
  gap: .38rem !important;
}

html body .site-footer .site-footer__copy {
  font-size: max(.84rem, 14px) !important;
  line-height: 1.42 !important;
}

html body .site-footer details.site-footer__nav > summary {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .5rem !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: .3rem .15rem !important;
  list-style: none !important;
  cursor: pointer;
}

html body .site-footer details.site-footer__nav > summary::-webkit-details-marker {
  display: none !important;
}

html body .site-footer details.site-footer__nav > summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid rgba(245, 200, 66, .28);
  border-radius: 50%;
  color: #f5c842;
  font: 800 1rem/1 var(--font-mono, "JetBrains Mono", monospace);
}

html body .site-footer details.site-footer__nav[open] > summary::after {
  content: "-";
}

html body .site-footer details.site-footer__nav > summary h2 {
  margin: 0 !important;
}

html body .site-footer .site-footer__nav ul {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 .45rem !important;
}

html body .site-footer .site-footer__nav a {
  width: 100% !important;
  min-height: 44px !important;
  padding: .35rem .1rem !important;
  font-size: max(.79rem, 13px) !important;
  line-height: 1.2 !important;
}

html body .site-footer .site-footer__bottom {
  min-height: 48px !important;
  padding: .55rem 0 .7rem !important;
}

@media (min-width: 68.0625rem) {
  html body .site-footer details.site-footer__nav > summary::after {
    display: none !important;
  }
}

@media (max-width: 68rem) {
  html body .site-footer .site-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .45rem .7rem !important;
  }

  html body .site-footer .site-footer__brand {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    align-items: center !important;
    gap: .35rem .75rem !important;
    padding-bottom: .55rem !important;
    border-bottom: 1px solid rgba(245, 200, 66, .15) !important;
  }

  html body .site-footer .site-footer__brand > .site-brand,
  html body .site-footer .site-footer__brand > .site-footer__copy {
    grid-column: 1 !important;
  }

  html body .site-footer .site-footer__brand > .site-socials {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
  }

  html body .site-footer details.site-footer__nav {
    display: block !important;
    min-width: 0 !important;
    padding: 0 .55rem !important;
    border: 1px solid rgba(245, 200, 66, .15) !important;
    border-radius: .65rem !important;
    background: rgba(255, 255, 255, .025) !important;
  }

  html body .site-footer details.site-footer__nav[open] {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 32rem) {
  html body .site-footer .site-container {
    width: min(calc(100% - 1rem), 80rem) !important;
  }

  html body .site-footer .site-footer__brand {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .site-footer .site-footer__brand > .site-socials {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  html body .site-footer .site-footer__copy {
    max-width: 40ch !important;
  }
}

/* newsletter-popup.css */
.mf-newsletter-popup[hidden] { display: none !important; }

.mf-newsletter-popup {
  position: fixed;
  z-index: 10050;
  inset: 0;
  display: grid;
  place-items: end center;
  padding: 1rem;
  background: rgba(1, 7, 4, .62);
  backdrop-filter: blur(8px);
}

.mf-newsletter-popup__dialog {
  position: relative;
  width: min(100%, 640px);
  padding: clamp(1.15rem, 3vw, 2rem);
  border: 1px solid rgba(202, 255, 90, .38);
  border-radius: 1.2rem;
  color: #f6fbf7;
  background:
    radial-gradient(circle at 96% 0%, rgba(202,255,90,.16), transparent 13rem),
    linear-gradient(145deg, #10271c, #07120c);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .55);
}

.mf-newsletter-popup__close {
  position: absolute;
  top: .65rem;
  right: .65rem;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .7rem;
  color: #fff;
  background: rgba(1, 8, 5, .55);
  font-size: 1.25rem;
  cursor: pointer;
}

.mf-newsletter-popup__eyebrow {
  margin: 0 3rem .55rem 0;
  color: #f8d04e;
  font: 800 .7rem/1.2 "JetBrains Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mf-newsletter-popup h2 {
  max-width: 19ch;
  margin: 0;
  color: #fff;
  font: 900 clamp(1.75rem, 4vw, 2.55rem)/1 "Archivo Black", "Outfit", sans-serif;
}

.mf-newsletter-popup__copy {
  max-width: 58ch;
  margin: .8rem 0 1.15rem;
  color: #c5d1c9;
  line-height: 1.55;
}

.mf-newsletter-popup .site-newsletter-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: start;
}

.mf-newsletter-popup .site-newsletter-form > input[type="email"] {
  min-height: 48px;
  padding: .7rem .85rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: .7rem;
  color: #fff;
  background: #041009;
}

.mf-newsletter-popup .site-newsletter-form > button {
  min-height: 48px;
  padding: .7rem 1rem;
  border: 0;
  border-radius: .7rem;
  color: #071009;
  background: linear-gradient(110deg, #f7ce43, #caff5a);
  font-weight: 900;
  cursor: pointer;
}

.mf-newsletter-popup .site-newsletter-form__prefs,
.mf-newsletter-popup .site-newsletter-form__status {
  grid-column: 1 / -1;
}

.mf-newsletter-popup__consent {
  grid-column: 1 / -1;
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  color: #c5d1c9;
  font-size: .82rem;
  line-height: 1.45;
}

.mf-newsletter-popup__consent input {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin-top: .05rem;
  accent-color: #d9ff36;
}

.mf-newsletter-popup__fineprint {
  margin: .75rem 0 0;
  color: #aebbb2;
  font-size: .78rem;
  line-height: 1.45;
}

.mf-newsletter-popup :is(button, input, summary, a):focus-visible {
  outline: 3px solid #6fe3ff;
  outline-offset: 3px;
}

@media (max-width: 540px) {
  .mf-newsletter-popup { place-items: end stretch; padding: .55rem; }
  .mf-newsletter-popup .site-newsletter-form { grid-template-columns: 1fr; }
  .mf-newsletter-popup .site-newsletter-form > button { width: 100%; }
}

/* site-audit-fixes-v43.css */
/* MoFutbol V4.3 audit fixes: media containment, mobile compression, tap targets */

body.mf-v43-ready :where(input, select, textarea, button, a[role="button"], .stl-btn, .site-button) {
  min-height: 44px;
}

body.mf-v43-ready :where(input, select, textarea) {
  font-size: 16px;
  line-height: 1.2;
}

body.mf-v43-ready :where(input[type="checkbox"], input[type="radio"]) {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  accent-color: #d6ff1f;
}

body.mf-media-page .mf-media-player-section {
  position: relative;
  z-index: 2;
  overflow: visible;
  padding-block: clamp(1rem, 2vw, 1.8rem) clamp(2.4rem, 5vw, 4rem) !important;
  margin-bottom: clamp(1.4rem, 3vw, 2.4rem);
}

body.mf-media-page .mf-media-player-grid {
  align-items: start !important;
}

body.mf-media-page .mf-youtube-station {
  overflow: hidden;
  max-height: none;
}

body.mf-media-page .mf-youtube-stage {
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.42fr);
}

body.mf-media-page .mf-youtube-playlist {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-height: 15.5rem;
  overflow: auto;
  padding-right: 0.25rem;
  overscroll-behavior: contain;
}

body.mf-media-page .mf-youtube-card {
  grid-template-columns: 5.5rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  min-height: 5.1rem !important;
  padding: 0.42rem !important;
}

body.mf-media-page .mf-youtube-card img {
  grid-row: 1 / span 2;
  aspect-ratio: 16 / 9;
}

body.mf-media-page .mf-youtube-card span {
  position: static !important;
  width: max-content;
  align-self: start;
}

body.mf-media-page .mf-youtube-card strong {
  -webkit-line-clamp: 2;
  font-size: 0.82rem;
}

body.mf-media-page .mf-watch-flow-section {
  position: relative;
  z-index: 1;
  clear: both;
  padding-top: clamp(2rem, 4vw, 3rem) !important;
}

@media (max-width: 980px) {
  body.mf-media-page .mf-media-player-grid,
  body.mf-media-page .mf-youtube-stage {
    grid-template-columns: 1fr !important;
  }

  body.mf-media-page .mf-youtube-playlist {
    grid-template-columns: 1fr !important;
    max-height: 18rem;
  }
}

/* Compact long mobile directories while keeping full content accessible. */
@media (max-width: 760px) {
  body.mf-v43-mobile-compact:not(.mf-v43-expanded) main#main-content,
  body.mf-v43-mobile-compact:not(.mf-v43-expanded) main {
    max-height: 5200px;
    overflow: hidden !important;
  }

  body.mf-v43-mobile-compact.mf-diaspora-page:not(.mf-v43-expanded) main#main-content,
  body.mf-v43-mobile-compact.mf-diaspora-page:not(.mf-v43-expanded) main {
    max-height: 4300px;
  }

  body.mf-v43-mobile-compact.mf-partnership-page:not(.mf-v43-expanded) main#main-content,
  body.mf-v43-mobile-compact.mf-partnership-page:not(.mf-v43-expanded) main,
  body.mf-v43-mobile-compact.mf-world-cup-page:not(.mf-v43-expanded) main#main-content,
  body.mf-v43-mobile-compact.mf-world-cup-page:not(.mf-v43-expanded) main,
  body.mf-v43-mobile-compact.mf-afcon-page:not(.mf-v43-expanded) main#main-content,
  body.mf-v43-mobile-compact.mf-afcon-page:not(.mf-v43-expanded) main,
  body.mf-v43-secondary-compact:not(.mf-v43-expanded) main#main-content,
  body.mf-v43-secondary-compact:not(.mf-v43-expanded) main {
    max-height: 5000px;
  }

  body.mf-v43-mobile-compact:not(.mf-v43-expanded) main#main-content::after,
  body.mf-v43-mobile-compact:not(.mf-v43-expanded) main::after {
    content: "";
    position: sticky;
    display: block;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5rem;
    margin-top: -5rem;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(4, 10, 8, 0), rgba(4, 10, 8, 0.96));
  }

  body.mf-v43-mobile-compact :where(.mf-home-quicklinks, .mf-diaspora-tabs, .mf-kit-subnav, .mf-wc-section-nav .stl-container) {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 0.5rem !important;
    padding-bottom: 0.35rem !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.mf-v43-mobile-compact :where(.mf-home-quicklinks a, .mf-diaspora-tabs a, .mf-kit-subnav a, .mf-wc-section-nav a) {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding-inline: 0.85rem !important;
    border-radius: 999px !important;
  }

  body.mf-v43-mobile-compact:not(.mf-v43-expanded) main > section:nth-of-type(n+6),
  body.mf-v43-mobile-compact:not(.mf-v43-expanded) main > article:nth-of-type(n+6) {
    display: none !important;
  }

  body.mf-v43-mobile-compact.mf-partnership-page:not(.mf-v43-expanded) main > section:nth-of-type(n+5),
  body.mf-v43-mobile-compact.mf-world-cup-page:not(.mf-v43-expanded) main > section:nth-of-type(n+6),
  body.mf-v43-mobile-compact.mf-afcon-page:not(.mf-v43-expanded) main > section:nth-of-type(n+5),
  body.mf-v43-mobile-compact.mf-diaspora-page:not(.mf-v43-expanded) main > section:nth-of-type(n+4),
  body.mf-v43-mobile-compact.mf-city-radar-page:not(.mf-v43-expanded) main > section:nth-of-type(n+6),
  body.mf-v43-mobile-compact.stl-soccer-hub-page:not(.mf-v43-expanded) main > section:nth-of-type(n+6),
  body.mf-v43-secondary-compact:not(.mf-v43-expanded) main > section:nth-of-type(n+5),
  body.mf-v43-secondary-compact:not(.mf-v43-expanded) main > article:nth-of-type(n+5) {
    display: none !important;
  }

  body.mf-partnership-page .mf-kit-subnav {
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding: 0 0 0.4rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.mf-partnership-page .mf-kit-subnav a {
    flex: 0 0 auto !important;
    border-radius: 999px !important;
    min-width: max-content !important;
    padding: 0.72rem 0.95rem !important;
  }
}

.mf-v43-expand-wrap {
  width: min(100% - 2rem, 1120px);
  margin: 1rem auto 2rem;
}

.mf-v43-expand-button {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(245, 200, 66, 0.38);
  border-radius: 999px;
  background: linear-gradient(135deg, #ffd447, #cfff24);
  color: #081007;
  font: 900 0.78rem/1 "JetBrains Mono", monospace;
  letter-spacing: 0;
  text-transform: uppercase;
  cursor: pointer;
}

body.mf-v43-expanded .mf-v43-expand-wrap {
  display: none;
}

@media (min-width: 761px) {
  body.mf-v43-desktop-compact:not(.mf-v43-expanded-desktop) main#main-content,
  body.mf-v43-desktop-compact:not(.mf-v43-expanded-desktop) main {
    max-height: 5000px;
    overflow: hidden !important;
    position: relative;
  }

  body.mf-v43-desktop-compact:not(.mf-v43-expanded-desktop) main#main-content::after,
  body.mf-v43-desktop-compact:not(.mf-v43-expanded-desktop) main::after {
    content: "";
    position: sticky;
    display: block;
    left: 0;
    right: 0;
    bottom: 0;
    height: 6rem;
    margin-top: -6rem;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(4, 10, 8, 0), rgba(4, 10, 8, 0.96));
  }

  body.mf-v43-expanded-desktop .mf-v43-expand-wrap--desktop {
    display: none;
  }
}

/* site-editorial-v44.css */
/* MoFutbol V4.4 editorial layer for non-home core pages */

body.mf-v44-ready .mf-v44-strip {
  position: relative;
  z-index: 2;
  padding-block: clamp(0.52rem, 1.15vw, 0.82rem);
  border-block: 1px solid rgba(245, 200, 66, 0.16);
  background:
    radial-gradient(circle at 88% 8%, rgba(45, 184, 75, 0.12), transparent 18rem),
    linear-gradient(180deg, rgba(4, 14, 9, 0.98), rgba(2, 8, 5, 0.98));
}

body.mf-v44-ready .mf-v44-strip__inner {
  width: min(1180px, calc(100% - 2rem));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(17rem, 0.38fr) minmax(0, 0.62fr);
  gap: clamp(0.52rem, 1.1vw, 0.76rem);
  align-items: stretch;
}

body.mf-v44-ready .mf-v44-strip__copy,
body.mf-v44-ready .mf-v44-lane {
  border: 1px solid rgba(245, 200, 66, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    rgba(6, 18, 12, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

body.mf-v44-ready .mf-v44-strip__copy {
  display: grid;
  align-content: center;
  gap: 0.34rem;
  padding: clamp(0.64rem, 1.25vw, 0.82rem);
}

body.mf-v44-ready .mf-v44-strip__copy p,
body.mf-v44-ready .mf-v44-proof span,
body.mf-v44-ready .mf-v44-lane span,
body.mf-v44-ready .mf-v44-lane em {
  margin: 0;
  color: #f6d94b;
  font: 900 0.62rem/1.2 "JetBrains Mono", monospace;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.mf-v44-ready .mf-v44-strip__copy h2 {
  max-width: 38ch;
  margin: 0;
  color: #fff;
  font: 900 clamp(1rem, 1.65vw, 1.38rem)/1.04 "Archivo Black", "Outfit", sans-serif;
  letter-spacing: 0;
}

body.mf-v44-ready .mf-v44-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
}

body.mf-v44-ready .mf-v44-proof span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0.28rem 0.46rem;
  border: 1px solid rgba(214, 255, 31, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(255, 255, 255, 0.78);
}

body.mf-v44-ready .mf-v44-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.46rem;
}

body.mf-v44-ready .mf-v44-lane {
  min-height: 5.85rem;
  display: grid;
  align-content: space-between;
  gap: 0.42rem;
  padding: 0.62rem;
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

body.mf-v44-ready .mf-v44-lane:hover,
body.mf-v44-ready .mf-v44-lane:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(214, 255, 31, 0.58);
  background: rgba(214, 255, 31, 0.08);
}

body.mf-v44-ready .mf-v44-lane strong {
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.84rem;
  line-height: 1.2;
}

body.mf-v44-ready .mf-v44-lane em {
  justify-self: start;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0.34rem 0.52rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffd447, #cfff24);
  color: #081007;
  font-style: normal;
}

body.mf-v44-ready.mf-v44-worldcup .mf-v44-strip,
body.mf-v44-ready.mf-v44-match .mf-v44-strip {
  border-top-color: rgba(45, 184, 75, 0.25);
}

body.mf-v44-ready.mf-v44-partners .mf-v44-strip {
  background:
    radial-gradient(circle at 88% 8%, rgba(245, 200, 66, 0.14), transparent 18rem),
    linear-gradient(180deg, rgba(7, 12, 10, 0.98), rgba(2, 8, 5, 0.98));
}

body.mf-v44-ready.mf-partnership-page .mf-kit-subnav-wrap {
  position: sticky !important;
  top: clamp(4.35rem, 7vw, 5.15rem) !important;
  z-index: 30 !important;
  margin-block: clamp(0.7rem, 1.5vw, 1rem) clamp(1rem, 2vw, 1.4rem) !important;
  padding-top: 0 !important;
}

body.mf-v44-ready.mf-partnership-page .mf-kit-anchor-offset {
  scroll-margin-top: clamp(9rem, 12vw, 10.75rem) !important;
}

body.mf-v44-ready.mf-partnership-page #fit {
  padding-top: clamp(2.3rem, 4.2vw, 3.35rem) !important;
}

@media (max-width: 980px) {
  body.mf-v44-ready .mf-v44-strip__inner {
    grid-template-columns: 1fr;
  }

  body.mf-v44-ready .mf-v44-lane {
    min-height: 5.25rem;
  }
}

@media (max-width: 820px) {
  body.mf-v44-ready .mf-v44-strip {
    padding-block: 0.48rem;
  }

  body.mf-v44-ready .mf-v44-strip__inner {
    width: min(100% - 1.5rem, 1180px);
    gap: 0.4rem;
  }

  body.mf-v44-ready .mf-v44-strip__copy {
    padding: 0.58rem;
  }

  body.mf-v44-ready .mf-v44-strip__copy h2 {
    font-size: clamp(1rem, 5.2vw, 1.26rem);
    max-width: none;
  }

  body.mf-v44-ready .mf-v44-proof {
    gap: 0.3rem;
  }

  body.mf-v44-ready .mf-v44-proof span {
    min-height: 28px;
    padding: 0.34rem 0.46rem;
    font-size: 0.56rem;
  }

  body.mf-v44-ready .mf-v44-lanes {
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
    gap: 0.45rem;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

  body.mf-v44-ready .mf-v44-lane {
    width: 100%;
    min-width: 0;
    flex: none;
    min-height: 4.35rem;
    padding: 0.58rem;
    scroll-snap-align: none;
  }

  body.mf-v44-ready .mf-v44-lane {
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    align-items: center;
    gap: 0.28rem 0.52rem;
  }

  body.mf-v44-ready .mf-v44-lane span,
  body.mf-v44-ready .mf-v44-lane strong {
    grid-column: 1;
  }

  body.mf-v44-ready .mf-v44-lane em {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  body.mf-v44-ready .mf-v44-lane strong {
    font-size: 0.82rem;
  }
}

/* Player Tracker should use its own field texture, not the shared banner logo art. */
html body.mf-page-shell.mf-system-page.mf-system-diaspora.mf-v44-players main#main-content .mf-player-tracker-hero.mf-polish-hero {
  background:
    radial-gradient(circle at 82% 14%, rgba(70, 168, 62, .16), transparent 19rem),
    radial-gradient(circle at 18% 12%, rgba(244, 196, 48, .12), transparent 17rem),
    linear-gradient(105deg, rgba(8, 11, 11, .98) 0%, rgba(4, 22, 16, .94) 50%, rgba(8, 11, 11, .98) 100%) !important;
}

html body.mf-page-shell.mf-system-page.mf-system-diaspora.mf-v44-players main#main-content .mf-player-tracker-hero.mf-polish-hero .mf-tracker-hero-bg.mf-diaspora-hero__bg {
  background:
    linear-gradient(100deg, rgba(8, 11, 11, .96) 0%, rgba(8, 11, 11, .66) 48%, rgba(8, 11, 11, .9) 100%),
    radial-gradient(circle at 20% 16%, rgba(244, 196, 48, .24), transparent 15rem),
    radial-gradient(circle at 78% 20%, rgba(70, 168, 62, .24), transparent 18rem),
    linear-gradient(135deg, rgba(46, 125, 50, .11) 0 1px, transparent 1px 20px),
    linear-gradient(90deg, transparent 0 49%, rgba(247, 247, 244, .07) 49% 51%, transparent 51% 100%),
    linear-gradient(0deg, transparent 0 49%, rgba(247, 247, 244, .045) 49% 51%, transparent 51% 100%) !important;
  background-size: auto, auto, auto, 20px 20px, 18rem 18rem, 18rem 18rem !important;
}

/* Final mobile shell parity for Chrome/Safari/WebKit. */
@media (max-width: 860px) {
  body.mf-page-shell .site-header__actions > .site-header__cta,
  body.mf-page-shell .site-header__actions > .site-theme-toggle,
  body.mf-home-taste .site-header__actions > .site-header__cta,
  body.mf-home-taste .site-header__actions > .site-theme-toggle {
    display: none !important;
  }

  body.mf-page-shell .site-nav__menu-button,
  body.mf-home-taste .site-nav__menu-button {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* unified-professional-ui.css */
/*
 * MoFutbol unified professional media UI.
 * This is the final shared presentation layer for the existing public routes.
 * It normalizes hierarchy and density without changing page structure or data.
 */
:root {
  --mf-content-max: 90rem;
  --mf-page-gutter: clamp(1rem, 3vw, 2.5rem);
  --mf-section-space: clamp(1.5rem, 2.6vw, 2.75rem);
  --mf-surface-calm: #101513;
  --mf-surface-raised: #151b18;
  --mf-border-calm: rgba(247, 247, 244, 0.12);
  --mf-border-active: rgba(70, 168, 62, 0.58);
  --mf-radius-card: 8px;
}

html body.mf-brand-v2 {
  background: #080b0b;
  color: #f7f7f4;
  font-family: var(--font-body, "Montserrat", sans-serif);
}

html body.mf-brand-v2 main#main-content > :where(section, header) > :where(
  .stl-container,
  .mf-v22-container,
  .mf-di-shell,
  .mf-football-desk,
  .sv-wrap,
  .mf-youth-shell,
  .mf-ac-shell
) {
  box-sizing: border-box;
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  max-width: var(--mf-content-max) !important;
  margin-inline: auto !important;
}

html body.mf-brand-v2 main#main-content :where(.mf-di-shell, .mf-diaspora-fix-shell) {
  max-width: var(--mf-content-max) !important;
}

html body.mf-brand-v2 main#main-content > :is(
  .stl-section,
  .mf-v22-section,
  .mf-newsroom-home,
  .mf-review-band,
  .mf-stl-discovery,
  .mf-youth-section,
  .mf-youth-split,
  .mf-media-platforms,
  .mf-static-media-library,
  .mf-media-player-section,
  .mf-whale-station-section,
  .mf-diaspora-now,
  .mf-di-command
) {
  padding-block: var(--mf-section-space) !important;
}

html body.mf-brand-v2 main#main-content :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display, "Bebas Neue", sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

html body.mf-brand-v2 main#main-content h1 {
  max-width: 18ch;
  font-size: clamp(2.25rem, 3.6vw, 3.25rem) !important;
  line-height: 0.96 !important;
}

html body.mf-brand-v2 main#main-content h2 {
  font-size: clamp(1.65rem, 2.4vw, 2.15rem) !important;
  line-height: 1 !important;
}

html body.mf-brand-v2 main#main-content h3 {
  font-size: clamp(1.15rem, 1.5vw, 1.5rem) !important;
  line-height: 1.04 !important;
}

html body.mf-brand-v2 main#main-content :where(p, li, dd, figcaption) {
  font-family: var(--font-body, "Montserrat", sans-serif) !important;
  letter-spacing: 0 !important;
}

html body.mf-brand-v2 :where(
  .stl-eyebrow,
  [class*="__kicker"],
  [class*="__meta"],
  [class*="__label"],
  [class*="badge"],
  [class*="pill"],
  button,
  .stl-btn,
  .site-nav__link,
  .site-nav__toggle
) {
  font-family: var(--font-ui, "Montserrat", sans-serif) !important;
}

html body.mf-brand-v2 main#main-content > :where(section, header)[class*="hero"] {
  min-height: 0 !important;
  height: auto !important;
}

html body.mf-brand-v2 main#main-content > :where(section, header)[class*="hero"] > :where(
  .stl-container,
  .mf-v22-container,
  .mf-youth-shell,
  .sv-wrap,
  .mf-ac-shell
) {
  min-height: 0 !important;
  padding-block: clamp(1.4rem, 2.8vw, 2.5rem) !important;
}

html body.mf-brand-v2 main#main-content :where(
  article,
  .mf-card,
  .mf-v20-card,
  .mf-v22-card,
  .mf-newsroom-card,
  .mf-article-card,
  .mf-matchday-group,
  .mf-match-tile,
  .mf-di-panel,
  .mf-player-polish-card,
  .mf-tracker-official-card,
  .mf-ds-player-card
) {
  border-color: var(--mf-border-calm) !important;
  border-radius: var(--mf-radius-card) !important;
  box-shadow: none !important;
}

html body.mf-brand-v2 main#main-content :where(
  article,
  .mf-card,
  .mf-v20-card,
  .mf-v22-card,
  .mf-newsroom-card,
  .mf-article-card,
  .mf-matchday-group,
  .mf-match-tile,
  .mf-di-panel,
  .mf-player-polish-card,
  .mf-tracker-official-card,
  .mf-ds-player-card
):hover {
  border-color: var(--mf-border-active) !important;
}

html body.mf-brand-v2 main#main-content :where(.filter-btn, [class*="filter"] button, [role="tab"]).is-active,
html body.mf-brand-v2 main#main-content :where(.filter-btn, [class*="filter"] button, [role="tab"])[aria-selected="true"] {
  border-color: rgba(70, 168, 62, 0.74) !important;
  background: #2e7d32 !important;
  color: #f7f7f4 !important;
}

/* Homepage: a strong current-story desk without a full-screen masthead. */
html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean,
html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero__grid {
  min-height: clamp(23rem, 30vw, 27rem) !important;
}

html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero__grid {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  max-width: var(--mf-content-max) !important;
  padding-block: clamp(1.5rem, 2.8vw, 2.5rem) !important;
}

html body.mf-home-v22 main#main-content .mf-v22-now-line--with-media {
  min-height: 5.5rem !important;
}

/* STL and the live hubs keep their imagery, but put useful content above fold. */
html body.stl-soccer-hub-page main#main-content > .mf-daily-hero,
html body.mf-match-center-page main#main-content > .mf-match-polish-hero,
html body.mf-core-directory-page main#main-content > :where(.sv-hero, [class*="hero"]),
html body.mf-youth-hub main#main-content > .mf-youth-hero,
html body.mf-media-page main#main-content > .mf-media-station-hero {
  min-height: 0 !important;
  padding-block: 0 !important;
}

html body.stl-soccer-hub-page main#main-content > .mf-daily-hero :where(.stl-container, .mf-daily-grid),
html body.mf-match-center-page main#main-content > .mf-match-polish-hero :where(.stl-container, .mf-polish-hero__grid),
html body.mf-media-page main#main-content > .mf-media-station-hero :where(.stl-container, .mf-daily-grid) {
  min-height: 0 !important;
  padding-block: clamp(1.25rem, 2.4vw, 2rem) !important;
}

html body.mf-match-center-page .mf-matchday-loading,
html body.mf-match-center-page .mf-matchday-first-paint {
  min-height: 7rem !important;
  align-content: center !important;
  padding: 1rem !important;
}

/* Player Tracker: search and the database are the primary route. */
html body.mf-v44-players main#main-content > .mf-player-tracker-hero,
html body.mf-v44-players main#main-content > .mf-player-tracker-hero .mf-polish-hero__grid {
  min-height: 0 !important;
}

html body.mf-v44-players main#main-content > .mf-player-tracker-hero .mf-polish-hero__grid {
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr) !important;
  gap: clamp(1rem, 2vw, 1.75rem) !important;
  padding-block: clamp(1.25rem, 2.4vw, 2rem) !important;
}

html body.mf-v44-players .mf-tracker-howto {
  display: none !important;
}

html body.mf-v44-players .mf-player-card-deck {
  gap: 0.65rem !important;
}

html body.mf-v44-players .mf-player-polish-card__media {
  min-height: 8.5rem !important;
  max-height: 11rem !important;
}

html body.mf-v44-players .mf-tracker-link-console {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

html body.mf-v44-players .mf-tracker-official-board {
  grid-column: 1 / -1 !important;
  order: -4 !important;
}

html body.mf-v44-players .mf-tracker-player-media {
  grid-column: 1 / -1 !important;
  order: -3 !important;
}

html body.mf-v44-players .mf-tracker-link-card--primary,
html body.mf-v44-players .mf-tracker-link-grid,
html body.mf-v44-players .mf-tracker-lane-panel {
  order: 2 !important;
}

html body.mf-v44-players .mf-tracker-link-card--primary {
  display: none !important;
}

html body.mf-v44-players .mf-tracker-official-board__grid,
html body.mf-v44-players .mf-tracker-player-grid,
html body.mf-diaspora-page .mf-di-static-grid,
html body.mf-diaspora-page .mf-ds-player-grid {
  display: grid !important;
  align-items: stretch !important;
  gap: 0.65rem !important;
}

@media (min-width: 93.75rem) {
  html body.mf-v44-players .mf-tracker-official-board__grid,
  html body.mf-v44-players .mf-tracker-player-grid,
  html body.mf-diaspora-page .mf-di-static-grid,
  html body.mf-diaspora-page .mf-ds-player-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 75rem) and (max-width: 93.6875rem) {
  html body.mf-v44-players .mf-tracker-official-board__grid,
  html body.mf-v44-players .mf-tracker-player-grid,
  html body.mf-diaspora-page .mf-di-static-grid,
  html body.mf-diaspora-page .mf-ds-player-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 56.25rem) and (max-width: 74.9375rem) {
  html body.mf-v44-players .mf-tracker-official-board__grid,
  html body.mf-v44-players .mf-tracker-player-grid,
  html body.mf-diaspora-page .mf-di-static-grid,
  html body.mf-diaspora-page .mf-ds-player-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Diaspora: editorial discovery backed by the same player component language. */
html body.mf-diaspora-overview-page .mf-diaspora-now__grid {
  grid-template-columns: minmax(16rem, 1.35fr) repeat(3, minmax(0, 1fr)) !important;
  gap: 0.7rem !important;
}

html body.mf-diaspora-overview-page :where(.mf-da-command, .mf-da-daily, .mf-di-command) :where(article, a[class*="card"]) {
  min-height: 0 !important;
}

html body.mf-diaspora-overview-page .mf-da-command__identity small:empty,
html body.mf-diaspora-overview-page .mf-static-snapshot__head small:empty {
  display: none !important;
}

html body.mf-diaspora-overview-page .mf-static-snapshot__head > small,
html body.mf-media-page .mf-static-snapshot__head > small {
  display: none !important;
}

/* Articles: the latest reporting appears immediately as a newsroom front. */
html body.mf-articles-page main#main-content > .stl-city-hero,
html body.mf-page-shell main#main-content > .stl-city-hero {
  min-height: 0 !important;
  padding-block: clamp(1.25rem, 2.4vw, 2rem) !important;
}

html body.mf-articles-page .mf-newsroom-front-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.7fr) minmax(18rem, 0.8fr) !important;
  gap: 0.8rem !important;
}

html body.mf-articles-page .mf-newsroom-side {
  display: grid !important;
  gap: 0.8rem !important;
}

html body.mf-articles-page .mf-article-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.8rem !important;
}

html body.mf-articles-page .mf-article-card-media {
  aspect-ratio: 16 / 9 !important;
}

html body.mf-articles-page .mf-article-card-body {
  padding: 0.85rem !important;
}

/* Multimedia reads like a station guide and never crops a program frame. */
html body.mf-media-page .mf-media-station-hero .mf-daily-grid {
  grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr) !important;
  gap: 0.9rem !important;
}

html body.mf-media-page :where(.mf-media-control__art, .mf-tribe-player__frame) {
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #050706 !important;
}

html body.mf-media-page :where(.mf-media-control__art, .mf-tribe-player__frame) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

html body.mf-media-page .mf-tribe-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.7rem !important;
}

html body.mf-media-page .mf-tribe-card :where(p, .mf-tribe-card__description) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (max-width: 74.9375rem) {
  html body.mf-articles-page .mf-article-grid,
  html body.mf-media-page .mf-tribe-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.mf-diaspora-overview-page .mf-diaspora-now__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 61.25rem) {
  html body.mf-v44-players main#main-content > .mf-player-tracker-hero .mf-polish-hero__grid,
  html body.mf-media-page .mf-media-station-hero .mf-daily-grid,
  html body.mf-articles-page .mf-newsroom-front-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-v44-players .mf-player-card-deck {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.mf-articles-page .mf-article-grid,
  html body.mf-media-page .mf-tribe-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 40rem) {
  :root {
    --mf-page-gutter: 0.75rem;
    --mf-section-space: 1.25rem;
  }

  html body.mf-brand-v2 main#main-content h1 {
    max-width: none;
    font-size: clamp(2rem, 10vw, 2.5rem) !important;
  }

  html body.mf-brand-v2 main#main-content h2 {
    font-size: clamp(1.5rem, 7vw, 1.9rem) !important;
  }

  html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean,
  html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero__grid {
    min-height: 0 !important;
  }

  html body.mf-v44-players .mf-player-card-deck,
  html body.mf-v44-players .mf-tracker-official-board__grid,
  html body.mf-v44-players .mf-tracker-player-grid,
  html body.mf-diaspora-page .mf-di-static-grid,
  html body.mf-diaspora-page .mf-ds-player-grid,
  html body.mf-articles-page .mf-article-grid,
  html body.mf-media-page .mf-tribe-list,
  html body.mf-diaspora-overview-page .mf-diaspora-now__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-v44-players .mf-tracker-link-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Four-hub experience pass: editorial entry points, route clarity, and compact operations. */

/* Diaspora overview: a compact African-football desk replaces the removed legacy hero. */
html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now {
  position: relative;
  isolation: isolate;
  min-height: 23rem;
  overflow: hidden;
  border-bottom: 1px solid rgba(244, 196, 48, 0.42);
  background: #07110c !important;
}

html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("/assets/img/homepage/african-club-football-official.png") right center / min(54rem, 58vw) auto no-repeat;
  opacity: 0.34;
}

html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #07110c 0 42%, rgba(7, 17, 12, 0.93) 58%, rgba(7, 17, 12, 0.42));
}

html body.mf-diaspora-overview-page .mf-diaspora-now > .stl-container {
  display: grid;
  grid-template-columns: minmax(17rem, 0.58fr) minmax(0, 1.42fr);
  gap: clamp(1rem, 2vw, 1.75rem);
  align-items: end;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__head {
  display: grid !important;
  align-content: end;
  gap: 1.25rem;
  min-width: 0;
  margin: 0 !important;
  padding: 1.2rem 0;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__head > div {
  position: relative;
  padding-top: 0.85rem;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__head > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6rem;
  height: 3px;
  background: linear-gradient(90deg, #2e7d32 0 34%, #f4c430 34% 68%, #e53935 68%);
}

html body.mf-diaspora-overview-page .mf-diaspora-now__head h2 {
  max-width: 11ch;
  margin: 0.45rem 0 0 !important;
  font-size: clamp(2.55rem, 4.2vw, 4.5rem) !important;
  line-height: 0.92 !important;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__head > a {
  width: fit-content;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(244, 196, 48, 0.58);
  border-radius: 4px;
  padding: 0.65rem 0.85rem;
  color: #f7f7f4;
  background: rgba(8, 11, 11, 0.72);
  text-decoration: none;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__grid {
  grid-template-columns: minmax(15rem, 1.15fr) repeat(3, minmax(0, 0.85fr)) !important;
  align-items: stretch;
}

html body.mf-diaspora-overview-page :where(.mf-diaspora-now__feature, .mf-diaspora-now__card) {
  min-height: 12.5rem !important;
  border-radius: 4px !important;
  border-color: rgba(244, 196, 48, 0.36) !important;
  background: rgba(8, 14, 11, 0.92) !important;
  backdrop-filter: blur(8px);
}

html body.mf-diaspora-overview-page .mf-diaspora-now__feature {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__feature::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("/assets/img/wafcon/caf-wafcon-2026-official.jpg") 67% center / cover no-repeat;
  opacity: 0.3;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__feature::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(6, 13, 9, 0.98), rgba(6, 13, 9, 0.68));
}

html body.mf-diaspora-overview-page .mf-diaspora-now__card {
  gap: 1rem;
  justify-content: flex-end;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__card strong {
  font-family: var(--font-display, "Bebas Neue", sans-serif);
  font-size: clamp(1.35rem, 1.7vw, 1.8rem);
  line-height: 1;
}

html body.mf-diaspora-overview-page main#main-content > .mf-da-command {
  position: static;
  z-index: auto;
}

html body.mf-diaspora-overview-page main#main-content > .stl-section:has(.mf-diaspora-section-nav) {
  padding-block: 0.65rem !important;
}

html body.mf-diaspora-overview-page .mf-diaspora-section-nav {
  margin: 0 !important;
}

html body.mf-diaspora-overview-page .mf-diaspora-tabs,
html body.mf-diaspora-pathways-page .mf-diaspora-tabs {
  border-radius: 4px !important;
  padding: 0.35rem !important;
  box-shadow: none !important;
}

html body.mf-diaspora-overview-page .mf-diaspora-tabs a,
html body.mf-diaspora-pathways-page .mf-diaspora-tabs a {
  min-height: 2.6rem !important;
  border-radius: 3px !important;
}

/* Diaspora pathways: one route board, no duplicate command strip. */
html body.mf-diaspora-pathways-page main#main-content > .mf-progressive-section {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  max-width: none !important;
}

html body.mf-diaspora-pathways-page main#main-content > .mf-diaspora-fix-hero {
  min-height: 18rem !important;
  border-bottom: 1px solid rgba(244, 196, 48, 0.36);
}

html body.mf-diaspora-pathways-page .mf-diaspora-fix-hero__grid {
  min-height: 18rem !important;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(18rem, 0.48fr) !important;
  align-items: end !important;
  gap: 1rem !important;
  padding-block: 1.5rem !important;
}

html body.mf-diaspora-pathways-page :where(.mf-diaspora-fix-hero__copy, .mf-diaspora-fix-hero__panel) {
  border-radius: 4px !important;
  padding: clamp(1rem, 2vw, 1.5rem) !important;
  background: rgba(4, 15, 11, 0.88) !important;
  backdrop-filter: blur(7px);
}

html body.mf-diaspora-pathways-page .mf-diaspora-fix-hero__copy h1 {
  margin-block: 0.35rem 0.45rem !important;
  font-size: clamp(2.8rem, 5vw, 4.75rem) !important;
}

html body.mf-diaspora-pathways-page .mf-diaspora-fix-hero__panel {
  align-self: end !important;
  min-height: 8rem !important;
  display: grid;
  align-content: center;
  border-left: 3px solid #f4c430 !important;
}

html body.mf-diaspora-pathways-page main#main-content > .stl-section:has(.mf-diaspora-section-nav) {
  padding-block: 0.7rem !important;
}

html body.mf-diaspora-pathways-page .mf-africa-pathway-ladder__inner {
  border-radius: 4px !important;
  box-shadow: none !important;
}

html body.mf-diaspora-pathways-page .mf-africa-pathway-steps {
  gap: 0 !important;
  border: 1px solid rgba(244, 196, 48, 0.28);
}

html body.mf-diaspora-pathways-page .mf-africa-pathway-step {
  min-height: 9.75rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(4, 15, 11, 0.9) !important;
}

html body.mf-diaspora-pathways-page .mf-africa-pathway-step + .mf-africa-pathway-step {
  border-left: 1px solid rgba(244, 196, 48, 0.22) !important;
}

html body.mf-diaspora-pathways-page .mf-official-source-board {
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

html body.mf-diaspora-pathways-page .mf-pathway-directory-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(244, 196, 48, 0.28);
}

html body.mf-diaspora-pathways-page .mf-pathway-directory-head h2 {
  max-width: 22ch;
  margin: 0.25rem 0;
}

html body.mf-diaspora-pathways-page .mf-pathway-directory-head p {
  max-width: 68ch;
  margin: 0;
  color: rgba(247, 247, 244, 0.7);
}

html body.mf-diaspora-pathways-page #mf-diaspora-section-app[data-view="pathways"] .mf-diaspora-pathway-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
}

html body.mf-diaspora-pathways-page #mf-diaspora-section-app[data-view="pathways"] .mf-diaspora-pathway-card {
  min-height: 18rem !important;
  align-content: start;
  border-radius: 4px !important;
  border-top: 3px solid #2e7d32 !important;
  background: #101513 !important;
}

html body.mf-diaspora-pathways-page #mf-diaspora-section-app[data-view="pathways"] .mf-diaspora-pathway-card:nth-child(3n + 2) {
  border-top-color: #f4c430 !important;
}

html body.mf-diaspora-pathways-page #mf-diaspora-section-app[data-view="pathways"] .mf-diaspora-pathway-card:nth-child(3n) {
  border-top-color: #e53935 !important;
}

html body.mf-diaspora-pathways-page .mf-diaspora-pathway-card > .stl-btn {
  margin-top: auto;
}

/* Youth Soccer: retain the real page intro and place the decision guide beneath it. */
html body.mf-youth-hub.mf-brand-v2 .mf-youth-hub__wrap {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  padding-top: 1rem !important;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero {
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: minmax(18rem, 0.78fr) minmax(15rem, 0.42fr);
  gap: clamp(1rem, 2vw, 2rem);
  align-items: end;
  min-height: clamp(22rem, 34vw, 28rem) !important;
  padding: clamp(1.15rem, 3vw, 2.5rem) !important;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 48, 0.34) !important;
  border-radius: 4px !important;
  background-position: center 44% !important;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero::before {
  content: "";
  position: absolute;
  display: block !important;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(3, 8, 5, 0.96) 0 42%, rgba(3, 8, 5, 0.72) 68%, rgba(3, 8, 5, 0.3));
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__copy,
html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__aside {
  position: relative;
  z-index: 1;
  display: block !important;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__copy {
  max-width: 44rem;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__copy h1 {
  max-width: 12ch;
  margin-block: 0.45rem 0.65rem;
  font-size: clamp(3rem, 5.6vw, 5.6rem) !important;
  line-height: 0.9 !important;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__copy > p {
  max-width: 58ch;
  color: rgba(247, 247, 244, 0.82);
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__aside {
  align-self: end;
  border: 1px solid rgba(244, 196, 48, 0.38);
  border-radius: 4px;
  padding: 1rem;
  background: rgba(5, 16, 11, 0.9);
  backdrop-filter: blur(8px);
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-status-card {
  padding-bottom: 0.85rem;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(244, 196, 48, 0.22);
  border-bottom: 1px solid rgba(244, 196, 48, 0.22);
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-status-grid > div {
  padding: 0.7rem 0.45rem;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-status-grid > div + div {
  border-left: 1px solid rgba(244, 196, 48, 0.2);
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide {
  margin-top: 0.75rem;
  border: 1px solid rgba(244, 196, 48, 0.3);
  border-radius: 4px;
  background: #061009;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__head {
  max-width: none;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  text-align: left;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__head h2 {
  margin: 0.2rem 0 0;
  font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__head p {
  max-width: 48ch;
  margin-left: auto;
  text-align: right;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__grid {
  border: 0;
  border-top: 1px solid rgba(244, 196, 48, 0.28);
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__row {
  min-height: 3.15rem;
  padding-block: 0.58rem;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-pulse {
  margin-top: 0.75rem;
  border-radius: 4px !important;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-jump {
  position: sticky;
  top: var(--mf-sticky-offset, 0);
  z-index: 24;
  display: flex;
  overflow-x: auto;
  margin-top: 0.75rem;
  padding: 0.35rem;
  border: 1px solid rgba(244, 196, 48, 0.28);
  border-radius: 4px;
  background: rgba(3, 8, 5, 0.94);
  backdrop-filter: blur(10px);
  scrollbar-width: none;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-jump a {
  flex: 1 0 auto;
  justify-content: center;
  border: 0;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-route {
  min-height: 19rem;
}

html body.mf-youth-hub.mf-brand-v2 .mf-youth-route__media {
  height: auto;
  aspect-ratio: 16 / 8;
}

html body.mf-youth-hub.mf-brand-v2 #school-board {
  gap: 0.75rem;
}

/* Soccer Vision: the directory task leads; the visual supports it. */
html body.mf-core-directory-page main#main-content > .sv-hero {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max));
  min-height: 21rem !important;
  margin: 1rem auto 0;
  border-radius: 4px !important;
  box-shadow: none !important;
}

html body.mf-core-directory-page .sv-hero .mf-core-hero__grid {
  grid-template-columns: minmax(20rem, 0.86fr) minmax(20rem, 0.54fr) !important;
  gap: clamp(1rem, 2vw, 1.75rem) !important;
  min-height: 21rem !important;
  padding: clamp(1.25rem, 2.6vw, 2rem) !important;
}

html body.mf-core-directory-page .sv-hero__copy .mf-core-title {
  max-width: 13ch !important;
  margin-block: 0.4rem 0.6rem;
  font-size: clamp(2.7rem, 4.7vw, 4.6rem) !important;
}

html body.mf-core-directory-page .sv-hero__visual {
  min-height: 0 !important;
  height: auto;
  max-height: none;
  align-self: center;
  aspect-ratio: 1672 / 941;
  border-radius: 4px !important;
  background: #080b0b;
  box-shadow: none !important;
}

html body.mf-core-directory-page .sv-hero__visual img {
  object-fit: contain !important;
}

html body.mf-core-directory-page main#main-content > .mf-core-nav {
  position: sticky;
  top: var(--mf-sticky-offset, 0);
  z-index: 24;
  margin-top: 0.75rem;
  background: rgba(8, 11, 11, 0.95);
  backdrop-filter: blur(10px);
}

html body.mf-core-directory-page main#main-content > .mf-core-nav .mf-core-nav__inner {
  min-height: 3rem;
}

html body.mf-core-directory-page #directory {
  padding-top: clamp(1.3rem, 2.4vw, 2rem) !important;
}

html body.mf-core-directory-page .sv-filters {
  grid-template-columns: repeat(5, minmax(8rem, 1fr));
  gap: 0.65rem;
  border-radius: 4px !important;
  padding: 0.85rem !important;
  background: #101513 !important;
}

html body.mf-core-directory-page .sv-filters > :where(button, a) {
  align-self: end;
}

html body.mf-core-directory-page .sv-directory-status {
  margin-block: 0.75rem;
  border-radius: 4px;
}

html body.mf-core-directory-page .sv-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

html body.mf-core-directory-page .sv-card {
  min-height: 15.5rem;
  border-radius: 4px !important;
  padding: 0.85rem;
  background: #101513 !important;
}

html body.mf-core-directory-page .sv-card::after {
  display: none;
}

html body.mf-core-directory-page .sv-card__logo,
html body.mf-core-directory-page .sv-card__mark {
  width: 3rem;
  height: 3rem;
  flex-basis: 3rem;
  border-radius: 4px;
}

html body.mf-core-directory-page .sv-card:hover,
html body.mf-core-directory-page .sv-card:focus-within {
  transform: translateY(-2px);
  box-shadow: none !important;
}

html body.mf-brand-v2 main#main-content :where(a, button, input, select, summary):focus-visible {
  outline: 3px solid #f4c430 !important;
  outline-offset: 3px;
}

@media (max-width: 74.9375rem) {
  html body.mf-diaspora-overview-page .mf-diaspora-now > .stl-container,
  html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero,
  html body.mf-core-directory-page .sv-hero .mf-core-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-diaspora-overview-page .mf-diaspora-now__head h2 {
    max-width: 16ch;
  }

  html body.mf-diaspora-overview-page .mf-diaspora-now__grid,
  html body.mf-diaspora-pathways-page #mf-diaspora-section-app[data-view="pathways"] .mf-diaspora-pathway-grid,
  html body.mf-core-directory-page .sv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__aside {
    max-width: 36rem;
  }

  html body.mf-core-directory-page .sv-hero__visual {
    height: auto;
    aspect-ratio: 1672 / 941;
  }

  html body.mf-core-directory-page .sv-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 47.5rem) {
  html body.mf-diaspora-pathways-page main#main-content > .mf-progressive-section {
    width: calc(100% - 1rem) !important;
  }

  html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now {
    min-height: 0;
  }

  html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now::before {
    background-size: auto 19rem;
    background-position: right top;
    opacity: 0.2;
  }

  html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now::after {
    background: linear-gradient(180deg, rgba(7, 17, 12, 0.68), #07110c 21rem);
  }

  html body.mf-diaspora-overview-page .mf-diaspora-now__head {
    min-height: 17rem;
    align-content: end;
  }

  html body.mf-diaspora-overview-page .mf-diaspora-now__head h2 {
    max-width: 12ch;
    font-size: clamp(2.5rem, 12vw, 3.7rem) !important;
  }

  html body.mf-diaspora-overview-page .mf-diaspora-now__grid,
  html body.mf-diaspora-pathways-page #mf-diaspora-section-app[data-view="pathways"] .mf-diaspora-pathway-grid,
  html body.mf-core-directory-page .sv-grid,
  html body.mf-core-directory-page .sv-filters {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-diaspora-overview-page :where(.mf-diaspora-now__feature, .mf-diaspora-now__card) {
    min-height: 10rem !important;
  }

  html body.mf-diaspora-pathways-page .mf-diaspora-fix-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  html body.mf-diaspora-pathways-page .mf-diaspora-fix-hero__panel {
    min-height: 0 !important;
  }

  html body.mf-diaspora-pathways-page .mf-pathway-directory-head,
  html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__head {
    display: grid;
    align-items: start;
  }

  html body.mf-diaspora-pathways-page .mf-pathway-directory-head .stl-btn {
    width: 100%;
  }

  html body.mf-diaspora-pathways-page .mf-africa-pathway-steps {
    gap: 0.5rem !important;
    border: 0;
  }

  html body.mf-diaspora-pathways-page .mf-africa-pathway-step + .mf-africa-pathway-step {
    border-left: 0 !important;
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero {
    min-height: 0 !important;
    padding: 1rem !important;
    background-position: 62% top !important;
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero::before {
    background: linear-gradient(180deg, rgba(3, 8, 5, 0.42), rgba(3, 8, 5, 0.96) 35%);
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__copy {
    padding-top: 8.5rem;
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__aside {
    display: grid !important;
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-hero__copy h1 {
    font-size: clamp(2.7rem, 13vw, 3.6rem) !important;
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__head p {
    margin-left: 0;
    text-align: left;
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-field-guide__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  html body.mf-youth-hub.mf-brand-v2 .mf-youth-jump {
    margin-inline: 0;
  }

  html body.mf-core-directory-page main#main-content > .sv-hero {
    width: calc(100% - 1rem);
  }

  html body.mf-core-directory-page .sv-hero .mf-core-hero__grid {
    min-height: 0 !important;
    padding: 1rem !important;
  }

  html body.mf-core-directory-page .sv-hero__copy .mf-core-title {
    font-size: clamp(2.6rem, 13vw, 3.5rem) !important;
  }

  html body.mf-core-directory-page .sv-hero__visual {
    max-height: none;
    aspect-ratio: 16 / 10;
  }
}

/* Premium editorial calibration.
   This final pass reduces visual noise while preserving every route's data,
   imagery, and established black / green / gold identity. */
:root {
  --mf-content-max: 84rem;
  --mf-page-gutter: clamp(1rem, 3vw, 2.5rem);
  --mf-section-space: clamp(1.75rem, 3.1vw, 3.25rem);
  --mf-section-space-compact: clamp(1.1rem, 2vw, 1.8rem);
  --mf-control-height: 44px;
  --mf-radius-card: 6px;
  --mf-surface-calm: #0d1210;
  --mf-surface-raised: #121815;
  --mf-border-calm: rgba(247, 247, 244, 0.09);
  --mf-border-active: rgba(70, 168, 62, 0.7);
  --mf-copy-muted: #aab5ad;
  --mf-global-header-height: 56px;
  --mf-global-ticker-height: 42px;
}

html {
  scroll-behavior: smooth;
}

html body.mf-brand-v2 {
  background: #080b0b;
  color: #f7f7f4;
  font-family: var(--font-body, "Montserrat", sans-serif) !important;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
}

html body.mf-brand-v2 main#main-content {
  background: #080b0b;
}

html body.mf-brand-v2 main#main-content :where(h1, h2, h3, h4, h5, h6),
html body.mf-brand-v2 main#main-content :where(h1, h2, h3, h4, h5, h6) * {
  font-family: var(--font-display, "Bebas Neue", sans-serif) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

html body.mf-brand-v2 main#main-content h1 {
  max-width: 20ch;
  font-size: clamp(2.45rem, 3.6vw, 3.35rem) !important;
  line-height: 0.98 !important;
}

html body.mf-brand-v2 main#main-content h2 {
  font-size: clamp(1.75rem, 2.35vw, 2.15rem) !important;
  line-height: 1 !important;
}

html body.mf-brand-v2 main#main-content h3 {
  font-size: clamp(1.25rem, 1.55vw, 1.5rem) !important;
  line-height: 1.04 !important;
}

html body.mf-brand-v2 main#main-content h4 {
  font-size: clamp(1.05rem, 1.2vw, 1.25rem) !important;
  line-height: 1.08 !important;
}

html body.mf-brand-v2 :where(
  p,
  li,
  dd,
  dt,
  figcaption,
  input,
  textarea,
  select,
  button,
  summary,
  .site-nav__link,
  .site-nav__toggle
) {
  font-family: var(--font-body, "Montserrat", sans-serif) !important;
}

html body.mf-brand-v2 main#main-content :where(p, li, dd, figcaption) {
  font-size: clamp(0.88rem, 0.16vw + 0.85rem, 0.98rem);
  font-weight: 400;
  line-height: 1.58;
  letter-spacing: 0 !important;
  text-wrap: pretty;
}

html body.mf-brand-v2 :where(
  .stl-eyebrow,
  [class*="__kicker"],
  [class*="__label"],
  [class*="__meta"],
  [class*="badge"],
  [class*="pill"]
) {
  font-family: var(--font-ui, "Montserrat", sans-serif) !important;
  font-size: clamp(0.625rem, 0.09vw + 0.6rem, 0.7rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.075em !important;
  line-height: 1.25 !important;
}

html body.mf-brand-v2 :where(
  [class*="stat"] strong,
  [class*="metric"] strong,
  [class*="count"] strong,
  [data-stat] strong
) {
  font-family: var(--font-display, "Bebas Neue", sans-serif) !important;
  font-weight: 400 !important;
  font-variant-numeric: tabular-nums;
}

/* Shared chrome stays useful without competing with the page. */
html body .site-header {
  min-height: var(--mf-global-header-height) !important;
  border-bottom: 1px solid rgba(247, 247, 244, 0.08) !important;
  background: #080b0b !important;
  box-shadow: none !important;
}

html body .site-header .site-header__inner {
  width: min(calc(100% - 2rem), 92rem) !important;
  max-width: 92rem !important;
  min-height: var(--mf-global-header-height) !important;
  gap: 0.75rem !important;
  padding-block: 0.35rem !important;
}

html body .site-header .site-brand__logo {
  width: 32px !important;
  height: 32px !important;
  flex-basis: 32px !important;
}

html body .site-header .site-brand__name {
  font-family: var(--font-body, "Montserrat", sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

html body .site-header .site-nav__list {
  gap: 0.25rem !important;
}

html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle) {
  min-height: 40px !important;
  padding-inline: 0.62rem !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #cfd7d1 !important;
  font-size: 0.69rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle):hover,
html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle)[aria-current="page"],
html body .site-header .site-nav [data-has-panel].is-open > .site-nav__toggle {
  border-bottom-color: #f4c430 !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #f7f7f4 !important;
}

html body .site-header .site-header__actions :where(a, button) {
  height: 40px !important;
  min-height: 40px !important;
  padding-inline: 0.75rem !important;
  border-color: rgba(247, 247, 244, 0.14) !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.67rem !important;
  font-weight: 700 !important;
}

html body .site-header .site-header__actions .site-header__cta--media {
  border-color: #2e7d32 !important;
  background: #2e7d32 !important;
  color: #f7f7f4 !important;
}

/* A single calm content measure across editorial, data, and portal pages. */
html body.mf-brand-v2 main#main-content :where(
  .stl-container,
  .mf-v22-container,
  .mf-di-shell,
  .mf-diaspora-fix-shell,
  .mf-football-desk,
  .sv-wrap,
  .mf-youth-shell,
  .mf-youth-hub__wrap,
  .mf-ac-shell,
  .mf-shell,
  .site-container
) {
  box-sizing: border-box;
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  max-width: var(--mf-content-max) !important;
  margin-inline: auto !important;
}

html body.mf-brand-v2 main#main-content > :where(section, header, details) {
  border-inline: 0 !important;
  box-shadow: none !important;
}

html body.mf-brand-v2 main#main-content > :where(
  .stl-section,
  .mf-v22-section,
  .mf-newsroom-home,
  .mf-review-band,
  .mf-stl-discovery,
  .mf-youth-section,
  .mf-youth-split,
  .mf-media-platforms,
  .mf-static-media-library,
  .mf-media-player-section,
  .mf-whale-station-section,
  .mf-tribe-section,
  .mf-diaspora-now,
  .mf-di-command,
  .mf-progressive-section
) {
  padding-block: var(--mf-section-space) !important;
}

html body.mf-brand-v2 main#main-content :where(
  .mf-section-head,
  .mf-v22-section-head,
  .mf-newsroom-head,
  .stl-section-header-row,
  .mf-static-snapshot__head
) {
  margin-bottom: clamp(0.85rem, 1.4vw, 1.25rem) !important;
}

html body.mf-brand-v2 main#main-content :where(
  article,
  .mf-card,
  .mf-v20-card,
  .mf-v22-card,
  .mf-newsroom-card,
  .mf-article-card,
  .mf-matchday-group,
  .mf-match-tile,
  .mf-di-panel,
  .mf-player-polish-card,
  .mf-tracker-official-card,
  .mf-ds-player-card,
  .sv-card
) {
  border-color: var(--mf-border-calm) !important;
  border-radius: var(--mf-radius-card) !important;
  box-shadow: none !important;
}

html body.mf-brand-v2 main#main-content :where(
  .mf-card,
  .mf-v20-card,
  .mf-v22-card,
  .mf-newsroom-card,
  .mf-article-card,
  .mf-matchday-group,
  .mf-match-tile,
  .mf-di-panel,
  .mf-player-polish-card,
  .mf-tracker-official-card,
  .mf-ds-player-card,
  .sv-card
) {
  background-color: var(--mf-surface-calm) !important;
}

html body.mf-brand-v2 main#main-content :where(
  .mf-card,
  .mf-v20-card,
  .mf-v22-card,
  .mf-newsroom-card,
  .mf-article-card,
  .mf-matchday-group,
  .mf-match-tile,
  .mf-di-panel,
  .mf-player-polish-card,
  .mf-tracker-official-card,
  .mf-ds-player-card,
  .sv-card
):hover {
  border-color: var(--mf-border-active) !important;
  transform: translateY(-2px);
}

html body.mf-brand-v2 main#main-content :where(
  .stl-btn,
  .mf-v22-button,
  .mf-button-primary,
  .mf-button-secondary,
  .site-button,
  button:not([class*="icon"])
) {
  min-height: var(--mf-control-height) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

html body.mf-brand-v2 main#main-content :where(
  .stl-btn--primary,
  .mf-v22-button--primary,
  .mf-button-primary,
  .site-button--primary
) {
  border-color: #f4c430 !important;
  background: #f4c430 !important;
  color: #080b0b !important;
}

html body.mf-brand-v2 main#main-content :where(
  .stl-btn--ghost,
  .mf-v22-button--secondary,
  .mf-button-secondary
) {
  border-color: rgba(247, 247, 244, 0.16) !important;
  background: transparent !important;
  color: #f7f7f4 !important;
}

html body.mf-brand-v2 main#main-content :where(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
) {
  border-color: rgba(247, 247, 244, 0.15) !important;
  border-radius: 4px !important;
  background: #090e0b !important;
  box-shadow: none !important;
  color: #f7f7f4 !important;
}

html body.mf-brand-v2 main#main-content :where(
  .stl-eyebrow,
  [class*="badge"],
  [class*="pill"]
) {
  border-radius: 3px !important;
  box-shadow: none !important;
}

html body.mf-brand-v2 main#main-content :where(
  .mf-newsroom-card__media,
  .mf-newsroom-story > a,
  .mf-article-card-media,
  .mf-v22-card__media,
  .mf-v22-diaspora-card > img,
  .mf-static-media-card__media,
  .mf-tribe-card > a,
  .mf-tribe-card > img
) {
  display: block;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #050706 !important;
}

html body.mf-brand-v2 main#main-content :where(
  .mf-newsroom-card__media,
  .mf-newsroom-story > a,
  .mf-article-card-media,
  .mf-v22-card__media,
  .mf-v22-diaspora-card > img,
  .mf-static-media-card__media,
  .mf-tribe-card > a
) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 28%;
}

/* Homepage: one focused lead, then quieter newsroom bands. */
html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean,
html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero__grid {
  min-height: 0 !important;
  height: auto !important;
}

html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero__grid {
  grid-template-columns: minmax(18rem, 0.78fr) minmax(25rem, 1.22fr) !important;
  gap: clamp(1.5rem, 3.2vw, 3.25rem) !important;
  padding-block: clamp(1.75rem, 3vw, 2.8rem) !important;
}

html body.mf-home-v22 .mf-v22-hero__copy h1 {
  max-width: 13ch !important;
}

html body.mf-home-v22 .mf-v22-hero__lede {
  max-width: 48ch !important;
}

html body.mf-home-v22 .mf-v22-now-line--with-media {
  min-height: 0 !important;
}

html body.mf-home-v22 .mf-newsroom-today-grid,
html body.mf-home-v22 .mf-newsroom-story-grid {
  gap: 0.75rem !important;
}

html body.mf-home-v22 .mf-newsroom-today-grid > .mf-newsroom-today-card:nth-child(n + 7) {
  display: none !important;
}

html body.mf-home-v22 .mf-home-wafcon-next__card {
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* Requested STL cleanup: the redundant legacy intro is removed; discovery is
   now the first useful page decision after the local navigation. */
html body.stl-soccer-hub-page #stl-section-1 {
  display: none !important;
}

html body.stl-soccer-hub-page .mf-stl-discovery {
  padding-block: clamp(1.4rem, 2.6vw, 2.4rem) !important;
}

html body.stl-soccer-hub-page :where(.mf-stl-discovery__search, .mf-stl-club-command) {
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* Player and pathway pages prioritize search and official records over a tall
   branded masthead. */
html body.mf-v44-players main#main-content > .mf-player-tracker-hero,
html body.mf-v44-players main#main-content > .mf-player-tracker-hero .mf-polish-hero__grid {
  min-height: 0 !important;
  height: auto !important;
}

html body.mf-v44-players main#main-content > .mf-player-tracker-hero .mf-polish-hero__grid {
  grid-template-columns: minmax(17rem, 0.68fr) minmax(0, 1.32fr) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  padding-block: clamp(1.1rem, 2.1vw, 1.75rem) !important;
}

html body.mf-v44-players .mf-polish-hero__copy h1 {
  max-width: 10ch !important;
  font-size: clamp(2.35rem, 3.2vw, 3rem) !important;
}

html body.mf-v44-players .mf-player-card-deck {
  gap: 0.75rem !important;
}

html body.mf-v44-players .mf-player-polish-card__media {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
}

html body.mf-v44-players .mf-player-polish-card__media img {
  object-fit: cover !important;
  object-position: center 22%;
}

/* Diaspora and youth hubs use broader editorial bands with quieter internals. */
html body.mf-diaspora-overview-page main#main-content > :where(.mf-progressive-section, .mf-da-command),
html body.mf-diaspora-pathways-page main#main-content > .mf-progressive-section {
  margin-block: 0.75rem !important;
  border-inline: 0 !important;
  border-radius: 0 !important;
}

html body.mf-diaspora-overview-page .mf-diaspora-now__grid {
  gap: 0.75rem !important;
}

html body.mf-diaspora-overview-page :where(.mf-diaspora-now__feature, .mf-diaspora-now__card) {
  min-height: 11rem !important;
  border-radius: 6px !important;
}

html body.mf-diaspora-pathways-page .mf-africa-pathway-ladder,
html body.mf-diaspora-pathways-page .mf-official-source-board,
html body.mf-youth-hub .mf-youth-field-guide,
html body.mf-youth-hub .mf-youth-pulse {
  border-radius: 6px !important;
  box-shadow: none !important;
}

html body.mf-youth-hub .mf-youth-hero {
  border-radius: 6px !important;
}

html body.mf-youth-hub .mf-youth-hero__copy h1 {
  max-width: 11ch !important;
  font-size: clamp(2.5rem, 3.65vw, 3.35rem) !important;
}

html body.mf-youth-hub :where(.mf-youth-route, .mf-youth-field-guide__row) {
  box-shadow: none !important;
}

/* Editorial and media pages gain a clearer reading / watching hierarchy. */
html body.mf-articles-page .mf-newsroom-front-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 0.72fr) !important;
  gap: 0.85rem !important;
}

html body.mf-articles-page .mf-article-grid,
html body.mf-media-page .mf-static-media-grid,
html body.mf-media-page .mf-tribe-list {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
}

html body.mf-articles-page :where(.mf-newsroom-card__body, .mf-article-card-body),
html body.mf-media-page :where(.mf-static-media-card__body, .mf-tribe-card__body) {
  padding: 0.85rem !important;
}

html body.mf-media-page .mf-media-station-hero .mf-daily-grid {
  grid-template-columns: minmax(23rem, 0.72fr) minmax(0, 1.28fr) !important;
  gap: 0.85rem !important;
  padding-block: clamp(1rem, 2vw, 1.65rem) !important;
}

html body.mf-media-page .mf-media-station-hero h1,
html body.mf-media-page .mf-media-station-hero h1 * {
  max-width: 14ch !important;
  font-family: var(--font-display, "Bebas Neue", sans-serif) !important;
  font-size: clamp(2.35rem, 3vw, 2.9rem) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
}

html body.mf-media-page .mf-media-station-hero :where(.mf-daily-lead, .mf-home-hero-copy) {
  min-height: 0 !important;
  padding: clamp(1rem, 1.8vw, 1.4rem) !important;
}

html body.mf-media-page :where(.mf-media-control__stage, .mf-tribe-player) {
  border-radius: 6px !important;
  box-shadow: none !important;
}

html body.mf-media-page :where(.mf-media-control__art, .mf-tribe-player__frame) {
  aspect-ratio: 16 / 9 !important;
  background: #050706 !important;
}

html body.mf-media-page :where(.mf-media-control__art, .mf-tribe-player__frame) img {
  object-fit: contain !important;
}

html body.mf-media-page .mf-tribe-section {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  margin-inline: auto !important;
  border-inline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* Article detail pages favor the story and a readable measure. */
html body.mf-brand-v2 .mf-article-detail-grid {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), 84rem) !important;
  max-width: 84rem !important;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 17rem) !important;
  gap: clamp(1rem, 2vw, 1.75rem) !important;
}

html body.mf-brand-v2 .mf-article-detail--story {
  padding: clamp(1rem, 2vw, 1.5rem) !important;
}

html body.mf-brand-v2 .mf-article-detail--story > :where(p, .mf-article-copy, .mf-article-body) {
  width: min(100%, 92ch);
  max-width: 92ch;
  font-size: clamp(0.98rem, 0.2vw + 0.94rem, 1.06rem) !important;
  line-height: 1.72 !important;
}

/* About and contributor flows use the same compact professional frame. */
html body.mf-about-community-page .mf-ac-hero__grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr) !important;
  gap: 0.85rem !important;
}

html body.mf-about-community-page .mf-ac-founder h2 {
  max-width: none !important;
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) #contributor-process,
html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) .mf-portal-auth-disclosure {
  display: none !important;
}

html body.mf-contributor-dashboard-page .mf-contributor-hero {
  min-height: 0 !important;
  padding-block: clamp(1rem, 2vw, 1.6rem) !important;
}

html body.mf-contributor-dashboard-page main#main-content > .mf-contributor-hero > .mf-contributor-hero__grid {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  max-width: var(--mf-content-max) !important;
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem) !important;
  gap: clamp(1rem, 2.5vw, 2.25rem) !important;
  padding-block: 0 !important;
}

html body.mf-contributor-dashboard-page .mf-contributor-hero__copy .mf-unified-hero-title {
  max-width: 10ch !important;
  font-size: clamp(2.4rem, 3.5vw, 3.25rem) !important;
}

html body.mf-contributor-dashboard-page #portal {
  min-height: 0 !important;
  padding-block: var(--mf-section-space-compact) !important;
}

html body.mf-contributor-dashboard-page #portal > .stl-container {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), var(--mf-content-max)) !important;
  max-width: var(--mf-content-max) !important;
}

html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) .mf-portal-auth {
  grid-template-columns: minmax(0, 1fr) !important;
}

html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) .mf-portal-auth > .mf-form-shell {
  width: 100%;
  max-width: none !important;
}

html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) .mf-polish-contributor-primer {
  display: none !important;
}

/* Content-driven sections must collapse naturally while asynchronous data loads. */
html body.stl-soccer-hub-page main#main-content #tier-pro {
  min-height: 0 !important;
}

/* A submitted brand mark is an intentional fallback, not a blank photo crop. */
html body.mf-home-v22 .mf-v22-now-line__media img[src*="mf-profile-square"] {
  object-fit: cover !important;
  object-position: 50% 48% !important;
  padding: 0 !important;
  background: #07140d !important;
}

/* A branded loading surface prevents the newsroom from flashing as an empty page. */
html body.mf-articles-page #mf-newsroom-front[data-newsroom-loading] {
  min-height: 13rem;
  display: grid;
  align-items: center;
  border-block: 1px solid rgba(244, 196, 48, 0.2);
  background: #080d0b !important;
}

html body.mf-articles-page .mf-newsroom-loading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding-block: var(--mf-section-space-compact);
}

html body.mf-articles-page .mf-newsroom-loading h2 {
  margin: 0.2rem 0 0.35rem !important;
}

html body.mf-articles-page .mf-newsroom-loading p {
  margin: 0;
  max-width: 58ch;
  color: rgba(247, 247, 244, 0.72) !important;
}

html body.mf-articles-page .mf-newsroom-loading__signal {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--mf-bright-green, #46a83e);
  box-shadow: 0 0 0 0.35rem rgba(70, 168, 62, 0.14);
}

html body.mf-contributor-login-v2 main#main-content {
  min-height: calc(100dvh - var(--mf-global-header-height) - var(--mf-global-ticker-height));
}

html body.mf-contributor-login-v2 .mf-contributor-login-v2__shell {
  width: min(calc(100% - (var(--mf-page-gutter) * 2)), 72rem) !important;
  gap: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* Motion is quiet and functional. */
@media (prefers-reduced-motion: no-preference) {
  html body.mf-brand-v2 :where(a, button, summary, article) {
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease !important;
  }

  html body.mf-brand-v2 :where(a, button):active {
    transform: translateY(1px) scale(0.99);
  }
}

@media (max-width: 74.9375rem) {
  html body.mf-home-v22 main#main-content.mf-v22-home > .mf-v22-hero--clean .mf-v22-hero__grid,
  html body.mf-v44-players main#main-content > .mf-player-tracker-hero .mf-polish-hero__grid,
  html body.mf-media-page .mf-media-station-hero .mf-daily-grid,
  html body.mf-about-community-page .mf-ac-hero__grid,
  html body.mf-contributor-dashboard-page main#main-content > .mf-contributor-hero > .mf-contributor-hero__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-articles-page .mf-article-grid,
  html body.mf-media-page .mf-static-media-grid,
  html body.mf-media-page .mf-tribe-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 61.25rem) {
  html body.mf-articles-page .mf-newsroom-front-grid,
  html body.mf-brand-v2 .mf-article-detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-articles-page .mf-article-grid,
  html body.mf-media-page .mf-static-media-grid,
  html body.mf-media-page .mf-tribe-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 40rem) {
  :root {
    --mf-page-gutter: 0.75rem;
    --mf-section-space: 1.45rem;
    --mf-global-header-height: 56px;
    --mf-global-ticker-height: 48px;
  }

  html body.mf-brand-v2 {
    font-size: 0.9rem;
  }

  html body.mf-brand-v2 main#main-content h1,
  html body.mf-brand-v2 main#main-content h1 * {
    max-width: none;
    font-size: clamp(2.2rem, 10.5vw, 2.75rem) !important;
  }

  html body.mf-brand-v2 main#main-content h2,
  html body.mf-brand-v2 main#main-content h2 * {
    font-size: clamp(1.65rem, 7.5vw, 2rem) !important;
  }

  html body .site-header .site-header__inner {
    width: 100% !important;
  }

  html body.mf-articles-page .mf-article-grid,
  html body.mf-media-page .mf-static-media-grid,
  html body.mf-media-page .mf-tribe-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-v44-players .mf-player-card-deck {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-contributor-dashboard-page .mf-contributor-command {
    display: none !important;
  }

  html body.mf-articles-page .mf-newsroom-loading {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.mf-brand-v2 main#main-content :where(a, button, article) {
    transition-duration: 0.01ms !important;
  }
}

/* Premium global navigation: compact, readable, and consistent across desks. */
@media (min-width: 80.01rem) {
  :root {
    --mf-global-header-height: 58px;
    --mf-global-header-control: 40px;
  }

  html body .site-header {
    min-height: var(--mf-global-header-height) !important;
    background: rgba(5, 11, 8, 0.98) !important;
    border-bottom-color: rgba(244, 196, 48, 0.24) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.26) !important;
  }

  html body .site-header .site-header__inner {
    width: min(calc(100% - 2rem), 92rem) !important;
    max-width: 92rem !important;
    min-height: var(--mf-global-header-height) !important;
    gap: 0.75rem !important;
    padding-block: 5px !important;
  }

  html body .site-header .site-brand__logo {
    width: 36px !important;
    height: 36px !important;
  }

  html body .site-header .site-brand__name {
    font-size: 1.04rem !important;
    letter-spacing: 0 !important;
  }

  html body .site-header .site-nav__list {
    gap: 0.18rem !important;
  }

  html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle) {
    position: relative;
    min-height: 40px !important;
    padding-inline: 0.62rem !important;
    border-radius: 5px !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.01em !important;
  }

  html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle)::after {
    content: "";
    position: absolute;
    right: 0.62rem;
    bottom: 4px;
    left: 0.62rem;
    height: 2px;
    background: linear-gradient(90deg, #2e7d32, #f4c430, #e53935);
    opacity: 0;
    transform: scaleX(0.4);
    transition: opacity 160ms ease, transform 160ms ease;
  }

  html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle):hover::after,
  html body .site-header .site-nav :where(.site-nav__link, .site-nav__toggle)[aria-current="page"]::after,
  html body .site-header .site-nav [data-has-panel].is-open > .site-nav__toggle::after {
    opacity: 1;
    transform: scaleX(1);
  }

  html body .site-header .site-header__actions {
    gap: 0.35rem !important;
  }

  html body .site-header .site-header__actions :where(a, button) {
    min-height: var(--mf-global-header-control) !important;
    height: var(--mf-global-header-control) !important;
    padding-inline: 0.7rem !important;
    border-radius: 5px !important;
    font-size: 0.68rem !important;
  }
}

@media (max-width: 80rem) {
  html body .site-header .site-nav {
    display: none !important;
  }

  html body .site-header .site-nav__menu-button {
    display: inline-flex !important;
  }
}

/* production-audit-repair.css */
/* Production audit repair layer. Loaded last by mf-global-runtime.css. */

/* Brand typography: one display face and one readable interface family. */
html body.mf-brand-v2 {
  font-family: var(--font-body, "Montserrat", sans-serif) !important;
  font-weight: 400;
}

html body.mf-brand-v2 :where(
  h1, h2, h3, h4, h5, h6,
  .mf-core-title,
  .mf-unified-hero-title,
  .mf-card-title,
  .mf-newsroom-headline,
  .mf-article-card__title,
  .mf-scoreboard-title
) {
  font-family: var(--font-display, "Bebas Neue", sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

html body.mf-brand-v2 :where(
  p, li, dt, dd, a, span, strong, small, time, figcaption, blockquote,
  input, textarea, select, option, label, code,
  button, summary, nav a,
  .stl-btn, .mf-core-button,
  .stl-eyebrow, .mf-core-label, .mf-core-kicker,
  [class*="__eyebrow"], [class*="__kicker"],
  [class*="__badge"], [class*="__tag"], [class*="__pill"],
  [class*="__meta"], [class*="__label"]
) {
  font-family: var(--font-ui, "Montserrat", sans-serif) !important;
}

html body.mf-brand-v2 :where(
  .stl-eyebrow, .mf-core-label, .mf-core-kicker,
  [class*="__eyebrow"], [class*="__kicker"],
  [class*="__badge"], [class*="__tag"], [class*="__pill"]
) {
  font-weight: 700 !important;
  letter-spacing: 0.055em !important;
}

/* Shared controls stay usable on touch screens and clear at keyboard focus. */
html body.mf-brand-v2 :where(button, [role="button"], .stl-btn, .mf-core-button) {
  min-height: 44px !important;
}

html body.mf-brand-v2 :where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--mf-legacy-yellow, #f4c430) !important;
  outline-offset: 3px !important;
}

/* Compact global navigation while preserving a dependable 44px interaction target. */
html body.mf-brand-v2 .site-header :where(.site-nav a, .site-actions a, .site-actions button, .site-menu-toggle) {
  min-height: 44px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

html body.mf-brand-v2 .site-nav a,
html body.mf-brand-v2 .site-actions :where(a, button) {
  font-size: clamp(0.69rem, 0.18vw + 0.64rem, 0.78rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0.015em !important;
}

html body.mf-brand-v2 .site-header :where(a, button) {
  min-height: 44px !important;
}

@media (max-width: 80rem) {
  html body.mf-brand-v2 .site-header .site-theme-toggle {
    display: none !important;
  }
}

/* Article pages: wider editorial canvas, comfortable measure, compact masthead. */
html body.mf-article-page #article-detail > .stl-container,
html body.mf-article-page .mf-article-detail-grid {
  width: min(calc(100% - (var(--mf-page-gutter, 1rem) * 2)), 96rem) !important;
  max-width: 96rem !important;
}

html body.mf-article-page .mf-article-detail-grid {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 18rem) !important;
  gap: clamp(1rem, 1.7vw, 1.6rem) !important;
}

html body.mf-article-page .mf-article-detail--story {
  min-width: 0;
  max-width: none !important;
  padding: clamp(1rem, 1.8vw, 1.45rem) !important;
}

html body.mf-article-page .mf-article-copy,
html body.mf-article-page .mf-article-body {
  width: min(100%, 88ch) !important;
  max-width: 88ch !important;
  margin-inline: auto !important;
  font-family: var(--font-body, "Montserrat", sans-serif) !important;
  font-size: clamp(1rem, 0.22vw + 0.95rem, 1.08rem) !important;
  line-height: 1.72 !important;
}

html body.mf-article-page .mf-article-copy :where(h2, h3, h4),
html body.mf-article-page .mf-article-body :where(h2, h3, h4) {
  max-width: 24ch;
  margin-top: 1.5em;
  margin-bottom: 0.45em;
  text-wrap: balance;
}

html body.mf-article-page #article-hero {
  min-height: 0 !important;
  padding-block: 0.65rem 0.85rem !important;
}

/* News and media cards carry more information without turning into billboards. */
html body.mf-brand-v2 :where(.mf-article-card, .mf-static-media-card, .mf-core-card) h3 {
  font-size: clamp(1.22rem, 1vw + 0.88rem, 1.72rem) !important;
  line-height: 0.98 !important;
  text-wrap: balance;
}

html body.mf-brand-v2 :where(.mf-article-card, .mf-static-media-card, .mf-core-card) p {
  font-size: clamp(0.78rem, 0.12vw + 0.75rem, 0.86rem) !important;
  line-height: 1.45 !important;
}

html body.mf-brand-v2 :where(.mf-static-media-card__media, .mf-core-card__image, .mf-tribe-card > a) {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #050706;
}

html body.mf-brand-v2 :where(.mf-static-media-card__media, .mf-core-card__image, .mf-tribe-card > a) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html body.mf-brand-v2 .mf-tribe-player__poster {
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #000;
  cursor: pointer;
}

html body.mf-brand-v2 .mf-tribe-player__poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html body.mf-brand-v2 .mf-tribe-player__poster span {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  min-width: 4.25rem;
  min-height: 2.75rem;
  padding: 0.65rem 0.9rem;
  border-radius: 5px;
  background: var(--mf-legacy-yellow, #f4c430);
  color: #080b0b;
  font-family: var(--font-ui, "Montserrat", sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html body.mf-brand-v2 .mf-tribe-player__notes {
  border-block: 1px solid rgba(247, 247, 244, 0.1);
  padding-block: 0.35rem;
}

html body.mf-brand-v2 .mf-tribe-player__notes summary {
  min-height: 36px;
  display: flex;
  align-items: center;
  color: rgba(247, 247, 244, 0.78);
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
}

html body.mf-brand-v2 .mf-tribe-player__notes p {
  margin: 0.25rem 0 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
}

/* Keep the verified-feed state visible without presenting failures as content. */
html body.mf-brand-v2 :where(.mf-feed-state, .mf-feed-notice, [data-feed-state]) {
  font-family: var(--font-ui, "Montserrat", sans-serif) !important;
  font-size: 0.72rem;
  line-height: 1.4;
}

@media (max-width: 61.25rem) {
  html body.mf-article-page .mf-article-detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-article-page .mf-article-sidebar {
    position: static !important;
  }
}

@media (max-width: 47.5rem) {
  html body.mf-brand-v2 .site-header :where(.site-nav, .site-actions) {
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  html body.mf-brand-v2 .site-header :where(.site-nav a, .site-actions a, .site-actions button, .site-menu-toggle) {
    min-width: 44px !important;
  }

  html body.mf-article-page #article-detail > .stl-container,
  html body.mf-article-page .mf-article-detail-grid {
    width: min(calc(100% - 1rem), 96rem) !important;
  }

  html body.mf-article-page .mf-article-copy,
  html body.mf-article-page .mf-article-body {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  html body.mf-brand-v2 main#main-content :where(h1, .mf-core-title, .mf-unified-hero-title) {
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }
}

@media (max-width: 35rem) {
  html body.mf-brand-v2 .site-header .site-header__search {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.mf-brand-v2 *,
  html body.mf-brand-v2 *::before,
  html body.mf-brand-v2 *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* premium-layout-system.css */
/* Premium layout system. Loaded last by mf-global-runtime.css. */

html body.mf-brand-v2 {
  --mf-premium-shell: 94rem;
  --mf-premium-editorial: 82rem;
  --mf-premium-gutter: clamp(0.75rem, 2.25vw, 2rem);
  --mf-premium-section: clamp(1.65rem, 3.3vw, 3rem);
  --mf-premium-section-compact: clamp(1rem, 2vw, 1.65rem);
  --mf-premium-gap: clamp(0.7rem, 1.4vw, 1.15rem);
  --mf-premium-radius: 7px;
  --mf-premium-line: rgba(244, 196, 48, 0.24);
  --mf-premium-line-soft: rgba(247, 247, 244, 0.11);
  --mf-premium-surface: rgba(7, 18, 13, 0.94);
  --mf-premium-surface-raised: rgba(12, 28, 21, 0.96);
}

/* One dependable page canvas across editorial, hub, media, and portal routes. */
html body.mf-brand-v2 main#main-content :where(
  .stl-container,
  .site-container,
  .mf-v22-container,
  .mf-core-container,
  .mf-home-container
) {
  width: min(calc(100% - (var(--mf-premium-gutter) * 2)), var(--mf-premium-shell));
  max-width: var(--mf-premium-shell);
  margin-inline: auto;
}

html body.mf-brand-v2 main#main-content > :where(.stl-section, .mf-v22-section, .mf-core-section) {
  padding-block: var(--mf-premium-section);
}

html body.mf-brand-v2 main#main-content > :where(.stl-section, .mf-v22-section, .mf-core-section) + :where(.stl-section, .mf-v22-section, .mf-core-section) {
  border-top: 1px solid var(--mf-premium-line-soft);
}

html body.mf-brand-v2 :where(.stl-section-header-row, .mf-v22-section-head, .mf-core-section__head) {
  gap: var(--mf-premium-gap);
  margin-bottom: clamp(0.75rem, 1.5vw, 1.15rem);
}

html body.mf-brand-v2 :where(.stl-section-header-row, .mf-v22-section-head, .mf-core-section__head) h2 {
  max-width: 24ch;
  text-wrap: balance;
}

html body.mf-brand-v2 :where(.stl-section-header-row, .mf-v22-section-head, .mf-core-section__head) p {
  max-width: 68ch;
  margin-bottom: 0;
}

/* Compact global chrome without removing destinations or live match context. */
html body.mf-brand-v2 .site-header .site-header__inner {
  width: min(calc(100% - 1.25rem), 100rem) !important;
  max-width: 100rem !important;
}

html body.mf-brand-v2 .site-header .site-nav__list {
  gap: 1px !important;
}

html body.mf-brand-v2 .site-header .site-nav :where(.site-nav__link, .site-nav__toggle) {
  padding-inline: clamp(0.35rem, 0.65vw, 0.65rem) !important;
}

/* Page-level navigation remains useful once the masthead has scrolled away. */
html body.mf-brand-v2 :where(
  .mf-core-nav,
  .mf-stl-section-nav,
  .mf-diaspora-section-nav,
  .mf-youth-nav
) {
  position: sticky;
  top: 0;
  z-index: 120;
  background: rgba(4, 12, 8, 0.96);
  backdrop-filter: blur(14px);
  border-block: 1px solid var(--mf-premium-line-soft);
}

html body.mf-brand-v2 :where(
  .mf-core-nav__inner,
  .mf-stl-section-nav .stl-container,
  .mf-diaspora-tabs,
  .mf-youth-nav
) {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

html body.mf-brand-v2 :where(
  .mf-core-nav a,
  .mf-stl-section-nav a,
  .mf-diaspora-tabs a,
  .mf-youth-nav a
) {
  min-height: 38px !important;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0.55rem 0.75rem !important;
  border-radius: 5px !important;
  font-size: 0.7rem !important;
  white-space: nowrap;
}

/* Compact first view: strong subject signal with the next section still visible. */
html body.mf-brand-v2 :where(
  .mf-v22-hero,
  .mf-daily-hero,
  .mf-diaspora-hero,
  .mf-polish-hero,
  .mf-contributor-hero,
  .mf-youth-hero,
  .mf-media-station-hero
) {
  min-height: 0 !important;
}

html body.mf-brand-v2 :where(
  .mf-v22-hero__grid,
  .mf-daily-grid,
  .mf-diaspora-hero__inner,
  .mf-diaspora-fix-hero__grid,
  .mf-contributor-hero__grid,
  .mf-youth-hero
) {
  min-height: 0 !important;
  gap: clamp(1rem, 2.2vw, 2rem) !important;
}

html body.mf-brand-v2 :where(.mf-daily-hero, .mf-diaspora-hero, .mf-contributor-hero, .mf-media-station-hero) {
  padding-block: clamp(1.15rem, 2.6vw, 2.25rem) !important;
}

html body.mf-brand-v2 :where(.mf-v22-hero, .mf-player-tracker-hero, .mf-media-station-hero) {
  max-height: none !important;
}

html body.mf-brand-v2 main#main-content :where(.mf-v22-hero h1, .mf-daily-hero h1, .mf-diaspora-hero h1, .mf-contributor-hero h1, .mf-youth-hero h1) {
  max-width: 15ch;
  font-size: clamp(2.4rem, 5vw, 4.8rem) !important;
  line-height: 0.92 !important;
  text-wrap: balance;
}

html body.mf-brand-v2 main#main-content :where(.mf-v22-hero p, .mf-daily-hero p, .mf-diaspora-hero p, .mf-contributor-hero p, .mf-youth-hero p) {
  max-width: 60ch;
  font-size: clamp(0.86rem, 0.25vw + 0.8rem, 1rem) !important;
  line-height: 1.5 !important;
}

/* A common compact card language. */
html body.mf-brand-v2 :where(
  .mf-article-card,
  .mf-newsroom-card,
  .mf-newsroom-today-card,
  .mf-core-card,
  .mf-core-panel,
  .mf-static-media-card,
  .mf-route-card,
  .mf-surface-card,
  .mf-hub-proof-card,
  .mf-diaspora-now__card,
  .mf-youth-panel,
  .mf-youth-age-grid > article
) {
  min-width: 0;
  border-radius: var(--mf-premium-radius) !important;
}

html body.mf-brand-v2 :where(
  .mf-article-card,
  .mf-newsroom-card,
  .mf-core-card,
  .mf-static-media-card,
  .mf-route-card,
  .mf-surface-card,
  .mf-diaspora-now__card
) {
  display: flex;
  flex-direction: column;
}

html body.mf-brand-v2 :where(
  .mf-article-card,
  .mf-newsroom-card,
  .mf-core-card,
  .mf-static-media-card,
  .mf-route-card,
  .mf-surface-card,
  .mf-diaspora-now__card
) :where(.mf-core-actions, .mf-card-actions, [class*="__actions"], .stl-btn, .mf-core-button):last-child {
  margin-top: auto;
}

html body.mf-brand-v2 :where(
  .mf-article-card img,
  .mf-newsroom-card img,
  .mf-core-card img,
  .mf-static-media-card img,
  .mf-media-card img,
  .mf-official-video-card img
) {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

html body.mf-brand-v2 :where(
  .mf-article-card h3,
  .mf-newsroom-card h3,
  .mf-core-card h3,
  .mf-static-media-card h3,
  .mf-route-card h3,
  .mf-surface-card h3
) {
  margin-block: 0.2rem 0.35rem;
  text-wrap: balance;
}

html body.mf-brand-v2 :where(
  .mf-article-card p,
  .mf-newsroom-card p,
  .mf-core-card p,
  .mf-static-media-card p,
  .mf-route-card p,
  .mf-surface-card p
) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* Editorial front: one lead plus a dense two-by-two briefing rail. */
html body.mf-articles-page .mf-newsroom-front-grid {
  grid-template-columns: minmax(0, 1.42fr) minmax(28rem, 1fr) !important;
  gap: var(--mf-premium-gap) !important;
  align-items: start;
}

html body.mf-articles-page .mf-newsroom-side {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--mf-premium-gap) !important;
  align-content: start;
}

html body.mf-articles-page .mf-newsroom-side > * {
  height: 100%;
  min-height: 0 !important;
}

html body.mf-articles-page .mf-newsroom-front-section {
  padding-block: var(--mf-premium-section-compact) !important;
}

html body.mf-articles-page .mf-newsroom-front-section .mf-conversion-primary {
  min-height: 0 !important;
}

html body.mf-articles-page :where(.mf-article-grid, .mf-article-lanes) {
  gap: var(--mf-premium-gap) !important;
}

html body.mf-articles-page .mf-article-grid > * {
  height: 100%;
}

/* Long-form reading stays a single readable measure while using the canvas. */
html body.mf-article-page .mf-article-copy,
html body.mf-article-page .mf-article-body {
  width: min(100%, 92ch) !important;
  max-width: 92ch !important;
}

html body.mf-article-page .mf-article-sidebar {
  align-self: start;
  position: sticky;
  top: 1rem;
}

/* Data and directory pages use wider multi-column boards instead of tall stacks. */
html body.mf-brand-v2 :where(
  .mf-proof-grid,
  .mf-route-grid,
  .mf-youth-age-grid,
  .mf-youth-check-grid,
  .mf-hub-proof-row,
  .mf-ocn-card-grid
) {
  gap: var(--mf-premium-gap) !important;
}

html body.mf-youth-hub .mf-youth-split {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: start;
  gap: var(--mf-premium-gap) !important;
}

html body.mf-youth-hub .mf-youth-split > * {
  min-width: 0;
}

html body.mf-youth-hub .mf-youth-section {
  padding-block: var(--mf-premium-section-compact) !important;
}

html body.mf-diaspora-page :where(.mf-diaspora-now, .mf-da-command, .mf-di-command) {
  padding-block: var(--mf-premium-section-compact) !important;
}

html body.mf-diaspora-page :where(.mf-di-shell, .mf-da-shell, .mf-diaspora-fix-shell) {
  width: min(calc(100% - (var(--mf-premium-gutter) * 2)), var(--mf-premium-shell)) !important;
  max-width: var(--mf-premium-shell) !important;
  margin-inline: auto !important;
}

html body.mf-diaspora-pathways-page details.mf-progressive-section {
  width: min(calc(100% - (var(--mf-premium-gutter) * 2)), var(--mf-premium-shell)) !important;
  max-width: var(--mf-premium-shell) !important;
  margin-inline: auto !important;
}

html body.mf-v44-players .mf-player-tracker-hero {
  padding-block: clamp(1rem, 2vw, 1.75rem) !important;
}

html body.mf-v44-players .mf-tracker-links-section {
  padding-block: var(--mf-premium-section-compact) !important;
}

/* Media and podcast surfaces favor a player plus a compact queue. */
html body.mf-media-page :where(.mf-media-control, .mf-tribe-section),
html body.mf-core-podcast-page :where(.mf-core-section, .mf-tribe-section) {
  scroll-margin-top: 3.25rem;
}

html body.mf-media-page .mf-media-control,
html body.mf-core-podcast-page .mf-tribe-section {
  padding-block: var(--mf-premium-section-compact) !important;
}

html body.mf-media-page :where(.mf-media-control__stage, .mf-tribe-player),
html body.mf-core-podcast-page .mf-tribe-player {
  gap: var(--mf-premium-gap) !important;
}

html body.mf-media-page :where(.mf-media-control__art, .mf-tribe-player__frame),
html body.mf-core-podcast-page .mf-tribe-player__frame {
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
}

html body.mf-core-podcast-page #latest .mf-core-grid,
html body.mf-media-page :where(.mf-media-control__queue, .mf-tribe-list) {
  align-items: stretch;
}

/* Honest live, stale, and failure states are visually distinct at a glance. */
html body.mf-brand-v2 :where(.is-live, [data-live="true"], [data-status="live"])::before {
  content: "";
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: 0.4rem;
  border-radius: 50%;
  background: #46a83e;
  box-shadow: 0 0 0 0 rgba(70, 168, 62, 0.48);
  animation: mf-premium-live-pulse 1.8s ease-out infinite;
}

html body.mf-brand-v2 :where(.is-stale, [data-status="stale"], [data-feed-state="stale"]) {
  border-color: rgba(244, 196, 48, 0.5) !important;
}

html body.mf-brand-v2 :where(.is-error, [data-status="error"], [data-feed-state="error"]) {
  border-color: rgba(229, 57, 53, 0.58) !important;
}

/* The guest contributor state should read as one complete gateway, not a tall void. */
html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) main#main-content {
  min-height: 0 !important;
}

html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) .mf-contributor-hero {
  padding-block: clamp(1rem, 2vw, 1.65rem) !important;
}

html body.mf-contributor-dashboard-page:not(.is-contributor-authenticated) .mf-contributor-guest-gateway {
  width: min(calc(100% - (var(--mf-premium-gutter) * 2)), var(--mf-premium-editorial));
  margin: var(--mf-premium-section-compact) auto !important;
}

/* Footer stays complete, but behaves like compact utility chrome. */
html body.mf-brand-v2 .site-footer {
  padding-block: clamp(1.2rem, 2.5vw, 2rem) 0.75rem !important;
}

html body.mf-brand-v2 .site-footer .site-footer__inner {
  width: min(calc(100% - (var(--mf-premium-gutter) * 2)), var(--mf-premium-shell)) !important;
  max-width: var(--mf-premium-shell) !important;
  display: grid !important;
  grid-template-columns: minmax(13rem, 1.35fr) repeat(5, minmax(7rem, 0.8fr)) !important;
  gap: clamp(0.9rem, 2vw, 1.75rem) !important;
  align-items: start;
}

html body.mf-brand-v2 .site-footer :where(.site-footer__copy, .site-footer__nav ul) {
  margin-block: 0.55rem 0 !important;
}

html body.mf-brand-v2 .site-footer .site-footer__nav li + li {
  margin-top: 0.1rem !important;
}

html body.mf-brand-v2 .site-footer .site-footer__bottom {
  width: min(calc(100% - (var(--mf-premium-gutter) * 2)), var(--mf-premium-shell)) !important;
  max-width: var(--mf-premium-shell) !important;
  min-height: 40px !important;
  margin-top: 0.75rem !important;
  padding-block: 0.55rem !important;
}

@keyframes mf-premium-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(70, 168, 62, 0.48); }
  75%, 100% { box-shadow: 0 0 0 0.48rem rgba(70, 168, 62, 0); }
}

@media (max-width: 72rem) {
  html body.mf-articles-page .mf-newsroom-front-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 0.9fr) !important;
  }

  html body.mf-brand-v2 .site-footer .site-footer__inner {
    grid-template-columns: minmax(15rem, 1.35fr) repeat(3, minmax(8rem, 1fr)) !important;
  }
}

@media (max-width: 58rem) {
  html body.mf-articles-page .mf-newsroom-front-grid,
  html body.mf-youth-hub .mf-youth-split {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-articles-page .mf-newsroom-side {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.mf-brand-v2 .site-footer .site-footer__inner {
    grid-template-columns: minmax(14rem, 1.4fr) repeat(2, minmax(8rem, 1fr)) !important;
  }

  html body.mf-article-page .mf-article-sidebar {
    position: static;
  }
}

@media (max-width: 42rem) {
  html body.mf-brand-v2 {
    --mf-premium-gutter: 0.65rem;
    --mf-premium-section: 1.35rem;
    --mf-premium-section-compact: 1rem;
  }

  html body.mf-brand-v2 :where(
    .mf-v22-hero,
    .mf-daily-hero,
    .mf-diaspora-hero,
    .mf-contributor-hero,
    .mf-youth-hero,
    .mf-media-station-hero
  ) {
    padding-block: 0.9rem !important;
  }

  html body.mf-brand-v2 main#main-content :where(.mf-v22-hero h1, .mf-daily-hero h1, .mf-diaspora-hero h1, .mf-contributor-hero h1, .mf-youth-hero h1) {
    font-size: clamp(2.15rem, 12vw, 3.4rem) !important;
  }

  html body.mf-articles-page .mf-newsroom-side {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.mf-brand-v2 .site-footer .site-footer__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.45rem !important;
  }

  html body.mf-brand-v2 .site-footer .site-footer__nav {
    border-top: 1px solid var(--mf-premium-line-soft);
    padding-top: 0.35rem;
  }

  html body.mf-brand-v2 .site-footer .site-footer__nav:not([open]) > :not(summary) {
    display: none;
  }

  html body.mf-brand-v2 .site-footer .site-footer__bottom {
    align-items: flex-start !important;
    gap: 0.3rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.mf-brand-v2 :where(.is-live, [data-live="true"], [data-status="live"])::before {
    animation: none;
  }
}

/* diaspora-overview-v5.css */
/* Wide, source-led Diaspora overview. The player photography shown by this view
   is selected from the approved public player export at runtime. */
html body.mf-diaspora-overview-page {
  --mf-diaspora-wide-shell: 116rem;
}

html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now.mf-diaspora-desk-host {
  min-height: 0 !important;
  padding: clamp(1rem, 1.7vw, 1.5rem) 0 !important;
  overflow: visible !important;
  border-block: 1px solid rgba(244, 196, 48, 0.3) !important;
  background: #07110c !important;
}

html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now.mf-diaspora-desk-host::before,
html body.mf-diaspora-overview-page main#main-content > .mf-diaspora-now.mf-diaspora-desk-host::after {
  display: none !important;
}

html body.mf-diaspora-overview-page .mf-diaspora-now.mf-diaspora-desk-host > .mf-diaspora-desk {
  box-sizing: border-box;
  width: min(calc(100% - clamp(1.5rem, 3vw, 3rem)), var(--mf-diaspora-wide-shell)) !important;
  max-width: var(--mf-diaspora-wide-shell) !important;
  margin-inline: auto !important;
}

.mf-diaspora-desk {
  color: #f7f7f4;
  font-family: var(--font-body, "Montserrat", sans-serif);
}

.mf-diaspora-desk__header {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(24rem, 0.65fr);
  gap: clamp(1.25rem, 3vw, 3.25rem);
  align-items: end;
  padding: clamp(0.25rem, 1vw, 0.75rem) 0 clamp(1rem, 1.5vw, 1.4rem);
}

.mf-diaspora-desk__intro {
  display: grid;
  grid-template-columns: minmax(18rem, 0.92fr) minmax(21rem, 1.08fr);
  gap: 0.55rem clamp(1.25rem, 2.5vw, 2.5rem);
  align-items: end;
}

.mf-diaspora-desk__intro > .stl-eyebrow {
  grid-column: 1 / -1;
  color: #f4c430;
  font: 700 0.68rem/1 var(--font-body, "Montserrat", sans-serif);
  text-transform: uppercase;
}

.mf-diaspora-overview-page .mf-diaspora-desk__intro h1 {
  max-width: 13ch;
  margin: 0;
  font: 700 clamp(2.35rem, 3.6vw, 4.1rem)/0.91 var(--font-display, "Bebas Neue", sans-serif);
}

.mf-diaspora-desk__intro > p {
  max-width: 54ch;
  margin: 0 0 0.2rem;
  color: rgba(247, 247, 244, 0.74);
  font-size: clamp(0.88rem, 1vw, 1rem);
  line-height: 1.55;
}

.mf-diaspora-desk__stats {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid rgba(247, 247, 244, 0.1);
}

.mf-diaspora-desk__stats > span {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  padding: 0.6rem 0.75rem;
  border-right: 1px solid rgba(247, 247, 244, 0.1);
}

.mf-diaspora-desk__stats > span:last-child {
  border-right: 0;
}

.mf-diaspora-desk__stats strong {
  color: #f4c430;
  font: 700 1.75rem/1 var(--font-display, "Bebas Neue", sans-serif);
}

.mf-diaspora-desk__stats small {
  color: rgba(247, 247, 244, 0.68);
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mf-diaspora-desk__search {
  padding: 1rem;
  border: 1px solid rgba(244, 196, 48, 0.28);
  border-radius: 6px;
  background: #0d1813;
}

.mf-diaspora-desk__search label {
  display: block;
  margin-bottom: 0.55rem;
  color: #f4c430;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mf-diaspora-desk__search > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.mf-diaspora-desk__search input,
.mf-diaspora-desk__search button {
  min-height: 2.9rem;
  border: 1px solid rgba(247, 247, 244, 0.18);
  border-radius: 0;
  font: 600 0.78rem/1 var(--font-body, "Montserrat", sans-serif);
}

.mf-diaspora-desk__search input {
  min-width: 0;
  padding-inline: 0.85rem;
  color: #f7f7f4;
  background: #080b0b;
}

.mf-diaspora-desk__search button {
  padding-inline: 1rem;
  border-color: #f4c430;
  color: #080b0b;
  background: #f4c430;
  cursor: pointer;
}

.mf-diaspora-desk__search p {
  margin: 0.65rem 0 0;
  color: rgba(247, 247, 244, 0.58);
  font-size: 0.68rem;
  line-height: 1.45;
}

.mf-diaspora-desk__tabs {
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-block: 1px solid rgba(247, 247, 244, 0.12);
  scrollbar-width: none;
}

.mf-diaspora-desk__tabs::-webkit-scrollbar {
  display: none;
}

.mf-diaspora-desk__tabs button {
  min-height: 3rem;
  flex: 1 1 0;
  border: 0;
  border-right: 1px solid rgba(247, 247, 244, 0.1);
  border-radius: 0;
  padding: 0.7rem 1rem;
  color: rgba(247, 247, 244, 0.72);
  background: transparent;
  font: 700 0.7rem/1 var(--font-body, "Montserrat", sans-serif);
  text-transform: uppercase;
  cursor: pointer;
}

.mf-diaspora-desk__tabs button[aria-selected="true"] {
  color: #f7f7f4;
  background: #2e7d32;
  box-shadow: inset 0 -3px #f4c430;
}

.mf-diaspora-desk__stage {
  padding-top: 0.85rem;
}

.mf-diaspora-desk__panel[hidden] {
  display: none !important;
}

.mf-diaspora-overview-page .mf-diaspora-desk__panel.is-active {
  animation: mf-diaspora-panel-in 220ms ease-out both;
  border-color: rgba(46, 125, 50, 0.56);
  background: transparent;
  box-shadow: none;
}

.mf-diaspora-desk__loading,
.mf-diaspora-desk__empty {
  min-height: 18rem;
  display: grid;
  place-content: center;
  gap: 0.45rem;
  border: 1px dashed rgba(244, 196, 48, 0.32);
  text-align: center;
}

.mf-diaspora-desk__loading span,
.mf-diaspora-desk__empty p {
  max-width: 54ch;
  margin: 0;
  color: rgba(247, 247, 244, 0.64);
}

.mf-diaspora-desk__empty a {
  width: fit-content;
  margin: 0.5rem auto 0;
  color: #d8ff2e;
  font-weight: 700;
}

.mf-diaspora-desk__player-layout {
  display: grid;
  grid-template-columns: minmax(32rem, 0.92fr) minmax(0, 1.08fr);
  gap: 0.8rem;
  align-items: start;
  padding: 0.65rem;
  border: 1px solid rgba(247, 247, 244, 0.1);
  border-top: 2px solid #2e7d32;
  border-radius: 6px;
  background: #06100b;
}

.mf-diaspora-player-feature {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) minmax(14rem, 0.8fr);
  min-height: 0;
  align-self: start;
  overflow: hidden;
  border: 1px solid rgba(244, 196, 48, 0.35);
  border-radius: 6px;
  background: #0d1813;
}

.mf-diaspora-player-feature__media,
.mf-diaspora-player-compact__media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  color: rgba(247, 247, 244, 0.62);
  background: #06100b;
  text-decoration: none;
}

.mf-diaspora-player-feature__media {
  aspect-ratio: 4 / 3;
}

.mf-diaspora-player-feature__media img,
.mf-diaspora-player-compact__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  transition: transform 240ms ease;
}

.mf-diaspora-player-feature:hover img,
.mf-diaspora-player-compact:hover img {
  transform: scale(1.025);
}

.mf-diaspora-player-feature__media.is-unavailable,
.mf-diaspora-player-compact__media.is-unavailable {
  display: grid;
  place-items: center;
  padding: 1rem;
  text-align: center;
}

.mf-diaspora-player-feature__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
}

.mf-diaspora-player-feature__eyebrow,
.mf-diaspora-player-compact__eyebrow {
  color: #f4c430;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mf-diaspora-player-feature h2,
.mf-diaspora-player-compact h2 {
  margin: 0.4rem 0 0 !important;
  font-family: var(--font-display, "Bebas Neue", sans-serif) !important;
  line-height: 0.95 !important;
}

.mf-diaspora-player-feature h2 {
  font-size: clamp(2.1rem, 3vw, 3.5rem) !important;
}

.mf-diaspora-player-feature__body > p,
.mf-diaspora-player-compact__body > p {
  margin: 0.5rem 0 0;
  color: rgba(247, 247, 244, 0.76);
  line-height: 1.4;
}

.mf-diaspora-player-feature__meta,
.mf-diaspora-player-compact__meta {
  display: grid;
  gap: 0.2rem;
  margin-top: 1rem;
  color: rgba(247, 247, 244, 0.54);
  font-size: 0.64rem;
}

.mf-diaspora-player-feature__actions,
.mf-diaspora-player-compact__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
}

.mf-diaspora-player-feature__actions a,
.mf-diaspora-player-compact__actions a {
  min-height: 2.45rem;
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(244, 196, 48, 0.34);
  border-radius: 4px;
  color: #f7f7f4;
  font-size: 0.68rem;
  font-weight: 700;
  text-decoration: none;
}

.mf-diaspora-player-feature__actions a:first-child,
.mf-diaspora-player-compact__actions a:first-child {
  color: #080b0b;
  background: #f4c430;
}

.mf-diaspora-desk__player-rail-wrap {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 0.6rem;
  align-self: start;
  padding: 0.65rem;
  border: 1px solid rgba(247, 247, 244, 0.1);
  border-radius: 6px;
  background: #07110c;
}

.mf-diaspora-desk__rail-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.15rem 0;
}

.mf-diaspora-desk__rail-head span,
.mf-diaspora-desk__rail-head strong {
  display: block;
}

.mf-diaspora-desk__rail-head span {
  color: #f4c430;
  font-size: 0.63rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mf-diaspora-desk__rail-head strong {
  margin-top: 0.25rem;
  font-size: 0.92rem;
}

.mf-diaspora-desk__rail-head > div:last-child {
  display: flex;
  gap: 0.35rem;
}

.mf-diaspora-desk__rail-head button {
  width: 2.45rem;
  height: 2.45rem;
  border: 1px solid rgba(244, 196, 48, 0.38);
  border-radius: 50%;
  color: #f7f7f4;
  background: #0d1813;
  font-size: 1.3rem;
  cursor: pointer;
}

.mf-diaspora-desk__player-rail {
  min-width: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(14rem, 1fr);
  gap: 0.65rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
  scrollbar-color: #f4c430 #07110c;
}

.mf-diaspora-player-compact {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(10rem, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(247, 247, 244, 0.14);
  border-radius: 6px;
  background: #0d1813;
  scroll-snap-align: start;
}

.mf-diaspora-player-compact__body {
  min-width: 0;
  padding: 0.85rem;
}

.mf-diaspora-player-compact h2 {
  font-size: 1.65rem !important;
}

.mf-diaspora-player-compact__body > p {
  min-height: 2.5em;
  font-size: 0.74rem;
}

.mf-diaspora-player-compact__meta span:last-child,
.mf-diaspora-player-compact__actions a:last-child {
  display: none;
}

.mf-diaspora-desk__route-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
}

.mf-diaspora-desk__route {
  min-height: 17rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1rem, 1.5vw, 1.3rem);
  border: 1px solid rgba(247, 247, 244, 0.14);
  border-top: 3px solid #2e7d32;
  border-radius: 6px;
  color: #f7f7f4;
  background: #0d1813;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease;
}

.mf-diaspora-desk__route:nth-child(2) {
  border-top-color: #f4c430;
}

.mf-diaspora-desk__route:nth-child(3) {
  border-top-color: #e53935;
}

.mf-diaspora-desk__route:nth-child(4) {
  border-top-color: #46a83e;
}

.mf-diaspora-desk__route:hover {
  transform: translateY(-2px);
  border-color: #f4c430;
}

.mf-diaspora-desk__route > span {
  color: #f4c430;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mf-diaspora-desk__route > strong {
  margin-top: 0.7rem;
  font: 700 clamp(1.7rem, 2.2vw, 2.4rem)/0.95 var(--font-display, "Bebas Neue", sans-serif);
}

.mf-diaspora-desk__route > p {
  color: rgba(247, 247, 244, 0.68);
  line-height: 1.5;
}

.mf-diaspora-desk__route > small {
  margin-top: auto;
  color: #d8ff2e;
  font-weight: 700;
}

.mf-diaspora-desk__footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: 0.8rem;
  color: rgba(247, 247, 244, 0.62);
  font-size: 0.66rem;
  font-weight: 600;
}

.mf-diaspora-desk__footer span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.mf-diaspora-desk__footer i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #d8ff2e;
}

.mf-diaspora-desk__footer a {
  margin-left: auto;
  color: #f7f7f4;
}

/* The full desktop page should use the same wide editorial canvas as the desk. */
@media (min-width: 75rem) {
  html body.mf-diaspora-overview-page {
    --mf-content-max: var(--mf-diaspora-wide-shell);
    --mf-premium-shell: var(--mf-diaspora-wide-shell);
    --mf-exp-shell: min(calc(100% - 3rem), var(--mf-diaspora-wide-shell));
  }

  html body.mf-diaspora-overview-page main#main-content :where(
    .mf-di-shell,
    .mf-da-shell,
    .mf-diaspora-fix-shell,
    .mf-progressive-section
  ) {
    width: min(calc(100% - clamp(1.5rem, 3vw, 3rem)), var(--mf-diaspora-wide-shell)) !important;
    max-width: var(--mf-diaspora-wide-shell) !important;
  }

  html body.mf-diaspora-overview-page main#main-content .mf-progressive-section :where(.mf-di-shell, .mf-da-shell) {
    width: 100% !important;
    max-width: none !important;
  }

  html body.mf-diaspora-overview-page #mf-diaspora-section-app,
  html body.mf-diaspora-overview-page #mf-diaspora-section-app > .mf-diaspora-hub-lower {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 74.9375rem) {
  .mf-diaspora-desk__header,
  .mf-diaspora-desk__player-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .mf-diaspora-desk__intro {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.8fr);
  }

  .mf-diaspora-desk__route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mf-diaspora-desk__route {
    min-height: 13rem;
  }
}

@media (max-width: 47.5rem) {
  html body.mf-diaspora-overview-page .mf-diaspora-now.mf-diaspora-desk-host > .mf-diaspora-desk {
    width: calc(100% - 1rem) !important;
  }

  .mf-diaspora-desk__header,
  .mf-diaspora-desk__intro {
    grid-template-columns: minmax(0, 1fr);
  }

  .mf-diaspora-desk__intro h1 {
    max-width: 15ch;
    font-size: clamp(2.3rem, 12vw, 3.5rem) !important;
  }

  .mf-diaspora-desk__stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .mf-diaspora-desk__stats > span {
    border-right: 0;
    border-bottom: 1px solid rgba(247, 247, 244, 0.1);
  }

  .mf-diaspora-desk__stats > span:last-child {
    border-bottom: 0;
  }

  .mf-diaspora-desk__search > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.45rem;
  }

  .mf-diaspora-desk__tabs button {
    min-width: max-content;
    flex: 0 0 auto;
  }

  .mf-diaspora-player-feature {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .mf-diaspora-player-feature__media {
    aspect-ratio: 16 / 10;
  }

  .mf-diaspora-desk__player-rail {
    grid-auto-columns: minmax(14.5rem, 82vw);
  }

  .mf-diaspora-desk__route-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .mf-diaspora-desk__route {
    min-height: 11.5rem;
  }

  .mf-diaspora-desk__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .mf-diaspora-desk__footer a {
    margin-left: 0;
  }
}

@keyframes mf-diaspora-panel-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mf-diaspora-overview-page .mf-diaspora-desk__panel.is-active {
    animation: none;
  }

  .mf-diaspora-player-feature__media img,
  .mf-diaspora-player-compact__media img,
  .mf-diaspora-desk__route {
    transition: none;
  }
}

/* global-accessibility.css */
/*
 * Global accessibility behavior
 *
 * JavaScript may add state classes, but presentation stays in this stylesheet.
 */

.mf-v42-page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.mf-v42-ready .site-header { min-height: 52px !important; }

body.mf-v42-ready .site-header__inner {
  min-height: 52px !important;
  gap: .55rem !important;
}

body.mf-v42-ready .site-brand img {
  width: 34px !important;
  height: 34px !important;
}

body.mf-v42-ready .site-nav__link,
body.mf-v42-ready .site-nav__toggle,
body.mf-v42-ready .site-header .site-button,
body.mf-v42-ready .site-header a {
  min-height: 44px !important;
}

body.mf-v42-ready main#main-content {
  padding-top: clamp(.5rem, 1vw, 1rem);
}

body.mf-v42-ready :where(
  .stl-btn,
  .site-button,
  .filter-btn,
  .mf-chip,
  .mf-wc-section-nav a,
  .mf-home-quicklinks a,
  .mc-date-tabs button,
  .mc-quick-tabs button,
  .mf-transfer-tabs button,
  .mf-worldcup-verified__filters button,
  .mf-wc-v42-tabs button,
  main button,
  a[class*="btn"],
  a[class*="button"]
) {
  min-height: 44px !important;
}

body.mf-v42-ready :where(main input, main select, main textarea) {
  min-height: 44px !important;
}

body.mf-v42-ready :where(
  nav a,
  nav button,
  .site-header button:not(.site-theme-toggle),
  .mf-page-actions a,
  .mf-page-actions button,
  .mf-chip-row a,
  .mf-chip-row button
) {
  min-height: 44px !important;
  display: inline-flex;
  align-items: center;
}

body.mf-v42-ready .mf-v42-tap-target,
body.mf-v42-ready main .mf-v42-tap-target.mf-v42-tap-target {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
}

body.mf-v42-ready :where(a, button, [role="button"], input, select, textarea):focus-visible {
  outline: 3px solid #d6ff1f !important;
  outline-offset: 3px !important;
}

body.mf-v42-ready .mf-wc-section-nav .stl-container,
body.mf-v42-ready .mf-home-quicklinks,
body.mf-v42-ready .mf-chip-row {
  gap: .55rem !important;
}

@media (max-width: 760px) {
  body.mf-v42-ready .site-nav__link,
  body.mf-v42-ready .site-nav__toggle,
  body.mf-v42-ready .site-header a,
  body.mf-v42-ready :where(
    .stl-btn,
    .site-button,
    .filter-btn,
    .mf-chip,
    .mf-wc-section-nav a,
    .mf-home-quicklinks a,
    button,
    a[class*="btn"],
    a[class*="button"]
  ),
  body.mf-v42-ready .site-drawer a,
  body.mf-v42-ready .site-drawer button {
    min-height: 44px !important;
  }
}

/* global-dynamic-states.css */
/*
 * Shared dynamic component states
 *
 * JavaScript owns state changes only. Presentation for conversion actions,
 * loading placeholders, reveal motion, and image failures belongs here.
 */

:root {
  --mf-conversion-primary: #d9ff36;
  --mf-conversion-ink: #07140c;
}

.mf-conversion-primary {
  background: var(--mf-conversion-primary) !important;
  border-color: transparent !important;
  color: var(--mf-conversion-ink) !important;
  box-shadow: 0 8px 24px rgba(187, 250, 51, 0.16);
  font-weight: 800 !important;
  min-block-size: 44px;
}

.mf-conversion-primary :where(strong, span, small) {
  color: var(--mf-conversion-ink) !important;
}

.mf-conversion-secondary {
  min-block-size: 44px;
}

.mf-conversion-primary:focus-visible,
.mf-conversion-secondary:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.data-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-column: 1 / -1;
  padding: 2.25rem 1rem;
}

.data-skeleton-card {
  display: grid;
  gap: 0.7rem;
  width: min(100%, 32rem);
}

.data-skeleton-line {
  display: block;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.06));
  background-size: 200% 100%;
  animation: mf-skeleton-shift 1.1s linear infinite;
}

.data-skeleton-line--short {
  width: 52%;
}

@keyframes mf-skeleton-shift {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.mo-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.mo-reveal.mo-visible,
.mo-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes moSlideIn {
  from { opacity: 0; transform: translateX(-14px) scale(0.95); }
  to { opacity: 1; transform: none; }
}

img.mf-image-fallback[data-mf-fallback-terminal="true"],
picture.mf-image-area-empty {
  display: none !important;
}

.mf-image-area-empty:empty {
  display: none !important;
}

@media (max-width: 48rem) {
  .mf-conversion-primary,
  .mf-conversion-secondary {
    min-block-size: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .data-skeleton-line {
    animation: none;
  }

  .mo-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* global-matchday-ticker.css */
/*
 * Global matchday ticker
 *
 * This file is the single presentation owner for the shared matchday ribbon.
 * JavaScript supplies data and state only; sizing and layout remain in CSS.
 */

html body.mf-page-shell .mf-score-ribbon,
html body.mf-v42-ready .mf-score-ribbon,
html body .mf-score-ribbon.mf-polish-ticker-open {
  --mf-ticker-progress: 16.667%;
  position: relative;
  z-index: 80;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 124px minmax(0, 1fr) 132px 76px 92px !important;
  align-items: center !important;
  width: 100%;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #07120b;
  color: #f7fbff;
  border-block: 1px solid rgba(244, 196, 48, .32);
}

html body.mf-home-v22 .mf-score-ribbon.mf-polish-ticker-open {
  display: grid !important;
}

.mf-score-ribbon::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: auto 0 0;
  width: var(--mf-ticker-progress);
  height: 2px;
  background: linear-gradient(90deg, #e53935 0 33%, #f4c430 33% 66%, #46a83e 66%);
  transition: width .35s ease;
  pointer-events: none;
}

.mf-score-ribbon__brand {
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  gap: .48rem;
  width: 124px !important;
  min-width: 124px !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding: 0 .72rem;
  overflow: hidden;
  background: #080b0b;
  color: #f7f7f4;
  text-decoration: none;
  white-space: nowrap;
  border-inline-end: 1px solid rgba(244, 196, 48, .24);
}

.mf-score-ribbon__brand img {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
  flex: 0 0 30px !important;
}

.mf-score-ribbon__brand span {
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}

.mf-score-ribbon__brand span::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: .38rem;
  border-radius: 50%;
  background: #e53935;
  box-shadow: 0 0 0 4px rgba(229, 57, 53, .14);
  animation: mfTickerLive 1.8s ease-in-out infinite;
}

@keyframes mfTickerLive {
  50% { opacity: .45; transform: scale(.72); }
}

.mf-score-ribbon__rail {
  box-sizing: border-box;
  display: flex !important;
  align-items: stretch !important;
  min-width: 0 !important;
  width: 100%;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  background: #0b1517;
}

.mf-score-ribbon__rail::-webkit-scrollbar { display: none; }

.mf-score-ribbon__track {
  box-sizing: border-box;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  align-content: stretch !important;
  width: max-content !important;
  min-width: max-content !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  overflow: visible !important;
  transform: none !important;
  animation: none !important;
  will-change: auto !important;
}

.mf-score-ribbon__card {
  position: relative;
  box-sizing: border-box;
  display: grid !important;
  grid-template-areas: "league date" "match score" "meta meta" !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: 12px 23px 12px !important;
  align-content: center !important;
  column-gap: .5rem;
  row-gap: 1px;
  scroll-snap-align: start;
  flex: 0 0 252px !important;
  width: 252px !important;
  min-width: 252px !important;
  max-width: 252px !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  margin: 0 !important;
  padding: .32rem .72rem !important;
  overflow: hidden !important;
  border-inline-end: 1px solid rgba(244, 196, 48, .16);
  background: #0b1517;
  color: #f7f7f4;
  text-decoration: none;
  transition: background-color .2s ease, box-shadow .2s ease;
}

.mf-score-ribbon__card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: transparent;
  transition: background-color .2s ease;
}

.mf-score-ribbon__card.is-current {
  background: #10201e;
  box-shadow: inset 0 1px 0 rgba(70, 168, 62, .2);
}

.mf-score-ribbon__card.is-current::before { background: #f4c430; }
.mf-score-ribbon__card:hover { background: #132823; }

.mf-score-ribbon__league,
.mf-score-ribbon__date,
.mf-score-ribbon__card small {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: .58rem !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;
  font-weight: 700 !important;
}

.mf-score-ribbon__league {
  grid-area: league;
  color: #f4c430;
  text-transform: uppercase;
}

.mf-score-ribbon__date {
  grid-area: date;
  text-align: right;
  color: #b9c7c2;
}

.mf-score-ribbon__card small {
  grid-area: meta;
  color: #a9b7b2;
}

.mf-score-ribbon__match {
  grid-area: match;
  display: flex !important;
  align-items: center !important;
  gap: .38rem;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  font-size: .82rem !important;
  line-height: 1 !important;
  font-weight: 800;
}

.mf-score-ribbon__team {
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.mf-score-ribbon__team img,
.mf-score-ribbon__mark {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  object-fit: contain !important;
  flex: 0 0 24px !important;
}

.mf-score-ribbon__team b { font-size: .78rem !important; }

.mf-score-ribbon__match em {
  color: #778883 !important;
  font-size: .56rem !important;
  font-style: normal !important;
  text-transform: uppercase;
}

.mf-score-ribbon__scoreline {
  grid-area: score;
  align-self: center;
  color: #f4c430;
  font-size: .9rem;
  font-variant-numeric: tabular-nums;
}

.mf-score-ribbon__controls {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: repeat(3, 44px);
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  background: #080b0b;
  border-inline-start: 1px solid rgba(244, 196, 48, .22);
}

.mf-score-ribbon__controls button,
.mf-score-ribbon__visibility,
.mf-score-ribbon__utility {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding: 0;
  border: 0;
  border-inline-end: 1px solid rgba(244, 196, 48, .16);
  background: #080b0b;
  color: #f7f7f4;
  font: inherit;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.mf-score-ribbon__controls button {
  width: 44px !important;
  min-width: 44px !important;
  font-size: 1.35rem !important;
}

.mf-score-ribbon__toggle span {
  font-size: .74rem !important;
  letter-spacing: -.12em;
}

.mf-score-ribbon__visibility {
  width: 76px !important;
  min-width: 76px !important;
  font-size: .64rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}

.mf-score-ribbon__utility {
  width: 92px !important;
  min-width: 92px !important;
  padding: 0 .6rem;
  color: #f4c430 !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
}

.mf-score-ribbon__controls button:hover,
.mf-score-ribbon__visibility:hover,
.mf-score-ribbon__utility:hover {
  background: #14201b;
  color: #f4c430;
}

.mf-score-ribbon :is(button, a):focus-visible {
  outline: 3px solid #f4c430 !important;
  outline-offset: -3px !important;
}

@media (prefers-reduced-motion: reduce) {
  .mf-score-ribbon__brand span::before { animation: none; }
  .mf-score-ribbon__rail { scroll-behavior: auto; }
}

@media (max-width: 760px) {
  html body.mf-page-shell .mf-score-ribbon,
  html body.mf-home-v22 .mf-score-ribbon,
  html body .mf-score-ribbon.mf-polish-ticker-open {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 132px !important;
    grid-template-rows: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .mf-score-ribbon__brand,
  .mf-score-ribbon__visibility,
  .mf-score-ribbon__utility { display: none !important; }

  html body .mf-score-ribbon__rail,
  html body .mf-score-ribbon.mf-polish-ticker-open .mf-score-ribbon__rail {
    display: flex !important;
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .mf-score-ribbon__track,
  .mf-score-ribbon__card {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .mf-score-ribbon__card {
    flex-basis: clamp(220px, calc(100vw - 132px), 252px) !important;
    width: clamp(220px, calc(100vw - 132px), 252px) !important;
    min-width: clamp(220px, calc(100vw - 132px), 252px) !important;
    max-width: clamp(220px, calc(100vw - 132px), 252px) !important;
    padding-inline: .62rem !important;
  }

  .mf-score-ribbon__controls {
    grid-template-columns: repeat(3, 44px);
    width: 132px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .mf-score-ribbon__controls button {
    width: 44px !important;
    min-width: 44px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .mf-polish-ticker-toggle { display: none !important; }
}

/* global-hero-density.css */
/*
 * Shared hero density layer.
 *
 * Route styles own the visual treatment; this final runtime layer owns only
 * first-viewport height and rhythm so every public hero remains compact.
 */

:root {
  --mf-hero-pad-block: clamp(0.9rem, 1.65vw, 1.5rem);
  --mf-hero-grid-gap: clamp(0.8rem, 1.55vw, 1.3rem);
}

html body main#main-content > section:where(
  [class*="-hero"],
  [class*="__hero"]
) {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding-block: var(--mf-hero-pad-block) !important;
}

/* Legacy routes often put a second large height and vertical padding on the
   hero's inner grid. Reset only direct hero wrappers, leaving card internals
   and route-specific columns untouched. */
html body main#main-content > section:where(
  [class*="-hero"],
  [class*="__hero"]
) > :where(
  .stl-container,
  .mf-core-container,
  .mf-v22-container,
  .mf-di-shell,
  [class*="__grid"],
  [class*="__inner"]
) {
  min-height: 0 !important;
  height: auto !important;
  padding-block: 0 !important;
}

html body main#main-content > section:where(
  [class*="-hero"],
  [class*="__hero"]
) > :where(
  .stl-container,
  .mf-core-container,
  .mf-v22-container,
  .mf-di-shell,
  [class*="__grid"],
  [class*="__inner"]
):is([class*="grid"], [class*="inner"]) {
  gap: var(--mf-hero-grid-gap) !important;
}

html body main#main-content > section:where(
  [class*="-hero"],
  [class*="__hero"]
) :where(h1, .mf-core-title, .mf-unified-hero-title) {
  max-width: 15ch;
  margin-block: 0.35rem 0.55rem !important;
  font-size: clamp(2.15rem, 3.6vw, 3.7rem) !important;
  line-height: 0.94 !important;
  text-wrap: balance;
}

html body main#main-content > section:where(
  [class*="-hero"],
  [class*="__hero"]
) :where(
  .mf-core-actions,
  .mf-v22-actions,
  .mf-v22-hero__actions,
  .mf-daily-hero__actions,
  .mf-worldcup-hero__actions,
  .mf-transfer-hero__actions,
  .mf-youth-hero__actions,
  .mf-actions,
  .stl-actions
) {
  margin-top: 0.75rem !important;
  gap: 0.5rem !important;
}

@media (max-width: 47.99rem) {
  :root {
    --mf-hero-pad-block: 0.85rem;
    --mf-hero-grid-gap: 0.75rem;
  }

  html body main#main-content > section:where(
    [class*="-hero"],
    [class*="__hero"]
  ) :where(h1, .mf-core-title, .mf-unified-hero-title) {
    max-width: 16ch;
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
    line-height: 0.96 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body main#main-content > section:where(
    [class*="-hero"],
    [class*="__hero"]
  ) * {
    scroll-behavior: auto !important;
  }
}
