:root {
  --mf-accent-stl: #6ec4ff;
  --mf-accent-stl-soft: rgba(110, 196, 255, 0.18);
  --mf-accent-diaspora: #f3c44f;
  --mf-accent-diaspora-soft: rgba(243, 196, 79, 0.18);
  --mf-accent-world: #72d08f;
  --mf-accent-world-soft: rgba(114, 208, 143, 0.18);
  --mf-accent-match: #ff7b4d;
  --mf-accent-match-soft: rgba(255, 123, 77, 0.18);
  --mf-accent-partnerships: #d3d86a;
  --mf-accent-partnerships-soft: rgba(211, 216, 106, 0.18);
  --mf-accent-college: #9bc0ff;
  --mf-accent-college-soft: rgba(155, 192, 255, 0.18);
}

body.mf-system-page {
  --mf-page-accent: var(--accent);
  --mf-page-accent-soft: rgba(232, 180, 0, 0.14);
  --mf-page-surface: rgba(14, 19, 14, 0.9);
  --mf-page-surface-2: rgba(18, 24, 18, 0.78);
  --mf-page-border: rgba(232, 180, 0, 0.14);
}

.mf-city-radar-tools {
  padding-block: .85rem !important;
}

.mf-city-radar-toolbar {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto auto;
  gap: .65rem;
  align-items: center;
  padding: .75rem;
  border: 1px solid rgba(245, 200, 66, .16);
  border-radius: 1rem;
  background: rgba(7, 20, 15, .78);
}

.mf-city-radar-toolbar input {
  width: 100%;
  min-height: 2.55rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: .8rem;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  padding: 0 .85rem;
}

.mf-city-radar-filters {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
}

.mf-city-radar-filters button {
  border: 1px solid rgba(245, 200, 66, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  color: rgba(255, 255, 255, .82);
  cursor: pointer;
  font: 700 .72rem/1 var(--font-body, sans-serif);
  padding: .68rem .82rem;
}

.mf-city-radar-filters button:is(:hover, :focus-visible, .is-active) {
  background: var(--accent, #f5c842);
  border-color: var(--accent, #f5c842);
  color: #07100a;
}

.mf-city-radar-count {
  color: rgba(255, 255, 255, .62);
  font-size: .82rem;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .mf-city-radar-toolbar {
    grid-template-columns: 1fr;
  }
}

body.mf-system-home { --mf-page-accent: var(--accent); --mf-page-accent-soft: rgba(232, 180, 0, 0.14); }
body.mf-system-stl,
body.mf-system-school { --mf-page-accent: var(--mf-accent-stl); --mf-page-accent-soft: var(--mf-accent-stl-soft); }
body.mf-system-diaspora { --mf-page-accent: var(--mf-accent-diaspora); --mf-page-accent-soft: var(--mf-accent-diaspora-soft); }
body.mf-system-world { --mf-page-accent: var(--mf-accent-world); --mf-page-accent-soft: var(--mf-accent-world-soft); }
body.mf-system-match { --mf-page-accent: var(--mf-accent-match); --mf-page-accent-soft: var(--mf-accent-match-soft); }
body.mf-system-partnerships { --mf-page-accent: var(--mf-accent-partnerships); --mf-page-accent-soft: var(--mf-accent-partnerships-soft); }
body.mf-system-college { --mf-page-accent: var(--mf-accent-college); --mf-page-accent-soft: var(--mf-accent-college-soft); }

body.mf-system-page :where(.stl-city-hero, .stl-local-hero, .mf-unified-hero, .mf-editorial-hero, .mf-player-directory-hero, .mf-player-profile-hero) {
  position: relative;
  overflow: clip;
  border-bottom: 1px solid var(--mf-page-border);
  background-color: #071007;
}

body.mf-system-page :where(.stl-city-hero, .stl-local-hero, .mf-unified-hero, .mf-editorial-hero, .mf-player-directory-hero, .mf-player-profile-hero)::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 20%, var(--mf-page-accent-soft), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.05), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 45%);
  pointer-events: none;
}

body.mf-system-page :where(.stl-city-hero, .stl-local-hero, .mf-unified-hero, .mf-editorial-hero, .mf-player-directory-hero, .mf-player-profile-hero) > :where(.stl-container, .container) {
  position: relative;
  z-index: 1;
}

body.mf-system-page :where(.stl-city-layout, .mf-unified-hero-grid, .mf-player-directory-hero-grid, .mf-editorial-hero__grid) {
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: center;
}

