/*
 * Noticias CFS Jumilla — Portada editorial 2026/27
 * Fase 9: composición específica de home.
 *
 * Esta capa no crea tarjetas genéricas. La jerarquía nace de escala,
 * fotografía, reglas, posición y datos deportivos.
 */

.cfs-home {
  background: var(--cfs-paper);
  color: var(--cfs-ink-950);
}

.cfs-home a:focus-visible,
.cfs-home button:focus-visible,
.cfs-home input:focus-visible {
  outline: var(--cfs-focus-width) solid var(--cfs-focus);
  outline-offset: 3px;
}

.cfs-home-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cfs-home__edition-line {
  min-height: 2.6rem;
  display: flex;
  align-items: center;
  gap: var(--cfs-space-3);
  padding-block: var(--cfs-space-2);
  border-bottom: var(--cfs-rule-thin) solid var(--cfs-rule-strong);
  color: var(--cfs-ink-600);
  font-size: var(--cfs-text-xs);
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cfs-home__edition-line > * + *::before {
  content: '/';
  margin-inline-end: var(--cfs-space-3);
  color: var(--cfs-rule-strong);
}

.cfs-home-breaking {
  background: var(--cfs-live);
  color: var(--cfs-white);
  border-bottom: var(--cfs-rule-medium) solid var(--cfs-live-dark);
}

.cfs-home-breaking__inner {
  min-height: 3rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
}

.cfs-home-breaking__label {
  display: flex;
  align-items: center;
  padding-inline: var(--cfs-space-4);
  background: var(--cfs-ink-950);
  font-family: var(--cfs-font-display);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cfs-home-breaking__list {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
}

.cfs-home-breaking__item {
  min-width: 0;
  padding-inline: var(--cfs-space-4);
  border-right: var(--cfs-rule-thin) solid var(--cfs-live-dark);
  font-size: var(--cfs-text-sm);
  font-weight: 850;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cfs-home-breaking__item a {
  color: var(--cfs-white);
  text-decoration: none;
}

.cfs-home-breaking__item a:hover {
  text-decoration: underline;
  text-underline-offset: .2em;
}

.cfs-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 2.05fr) minmax(18rem, .95fr);
  gap: var(--cfs-grid-gap);
  padding-block: var(--cfs-space-6) var(--cfs-space-7);
  border-bottom: var(--cfs-rule-heavy) solid var(--cfs-ink-950);
}

.cfs-home-lead {
  min-width: 0;
  display: grid;
  gap: var(--cfs-space-5);
}

.cfs-home-lead--empty {
  min-height: 28rem;
  align-content: end;
  padding-block: var(--cfs-space-7);
  border-top: var(--cfs-rule-heavy) solid var(--cfs-ink-950);
}

.cfs-home-lead__media {
  display: block;
  border-bottom: var(--cfs-rule-medium) solid var(--cfs-ink-950);
}

.cfs-home-lead__copy {
  display: grid;
  gap: var(--cfs-space-3);
}

.cfs-home-story-signals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cfs-space-2) var(--cfs-space-3);
}

