/* Supplied U.S. Soccer and HBCU mockup treatment. Scope is limited to the six approved routes. */
:is(body.mf-system-college, body.mf-us-open-cup-page, body.citysc-page, body.mf-core-nextpro-page, body.mf-v20-us-lane-page, body.mf-hbcu-page[data-hbcu-view="home"]) {
  --mf-mock-green: #19d86b;
  --mf-mock-gold: #f5c329;
  --mf-mock-red: #ef3542;
  --mf-mock-ink: #030806;
  --mf-mock-panel: #07110d;
  --mf-mock-line: rgba(78, 218, 129, .42);
  background: #020604;
  color: #f5f7f3;
}

:is(body.mf-system-college, body.mf-us-open-cup-page, body.citysc-page, body.mf-core-nextpro-page, body.mf-v20-us-lane-page) main#main-content {
  background: radial-gradient(circle at 50% 0, rgba(24, 117, 65, .14), transparent 38rem), #020604;
}

/* Keep large route art readable and consistently proportioned. */
body.mf-system-college .mf-editorial-hero,
body.mf-us-open-cup-page .stl-city-hero,
body.citysc-page .citysc-team-hero,
body.mf-core-nextpro-page .mf-core-hero,
body.mf-v20-us-lane-page .mf-v20-lane-hero {
  position: relative;
  isolation: isolate;
  min-height: 25rem;
  display: grid;
  align-items: end;
  overflow: hidden;
  border-bottom: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--mf-mock-green) 0 44%, var(--mf-mock-gold) 44% 70%, var(--mf-mock-red) 70%) 1;
  background-color: #06110c;
  background-position: center;
  background-size: cover;
}
body.mf-system-college .mf-editorial-hero { background-image: linear-gradient(90deg, rgba(2, 7, 4, .96) 0%, rgba(2, 7, 4, .72) 51%, rgba(2, 7, 4, .3)), url('/assets/img/stl-hero/youth-soccer-field.jpg'); }
body.mf-us-open-cup-page .stl-city-hero { background-image: linear-gradient(90deg, rgba(2, 7, 4, .96) 0%, rgba(2, 7, 4, .7) 55%, rgba(2, 7, 4, .22)), url('/assets/img/homepage/us-open-cup-stl-semifinal-official.jpg') !important; }
body.citysc-page .citysc-team-hero { background-image: linear-gradient(90deg, rgba(2, 7, 4, .96) 0%, rgba(2, 7, 4, .66) 52%, rgba(2, 7, 4, .2)), url('/assets/img/stl-hero/energizer-park-stl.jpg'); }
body.mf-core-nextpro-page .mf-core-hero { background-image: linear-gradient(90deg, rgba(2, 7, 4, .96) 0%, rgba(2, 7, 4, .72) 54%, rgba(2, 7, 4, .28)), url('/assets/img/us-soccer/city2-matchday-official.jpg'); }
body.mf-v20-us-lane-page .mf-v20-lane-hero { background-image: linear-gradient(90deg, rgba(2, 7, 4, .96) 0%, rgba(2, 7, 4, .7) 53%, rgba(2, 7, 4, .25)), url('/assets/img/heroes/shared-hero-live.png'); }

