/* Editorial news layout: sized to the section, including its pinned desktop view. */
.story-panel--news { --news-red: #ff0026; }
.story-panel--news .news-panel__heading { top: 5.4%; left: 4.65%; }
.story-panel--news .news-panel__heading h2 {
  font-size: min(7.1vw, 15vh);
  transform: scaleX(1.08);
  transform-origin: left center;
  line-height: .94;
  letter-spacing: -.045em;
}
.story-panel--news .news-panel__heading h2 span { color: var(--news-red); }
.story-panel--news::before {
  background: repeating-linear-gradient(90deg, transparent 0 calc(8% - 1px), #ffffff08 calc(8% - 1px) 8%);
}
.news-panel__pattern { top: 9%; right: 5.5%; }
.news-grid {
  inset: 24.6% 4.55% 4.3% 4.65%;
  grid-template-columns: 1.965fr 1fr .975fr;
  grid-template-rows: 1.3fr 1fr;
  gap: min(1vw, 2.1vh);
}
.news-card {
  display: block;
  border: 1px solid #ffffff30;
  background: #030607;
  isolation: isolate;
  transition: border-color .2s ease;
}
.news-card--feature { grid-area: 1 / 1 / 3 / 2; }
.news-card--season { grid-area: 1 / 2 / 2 / 3; }
.news-card--milestone { grid-area: 1 / 3 / 2 / 4; }
.news-card--return { grid-area: 2 / 2 / 3 / 4; }
.news-card__number {
  position: absolute;
  z-index: -1;
  top: 4%;
  right: 5.5%;
  color: transparent;
  -webkit-text-stroke: 1px #ffffff40;
  font: 400 min(3.7vw, 7.8vh)/1.1 "Anton", Impact, sans-serif;
  pointer-events: none;
}
.news-card--feature .news-card__number {
  top: auto;
  bottom: 4.4%;
  right: 6.5%;
  font-size: min(7.1vw, 15vh);
}
.news-card--return .news-card__number { top: 6%; right: 4%; font-size: min(4vw, 8.5vh); }
.news-card__rail {
  position: absolute;
  inset: 0 auto 0 0;
  width: 7.6%;
  border-right: 1px solid #ffffff30;
  display: flex;
  align-items: center;
  padding-top: min(2.5vw, 5.3vh);
  gap: min(1.2vw, 2.5vh);
  writing-mode: vertical-rl;
  font: 400 min(.73vw, 1.55vh)/1 Arial, sans-serif;
  letter-spacing: .4em;
  text-transform: uppercase;
}
.news-card__content {
  position: relative;
  inset: auto;
  width: auto;
  padding: min(2.7vw, 5.7vh) min(1.85vw, 3.9vh) min(1.5vw, 3.2vh);
  z-index: 2;
}
.news-card--feature .news-card__content {
  margin-left: 7.6%;
  padding: min(4.1vw, 8.7vh) min(1.9vw, 4vh) min(2vw, 4.2vh);
}
.news-card--return .news-card__content { padding-top: min(1.9vw, 4vh); }
.news-card__content p {
  gap: .8em;
  margin: 0 0 min(1vw, 2.1vh);
  color: #f0f0ee;
  font: 400 min(.58vw, 1.22vh)/1.2 Arial, sans-serif;
  letter-spacing: .2em;
}
.news-card__content p span { color: var(--news-red); }
.news-card__content p span::before { content: "|"; color: #b4b4b4; padding-right: .8em; }
.news-card--feature .news-card__content p { font-size: min(.68vw, 1.44vh); letter-spacing: .24em; }
.news-card__content h3 {
  max-width: 7.2em;
  font-size: min(2.3vw, 4.86vh);
  line-height: .96;
  letter-spacing: -.025em;
  background: linear-gradient(#ffffff 10%, #f5f5f3 33%, #777875 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.news-card--feature .news-card__content h3 { max-width: 100%; font-size: min(5.65vw, 11.94vh); line-height: .9; letter-spacing: -.035em; }
.news-card--return .news-card__content h3 { max-width: 11em; font-size: min(2.65vw, 5.6vh); line-height: .98; }
.news-card__content strong {
  display: flex;
  align-items: center;
  position: relative;
  gap: 1.2em;
  padding-top: 0;
  margin-top: min(1.3vw, 2.75vh);
  color: #f2f2ef;
  font: 400 min(.62vw, 1.3vh)/1.2 Arial, sans-serif;
  letter-spacing: .18em;
}
.news-card__content strong span { color: var(--news-red); font: 300 1.8em/1 Arial, sans-serif; }
.news-card--feature .news-card__content strong { margin-top: min(1.65vw, 3.5vh); padding-top: 0; }
.news-card:hover, .news-card:focus-visible { border-color: #ff002688; }
.news-card:focus-visible { outline: 2px solid var(--news-red); outline-offset: -3px; }
.news-card:hover .news-card__content strong span { transform: translateX(4px); }
@media (max-width: 980px) {
  .story-panel--news { padding: 175px 5vw 30px; }
  .story-panel--news .news-panel__heading { top: 45px; left: 5vw; }
  .story-panel--news .news-panel__heading h2 { font-size: clamp(64px, 12vw, 110px); transform: none; }
  .news-grid { position: relative; inset: auto; grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: 14px; }
  .news-card--feature, .news-card--return { grid-area: auto; grid-column: 1 / -1; min-height: 0; }
  .news-card--season, .news-card--milestone { grid-area: auto; min-height: 0; }
  .news-card__content, .news-card--return .news-card__content { padding: 30px 24px; }
  .news-card--feature .news-card__content { padding: 38px 28px; }
  .news-card__content h3 { font-size: clamp(26px, 4vw, 38px); }
  .news-card--feature .news-card__content h3 { font-size: clamp(44px, 8vw, 72px); }
  .news-card--return .news-card__content h3 { font-size: clamp(30px, 4.5vw, 42px); }
  .news-card__content p, .news-card--feature .news-card__content p { font-size: 10px; margin-bottom: 18px; letter-spacing: .16em; flex-wrap: wrap; }
  .news-card__content strong, .news-card--feature .news-card__content strong { font-size: 9px; margin-top: 24px; padding-top: 0; }
  .news-card__rail { font-size: 10px; padding-top: 36px; gap: 20px; }
  .news-card__number { font-size: 60px; }
  .news-card--feature .news-card__number { font-size: 110px; }
  .news-card--return .news-card__number { font-size: 68px; }
}
@media (max-width: 640px) {
  .story-panel--news { padding-top: 150px; }
  .news-grid { grid-template-columns: 1fr; }
  .news-card { grid-area: auto; min-height: 0; }
  .news-card__content, .news-card--return .news-card__content { padding: 28px 22px; }
  .news-card--feature .news-card__content { padding: 30px 18px; margin-left: 30px; }
  .news-card__rail { width: 30px; font-size: 9px; }
  .news-card__content h3, .news-card--return .news-card__content h3 { font-size: 32px; max-width: 90%; }
  .news-card--feature .news-card__content h3 { font-size: clamp(36px, 10vw, 58px); }
  .news-card__number { opacity: .6; }
}
@media (prefers-reduced-motion: reduce) { .news-card, .news-card__content strong span { transition: none; } }

/* Match the persistent control to the news editorial system. */
.persistent-header { padding: 16px 4.55vw; }
.persistent-menu {
  order: 2;
  margin-left: 0;
  width: 108px;
  border: 1px solid rgba(255,255,255,.18);
  background: #05080a;
  box-shadow: none;
  font-size: 12px;
  letter-spacing: .16em;
}
.persistent-menu summary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 0;
  background: transparent;
  box-shadow: none;
  letter-spacing: .2em;
}
.persistent-menu summary::before {
  margin-right: 8px;
  border-left-width: 5px;
  border-top-width: 3px;
  border-bottom-width: 3px;
}
.persistent-menu summary:hover,
.persistent-menu summary:focus-visible {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,0,38,.65);
  box-shadow: inset 3px 0 0 var(--news-red);
}
.persistent-menu[open] summary { border-bottom: 1px solid rgba(255,255,255,.12); }
/* Keep the fixture/menu control available over every section, including the hero. */
body.is-hero-visible .persistent-header {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.persistent-header {
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

/* Compact live fixture card, always visible beneath the menu button. */
.persistent-menu { transition: width 360ms cubic-bezier(.16,1,.3,1); }
.persistent-menu[open] { width: min(190px, calc(100vw - 128px)); }
.persistent-header {
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
}
.menu-next-game {
  order: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 108px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255,255,255,.18);
  background: #080b0d;
}
.menu-next-game .next-game { display: flex; align-items: center; height: 100%; }
.menu-next-game .next-game__eyebrow,
.menu-next-game .next-game__title,
.menu-next-game .next-game__underline,
.menu-next-game .next-game__rule,
.menu-next-game .next-game__countdown-label,
.menu-next-game .next-game__countdown,
.menu-next-game .next-game__details { display: none; }
.menu-next-game .next-game__eyebrow {
  color: var(--news-red);
  font: 700 9px/1 Arial, sans-serif;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.menu-next-game .next-game__teams {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
}
.menu-next-game .next-game__badge {
  display: block;
  width: 24.64px;
  height: 24.64px;
  object-fit: contain;
}
.menu-next-game .next-game__versus {
  display: block;
  color: rgba(255,255,255,.75);
  font: 400 14px/1 Arial, sans-serif;
}