.cfs-home-category,
.cfs-home-format {
  color: var(--cfs-brand-navy);
  font-size: var(--cfs-text-xs);
  font-weight: 900;
  letter-spacing: .09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cfs-home-category {
  text-decoration: none;
  border-bottom: var(--cfs-rule-thin) solid currentColor;
}

.cfs-home-category:hover {
  color: var(--cfs-brand-blue);
}

.cfs-home-format {
  color: var(--cfs-ink-600);
}

.cfs-home-format::before {
  content: '·';
  margin-inline-end: var(--cfs-space-2);
  color: var(--cfs-rule-strong);
}

.cfs-home-lead__title {
  width: 100%;
  max-width: none;
  margin: 0;
  font-family: var(--cfs-font-display);
  font-size: clamp(3rem, 2rem + 4.2vw, 6.45rem);
  font-weight: 400;
  letter-spacing: -.005em;
  line-height: .84;
  text-wrap: wrap;
  text-transform: uppercase;
}

.cfs-home-lead__title a {
  color: var(--cfs-ink-950);
  text-decoration: none;
}

.cfs-home-lead__title a:hover {
  color: var(--cfs-brand-navy);
}

.cfs-home-lead__deck {
  max-width: 54rem;
  margin: 0;
  color: var(--cfs-ink-700);
  font-family: var(--cfs-font-editorial);
  font-size: clamp(1.1rem, 1rem + .35vw, 1.35rem);
  line-height: 1.46;
  text-wrap: pretty;
}

.cfs-home-lead__meta {
  padding-top: var(--cfs-space-3);
  border-top: var(--cfs-rule-thin) solid var(--cfs-rule);
}

.cfs-home-secondary {
  min-width: 0;
  padding-inline-start: var(--cfs-space-5);
  border-left: var(--cfs-rule-medium) solid var(--cfs-ink-950);
}

.cfs-home-story-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(7rem, .78fr) minmax(0, 1.45fr);
  gap: var(--cfs-space-4);
  padding-block: var(--cfs-space-4);
  border-top: var(--cfs-rule-thin) solid var(--cfs-rule);
}

.cfs-home-story-row:first-child {
  padding-top: 0;
  border-top: 0;
}

.cfs-home-story-row__media {
  align-self: start;
  display: block;
}

.cfs-home-story-row__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--cfs-space-2);
}

.cfs-home-story-row__title {
  margin: 0;
  font-family: var(--cfs-font-display);
  font-size: clamp(1.35rem, 1.1rem + .85vw, 2.05rem);
  font-weight: 400;
  line-height: .95;
  text-transform: uppercase;
  text-wrap: wrap;
}

.cfs-home-story-row__title a {
  color: var(--cfs-ink-950);
  text-decoration: none;
}

.cfs-home-story-row__title a:hover {
  color: var(--cfs-brand-navy);
}

.cfs-home-story-row__deck {
  margin: 0;
  color: var(--cfs-ink-700);
  font-family: var(--cfs-font-editorial);
  font-size: var(--cfs-text-sm);
  line-height: 1.45;
}

.cfs-home-story-row__time,
.cfs-home-story-tile__time {
  margin-top: auto;
  color: var(--cfs-ink-500);
  font-size: var(--cfs-text-xs);
  font-weight: 750;
  letter-spacing: .035em;
}

.cfs-home-sports {
  padding-block: var(--cfs-space-7);
  background: var(--cfs-ink-950);
  color: var(--cfs-white);
  border-bottom: var(--cfs-rule-heavy) solid var(--cfs-brand-sky);
}

.cfs-home-sports .cfs-section-heading__eyebrow,
.cfs-home-sports .cfs-section-heading__link {
  color: var(--cfs-brand-sky);
}

.cfs-home-sports .cfs-section-heading__title {
  color: var(--cfs-white);
}

.cfs-home-sports .cfs-section-heading__rule {
  border-color: var(--cfs-ink-600);
}

.cfs-home-sports__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(13rem, .68fr) minmax(19rem, .97fr);
  border-block: var(--cfs-rule-medium) solid var(--cfs-ink-600);
}

.cfs-home-matchdesk,
.cfs-home-result,
.cfs-home-standings {
  min-width: 0;
  padding: var(--cfs-space-5);
}

.cfs-home-result,
.cfs-home-standings {
  border-left: var(--cfs-rule-thin) solid var(--cfs-ink-600);
}

.cfs-home-panel-heading {
  margin-bottom: var(--cfs-space-5);
}

.cfs-home-panel-heading--inline {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--cfs-space-3);
}