body.mf-system-page :where(.mf-editorial-hero__panel, .mf-unified-hero-badge, .stl-city-badge, .mf-player-hero-crest) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
    rgba(10, 16, 10, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

body.mf-system-page :where(.mf-unified-hero-title, .stl-heading) {
  max-width: 13ch;
  text-wrap: balance;
}

body.mf-system-page :where(.mf-unified-hero-copy, .mf-lede, .stl-muted) {
  max-width: 66ch;
}

body.mf-system-page :where(.mf-page-actions, .hero-ctas, .mf-unified-hero-actions) {
  gap: 0.7rem;
}

body.mf-system-page :where(.stl-section-header-row) {
  align-items: end;
  gap: 1rem;
}

body.mf-system-page :where(.mf-route-card, .mf-proof-card, .mf-link-tile, .mf-info-card, .mf-surface-card, .mf-hub-card, .stl-community-card) {
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
}

body.mf-system-page :where(.mf-route-card, .mf-proof-card, .mf-link-tile, .mf-info-card, .mf-surface-card):hover {
  border-color: var(--mf-page-accent-soft);
}

body.stl-soccer-hub-page .mf-stl-hub-hero {
  background-image:
    linear-gradient(90deg, rgba(6,10,8,.9) 0%, rgba(6,10,8,.66) 50%, rgba(6,10,8,.66) 50%, rgba(6,10,8,.9) 100%),
    linear-gradient(90deg, rgba(110,196,255,.08), rgba(255,255,255,0) 46%, rgba(255,255,255,0) 54%, rgba(232,180,0,.08)),
    url("../img/stl-hero/youth-soccer-field.jpg"),
    url("../img/stl-hero/energizer-park-stl.jpg") !important;
  background-size: auto, auto, 50% 100%, 50% 100% !important;
  background-position: center, center, left center, right center !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
}

body.stl-soccer-hub-page .mf-stl-hub-hero .stl-heading {
  max-width: 11ch !important;
  font-size: clamp(2rem, 3.1vw, 2.85rem) !important;
  line-height: .96 !important;
}

body.stl-soccer-hub-page .mf-stl-hub-hero .stl-muted {
  max-width: 48ch !important;
}

@media (max-width: 760px) {
  body.stl-soccer-hub-page .mf-stl-hub-hero {
    background-image:
      linear-gradient(180deg, rgba(6,10,8,.9) 0%, rgba(6,10,8,.72) 100%),
      url("../img/stl-hero/energizer-park-stl.jpg"),
      url("../img/stl-hero/youth-soccer-field.jpg") !important;
    background-size: auto, cover, cover !important;
    background-position: center, center, center !important;
  }
}

body.mf-system-page :where(.stl-eyebrow, .mf-hero-side__eyebrow, .mf-daily-kicker, [data-breadcrumbs], .hero-ctas, .stl-hero-actions, .mf-page-actions, .mf-home-hero-actions, .mf-daily-actions, .mf-home-quicklinks, .mf-chip-row, .mf-system-meta, .mf-hero-tags, .mf-hero-chip-row, .mf-unified-hero-actions, .mf-media-hero-actions, .site-status-row, .yp-stat-strip),
body.mf-system-home :where(.mf-daily-kicker, .stl-eyebrow, .mf-home-hero-actions, .mf-daily-actions, .mf-home-quicklinks) {
  justify-content: center !important;
  margin-inline: auto !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  body.mf-system-page :where(.stl-city-hero, .stl-local-hero, .mf-world-hero, .mf-africa-hero, .mf-unified-hero, .mf-media-hero, .mf-editorial-hero, .hero, .page-hero, .us-hero, .league-hero, .hs-hero, .hscl-hero-bg, .yp-hero, .mf-player-directory-hero, .mf-contact-hero, .mf-simple-page-hero),
  body.mf-system-home .mf-daily-hero {
    min-height: clamp(255px, 44vh, 380px) !important;
    padding: calc(var(--nav-height, 68px) + 1rem) 1rem 1.5rem !important;
  }

  body.mf-system-page :where(.stl-city-hero, .stl-local-hero, .mf-world-hero, .mf-africa-hero, .mf-unified-hero, .mf-media-hero, .mf-editorial-hero, .hero, .page-hero, .us-hero, .league-hero, .hs-hero, .hscl-hero-bg, .yp-hero, .mf-player-directory-hero, .mf-contact-hero, .mf-simple-page-hero) :where(h1, .stl-heading, .stl-heading-xl, .mf-unified-hero-title),
  body.mf-system-home :where(.mf-home-hero-copy h1, .mf-daily-lead h1) {
    max-width: 13ch !important;
    font-size: clamp(2rem, 9vw, 2.55rem) !important;
  }
}

[data-component] {
  position: relative;
}

body.mf-system-home .mf-daily-hero {
  border-bottom: 1px solid var(--mf-page-border);
}

body.mf-system-home .mf-home-hero-grid,
body.mf-system-match .mf-unified-hero-grid {
  align-items: stretch;
}

body.mf-system-college .mf-editorial-hero,
body.mf-system-partnerships .mf-editorial-hero,
body.mf-system-match .mf-unified-hero {
  background-image: linear-gradient(135deg, rgba(6, 10, 6, 0.95), rgba(6, 10, 6, 0.72)) !important;
}

body.mf-system-world .mf-world-hero {
  background-position: center 36%;
}

body.mf-system-stl .stl-local-hero,
body.mf-system-stl .mf-directory-hero,
body.mf-system-school .mf-editorial-hero {
  background-image:
    linear-gradient(135deg, rgba(5, 10, 11, 0.94), rgba(5, 10, 11, 0.72)),
    linear-gradient(90deg, rgba(110, 196, 255, 0.07), rgba(255, 255, 255, 0.01) 46%, rgba(231, 76, 154, 0.07)) !important;
}

body.mf-system-diaspora :where(.mf-player-directory-hero, .mf-player-profile-hero) {
  background-image:
    linear-gradient(135deg, rgba(8, 8, 6, 0.95), rgba(8, 8, 6, 0.72)),
    radial-gradient(circle at 22% 18%, rgba(243, 196, 79, 0.16), transparent 30%),
    radial-gradient(circle at 80% 22%, rgba(84, 143, 71, 0.12), transparent 26%) !important;
}

body.mf-system-page .mf-system-template-list {
  display: grid;
  gap: 0.9rem;
}

@media (max-width: 900px) {
  .mf-system-rail-grid {
    grid-template-columns: 1fr;
  }

  body.mf-system-page :where(.mf-unified-hero-title, .stl-heading) {
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mf-system-fresh::before {
    box-shadow: none;
  }
}

/* STL directory hero cleanup */
body.mf-stl-directory-page .mf-directory-hero {
  min-height: clamp(260px, 34vh, 360px) !important;
  padding: calc(var(--nav-height, 72px) + 1rem) 1rem 1.6rem !important;
  background-image:
    linear-gradient(135deg, rgba(5, 10, 8, 0.94), rgba(5, 10, 8, 0.72)),
    linear-gradient(90deg, rgba(6, 10, 8, 0.88) 0%, rgba(6, 10, 8, 0.54) 42%, rgba(6, 10, 8, 0.84) 100%),
    url("https://commons.wikimedia.org/wiki/Special:FilePath/Gateway%20Arch%2C%20St.%20Louis.jpg"),
    url("../img/stl-hero/youth-soccer-field.jpg") !important;
  background-size: auto, auto, 56% 100%, 44% 100% !important;
  background-position: center, center, left center, right center !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
}

body.mf-stl-directory-page .mf-directory-hero > .stl-container,
body.mf-stl-directory-page .mf-directory-hero .stl-city-layout {
  width: min(100% - 2rem, 980px) !important;
  max-width: 980px !important;
  margin-inline: auto !important;
}

body.mf-stl-directory-page .mf-directory-hero .stl-city-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .85rem !important;
  justify-items: center !important;
  align-items: center !important;
  text-align: center !important;
}

body.mf-stl-directory-page .mf-directory-brand-card,
body.mf-stl-directory-page .mf-directory-hero .mf-hero-side {
  display: none !important;
}

body.mf-stl-directory-page .mf-directory-hero .stl-city-info,
body.mf-stl-directory-page .mf-directory-hero .stl-city-info .stl-muted,
body.mf-stl-directory-page .mf-directory-hero .stl-city-info .stl-heading,
body.mf-stl-directory-page .mf-directory-hero .stl-city-info .stl-eyebrow,
body.mf-stl-directory-page .mf-directory-hero .stl-city-info [data-breadcrumbs] {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  text-align: center !important;
  justify-content: center !important;
  justify-items: center !important;
}

body.mf-stl-directory-page .mf-directory-hero .stl-heading {
  max-width: 12ch !important;
  margin: .35rem auto .55rem !important;
  font-size: clamp(2rem, 4vw, 2.9rem) !important;
  line-height: .95 !important;
}

body.mf-stl-directory-page .mf-directory-hero .stl-muted {
  max-width: 54ch !important;
  font-size: .92rem !important;
  line-height: 1.48 !important;
}

body.mf-stl-directory-page .mf-directory-hero .hero-ctas {
  justify-content: center !important;
  margin: .95rem 0 0 !important;
  gap: .55rem !important;
}

body.mf-stl-directory-page .mf-directory-hero .hero-ctas .stl-btn {
  min-height: 42px !important;
  padding: .7rem 1rem !important;
}

body.mf-stl-directory-page .mf-directory-hero-notes {
  justify-content: center !important;
  gap: .45rem !important;
  margin-top: .8rem !important;
}

body.mf-stl-directory-page .mf-directory-hero-notes span {
  min-height: 1.9rem !important;
  padding: .32rem .65rem !important;
}

@media (max-width: 760px) {
  body.mf-stl-directory-page .mf-directory-hero {
    background-image:
      linear-gradient(180deg, rgba(5, 10, 8, 0.92), rgba(5, 10, 8, 0.76)),
      url("../img/stl-hero/youth-soccer-field.jpg"),
      url("https://commons.wikimedia.org/wiki/Special:FilePath/Gateway%20Arch%2C%20St.%20Louis.jpg") !important;
    background-size: auto, cover, cover !important;
    background-position: center, center, center !important;
  }
}

/* Match center hero cleanup */
body.mf-system-match .mf-match-hero {
  min-height: clamp(220px, 28vh, 300px) !important;
  padding: calc(var(--nav-height, 72px) + .85rem) 1rem 1.2rem !important;
  background-image:
    linear-gradient(135deg, rgba(6, 10, 8, 0.94), rgba(6, 10, 8, 0.72)),
    linear-gradient(180deg, rgba(255,255,255,.06) 0 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px),
    radial-gradient(circle at 18% 22%, rgba(255, 123, 77, .16), transparent 26%),
    url("https://images.unsplash.com/photo-1517466787929-bc90951d0974?auto=format&fit=crop&w=1600&q=80") !important;
  background-size: auto, 72px 72px, 72px 72px, auto, cover !important;
  background-position: center, center, center, center, center 38% !important;
}

body.mf-system-match .mf-match-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 14%, rgba(255,255,255,.05) 14% 16%, transparent 16% 84%, rgba(255,255,255,.05) 84% 86%, transparent 86%),
    linear-gradient(180deg, rgba(255,255,255,.06) 0 2px, transparent 2px 20%, rgba(255,255,255,.035) 20% 21%, transparent 21% 100%);
  pointer-events: none;
}

