/*
 * Stable layout guard for the public-journal presentation.
 * The selectors are intentionally page-specific, so the research dashboard
 * can load this file without changing its own layout.
 */
@media (min-width: 1121px) {
  main:has(.site-header) {
    width: min(100%, 1540px);
  }

  .site-header {
    grid-template-columns: minmax(240px, 1fr) auto minmax(240px, 1fr);
    padding-right: clamp(36px, 4.6vw, 72px);
    padding-left: clamp(36px, 4.6vw, 72px);
  }

  .site-header nav {
    gap: clamp(18px, 1.8vw, 28px);
  }

  .hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(500px, 0.92fr);
    min-height: 720px;
  }

  .hero-copy {
    padding: 80px clamp(64px, 5.4vw, 84px) 76px;
  }

  .hero h1 {
    max-width: 700px;
    font-size: clamp(68px, 6vw, 92px);
    line-height: 0.98;
    letter-spacing: -0.05em;
    white-space: nowrap;
  }

  .hero-intro {
    max-width: 590px;
  }

  .boundary {
    margin-top: 44px;
    padding-top: 0;
  }

  .scorecard {
    padding: 64px clamp(48px, 5vw, 72px);
  }

  .nav-value strong {
    font-size: clamp(44px, 4vw, 64px);
    white-space: nowrap;
  }

  .decision-strip {
    grid-template-columns: 88px 220px minmax(0, 1fr) 142px;
    gap: clamp(18px, 2vw, 30px);
    padding-right: clamp(36px, 4.6vw, 72px);
    padding-left: clamp(36px, 4.6vw, 72px);
  }

  .decision-strip time {
    text-align: right;
    white-space: nowrap;
  }
}

@media (min-width: 981px) and (max-width: 1120px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    min-height: 620px;
    padding: 76px 8vw 64px;
  }

  .hero h1 {
    font-size: clamp(64px, 9vw, 86px);
    white-space: nowrap;
  }

  .boundary {
    margin-top: 44px;
    padding-top: 0;
  }

  .scorecard {
    padding: 64px 8vw;
  }
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: clamp(44px, 14vw, 52px);
    letter-spacing: -0.05em;
    white-space: nowrap;
  }

  .boundary {
    margin-top: 40px;
    padding-top: 0;
  }

  .scorecard {
    padding-right: 24px;
    padding-left: 24px;
  }

  .nav-value strong {
    font-size: clamp(38px, 12vw, 48px);
    white-space: nowrap;
  }
}