.cfs-home-panel-heading__kicker {
  margin: 0 0 var(--cfs-space-1);
  color: var(--cfs-brand-sky);
  font-size: var(--cfs-text-xs);
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cfs-home-panel-heading__title {
  margin: 0;
  color: var(--cfs-white);
  font-family: var(--cfs-font-display);
  font-size: clamp(1.65rem, 1.35rem + 1vw, 2.5rem);
  font-weight: 400;
  line-height: .9;
  text-transform: uppercase;
}

.cfs-home-fixture__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--cfs-space-2);
  padding-bottom: var(--cfs-space-3);
  border-bottom: var(--cfs-rule-thin) solid var(--cfs-ink-600);
  color: var(--cfs-paper-strong);
  font-size: var(--cfs-text-xs);
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.cfs-home-fixture__teams {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--cfs-space-4);
  padding-block: var(--cfs-space-5);
}

.cfs-home-fixture__team {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: var(--cfs-space-3);
  text-align: center;
}

.cfs-home-fixture__crest,
.cfs-home-fixture__monogram {
  width: 4.5rem;
  height: 4.5rem;
}

.cfs-home-fixture__crest {
  object-fit: contain;
}

.cfs-home-fixture__monogram {
  display: grid;
  place-items: center;
  border: var(--cfs-rule-medium) solid var(--cfs-brand-sky);
  color: var(--cfs-brand-sky);
  font-family: var(--cfs-font-display);
  font-size: 2rem;
  letter-spacing: .04em;
}

.cfs-home-fixture__team-name {
  color: var(--cfs-white);
  font-family: var(--cfs-font-display);
  font-size: clamp(1.3rem, 1.1rem + .7vw, 1.85rem);
  line-height: .95;
  text-transform: uppercase;
  text-wrap: balance;
}

.cfs-home-fixture__versus {
  color: var(--cfs-brand-sky);
  font-family: var(--cfs-font-display);
  font-size: clamp(2.25rem, 1.8rem + 1.6vw, 3.5rem);
  line-height: 1;
}

.cfs-home-fixture__venue,
.cfs-home-result__competition,
.cfs-home-result__date {
  margin: 0;
  color: var(--cfs-paper-strong);
  font-size: var(--cfs-text-xs);
  font-weight: 750;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}

.cfs-home-result {
  display: flex;
  flex-direction: column;
}

.cfs-home-result__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.cfs-home-result__scoreline {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: var(--cfs-space-2);
  margin-block: var(--cfs-space-4) var(--cfs-space-3);
  color: var(--cfs-white);
  font-family: var(--cfs-font-display);
  font-size: clamp(4rem, 3rem + 3vw, 6.3rem);
  font-variant-numeric: tabular-nums;
  line-height: .72;
}

.cfs-home-result__separator {
  color: var(--cfs-brand-sky);
  font-size: .65em;
}

.cfs-home-result__teams {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cfs-space-4);
  color: var(--cfs-white);
  font-family: var(--cfs-font-display);
  font-size: 1.25rem;
  line-height: 1;
  text-transform: uppercase;
}

.cfs-home-result__date {
  margin-top: var(--cfs-space-4);
}

.cfs-home-text-link {
  color: var(--cfs-brand-sky);
  font-size: var(--cfs-text-xs);
  font-weight: 850;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}

.cfs-home-text-link:hover {
  color: var(--cfs-white);
  text-decoration: underline;
  text-underline-offset: .2em;
}

.cfs-home-standings__table-wrap {
  overflow-x: auto;
}

.cfs-home-standings__table {
  width: 100%;
  border-collapse: collapse;
  color: var(--cfs-white);
  font-size: var(--cfs-text-sm);
  font-variant-numeric: tabular-nums;
}

.cfs-home-standings__table th,
.cfs-home-standings__table td {
  padding: .62rem .45rem;
  border-bottom: var(--cfs-rule-thin) solid var(--cfs-ink-700);
  text-align: right;
}

.cfs-home-standings__table th:nth-child(2),
.cfs-home-standings__table td:nth-child(2) {
  text-align: left;
}