body.mf-system-match .mf-match-hero > .stl-container,
body.mf-system-match .mf-match-hero .mf-unified-hero-grid {
  width: min(100% - 2rem, 880px) !important;
  max-width: 880px !important;
}

body.mf-system-match .mf-match-hero .mf-unified-hero-badge {
  display: none !important;
}

body.mf-system-match .mf-match-hero .mf-unified-hero-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .7rem !important;
  justify-items: center !important;
}

body.mf-system-match .mf-match-hero :where(.mf-unified-hero-title, .stl-heading) {
  max-width: none !important;
  margin: .25rem auto .45rem !important;
  font-size: clamp(1.9rem, 3.8vw, 2.6rem) !important;
  line-height: .96 !important;
  white-space: nowrap !important;
}

body.mf-system-match .mf-match-hero :where(.mf-unified-hero-copy, .stl-muted) {
  max-width: 48ch !important;
  font-size: .9rem !important;
  line-height: 1.45 !important;
}

body.mf-system-match .mf-match-hero :where(.mf-unified-hero-actions, .hero-ctas) {
  gap: .5rem !important;
  margin-top: .8rem !important;
}

body.mf-system-match .mf-match-hero :where(.mf-unified-hero-actions a, .hero-ctas a, .stl-btn) {
  min-height: 40px !important;
  padding: .62rem .92rem !important;
  font-size: .78rem !important;
  border-radius: .8rem !important;
}

body.mf-system-match .mf-match-hero .mf-hero-tags,
body.mf-system-match .mf-match-hero .site-status-row,
body.mf-system-match .mf-match-hero .mf-system-meta,
body.mf-system-match .mf-match-hero [data-sponsor-zone="match-center-live"] {
  display: none !important;
}

@media (max-width: 760px) {
  body.mf-system-match .mf-match-hero {
    min-height: clamp(210px, 30vh, 270px) !important;
    padding: calc(var(--nav-height, 68px) + .75rem) 1rem 1rem !important;
    background-position: center, center, center, center, center !important;
  }
}

/* Sitewide partner-style hero shell */
body.mf-page-shell {
  --mf-shared-hero-image: url("../img/homepage/mofutbol-hero-grassroots-pro.png");
  --mf-shared-hero-accent: rgba(211, 216, 106, 0.18);
  --mf-shared-hero-accent-2: rgba(36, 108, 255, 0.16);
}

body.mf-theme-home,
body.mf-theme-partner {
  --mf-shared-hero-image: url("../img/homepage/mofutbol-hero-grassroots-pro.png");
  --mf-shared-hero-accent: rgba(211, 216, 106, 0.18);
  --mf-shared-hero-accent-2: rgba(36, 108, 255, 0.16);
}

body.mf-theme-stl,
body.mf-theme-us {
  --mf-shared-hero-image: url("../img/stl-hero/energizer-park-stl.jpg");
  --mf-shared-hero-accent: rgba(110, 196, 255, 0.2);
  --mf-shared-hero-accent-2: rgba(211, 216, 106, 0.16);
}

body.mf-theme-school {
  --mf-shared-hero-image: url("../img/stl-hero/energizer-park-stl.jpg");
  --mf-shared-hero-accent: rgba(155, 192, 255, 0.18);
  --mf-shared-hero-accent-2: rgba(243, 196, 79, 0.14);
}

body.mf-theme-diaspora {
  --mf-shared-hero-image: url("../img/homepage/mofutbol-hero-grassroots-pro.png");
  --mf-shared-hero-accent: rgba(243, 196, 79, 0.2);
  --mf-shared-hero-accent-2: rgba(66, 169, 255, 0.14);
}

body.mf-theme-world {
  --mf-shared-hero-image: url("../img/world-cup-hosts/world-cup-trophy-hero.jpg");
  --mf-shared-hero-accent: rgba(114, 208, 143, 0.18);
  --mf-shared-hero-accent-2: rgba(233, 57, 83, 0.14);
}

body.mf-page-shell :where(.mf-daily-hero, .mf-editorial-hero, .mf-africa-hero, .mf-world-hero, .mf-player-directory-hero, .mf-player-profile-hero, .mf-unified-hero, .stl-city-hero, .stl-local-hero, .hero, .page-hero, .us-hero, .league-hero, .hs-hero, .hscl-hero-bg, .yp-hero, .mf-simple-page-hero):not(.mf-partner-hero):not(.mf-worldcup-hero) {
  position: relative !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(232, 180, 0, 0.12) !important;
  background:
    linear-gradient(140deg, rgba(4, 10, 8, 0.92), rgba(4, 10, 8, 0.82)),
    var(--mf-shared-hero-image) center/cover no-repeat !important;
}

body.mf-page-shell :where(.mf-daily-hero, .mf-editorial-hero, .mf-africa-hero, .mf-world-hero, .mf-player-directory-hero, .mf-player-profile-hero, .mf-unified-hero, .stl-city-hero, .stl-local-hero, .hero, .page-hero, .us-hero, .league-hero, .hs-hero, .hscl-hero-bg, .yp-hero, .mf-simple-page-hero):not(.mf-partner-hero):not(.mf-worldcup-hero)::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, var(--mf-shared-hero-accent), transparent 24rem),
    radial-gradient(circle at 86% 24%, var(--mf-shared-hero-accent-2), transparent 28rem),
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: auto, auto, 88px 88px, 88px 88px;
  pointer-events: none;
}

body.mf-page-shell :where(.mf-daily-hero, .mf-editorial-hero, .mf-africa-hero, .mf-world-hero, .mf-player-directory-hero, .mf-player-profile-hero, .mf-unified-hero, .stl-city-hero, .stl-local-hero, .hero, .page-hero, .us-hero, .league-hero, .hs-hero, .hscl-hero-bg, .yp-hero, .mf-simple-page-hero):not(.mf-partner-hero):not(.mf-worldcup-hero) > :where(.stl-container, .container) {
  position: relative;
  z-index: 1;
}

