.home-hero { padding: 48px 0 56px; }
.home-hero .eyebrow { margin-bottom: 32px; }
.home-hero h1 { font-size: clamp(2.75rem, 7.778vw, 7rem); line-height: 1.1; letter-spacing: -.035em; margin-bottom: 64px; }
.home-hero mark { background: var(--green); color: var(--green-dark); padding-inline: 8px; }
.hero-line { white-space: nowrap; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 536px; gap: 80px; align-items: start; }
.hero-intro > p { font-size: 1.375rem; line-height: 1.6; max-width: 632px; margin-bottom: 40px; }
.hero-intro .button:first-child { min-width: 272px; }
.now-panel { background: var(--paper); border: 1px solid var(--ink); }
.now-heading { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: var(--ink); color: var(--white); }
.now-heading h2 { margin: 0; font-size: 0.75rem; font-weight: 700; letter-spacing: .03em; }
.now-heading > span { font-size: 0.6875rem; }
.now-item { display: block; padding: 16px; border-top: 1px solid var(--ink); min-height: 92px; }
.now-item .badge { font-size: 0.625rem; margin-bottom: 8px; }
.now-item h3 { font-size: 0.875rem; font-weight: 600; line-height: 1.55; margin: 0; letter-spacing: .02em; }
.hero-photo { margin-top: 64px; }
.hero-photo img { width: 100%; aspect-ratio: 1312 / 520; object-fit: cover; }
.latest-section { padding-bottom: 0; }
.events-section { padding-top: 40px; padding-bottom: 0; }
.section-finder { padding-top: 64px; padding-bottom: 64px; }
.policy-section { padding-bottom: 144px; }
.policy-section .editorial-row { min-height: 90px; }
.policy-section .editorial-row h3 { font-size: 1.25rem; }
@media (min-width: 1280px) and (max-width: 1399px) {
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .hero-intro .button:first-child { min-width: 0; }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .home-hero h1 { font-size: clamp(3.5rem, 7.5vw, 6rem); }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .hero-intro > p { font-size: 1.125rem; }
  .hero-intro .button:first-child { min-width: 0; }
  .hero-intro .actions { flex-direction: column; }
}
@media (max-width: 767px) {
  .home-hero { padding: 32px 0 56px; }
  .home-hero .eyebrow { font-size: 0.625rem; margin-bottom: 32px; }
  .home-hero h1 { font-size: clamp(2.25rem, 11.282vw, 4rem); line-height: 1.09; margin-bottom: 32px; }
  .hero-line { white-space: normal; }
  .hero-grid { display: block; }
  .hero-intro > p { font-size: 1.125rem; line-height: 1.6; margin-bottom: 24px; }
  .hero-intro .button:first-child { min-width: 0; }
  .now-panel { margin-top: 40px; }
  .now-item { min-height: 112px; }
  .hero-photo { margin-top: 40px; }
  .hero-photo img { aspect-ratio: 342 / 260; }
  .hero-photo figcaption { font-size: 0.5625rem; }
  .latest-section { padding-top: 48px; }
  .events-section { padding-top: 32px; }
  .section-finder { padding-top: 56px; padding-bottom: 48px; }
  .policy-section { padding-top: 48px; padding-bottom: 96px; }
  .policy-section .editorial-row h3 { font-size: 1.1875rem; }
  .policy-section .editorial-row { min-height: 128px; }
}