.cfs-home-standings__table thead th {
  color: var(--cfs-rule-strong);
  font-size: var(--cfs-text-xs);
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cfs-home-standings__table tbody th {
  font-weight: 700;
}

.cfs-home-standings__table .cfs-is-club {
  background: var(--cfs-brand-navy);
  border-left: var(--cfs-rule-heavy) solid var(--cfs-brand-sky);
}

.cfs-home-empty {
  margin: 0;
  padding-block: var(--cfs-space-5);
  color: var(--cfs-ink-600);
  font-family: var(--cfs-font-editorial);
  font-size: var(--cfs-text-base);
}

.cfs-home-sports .cfs-home-empty {
  color: var(--cfs-paper-strong);
}

.cfs-home-section {
  padding-block: var(--cfs-space-7);
  border-bottom: var(--cfs-rule-heavy) solid var(--cfs-ink-950);
}

.cfs-home-formats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: var(--cfs-rule-medium) solid var(--cfs-ink-950);
  border-bottom: var(--cfs-rule-medium) solid var(--cfs-ink-950);
}

.cfs-home-format-block {
  min-width: 0;
  padding: var(--cfs-space-5);
}

.cfs-home-format-block + .cfs-home-format-block {
  border-left: var(--cfs-rule-thin) solid var(--cfs-rule-strong);
}

.cfs-home-format-block__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--cfs-space-3);
  margin-bottom: var(--cfs-space-5);
  padding-bottom: var(--cfs-space-3);
  border-bottom: var(--cfs-rule-heavy) solid var(--cfs-brand-navy);
}

.cfs-home-format-block__header h3 {
  margin: 0;
  color: var(--cfs-ink-950);
  font-family: var(--cfs-font-display);
  font-size: clamp(1.8rem, 1.5rem + 1vw, 2.6rem);
  font-weight: 400;
  line-height: .9;
  text-transform: uppercase;
}

.cfs-home-format-block__number {
  color: var(--cfs-rule-strong);
  font-family: var(--cfs-font-display);
  font-size: 1.5rem;
  font-variant-numeric: tabular-nums;
}

.cfs-home-story-tile {
  display: grid;
  gap: var(--cfs-space-3);
}

.cfs-home-story-tile + .cfs-home-story-tile {
  margin-top: var(--cfs-space-5);
  padding-top: var(--cfs-space-4);
  border-top: var(--cfs-rule-thin) solid var(--cfs-rule);
}

.cfs-home-story-tile--compact {
  grid-template-columns: 7rem minmax(0, 1fr);
  align-items: start;
}

.cfs-home-story-tile__media {
  display: block;
}

.cfs-home-story-tile__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--cfs-space-2);
}

.cfs-home-story-tile__title {
  margin: 0;
  font-family: var(--cfs-font-display);
  font-size: clamp(1.45rem, 1.2rem + .8vw, 2.15rem);
  font-weight: 400;
  line-height: .95;
  text-transform: uppercase;
  text-wrap: wrap;
}

.cfs-home-story-tile--compact .cfs-home-story-tile__title {
  font-size: clamp(1.15rem, 1.04rem + .45vw, 1.5rem);
}

.cfs-home-story-tile__title a {
  color: var(--cfs-ink-950);
  text-decoration: none;
}

.cfs-home-story-tile__title a:hover {
  color: var(--cfs-brand-navy);
}

.cfs-home-story-tile__deck {
  margin: 0;
  color: var(--cfs-ink-700);
  font-family: var(--cfs-font-editorial);
  font-size: var(--cfs-text-sm);
  line-height: 1.45;
}

.cfs-home-latest {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(18rem, .72fr);
  gap: clamp(2rem, 4vw, 4rem);
}

.cfs-home-latest--community-only {
  grid-template-columns: minmax(18rem, 22rem);
  justify-content: end;
}

.cfs-home-latest__list {
  border-top: var(--cfs-rule-medium) solid var(--cfs-ink-950);
}

.cfs-home-latest__list .cfs-home-story-row {
  grid-template-columns: minmax(9rem, .58fr) minmax(0, 1.42fr);
}

.cfs-home-latest__list .cfs-home-story-row:first-child {
  padding-top: var(--cfs-space-4);
}