body.mf-page-shell :where(.mf-home-hero-grid, .mf-daily-grid, .mf-editorial-hero__grid, .mf-africa-hero-grid, .mf-player-directory-hero-grid, .mf-player-profile-grid, .mf-unified-hero-grid, .stl-city-layout, .stl-local-hero__grid):not(.mf-partner-hero-grid) {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(21rem, 0.95fr) !important;
  gap: 1rem !important;
  align-items: stretch !important;
  width: min(100% - 2rem, 1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}

body.mf-page-shell :where(.mf-home-hero-copy, .mf-daily-lead, .mf-partner-copy, .mf-hero-copy, .mf-africa-hero-copy, .mf-media-hero-copy, .mf-world-hero__content, .stl-city-info, .stl-local-hero__content, .hero-content, .mf-unified-hero-grid > div:first-child, .mf-editorial-hero__grid > div:last-child, .mf-player-directory-hero-grid > div:first-child, .mf-player-profile-grid > div:first-child) {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .9rem;
  align-content: center;
  min-height: 100%;
  padding: 1.25rem !important;
  border-radius: 1.5rem !important;
  background: linear-gradient(180deg, rgba(4,6,4,.82), rgba(4,6,4,.58)) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(8px);
}

body.mf-page-shell :where(.mf-home-hero-rail, .mf-daily-board, .mf-partner-board, .mf-editorial-hero__panel, .mf-africa-hero-panel, .mf-hero-side, .mf-media-hero-screen, .bio-photo, .stl-city-badge) {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 1.35rem !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, rgba(18,22,13,.96), rgba(11,14,9,.96)) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.mf-page-shell :where(.mf-home-hero-copy, .mf-daily-lead, .mf-partner-copy, .mf-hero-copy, .mf-africa-hero-copy, .mf-media-hero-copy, .mf-world-hero__content, .stl-city-info, .stl-local-hero__content, .hero-content, .mf-unified-hero-grid > div:first-child, .mf-editorial-hero__grid > div:last-child, .mf-player-directory-hero-grid > div:first-child, .mf-player-profile-grid > div:first-child) :where(h1, .stl-heading, .mf-unified-hero-title) {
  max-width: 12.8ch !important;
  margin-bottom: .65rem !important;
  text-align: left !important;
}

body.mf-page-shell :where(.mf-home-hero-copy, .mf-daily-lead, .mf-partner-copy, .mf-hero-copy, .mf-africa-hero-copy, .mf-media-hero-copy, .mf-world-hero__content, .stl-city-info, .stl-local-hero__content, .hero-content, .mf-unified-hero-grid > div:first-child, .mf-editorial-hero__grid > div:last-child, .mf-player-directory-hero-grid > div:first-child, .mf-player-profile-grid > div:first-child) :where(p, .stl-muted, .mf-lede, .mf-unified-hero-copy) {
  margin: 0 !important;
  text-align: left !important;
}

body.mf-page-shell :where(.mf-daily-kicker, .stl-eyebrow, .mf-page-actions, .mf-home-hero-actions, .mf-daily-actions, .mf-home-quicklinks, .mf-chip-row, .mf-hero-tags, .mf-africa-hero-pills, .mf-unified-hero-actions, .hero-ctas) {
  justify-content: flex-start !important;
  margin-inline: 0 !important;
  text-align: left !important;
}

body.mf-page-shell :where(.mf-home-quicklinks a, .mf-chip-row span, .mf-africa-hero-pills span, .mf-hero-tags span) {
  border-color: rgba(211, 216, 106, 0.28) !important;
  background: rgba(255,255,255,.03) !important;
}

@media (max-width: 980px) {
  body.mf-page-shell :where(.mf-home-hero-grid, .mf-daily-grid, .mf-editorial-hero__grid, .mf-africa-hero-grid, .mf-player-directory-hero-grid, .mf-player-profile-grid, .mf-unified-hero-grid, .stl-city-layout, .stl-local-hero__grid):not(.mf-partner-hero-grid) {
    grid-template-columns: 1fr !important;
  }

  body.mf-page-shell :where(.mf-home-hero-copy, .mf-daily-lead, .mf-partner-copy, .mf-hero-copy, .mf-africa-hero-copy, .mf-media-hero-copy, .mf-world-hero__content, .stl-city-info, .stl-local-hero__content, .hero-content, .mf-unified-hero-grid > div:first-child, .mf-editorial-hero__grid > div:last-child, .mf-player-directory-hero-grid > div:first-child, .mf-player-profile-grid > div:first-child) :where(h1, .stl-heading, .mf-unified-hero-title),
  body.mf-page-shell :where(.mf-home-hero-copy, .mf-daily-lead, .mf-partner-copy, .mf-hero-copy, .mf-africa-hero-copy, .mf-media-hero-copy, .mf-world-hero__content, .stl-city-info, .stl-local-hero__content, .hero-content, .mf-unified-hero-grid > div:first-child, .mf-editorial-hero__grid > div:last-child, .mf-player-directory-hero-grid > div:first-child, .mf-player-profile-grid > div:first-child) :where(p, .stl-muted, .mf-lede, .mf-unified-hero-copy) {
    text-align: center !important;
    margin-inline: auto !important;
  }

  body.mf-page-shell :where(.mf-daily-kicker, .stl-eyebrow, .mf-page-actions, .mf-home-hero-actions, .mf-daily-actions, .mf-home-quicklinks, .mf-chip-row, .mf-hero-tags, .mf-africa-hero-pills, .mf-unified-hero-actions, .hero-ctas) {
    justify-content: center !important;
    text-align: center !important;
  }
}

body.mf-theme-home .mf-daily-hero .mf-daily-bg,
body.mf-theme-us .mf-daily-hero .mf-daily-bg,
body.mf-theme-partner .mf-daily-hero .mf-daily-bg,
body.mf-theme-stl .mf-daily-hero .mf-daily-bg,
body.mf-theme-school .mf-daily-hero .mf-daily-bg,
body.mf-theme-world .mf-daily-hero .mf-daily-bg,
body.mf-theme-diaspora .mf-daily-hero .mf-daily-bg {
  background:
    linear-gradient(140deg, rgba(4, 10, 8, 0.92), rgba(4, 10, 8, 0.82)),
    var(--mf-shared-hero-image) center/cover no-repeat !important;
}

body.mf-theme-diaspora .mf-africa-hero,
body.mf-theme-diaspora .mf-africa-hero--taste {
  background:
    linear-gradient(140deg, rgba(4, 10, 8, 0.92), rgba(4, 10, 8, 0.82)),
    var(--mf-shared-hero-image) center/cover no-repeat !important;
}

body.mf-page-shell .mf-daily-hero,
body.mf-page-shell .mf-daily-hero .mf-daily-bg {
  background-image:
    linear-gradient(140deg, rgba(4, 10, 8, 0.92), rgba(4, 10, 8, 0.82)),
    var(--mf-shared-hero-image) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body.mf-page-shell .mf-africa-hero,
body.mf-page-shell .mf-africa-hero--taste,
body.mf-page-shell .mf-player-directory-hero,
body.mf-page-shell .mf-player-profile-hero {
  background-image:
    linear-gradient(140deg, rgba(4, 10, 8, 0.92), rgba(4, 10, 8, 0.82)),
    var(--mf-shared-hero-image) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body.mf-home-taste .mf-daily-hero,
body.mf-system-home.mf-home-taste .mf-daily-hero,
body.mf-page-shell.mf-home-taste .mf-daily-hero,
body.mf-home-taste .mf-daily-hero .mf-daily-bg {
  background:
    linear-gradient(140deg, rgba(4, 10, 8, 0.92), rgba(4, 10, 8, 0.82)),
    var(--mf-shared-hero-image) center/cover no-repeat !important;
}

body.mf-page-shell:not(.mf-home-taste) :where(.stl-city-hero, .stl-local-hero, .mf-world-hero, .mf-africa-hero, .mf-unified-hero, .mf-media-hero, .mf-editorial-hero, .mf-player-directory-hero, .mf-simple-page-hero) {
  background-color: #071009;
  box-shadow: inset 0 -1px 0 rgba(200, 242, 48, 0.12);
}

body.mf-page-shell:not(.mf-home-taste) :where(.stl-city-hero, .stl-local-hero, .mf-world-hero, .mf-africa-hero, .mf-unified-hero, .mf-media-hero, .mf-editorial-hero, .mf-player-directory-hero, .mf-simple-page-hero)::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6, 10, 7, 0.28), rgba(6, 10, 7, 0.74)),
    radial-gradient(circle at 22% 16%, rgba(245, 200, 66, 0.16), transparent 22rem),
    radial-gradient(circle at 76% 18%, rgba(115, 255, 167, 0.1), transparent 24rem);
  pointer-events: none;
}