body.mf-system-college .mf-editorial-hero__grid,
body.mf-us-open-cup-page .stl-city-layout,
body.citysc-page .citysc-team-hero__grid,
body.mf-core-nextpro-page .mf-core-hero__grid,
body.mf-v20-us-lane-page .mf-v20-lane-hero__grid {
  width: min(100% - 48px, 1320px);
  margin-inline: auto;
  padding-block: 2.7rem 2rem;
  position: relative;
  z-index: 1;
}
body.mf-system-college .mf-editorial-hero h1,
body.mf-us-open-cup-page .stl-city-hero h1,
body.citysc-page .citysc-team-hero h1,
body.mf-core-nextpro-page .mf-core-title,
body.mf-v20-us-lane-page .mf-v20-lane-hero h1 {
  max-width: 15ch;
  margin-block: .35rem .65rem;
  color: #fff;
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-size: clamp(3rem, 5.4vw, 6.1rem) !important;
  line-height: .86 !important;
  letter-spacing: .01em !important;
  text-wrap: balance;
  text-transform: uppercase;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .48);
}
body.mf-system-college .mf-editorial-hero p,
body.mf-us-open-cup-page .stl-city-hero p,
body.citysc-page .citysc-team-hero__lede,
body.mf-core-nextpro-page .mf-core-lede,
body.mf-v20-us-lane-page .mf-v20-lane-hero p { max-width: 39rem; color: #f2f5ed; font-size: clamp(.94rem, 1.15vw, 1.12rem); line-height: 1.48; }

body.mf-system-college .mf-editorial-hero .stl-eyebrow,
body.mf-us-open-cup-page .stl-city-hero .stl-eyebrow,
body.citysc-page .citysc-team-hero__kicker span,
body.mf-core-nextpro-page .mf-core-kicker,
body.mf-v20-us-lane-page .stl-eyebrow {
  color: var(--mf-mock-gold);
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.mf-system-college .stl-section,
body.mf-us-open-cup-page .stl-section,
body.mf-v20-us-lane-page .stl-section,
body.mf-core-nextpro-page .mf-core-section,
body.citysc-page .citysc-hub-shell,
body.citysc-page .citysc-source-strip { padding-block: 1.25rem; }
body.mf-system-college .stl-container,
body.mf-us-open-cup-page .stl-container,
body.mf-v20-us-lane-page .stl-container,
body.citysc-page .stl-container,
body.mf-core-nextpro-page .mf-core-container { width: min(100% - 48px, 1320px); }

/* Dense, mockup-like horizontal page navigation. */
body.mf-core-nextpro-page .mf-core-nav,
body.mf-system-college .mf-us-platform,
body.mf-us-open-cup-page .mf-us-platform,
body.mf-v20-us-lane-page .mf-us-platform {
  background: #06110c;
  border-block: 1px solid var(--mf-mock-line);
}
body.mf-core-nextpro-page .mf-core-nav__inner,
body.mf-system-college .mf-us-platform__inner,
body.mf-us-open-cup-page .mf-us-platform__inner,
body.mf-v20-us-lane-page .mf-us-platform__inner { min-height: 4.2rem; gap: 0; }
body.mf-core-nextpro-page .mf-core-nav a,
body.mf-system-college .mf-us-platform a,
body.mf-us-open-cup-page .mf-us-platform a,
body.mf-v20-us-lane-page .mf-us-platform a {
  min-height: 4.2rem;
  padding: .75rem 1.2rem;
  display: grid;
  place-items: center;
  border-inline: 1px solid rgba(78, 218, 129, .22);
  color: #f4f6ef;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
body.mf-core-nextpro-page .mf-core-nav a:first-child,
body.mf-system-college .mf-us-platform a:first-child,
body.mf-us-open-cup-page .mf-us-platform a:first-child,
body.mf-v20-us-lane-page .mf-us-platform a:first-child { background: linear-gradient(135deg, rgba(25, 216, 107, .38), rgba(4, 33, 18, .9)); box-shadow: inset 0 0 0 1px var(--mf-mock-green); }

/* Data regions retain their current adapters but gain the panel rhythm in the approved mockups. */
body.mf-system-college .mf-college-command,
body.mf-us-open-cup-page #us-open-cup-tracker,
body.citysc-page #stlcitysc-hub-app,
body.mf-core-nextpro-page .mf-core-section > .mf-core-container,
body.mf-v20-us-lane-page .mf-v20-platform-grid,
body.mf-v20-us-lane-page .mf-v20-official-media,
body.mf-v20-us-lane-page .mf-v20-video-board,
body.mf-v20-us-lane-page .mf-v20-route-board,
body.mf-v20-us-lane-page .mf-v20-lane-switchboard,
body.mf-v20-us-lane-page .mf-v20-resource-grid {
  border: 1px solid rgba(78, 218, 129, .3);
  background: linear-gradient(145deg, rgba(7, 20, 13, .98), rgba(3, 10, 7, .98));
  box-shadow: 0 12px 34px rgba(0, 0, 0, .26);
}
body.mf-system-college .mf-college-command,
body.mf-us-open-cup-page #us-open-cup-tracker,
body.citysc-page #stlcitysc-hub-app { padding: 1rem; }
body.mf-core-nextpro-page .mf-core-section > .mf-core-container { padding: 1.1rem; }
body.mf-core-nextpro-page .mf-core-section { background: transparent; }
body.mf-core-nextpro-page .mf-core-section--tint { background: rgba(5, 17, 11, .72); }

body.mf-system-college .mf-college-watch-player-grid,
body.mf-core-nextpro-page .mf-nextpro-match-grid,
body.mf-core-nextpro-page .mf-core-club-grid,
body.mf-v20-us-lane-page .mf-v20-platform-grid--us,
body.mf-v20-us-lane-page .mf-v20-resource-grid { gap: .75rem; }
body.mf-system-college .mf-college-watch-player,
body.mf-core-nextpro-page .mf-nextpro-match,
body.mf-core-nextpro-page .mf-core-club,
body.mf-v20-us-lane-page .mf-v20-platform-grid a,
body.mf-v20-us-lane-page .mf-v20-resource-grid a,
body.mf-v20-us-lane-page .mf-v20-lane-switchboard article,
body.mf-v20-us-lane-page .mf-proof-card {
  border-radius: 2px;
  border-color: rgba(78, 218, 129, .38);
  background: rgba(3, 14, 9, .94);
}

body.mf-us-open-cup-page .usoc-madness,
body.mf-us-open-cup-page .usoc-history-grid,
body.mf-us-open-cup-page .usoc-path,
body.citysc-page .citysc-hub-grid,
body.citysc-page .citysc-dashboard-grid { gap: .8rem; }
body.mf-us-open-cup-page .usoc-madness > *,
body.mf-us-open-cup-page .usoc-history-card,
body.mf-us-open-cup-page .usoc-source-card,
body.citysc-page .citysc-panel,
body.citysc-page .citysc-story-card,
body.citysc-page .citysc-source-card { border-radius: 2px; border-color: rgba(78, 218, 129, .35); }

body.citysc-page .citysc-team-hero__media,
body.mf-core-nextpro-page .mf-core-visual,
body.mf-v20-us-lane-page .mf-v20-lane-panel { border: 1px solid rgba(245, 195, 41, .65); background: rgba(2, 10, 6, .82); backdrop-filter: blur(4px); }
body.citysc-page .citysc-team-hero__media { padding: 1rem; }
body.mf-core-nextpro-page .mf-nextpro-hero__marks { min-height: 14rem; }
body.mf-core-nextpro-page .mf-nextpro-hero__marks img { max-height: 9rem; object-fit: contain; }

/* HBCU: restore its hidden content, raise its type scale, and keep the campaign compact. */
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead {
  min-height: 22rem !important;
  height: auto !important;
  background-image: linear-gradient(90deg, rgba(2, 7, 4, .95) 0%, rgba(2, 7, 4, .7) 55%, rgba(2, 7, 4, .25)), url('/assets/img/stl-hero/youth-soccer-field.jpg');
}
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead__grid { height: auto !important; padding-block: 2.4rem 1.7rem !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead h1 { font-size: clamp(3.8rem, 7vw, 7.8rem) !important; line-height: .82 !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead h2 { margin-top: .45rem !important; font-size: clamp(1.2rem, 2.1vw, 2rem) !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead p { font-size: .85rem !important; line-height: 1.4 !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead__grid dl div { min-height: 5.8rem !important; padding: .9rem !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead dt { font-size: .72rem !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead dd { font-size: 2.4rem !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-campaign-hero { padding-block: 1.1rem !important; background: #030806; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard { border: 1px solid rgba(78, 218, 129, .42); box-shadow: 0 12px 34px rgba(0, 0, 0, .28); }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__schools,
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__body,
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__footer { display: grid !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__header { min-height: 4.6rem !important; padding: .85rem 1rem !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__title strong { font-size: clamp(1.2rem, 1.8vw, 1.85rem) !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__section-head strong { font-size: clamp(1.2rem, 1.7vw, 1.7rem) !important; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__body,
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__footer { gap: 1rem; }
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-match-card,
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-update-card,
body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-program-card { border-color: rgba(78, 218, 129, .32); }

@media (max-width: 780px) {
  body.mf-system-college .mf-editorial-hero,
  body.mf-us-open-cup-page .stl-city-hero,
  body.citysc-page .citysc-team-hero,
  body.mf-core-nextpro-page .mf-core-hero,
  body.mf-v20-us-lane-page .mf-v20-lane-hero { min-height: 20rem; background-position: 62% center; }
  body.mf-system-college .mf-editorial-hero__grid,
  body.mf-us-open-cup-page .stl-city-layout,
  body.citysc-page .citysc-team-hero__grid,
  body.mf-core-nextpro-page .mf-core-hero__grid,
  body.mf-v20-us-lane-page .mf-v20-lane-hero__grid,
  body.mf-system-college .stl-container,
  body.mf-us-open-cup-page .stl-container,
  body.mf-v20-us-lane-page .stl-container,
  body.citysc-page .stl-container,
  body.mf-core-nextpro-page .mf-core-container { width: min(100% - 24px, 1320px); }
  body.mf-system-college .mf-editorial-hero h1,
  body.mf-us-open-cup-page .stl-city-hero h1,
  body.citysc-page .citysc-team-hero h1,
  body.mf-core-nextpro-page .mf-core-title,
  body.mf-v20-us-lane-page .mf-v20-lane-hero h1 { font-size: clamp(2.6rem, 13vw, 4.3rem) !important; }
  body.mf-core-nextpro-page .mf-core-nav__inner,
  body.mf-system-college .mf-us-platform__inner,
  body.mf-us-open-cup-page .mf-us-platform__inner,
  body.mf-v20-us-lane-page .mf-us-platform__inner { overflow-x: auto; justify-content: flex-start; }
  body.mf-core-nextpro-page .mf-core-nav a,
  body.mf-system-college .mf-us-platform a,
  body.mf-us-open-cup-page .mf-us-platform a,
  body.mf-v20-us-lane-page .mf-us-platform a { min-width: max-content; min-height: 3.55rem; padding-inline: .85rem; font-size: .74rem; }
  body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead { min-height: 25rem !important; }
  body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead__grid { grid-template-columns: 1fr !important; gap: 1.2rem !important; }
  body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-approved-masthead__grid dl { grid-template-columns: repeat(2, 1fr) !important; }
  body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__body,
  body.mf-hbcu-page[data-hbcu-view="home"] .mf-hbcu-dashboard__footer { grid-template-columns: 1fr !important; }
}

html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead {
  min-height: 22rem !important;
  height: auto !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead__grid {
  height: auto !important;
  padding-block: 2.4rem 1.7rem !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead h1 {
  font-size: clamp(3.8rem, 7vw, 7.8rem) !important;
  line-height: .82 !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead h2 { font-size: clamp(1.2rem, 2.1vw, 2rem) !important; }
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead p { font-size: .85rem !important; line-height: 1.4 !important; }
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead__grid dl div { min-height: 5.8rem !important; padding: .9rem !important; }
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead dt { font-size: .72rem !important; }
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead dd { font-size: 2.4rem !important; }
@media (max-width: 780px) {
  html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead { min-height: 25rem !important; }
  html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead__grid { grid-template-columns: 1fr !important; gap: 1.2rem !important; }
  html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead__grid dl { grid-template-columns: repeat(2, 1fr) !important; }
}

/* The route files load historical visual layers after their base sheets. Keep the approved shell decisive. */
html:root body.mf-system-college main#main-content .mf-editorial-hero.mf-us-primary-hero {
  min-height: 25rem !important;
  display: grid !important;
  align-items: end !important;
}
html:root body.mf-system-college main#main-content .mf-editorial-hero.mf-us-primary-hero .mf-unified-hero-title {
  width: auto !important;
  max-width: 13ch !important;
  font-family: 'Bebas Neue', Impact, sans-serif !important;
  font-size: clamp(3rem, 5.4vw, 6.1rem) !important;
  line-height: .86 !important;
  letter-spacing: .01em !important;
}
html:root body.mf-system-college main#main-content .mf-editorial-hero.mf-us-primary-hero .mf-unified-hero-copy { max-width: 42rem !important; }
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero,
html:root body.citysc-page main#main-content .citysc-team-hero,
html:root body.mf-core-nextpro-page main#main-content .mf-core-hero,
html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero { min-height: 25rem !important; }
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero h1,
html:root body.citysc-page main#main-content .citysc-team-hero h1,
html:root body.mf-core-nextpro-page main#main-content .mf-core-title,
html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero h1 {
  max-width: 15ch !important;
  font-family: 'Bebas Neue', Impact, sans-serif !important;
  font-size: clamp(3rem, 5.4vw, 6.1rem) !important;
  line-height: .86 !important;
}
@media (max-width: 780px) {
  html:root body.mf-system-college main#main-content .mf-editorial-hero.mf-us-primary-hero,
  html:root body.mf-us-open-cup-page main#main-content .stl-city-hero,
  html:root body.citysc-page main#main-content .citysc-team-hero,
  html:root body.mf-core-nextpro-page main#main-content .mf-core-hero,
  html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero { min-height: 20rem !important; }
  html:root body.mf-system-college main#main-content .mf-editorial-hero.mf-us-primary-hero .mf-unified-hero-title,
  html:root body.mf-us-open-cup-page main#main-content .stl-city-hero h1,
  html:root body.citysc-page main#main-content .citysc-team-hero h1,
  html:root body.mf-core-nextpro-page main#main-content .mf-core-title,
  html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero h1 { font-size: clamp(2.65rem, 13vw, 4.2rem) !important; }
}

/* Second-pass hero composition: preserve the route copy and source-backed modules,
   but remove the legacy centered-card treatment that fights the campaign hierarchy. */
html:root body.mf-system-college main#main-content .mf-editorial-hero {
  min-height: 29rem !important;
  padding-block: 2.2rem !important;
  background-image:
    linear-gradient(90deg, rgba(2, 10, 6, .97) 0%, rgba(2, 10, 6, .85) 45%, rgba(2, 10, 6, .2) 100%),
    url('/assets/img/stl-hero/youth-soccer-field.jpg') !important;
  background-position: center !important;
  background-size: cover !important;
}
html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-editorial-hero__grid {
  width: min(100% - 48px, 1320px) !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(17rem, .55fr) !important;
  justify-items: stretch !important;
  text-align: left !important;
  align-items: end !important;
  gap: clamp(1rem, 4vw, 4rem) !important;
}
html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-editorial-hero__grid > div:last-child {
  order: 1 !important;
  max-width: 48rem !important;
  padding: 1.35rem 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-editorial-hero__panel {
  order: 2 !important;
  padding: 1rem !important;
  background: rgba(3, 13, 8, .76) !important;
  border: 1px solid rgba(78, 218, 129, .48) !important;
  box-shadow: none !important;
}
html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-editorial-hero__grid :is(h1, p, .mf-lede) { text-align: left !important; }
html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-unified-hero-title { margin-inline: 0 !important; }

html:root body.mf-us-open-cup-page main#main-content .stl-city-hero {
  min-height: 29rem !important;
  padding-block: 2.1rem !important;
  background-image:
    linear-gradient(90deg, rgba(2, 9, 6, .97) 0%, rgba(2, 9, 6, .86) 42%, rgba(2, 9, 6, .24) 100%),
    url('/assets/img/homepage/us-open-cup-stl-semifinal-official.jpg') !important;
  background-position: center !important;
  background-size: cover !important;
}
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero .stl-city-layout {
  width: min(100% - 48px, 1320px) !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .48fr) !important;
  align-items: end !important;
  gap: clamp(1rem, 4vw, 4rem) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero .stl-city-info {
  order: 1 !important;
  max-width: 50rem !important;
  padding: 1rem 0 !important;
  background: transparent !important;
  text-align: left !important;
}
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero .stl-city-badge {
  order: 2 !important;
  padding: 1rem !important;
  background: rgba(3, 13, 8, .8) !important;
  border: 1px solid rgba(245, 195, 41, .65) !important;
  box-shadow: none !important;
}
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero :is(h1, p) { text-align: left !important; margin-inline: 0 !important; }
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero h1 { color: #fff !important; }
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero p { color: #e6f2e8 !important; }

html:root body.citysc-page main#main-content .citysc-team-hero {
  min-height: 29rem !important;
  padding-block: 2.1rem !important;
  background-image:
    linear-gradient(90deg, rgba(2, 9, 6, .96) 0%, rgba(2, 9, 6, .8) 46%, rgba(2, 9, 6, .22) 100%),
    url('/assets/img/stl-hero/energizer-park-stl.jpg') !important;
  background-position: center !important;
  background-size: cover !important;
}
html:root body.citysc-page main#main-content .citysc-team-hero .citysc-team-hero__grid {
  width: min(100% - 48px, 1320px) !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(16rem, .5fr) !important;
  align-items: end !important;
  gap: clamp(1rem, 4vw, 4rem) !important;
}
html:root body.citysc-page main#main-content .citysc-team-hero__copy {
  max-width: 48rem !important;
  padding: 1rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html:root body.mf-core-nextpro-page main#main-content .mf-nextpro-hero {
  min-height: 29rem !important;
  padding-block: 2.1rem !important;
  background-image:
    linear-gradient(90deg, rgba(2, 9, 6, .97) 0%, rgba(2, 9, 6, .82) 48%, rgba(2, 9, 6, .22) 100%),
    url('/assets/img/us-soccer/city2-matchday-official.jpg') !important;
  background-position: center !important;
  background-size: cover !important;
}
html:root body.mf-core-nextpro-page main#main-content .mf-core-hero__grid {
  width: min(100% - 48px, 1320px) !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .45fr) !important;
  align-items: end !important;
  gap: clamp(1rem, 4vw, 4rem) !important;
}
html:root body.mf-core-nextpro-page main#main-content .mf-core-hero__grid > div:first-child { max-width: 48rem !important; padding: 1rem 0 !important; }
html:root body.mf-core-nextpro-page main#main-content .mf-nextpro-hero__marks { background: rgba(3, 13, 8, .76) !important; box-shadow: none !important; }

html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero {
  min-height: 29rem !important;
  padding-block: 2.1rem !important;
  background-image:
    linear-gradient(90deg, rgba(2, 9, 6, .97) 0%, rgba(2, 9, 6, .82) 48%, rgba(2, 9, 6, .18) 100%),
    url('/assets/img/us-soccer/city2-roster-official.jpg') !important;
  background-position: center !important;
  background-size: cover !important;
}
html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero__grid {
  width: min(100% - 48px, 1320px) !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .45fr) !important;
  align-items: end !important;
  gap: clamp(1rem, 4vw, 4rem) !important;
}
html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero__grid > div:first-child {
  max-width: 48rem !important;
  padding: 1rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-panel { box-shadow: none !important; }

@media (max-width: 780px) {
  html:root body.mf-system-college main#main-content .mf-editorial-hero,
  html:root body.mf-us-open-cup-page main#main-content .stl-city-hero,
  html:root body.citysc-page main#main-content .citysc-team-hero,
  html:root body.mf-core-nextpro-page main#main-content .mf-nextpro-hero,
  html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero { min-height: 24rem !important; padding-block: 1rem !important; }
  html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-editorial-hero__grid,
  html:root body.mf-us-open-cup-page main#main-content .stl-city-hero .stl-city-layout,
  html:root body.citysc-page main#main-content .citysc-team-hero .citysc-team-hero__grid,
  html:root body.mf-core-nextpro-page main#main-content .mf-core-hero__grid,
  html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero__grid { width: min(100% - 24px, 1320px) !important; grid-template-columns: 1fr !important; }
  html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-editorial-hero__panel,
  html:root body.mf-us-open-cup-page main#main-content .stl-city-hero .stl-city-badge,
  html:root body.mf-core-nextpro-page main#main-content .mf-nextpro-hero__marks,
  html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-panel { display: none !important; }
}

/* Compact hero pass: each route keeps the campaign presence without pushing its
   source-backed dashboard below the fold. Heights remain minimums so long live
   headlines can expand rather than clip. */
html:root body.mf-system-college main#main-content .mf-editorial-hero,
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero,
html:root body.citysc-page main#main-content .citysc-team-hero,
html:root body.mf-core-nextpro-page main#main-content .mf-nextpro-hero,
html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero {
  min-height: 22rem !important;
  padding-block: 1.15rem !important;
}
html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-unified-hero-title,
html:root body.mf-us-open-cup-page main#main-content .stl-city-hero h1,
html:root body.citysc-page main#main-content .citysc-team-hero h1,
html:root body.mf-core-nextpro-page main#main-content .mf-core-title,
html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero h1 {
  max-width: 17ch !important;
  font-size: clamp(2.7rem, 4.2vw, 4.8rem) !important;
  line-height: .9 !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead {
  min-height: 19rem !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead__grid {
  padding-block: 1.5rem 1.15rem !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead h1 {
  font-size: clamp(3rem, 5.4vw, 5.5rem) !important;
  line-height: .88 !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead__grid dl div {
  min-height: 4.5rem !important;
  padding: .7rem !important;
}
html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead dd { font-size: 1.85rem !important; }

@media (max-width: 780px) {
  html:root body.mf-system-college main#main-content .mf-editorial-hero,
  html:root body.mf-us-open-cup-page main#main-content .stl-city-hero,
  html:root body.citysc-page main#main-content .citysc-team-hero,
  html:root body.mf-core-nextpro-page main#main-content .mf-nextpro-hero,
  html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero { min-height: 18rem !important; }
  html:root body.mf-system-college main#main-content .mf-editorial-hero .mf-unified-hero-title,
  html:root body.mf-us-open-cup-page main#main-content .stl-city-hero h1,
  html:root body.citysc-page main#main-content .citysc-team-hero h1,
  html:root body.mf-core-nextpro-page main#main-content .mf-core-title,
  html:root body.mf-v20-us-lane-page main#main-content .mf-v20-lane-hero h1 { font-size: clamp(2.35rem, 11vw, 3.6rem) !important; }
  html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead { min-height: 20rem !important; }
  html:root body.mf-hbcu-page[data-hbcu-view="home"] main#main-content .mf-hbcu-approved-masthead h1 { font-size: clamp(2.7rem, 12vw, 4.1rem) !important; }
}