.cfs-home-community {
  align-self: start;
  border-top: var(--cfs-rule-heavy) solid var(--cfs-brand-sky);
  border-bottom: var(--cfs-rule-medium) solid var(--cfs-ink-950);
  background: var(--cfs-white);
}

.cfs-home-community--mobile {
  display: none;
}

.cfs-home-community__header {
  padding: var(--cfs-space-5);
  background: var(--cfs-ink-950);
  color: var(--cfs-white);
}

.cfs-home-community__eyebrow {
  margin: 0 0 var(--cfs-space-2);
  color: var(--cfs-brand-sky);
  font-size: var(--cfs-text-xs);
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cfs-home-community__title {
  margin: 0;
  font-family: var(--cfs-font-display);
  font-size: clamp(2rem, 1.7rem + 1.2vw, 3rem);
  font-weight: 400;
  line-height: .85;
  text-transform: uppercase;
}

.cfs-home-community__empty {
  margin: 0;
  padding: var(--cfs-space-5);
  color: var(--cfs-ink-600);
  font-family: var(--cfs-font-editorial);
}

.cfs-home-vote {
  padding: var(--cfs-space-5);
  border-bottom: var(--cfs-rule-thin) solid var(--cfs-rule-strong);
}

.cfs-home-vote__form {
  display: grid;
  gap: var(--cfs-space-4);
}

.cfs-home-vote__question {
  margin: 0;
  color: var(--cfs-ink-950);
  font-family: var(--cfs-font-editorial);
  font-size: var(--cfs-text-base);
  font-weight: 700;
  line-height: 1.45;
}

.cfs-home-vote__options {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.cfs-home-vote__option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--cfs-space-3);
  padding-block: .72rem;
  border-top: var(--cfs-rule-thin) solid var(--cfs-rule);
  color: var(--cfs-ink-900);
  font-size: var(--cfs-text-sm);
  font-weight: 750;
  cursor: pointer;
}

.cfs-home-vote__option:last-child {
  border-bottom: var(--cfs-rule-thin) solid var(--cfs-rule);
}

.cfs-home-vote__option input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--cfs-brand-navy);
}

.cfs-home-vote__status,
.cfs-home-vote__loading {
  min-height: 1.2rem;
  margin: 0;
  color: var(--cfs-ink-600);
  font-size: var(--cfs-text-xs);
  font-weight: 750;
}

.cfs-home-vote__status[data-state='error'] {
  color: var(--cfs-live);
}

.cfs-home-vote__results-title {
  margin: 0 0 var(--cfs-space-4);
  font-family: var(--cfs-font-editorial);
  font-size: var(--cfs-text-base);
  font-weight: 700;
}

.cfs-home-vote__bar-list {
  display: grid;
  gap: var(--cfs-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.cfs-home-vote__bar-head {
  display: flex;
  justify-content: space-between;
  gap: var(--cfs-space-3);
  margin-bottom: var(--cfs-space-1);
  color: var(--cfs-ink-900);
  font-size: var(--cfs-text-xs);
  font-weight: 800;
}

.cfs-home-vote__track {
  height: .55rem;
  background: var(--cfs-paper-strong);
}

.cfs-home-vote__fill {
  height: 100%;
  background: var(--cfs-brand-navy);
}

.cfs-home-mvp-ranking {
  padding: var(--cfs-space-5);
}

.cfs-home-mvp-ranking__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--cfs-space-3);
  padding-bottom: var(--cfs-space-3);
  border-bottom: var(--cfs-rule-medium) solid var(--cfs-ink-950);
}

.cfs-home-mvp-ranking__heading h3 {
  margin: 0;
  font-family: var(--cfs-font-display);
  font-size: 1.55rem;
  font-weight: 400;
  text-transform: uppercase;
}

.cfs-home-mvp-ranking__heading span {
  color: var(--cfs-ink-600);
  font-size: var(--cfs-text-xs);
  font-weight: 850;
  text-transform: uppercase;
}