body.mf-africa-page .mf-africa-hero,
body.mf-africa-page--taste .mf-africa-hero,
body.mf-africa-page--taste .mf-africa-hero--taste,
body.mf-africa-page .mf-player-directory-hero,
body.mf-africa-page .mf-player-profile-hero {
  background:
    linear-gradient(140deg, rgba(4, 10, 8, 0.92), rgba(4, 10, 8, 0.82)),
    var(--mf-shared-hero-image) center/cover no-repeat !important;
}

/* Desktop-first refresh: shared shell polish and homepage hierarchy */
body.mf-page-shell,
body.mf-home-taste {
  --mf-desktop-max: 1240px;
  --mf-surface-panel: linear-gradient(180deg, rgba(9, 16, 12, 0.94), rgba(5, 10, 7, 0.98));
  --mf-surface-elevated: linear-gradient(180deg, rgba(17, 27, 21, 0.96), rgba(7, 12, 9, 0.98));
}

.site-header {
  border-bottom-color: rgba(245, 200, 66, 0.14) !important;
  background:
    linear-gradient(180deg, rgba(3, 9, 6, 0.92), rgba(3, 9, 6, 0.82)) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.24);
}

.site-header__inner {
  width: min(100% - 2rem, var(--mf-desktop-max)) !important;
  margin-inline: auto !important;
}

.site-nav {
  overflow: visible;
  mask-image: none;
  -webkit-mask-image: none;
}

.site-nav__list {
  gap: 0.35rem !important;
  padding-inline: 0 !important;
}

.site-nav__link,
.site-nav__toggle {
  min-height: 2.8rem !important;
  padding: 0.72rem 0.92rem !important;
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
}

.site-nav > .site-nav__list .site-nav__icon,
.site-nav > .site-nav__list .site-nav__mini-logo {
  display: none !important;
}

.site-nav__link:hover,
.site-nav__toggle:hover,
.site-nav__link:focus-visible,
.site-nav__toggle:focus-visible,
.site-nav__link[aria-current="page"],
.site-nav__item.is-current > .site-nav__toggle,
.site-nav__item.is-open > .site-nav__toggle {
  background:
    linear-gradient(180deg, rgba(245, 200, 66, 0.14), rgba(255, 255, 255, 0.04)),
    rgba(9, 16, 12, 0.94) !important;
  border-color: rgba(245, 200, 66, 0.24) !important;
}

.site-nav__panel {
  top: calc(100% + 0.8rem) !important;
  min-width: 23rem !important;
  padding: 0.8rem !important;
  border-radius: 1.2rem !important;
  background:
    linear-gradient(180deg, rgba(9, 16, 12, 0.98), rgba(5, 10, 7, 0.98)) !important;
  border-color: rgba(245, 200, 66, 0.16) !important;
}

.site-nav__panel a {
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 0.7rem !important;
  border-radius: 0.95rem !important;
}

.site-header__cta,
.site-theme-toggle {
  min-height: 2.9rem !important;
  border-radius: 999px !important;
}

.site-header__cta {
  padding-inline: 1rem !important;
  border: 1px solid rgba(245, 200, 66, 0.18) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

.site-footer__inner {
  width: min(100% - 2rem, var(--mf-desktop-max)) !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(20rem, 1.25fr) repeat(3, minmax(10rem, 0.8fr)) !important;
}

.site-footer__brand,
.site-footer__nav {
  padding-top: 0.25rem;
}

.site-footer__copy {
  max-width: 42ch;
  color: rgba(235, 240, 244, 0.72);
}

.site-footer__bottom {
  width: min(100% - 2rem, var(--mf-desktop-max)) !important;
  margin-inline: auto !important;
}

.subscribe-input,
.site-newsletter-form input[type="email"],
.site-newsletter-form input[type="text"] {
  min-height: 3.45rem !important;
  border-radius: 1rem !important;
  border-color: rgba(245, 200, 66, 0.16) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

.site-newsletter-form input[type="email"]:focus-visible,
.site-newsletter-form input[type="text"]:focus-visible,
.subscribe-input:focus-visible {
  outline: 2px solid rgba(245, 200, 66, 0.88);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(245, 200, 66, 0.14);
}

body.mf-system-home.mf-home-taste .mf-daily-hero {
  min-height: auto !important;
  padding: calc(var(--nav-height, 72px) + 1.4rem) 0 1.35rem !important;
  background:
    linear-gradient(115deg, rgba(3, 9, 6, 0.96), rgba(3, 9, 6, 0.68)),
    var(--mf-shared-hero-image) center/cover no-repeat !important;
  box-shadow: inset 0 -1px 0 rgba(245, 200, 66, 0.08);
}

body.mf-system-home.mf-home-taste .mf-daily-hero::before {
  background:
    radial-gradient(circle at 12% 18%, rgba(245, 200, 66, 0.18), transparent 24rem),
    radial-gradient(circle at 88% 18%, rgba(45, 184, 75, 0.12), transparent 22rem),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) !important;
  background-size: auto, auto, 72px 72px, 72px 72px !important;
  opacity: 1 !important;
}

body.mf-system-home.mf-home-taste .mf-daily-hero::after {
  background: linear-gradient(180deg, rgba(2, 6, 4, 0.18), rgba(2, 6, 4, 0.36)) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-grid,
body.mf-system-home.mf-home-taste .mf-daily-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(22rem, 0.8fr) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: min(100% - 2rem, var(--mf-desktop-max)) !important;
  max-width: var(--mf-desktop-max) !important;
  gap: 1rem !important;
  text-align: left !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-copy,
body.mf-system-home.mf-home-taste .mf-daily-lead {
  width: auto !important;
  max-width: none !important;
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 0.95rem !important;
  padding: clamp(1.5rem, 3vw, 2.4rem) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.6rem !important;
  background:
    linear-gradient(180deg, rgba(5, 10, 7, 0.78), rgba(5, 10, 7, 0.48)) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34) !important;
  backdrop-filter: blur(12px);
}

body.mf-system-home.mf-home-taste .mf-home-hero-copy h1,
body.mf-system-home.mf-home-taste .mf-daily-lead h1 {
  max-width: 10.5ch !important;
  margin: 0 !important;
  font-size: clamp(3rem, 4.8vw, 4.9rem) !important;
  line-height: 0.92 !important;
  text-align: left !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-copy > p,
body.mf-system-home.mf-home-taste .mf-daily-lead > p {
  max-width: 58ch !important;
  margin: 0 !important;
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
  text-align: left !important;
  -webkit-line-clamp: unset !important;
}

body.mf-system-home.mf-home-taste .mf-daily-kicker,
body.mf-system-home.mf-home-taste .mf-home-hero-actions,
body.mf-system-home.mf-home-taste .mf-home-quicklinks {
  justify-content: flex-start !important;
  margin-inline: 0 !important;
  text-align: left !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-actions .stl-btn,
body.mf-system-home.mf-home-taste .mf-daily-actions .stl-btn {
  min-height: 3rem !important;
  padding: 0.9rem 1.15rem !important;
}

body.mf-system-home.mf-home-taste .mf-home-quicklinks {
  gap: 0.55rem !important;
}

body.mf-system-home.mf-home-taste .mf-home-quicklinks a {
  min-height: 2.2rem !important;
  padding: 0.52rem 0.8rem !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: rgba(255, 245, 207, 0.92) !important;
  font-size: 0.68rem !important;
}

body.mf-system-home.mf-home-taste .mf-home-proof {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.2rem;
}

body.mf-system-home.mf-home-taste .mf-home-proof article {
  display: grid;
  gap: 0.35rem;
  min-height: 6.25rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(245, 200, 66, 0.14);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.03);
}

body.mf-system-home.mf-home-taste .mf-home-proof span {
  color: #f5c842;
  font: 800 0.66rem/1 var(--f-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.mf-system-home.mf-home-taste .mf-home-proof strong {
  color: #fff;
  font-size: 0.98rem;
  line-height: 1.35;
}

body.mf-system-home.mf-home-taste .mf-home-hero-rail,
body.mf-system-home.mf-home-taste .mf-daily-board {
  display: grid !important;
  align-content: start !important;
  max-width: none !important;
  border: 1px solid rgba(245, 200, 66, 0.16) !important;
  border-radius: 1.55rem !important;
  background: var(--mf-surface-panel) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34) !important;
  overflow: hidden !important;
}

body.mf-system-home.mf-home-taste .mf-home-feed-list {
  display: grid;
  gap: 0.7rem;
}

body.mf-system-home.mf-home-taste .mf-home-feed-list a {
  border-radius: 1rem !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

body.mf-system-home.mf-home-taste .mf-home-worldcup-wrap,
body.mf-system-home.mf-home-taste .mf-daily-ticker {
  display: block !important;
  width: min(100% - 2rem, var(--mf-desktop-max)) !important;
  max-width: var(--mf-desktop-max) !important;
  margin: 0.9rem auto 0 !important;
}

body.mf-system-home.mf-home-taste .mf-home-worldcup-wrap {
  padding: 1rem 1.05rem;
  border: 1px solid rgba(245, 200, 66, 0.12);
  border-radius: 1.3rem;
  background: rgba(4, 8, 6, 0.7);
}

body.mf-system-home.mf-home-taste .mf-daily-ticker {
  border: 1px solid rgba(245, 200, 66, 0.12);
  border-radius: 999px;
  background: rgba(5, 10, 7, 0.84);
}

body.mf-system-home.mf-home-taste .mf-daily-section .stl-container {
  width: min(100% - 2rem, var(--mf-desktop-max));
  max-width: var(--mf-desktop-max);
}

body.mf-system-home.mf-home-taste .stl-section-header-row {
  align-items: end;
  margin-bottom: 1rem !important;
}

body.mf-system-home.mf-home-taste .stl-section-header-row > div:first-child {
  max-width: 48rem;
  display: grid;
  gap: 0.45rem;
}

body.mf-system-home.mf-home-taste .mf-section-intro {
  margin: 0;
  color: rgba(235, 240, 244, 0.68);
  font-size: 0.95rem;
  line-height: 1.55;
}

body.mf-system-home.mf-home-taste .mf-front-page-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr) !important;
  gap: 1rem !important;
}

body.mf-system-home.mf-home-taste .mf-front-rail {
  position: sticky;
  top: calc(var(--nav-height) + 1rem);
}

body.mf-system-home.mf-home-taste .mf-front-main,
body.mf-system-home.mf-home-taste .mf-front-panel,
body.mf-system-home.mf-home-taste .mf-weekly-spotlight,
body.mf-system-home.mf-home-taste .newsletter-strip,
body.mf-system-home.mf-home-taste .mf-home-lane-strip .stl-container,
body.mf-system-home.mf-home-taste .mf-growth-viz a {
  border-radius: 1.35rem !important;
  background: var(--mf-surface-panel) !important;
  border-color: rgba(245, 200, 66, 0.12) !important;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.22) !important;
}

body.mf-system-home.mf-home-taste .mf-platform-route-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

body.mf-system-home.mf-home-taste .mf-weekly-pathway-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.9rem !important;
}

