/* One rhythm for editorial sections, local services and reader participation. */
.homepage {
  --home-section-gap: 48px;
  --home-content-gap: 24px;
  --home-card-radius: 12px;
  --home-heading-size: 30px;
  display: grid;
  gap: var(--home-section-gap);
  padding-block-end: var(--home-section-gap);
}
.homepage > *, .home-closing > *, .home-participation > * { min-width: 0; }
.home-closing, .home-participation { display: grid; gap: var(--home-section-gap); }
.home-participation { gap: var(--home-content-gap); }
.homepage .section { padding: 0; margin: 0; }
.home-opening > .section { margin-block-start: var(--home-section-gap); }
.homepage .section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 24px;
  padding-block-end: 16px;
  margin: 0 0 var(--home-content-gap);
  border-block-end: 1px solid var(--line);
}
.homepage .section-heading > div { min-width: 0; }
.homepage .section-heading h2 {
  display: block;
  overflow: visible;
  font-size: var(--home-heading-size);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: normal;
  margin: 0;
  color: var(--brand-deep);
}
.homepage .section-heading .section-note { font-size: 18px; color: var(--muted); margin-block-start: 8px; }
.homepage .section-heading h2::before { display: inline-block; vertical-align: middle; margin-inline-end: 12px; }
.homepage .section-heading > .text-link { flex: none; min-height: 44px; }
.homepage .story-grid { gap: var(--home-content-gap); }
.homepage .image-wrap, .homepage .news-rail { border-radius: var(--home-card-radius); }
.homepage .region-band { margin: 0; padding-block: 32px; background: var(--paper); border-color: var(--line); }
.homepage .region-links { gap: 12px; }
.homepage .region-links a { box-shadow: none; border-color: var(--line); }
.homepage .video-section { margin: 0; padding-block: 32px; background: #091f47; }
.homepage .video-section .section-heading { border-color: #ffffff30; }
.homepage .video-section .section-heading h2 { color: white; }
.homepage .video-section .section-heading .section-note { color: #c7dcff; }
.homepage .ad-slot { margin-block: 0; }
.home-opening > .ad-slot { margin-block: 16px 30px; }
.homepage .newsletter { margin: 0; border-radius: var(--home-card-radius); background: var(--paper); padding: 24px; }
.homepage .newsletter h2 { font-size: 26px; }
@media (max-width: 760px) {
  .homepage { --home-section-gap: 32px; --home-content-gap: 20px; --home-heading-size: 27px; }
  .homepage .region-band, .homepage .video-section { padding-block: 24px; }
  .homepage .section-heading { align-items: flex-start; gap: 12px; }
  .homepage .section-heading .section-note { font-size: 17px; }
}
@media (max-width: 600px) {
  .homepage .story-grid { column-gap: 18px; row-gap: 24px; }
  .home-opening > .ad-slot { margin-block: 10px 24px; }
}