.cfs-home-mvp-ranking__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cfs-home-mvp-ranking__item {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--cfs-space-3);
  padding-block: .65rem;
  border-bottom: var(--cfs-rule-thin) solid var(--cfs-rule);
  font-size: var(--cfs-text-sm);
}

.cfs-home-mvp-ranking__position {
  color: var(--cfs-brand-navy);
  font-family: var(--cfs-font-display);
  font-size: 1.45rem;
  line-height: 1;
}

.cfs-home-mvp-ranking__name {
  min-width: 0;
  font-weight: 750;
}

.cfs-home-mvp-ranking__points {
  font-variant-numeric: tabular-nums;
}

.cfs-home-topics {
  background: var(--cfs-paper-muted);
}

.cfs-home-topics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: var(--cfs-rule-heavy) solid var(--cfs-ink-950);
}

.cfs-home-topic {
  min-width: 0;
  padding: var(--cfs-space-5) 0;
}

.cfs-home-topic:nth-child(odd) {
  padding-inline-end: var(--cfs-space-6);
}

.cfs-home-topic:nth-child(even) {
  padding-inline-start: var(--cfs-space-6);
  border-left: var(--cfs-rule-thin) solid var(--cfs-rule-strong);
}

.cfs-home-topic:nth-child(n + 3) {
  border-top: var(--cfs-rule-thin) solid var(--cfs-rule-strong);
}

.cfs-home-topic__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--cfs-space-3);
  margin-bottom: var(--cfs-space-4);
  padding-bottom: var(--cfs-space-3);
  border-bottom: var(--cfs-rule-medium) solid var(--cfs-brand-navy);
}

.cfs-home-topic__header h3 {
  margin: 0;
  color: var(--cfs-ink-950);
  font-family: var(--cfs-font-display);
  font-size: clamp(1.8rem, 1.45rem + 1.2vw, 2.75rem);
  font-weight: 400;
  text-transform: uppercase;
}

.cfs-home-topic__header a {
  color: var(--cfs-brand-navy);
  font-size: var(--cfs-text-xs);
  font-weight: 850;
  letter-spacing: .05em;
  text-decoration: none;
  text-transform: uppercase;
}

.cfs-home-topic__header a:hover {
  text-decoration: underline;
  text-underline-offset: .2em;
}

.cfs-home-topic__stories .cfs-home-story-row {
  grid-template-columns: 8rem minmax(0, 1fr);
}

.cfs-home-topic__stories .cfs-home-story-row:not(:first-child) {
  grid-template-columns: 1fr;
}

.cfs-home-signoff {
  padding-block: var(--cfs-space-7);
  background: var(--cfs-brand-navy);
  color: var(--cfs-white);
}

.cfs-home-signoff__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--cfs-space-5);
}

.cfs-home-signoff__label {
  margin: 0;
  font-family: var(--cfs-font-display);
  font-size: clamp(1.8rem, 1.55rem + .8vw, 2.5rem);
  line-height: .9;
  text-transform: uppercase;
}

.cfs-home-signoff__text {
  max-width: 48rem;
  margin: 0;
  color: var(--cfs-paper-strong);
  font-family: var(--cfs-font-editorial);
  font-size: var(--cfs-text-sm);
}

.cfs-home-signoff__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--cfs-space-4);
}

.cfs-home-signoff__links a {
  color: var(--cfs-white);
  font-size: var(--cfs-text-xs);
  font-weight: 850;
  letter-spacing: .06em;
  text-decoration: underline;
  text-underline-offset: .2em;
  text-transform: uppercase;
}

@media (max-width: 1050px) {
  .cfs-home-hero {
    grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .85fr);
  }

  .cfs-home-lead__title {
    font-size: clamp(2.8rem, 2rem + 4vw, 5.25rem);
  }

  .cfs-home-sports__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cfs-home-standings {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: var(--cfs-rule-thin) solid var(--cfs-ink-600);
  }

  .cfs-home-formats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cfs-home-format-block:nth-child(3) {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: var(--cfs-rule-thin) solid var(--cfs-rule-strong);
  }

  .cfs-home-latest {
    grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .75fr);
  }
}