body.mf-system-home.mf-home-taste .newsletter-strip {
  grid-template-columns: minmax(0, 1.15fr) minmax(21rem, 0.85fr) !important;
  align-items: center !important;
  padding: 1.5rem !important;
}

body.mf-system-home.mf-home-taste .mf-newsletter-band--editorial .subscribe-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 0.75rem !important;
  align-items: start !important;
}

body.mf-system-home.mf-home-taste .mf-newsletter-band--editorial .site-newsletter-form__status {
  grid-column: 1 / -1;
}

@media (max-width: 1100px) {
  .site-nav {
    overflow-x: auto;
  }

  body.mf-system-home.mf-home-taste .mf-home-hero-grid,
  body.mf-system-home.mf-home-taste .mf-daily-grid,
  body.mf-system-home.mf-home-taste .mf-front-page-grid,
  body.mf-system-home.mf-home-taste .mf-platform-route-grid,
  body.mf-system-home.mf-home-taste .mf-weekly-pathway-grid,
  body.mf-system-home.mf-home-taste .newsletter-strip,
  body.mf-system-home.mf-home-taste .mf-newsletter-band--editorial .subscribe-form {
    grid-template-columns: 1fr !important;
  }

  body.mf-system-home.mf-home-taste .mf-front-rail {
    position: static;
  }

  body.mf-system-home.mf-home-taste .mf-home-proof {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .site-header__inner,
  .site-footer__inner,
  .site-footer__bottom {
    width: min(100% - 1.25rem, var(--mf-desktop-max)) !important;
  }

  body.mf-system-home.mf-home-taste .mf-home-hero-copy,
  body.mf-system-home.mf-home-taste .mf-daily-lead {
    justify-items: center !important;
    text-align: center !important;
  }

  body.mf-system-home.mf-home-taste .mf-home-hero-copy h1,
  body.mf-system-home.mf-home-taste .mf-daily-lead h1,
  body.mf-system-home.mf-home-taste .mf-home-hero-copy > p,
  body.mf-system-home.mf-home-taste .mf-daily-lead > p,
  body.mf-system-home.mf-home-taste .mf-daily-kicker,
  body.mf-system-home.mf-home-taste .mf-home-hero-actions,
  body.mf-system-home.mf-home-taste .mf-home-quicklinks {
    text-align: center !important;
    justify-content: center !important;
  }
}

/* Hub shell standardization: STL, diaspora, media, and world pages opt into one safer layer. */
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) {
  --mf-hub-max: 1220px;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .mf-hub-section-intro {
  margin: 0;
  max-width: 60ch;
  color: rgba(235, 240, 244, 0.7);
  font-size: 0.95rem;
  line-height: 1.55;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .mf-hub-proof-row {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .mf-hub-proof-card {
  display: grid;
  gap: 0.35rem;
  min-height: 6.1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(245, 200, 66, 0.14);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.035);
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .mf-hub-proof-card span {
  color: #f5c842;
  font: 800 0.66rem/1 var(--f-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .mf-hub-proof-card strong {
  color: #fff;
  font-size: 0.98rem;
  line-height: 1.35;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .site-header__inner,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .site-footer__inner,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .site-footer__bottom,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .stl-container {
  width: min(100% - 2rem, var(--mf-hub-max));
  max-width: var(--mf-hub-max);
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-daily-hero {
  min-height: auto !important;
  padding: calc(var(--nav-height, 72px) + 1.35rem) 0 1.2rem !important;
  box-shadow: inset 0 -1px 0 rgba(245, 200, 66, 0.08);
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-home-hero-grid,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-daily-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: min(100% - 2rem, var(--mf-hub-max)) !important;
  max-width: var(--mf-hub-max) !important;
  gap: 1rem !important;
  text-align: left !important;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy, .mf-daily-lead) {
  width: auto !important;
  max-width: none !important;
  display: grid !important;
  justify-items: start !important;
  align-content: center !important;
  gap: 0.95rem !important;
  padding: clamp(1.45rem, 2.8vw, 2.2rem) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.45rem !important;
  background: linear-gradient(180deg, rgba(4, 9, 7, 0.8), rgba(4, 9, 7, 0.54)) !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28) !important;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy h1, .mf-daily-lead h1) {
  max-width: 10.8ch !important;
  margin: 0 !important;
  text-align: left !important;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy > p, .mf-daily-lead > p) {
  margin: 0 !important;
  max-width: 58ch !important;
  text-align: left !important;
  -webkit-line-clamp: unset !important;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-daily-kicker, .mf-home-hero-actions, .mf-daily-actions, .mf-home-quicklinks) {
  justify-content: flex-start !important;
  margin-inline: 0 !important;
  text-align: left !important;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-rail, .mf-daily-board) {
  display: grid !important;
  align-content: start !important;
  max-width: none !important;
  border: 1px solid rgba(245, 200, 66, 0.14) !important;
  border-radius: 1.45rem !important;
  background: linear-gradient(180deg, rgba(9, 16, 12, 0.94), rgba(5, 10, 7, 0.98)) !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28) !important;
}

body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-worldcup-wrap, .mf-daily-ticker) {
  display: block !important;
  width: min(100% - 2rem, var(--mf-hub-max)) !important;
  max-width: var(--mf-hub-max) !important;
  margin: 0.85rem auto 0 !important;
}

body.mf-diaspora-page .mf-diaspora-hero {
  position: relative;
  overflow: hidden;
  padding: calc(var(--nav-height, 72px) + 1.4rem) 0 1.5rem;
  border-bottom: 1px solid rgba(245, 200, 66, 0.12);
  background:
    linear-gradient(135deg, rgba(6, 10, 8, 0.94), rgba(6, 10, 8, 0.76)),
    url("../img/homepage/mofutbol-hero-grassroots-pro.png") center/cover no-repeat;
}

body.mf-diaspora-page .mf-diaspora-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(243, 196, 79, 0.16), transparent 22rem),
    radial-gradient(circle at 84% 20%, rgba(66, 169, 255, 0.12), transparent 24rem),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: auto, auto, 72px 72px, 72px 72px;
  pointer-events: none;
}

body.mf-diaspora-page .mf-diaspora-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
  justify-items: start;
  padding: clamp(1.55rem, 2.8vw, 2.35rem);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.5rem;
  background: linear-gradient(180deg, rgba(5, 10, 8, 0.8), rgba(5, 10, 8, 0.52));
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
}

body.mf-diaspora-page .mf-diaspora-hero h1 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(2.8rem, 5vw, 4.2rem);
  line-height: 0.92;
}

body.mf-diaspora-page .mf-diaspora-hero p {
  max-width: 60ch;
  margin: 0;
  color: rgba(235, 240, 244, 0.76);
}

body.mf-diaspora-page .mf-diaspora-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

body.mf-diaspora-page .mf-diaspora-board .mf-diaspora-grid {
  gap: 1rem;
}

body.mf-diaspora-page .mf-diaspora-card {
  border-radius: 1.2rem;
  border-color: rgba(245, 200, 66, 0.12);
  background: linear-gradient(180deg, rgba(10, 16, 11, 0.94), rgba(6, 10, 7, 0.98));
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
}

body.mf-wc-shell .mf-worldcup-hero .stl-container,
body.mf-wc-shell .mf-worldcup-hero__grid {
  width: min(100%, var(--mf-hub-max));
  max-width: var(--mf-hub-max);
}

body.mf-wc-shell .mf-worldcup-hero__copy,
body.mf-wc-shell .mf-worldcup-hero__media {
  border-radius: 1.5rem;
}

body.mf-wc-shell .mf-worldcup-hero__copy {
  padding: clamp(1.2rem, 2.1vw, 1.6rem);
}

@media (max-width: 980px) {
  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-home-hero-grid,
  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-daily-grid,
  body.mf-wc-shell .mf-worldcup-hero__grid {
    grid-template-columns: 1fr !important;
  }

  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-diaspora-page, .mf-media-page, .mf-wc-shell) .mf-hub-proof-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy, .mf-daily-lead),
  body.mf-diaspora-page .mf-diaspora-hero__inner {
    justify-items: center;
    text-align: center;
  }

  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy h1, .mf-daily-lead h1),
  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy > p, .mf-daily-lead > p),
  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-daily-kicker, .mf-home-hero-actions, .mf-daily-actions, .mf-home-quicklinks),
  body.mf-diaspora-page .mf-diaspora-actions {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Compact frontend cleanup pass: reduce scroll, soften legacy hero bloat, and keep hub pages fast to scan. */
:root {
  --nav-height: 3.65rem;
  --nav-h: var(--nav-height);
  --mf-section-y: 1.15rem;
  --mf-card-radius: 0.5rem;
}

.site-header {
  min-height: var(--nav-height) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
}

.site-header__inner {
  min-height: var(--nav-height) !important;
  padding-block: 0.35rem !important;
}

.site-brand__logo {
  width: 38px !important;
  height: 38px !important;
}

.site-brand__tag {
  display: none !important;
}

.site-nav__list,
.site-header__actions {
  gap: 0.35rem !important;
}

.site-nav__link,
.site-nav__toggle,
.site-header__cta,
.site-theme-toggle {
  min-height: 2.2rem !important;
  padding: 0.42rem 0.68rem !important;
  border-radius: var(--mf-card-radius) !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.01em !important;
}

body.mf-system-home.mf-home-taste .mf-daily-hero,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-daily-hero,
body.mf-diaspora-page .mf-diaspora-hero,
body.mf-wc-shell .mf-worldcup-hero {
  min-height: 0 !important;
  padding: calc(var(--nav-height) + 0.75rem) 0 0.85rem !important;
}

body.stl-soccer-hub-page .mf-daily-hero .mf-home-worldcup-wrap {
  display: none !important;
}

body.mf-system-home.mf-home-taste .mf-daily-hero .mf-home-worldcup-wrap {
  display: none !important;
}

body.mf-wc-shell:not(.mf-world-cup-page) .mf-worldcup-hero__route-strip,
body.mf-wc-shell:not(.mf-world-cup-page) .mf-worldcup-hero__league-grid,
body.mf-wc-shell:not(.mf-world-cup-page) .mf-worldcup-hero__ticker {
  display: none !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-card,
body.mf-system-home.mf-home-taste .mf-home-hero-copy,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy, .mf-daily-lead),
body.mf-diaspora-page .mf-diaspora-hero__inner,
body.mf-wc-shell .mf-worldcup-hero__copy,
body.mf-wc-shell .mf-worldcup-hero__media {
  border-radius: var(--mf-card-radius) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22) !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-grid,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-home-hero-grid,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) .mf-daily-grid,
body.mf-wc-shell .mf-worldcup-hero__grid {
  gap: 0.9rem !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-copy,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy, .mf-daily-lead),
body.mf-diaspora-page .mf-diaspora-hero__inner,
body.mf-wc-shell .mf-worldcup-hero__copy {
  gap: 0.75rem !important;
  padding: 1.05rem !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-copy h1,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy h1, .mf-daily-lead h1),
body.mf-diaspora-page .mf-diaspora-hero h1,
body.mf-wc-shell .mf-worldcup-hero h1 {
  max-width: 13ch !important;
  font-size: 2.65rem !important;
  line-height: 0.96 !important;
}

body.mf-system-home.mf-home-taste .mf-home-hero-copy > p,
body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy > p, .mf-daily-lead > p),
body.mf-diaspora-page .mf-diaspora-hero p,
body.mf-wc-shell .mf-worldcup-hero p {
  max-width: 58ch !important;
  font-size: 0.94rem !important;
  line-height: 1.45 !important;
}

.mf-home-proof,
.mf-hub-proof-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.5rem !important;
  margin-top: 0.2rem !important;
}

.mf-proof-card,
.mf-hub-proof,
.mf-hub-proof-card {
  min-height: 0 !important;
  padding: 0.6rem 0.7rem !important;
  border-radius: var(--mf-card-radius) !important;
  box-shadow: none !important;
}

.mf-proof-card strong,
.mf-hub-proof strong,
.mf-hub-proof-card strong {
  font-size: 0.9rem !important;
  line-height: 1.15 !important;
}