@media (max-width: 780px) {
  .cfs-home-breaking__inner {
    grid-template-columns: 1fr;
  }

  .cfs-home-breaking__label {
    min-height: 2.25rem;
    justify-content: center;
  }

  .cfs-home-breaking__list {
    display: block;
  }

  .cfs-home-breaking__item {
    padding-block: .62rem;
    border-right: 0;
    border-bottom: var(--cfs-rule-thin) solid var(--cfs-live-dark);
    white-space: normal;
  }

  .cfs-home-breaking__item:nth-child(n + 2) {
    display: none;
  }

  .cfs-home-hero,
  .cfs-home-latest {
    grid-template-columns: 1fr;
  }

  .cfs-home-community--desktop {
    display: none;
  }

  .cfs-home-community--mobile {
    display: block;
    margin-block: var(--cfs-space-5);
  }

  .cfs-home-latest--desktop-community-only {
    display: none;
  }

  .cfs-home-latest--community-only {
    justify-content: stretch;
  }

  .cfs-home-secondary {
    padding-inline-start: 0;
    padding-top: var(--cfs-space-5);
    border-left: 0;
    border-top: var(--cfs-rule-medium) solid var(--cfs-ink-950);
  }

  .cfs-home-sports__grid,
  .cfs-home-formats__grid,
  .cfs-home-topics__grid,
  .cfs-home-signoff__inner {
    grid-template-columns: 1fr;
  }

  .cfs-home-result,
  .cfs-home-standings,
  .cfs-home-format-block + .cfs-home-format-block,
  .cfs-home-format-block:nth-child(3),
  .cfs-home-topic:nth-child(even),
  .cfs-home-topic:nth-child(n + 3) {
    grid-column: auto;
    border-left: 0;
    border-top: var(--cfs-rule-thin) solid var(--cfs-rule-strong);
  }

  .cfs-home-topic,
  .cfs-home-topic:nth-child(odd),
  .cfs-home-topic:nth-child(even) {
    padding-inline: 0;
  }

  .cfs-home-signoff__links {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .cfs-home__edition-line {
    justify-content: space-between;
  }

  .cfs-home__edition-line > * + *::before {
    display: none;
  }

  .cfs-home-hero {
    padding-top: var(--cfs-space-5);
  }

  .cfs-home-lead__title {
    font-size: clamp(2.65rem, 11vw, 4.25rem);
  }

  .cfs-home-story-row,
  .cfs-home-latest__list .cfs-home-story-row,
  .cfs-home-topic__stories .cfs-home-story-row {
    grid-template-columns: 6.3rem minmax(0, 1fr);
  }

  .cfs-home-story-row__title {
    font-size: clamp(1.2rem, 5vw, 1.55rem);
  }

  .cfs-home-story-row__deck {
    display: none;
  }

  .cfs-home-sports,
  .cfs-home-section,
  .cfs-home-signoff {
    padding-block: var(--cfs-space-6);
  }

  .cfs-home-matchdesk,
  .cfs-home-result,
  .cfs-home-standings,
  .cfs-home-format-block {
    padding: var(--cfs-space-4) 0;
  }

  .cfs-home-fixture__teams {
    gap: var(--cfs-space-2);
  }

  .cfs-home-fixture__crest,
  .cfs-home-fixture__monogram {
    width: 3.5rem;
    height: 3.5rem;
  }

  .cfs-home-fixture__team-name {
    font-size: 1.2rem;
  }

  .cfs-home-result__scoreline {
    font-size: clamp(3.6rem, 18vw, 5.4rem);
  }

  .cfs-home-story-tile--compact {
    grid-template-columns: 6rem minmax(0, 1fr);
  }

  .cfs-home-community {
    margin-top: var(--cfs-space-2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cfs-home * {
    scroll-behavior: auto;
  }
}