.mf-proof-card span,
.mf-hub-proof span,
.mf-hub-proof-card span {
  font-size: 0.72rem !important;
  line-height: 1.3 !important;
}

.mf-daily-section,
.stl-section,
.stl-section--alt,
.mf-section,
.mf-diaspora-board,
.mf-worldcup-section {
  padding-block: var(--mf-section-y) !important;
}

.stl-section-header-row,
.mf-section-head,
.mf-diaspora-section-head,
.mf-worldcup-section__head {
  gap: 0.65rem !important;
  margin-bottom: 0.75rem !important;
  align-items: end !important;
}

.stl-subheading,
.mf-section-title,
.mf-diaspora-section-head h2,
.mf-worldcup-section__head h2 {
  max-width: 18ch !important;
  margin-bottom: 0.25rem !important;
  font-size: 1.35rem !important;
  line-height: 1.12 !important;
}

.mf-section-intro,
.mf-hub-section-intro,
.mf-diaspora-section-head p,
.mf-worldcup-section__head p {
  max-width: 58ch !important;
  margin-top: 0.3rem !important;
  font-size: 0.86rem !important;
  line-height: 1.42 !important;
}

.mf-daily-tabs,
.mf-home-hero-actions,
.mf-daily-actions,
.mf-diaspora-actions,
.mf-home-quicklinks {
  gap: 0.45rem !important;
}

.mf-chip,
.stl-btn,
.btn,
.btn-gold {
  border-radius: var(--mf-card-radius) !important;
}

.mf-daily-card,
.mf-story-card,
.mf-wire-card,
.mf-weekly-spotlight,
.mf-diaspora-card,
.mf-worldcup-card,
.newsletter-strip,
.mf-newsletter-band,
.mf-video-card,
.mf-platform-card {
  border-radius: var(--mf-card-radius) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16) !important;
}

.mf-daily-card,
.mf-weekly-spotlight,
.mf-diaspora-card,
.mf-worldcup-card,
.newsletter-strip,
.mf-newsletter-band {
  padding: 0.9rem !important;
}

.mf-daily-grid,
.mf-card-grid,
.mf-story-grid,
.mf-weekly-pathway-grid,
.mf-diaspora-grid,
.mf-worldcup-grid,
.mf-platform-route-grid {
  gap: 0.75rem !important;
}

.mf-weekly-pathway__head {
  margin-bottom: 0.6rem !important;
}

.mf-weekly-player-row,
.potw-photo {
  margin-bottom: 0.55rem !important;
}

.potw-photo {
  width: 64px !important;
  height: 64px !important;
}

.mf-newsletter-band,
.newsletter-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr) !important;
  gap: 0.9rem !important;
  align-items: center !important;
}

.mf-newsletter-copy h3,
.newsletter-strip h3 {
  margin: 0 0 0.35rem !important;
  font-size: 1.2rem !important;
  line-height: 1.18 !important;
}

.mf-newsletter-copy ul {
  display: none !important;
}

.subscribe-form,
.mf-newsletter-form {
  gap: 0.45rem !important;
}

.subscribe-input,
.mf-newsletter-form input {
  min-height: 2.55rem !important;
  border-radius: var(--mf-card-radius) !important;
}

.site-footer,
[data-site-footer] footer {
  padding-block: 1.4rem !important;
}

@media (max-width: 980px) {
  :root {
    --nav-height: 3.85rem;
    --mf-section-y: 1rem;
  }

  body.mf-system-home.mf-home-taste .mf-home-hero-copy h1,
  body.mf-page-shell:is(.stl-soccer-hub-page, .mf-media-page) :where(.mf-home-hero-copy h1, .mf-daily-lead h1),
  body.mf-diaspora-page .mf-diaspora-hero h1,
  body.mf-wc-shell .mf-worldcup-hero h1 {
    font-size: 2.15rem !important;
  }

  .mf-home-proof,
  .mf-hub-proof-row,
  .mf-newsletter-band,
  .newsletter-strip {
    grid-template-columns: 1fr !important;
  }
}

/* Homepage title pass: keep hierarchy by size/color, not heavy bold weight. */
body.mf-system-home.mf-home-taste :where(
  .mf-daily-hero h1,
  .mf-hero-title-streamlined,
  .stl-section-header-row h2,
  .stl-subheading,
  .mf-wire-head .stl-subheading,
  .mf-front-main h2,
  .mf-front-main h3,
  .mf-front-panel h2,
  .mf-front-panel h3,
  .mf-daily-tab-card h2,
  .mf-weekly-spotlight h3,
  .mf-newsletter-copy h3,
  .mf-wc-clock h3,
  .mf-wc-home__headline strong,
  .mf-home-feed-list strong,
  .mf-daily-ticker__item strong,
  .mf-board-top strong,
  .mf-home-match-item strong,
  .mf-home-status-card strong,
  .mf-growth-viz strong
) {
  font-weight: 400 !important;
}

body.mf-system-home.mf-home-taste :where(
  .stl-eyebrow,
  .mf-daily-meta,
  .mf-taste-kicker,
  .mf-weekly-level
) {
  font-weight: 500 !important;
}

body.mf-page-shell main :where(
  h1,
  h2,
  h3,
  h4,
  .stl-heading,
  .stl-subheading,
  .mf-unified-hero-title,
  .mf-worldcup-hero__title,
  .mf-hero-title-streamlined,
  .mf-hero-side__title,
  .mf-match-featured-title,
  .mf-media-card__title,
  .stl-community-card-title,
  .article-card-title,
  .story-card-title,
  .stl-hub-tier-club,
  .mf-home-spotlight-card h3,
  .mf-front-main h3,
  .mf-front-panel h3,
  .mf-daily-tab-card h2,
  .mf-wire-card strong,
  .mf-signal-lane__feature strong,
  .mf-signal-lane__match strong,
  .mf-link-tile strong,
  .mf-resource-card h3,
  .resource-card h3,
  .player-card h3,
  .episode-card h3,
  .mf-news-card h3
) {
  font-weight: 400 !important;
}

body.mf-page-shell main :where(
  .stl-eyebrow,
  .mf-daily-meta,
  .mf-wire-meta,
  .mf-chip,
  .tag,
  .pill
) {
  font-weight: 500 !important;
}

body.mf-page-shell :where(
  h1,
  h2,
  h3,
  h4,
  .stl-heading,
  .stl-subheading,
  .mf-unified-hero-title,
  .mf-worldcup-hero__title,
  .mf-hero-title-streamlined,
  .mf-hero-side__title,
  .mf-match-featured-title,
  .mf-media-card__title,
  .stl-community-card-title,
  .article-card-title,
  .story-card-title,
  .stl-hub-tier-club,
  .mf-home-spotlight-card h3,
  .mf-front-main h3,
  .mf-front-panel h3,
  .mf-daily-tab-card h2,
  .mf-wire-card strong,
  .mf-signal-lane__feature strong,
  .mf-signal-lane__match strong,
  .mf-link-tile strong,
  .mf-resource-card h3,
  .resource-card h3,
  .player-card h3,
  .episode-card h3,
  .mf-news-card h3
) {
  font-weight: 400 !important;
}
/* Contributor login stays visible on tablet/laptop widths even when other
   campaign CTAs collapse into the menu. */
@media (max-width: 1180px) {
  .site-header__actions .site-header__cta--contributor {
    display: inline-flex !important;
    min-height: 2.45rem !important;
    padding-inline: .72rem !important;
  }
}

@media (max-width: 560px) {
  .site-header__actions .site-header__cta--contributor {
    min-width: 2.8rem !important;
    padding-inline: .58rem !important;
  }
}
