@media screen {
  .public-home .home-hero.home-shell,
  .home-check-page #app,
  .home-check-page footer {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: clamp(16px, 2.4vw, 32px);
  }
  .public-home .home-hero.home-shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 44px);
    align-items: stretch;
    padding-block: clamp(24px, 3vw, 44px);
  }
  .public-home .home-hero h1,
  .home-check-page #app .hero h1 {
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.22;
    letter-spacing: -.02em;
    overflow-wrap: normal;
  }
  .public-home .home-hero .home-lead { margin: 0 0 16px; line-height: 1.65; }
  .public-home .home-hero-copy > * { order: 0; }
  #home-check-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 10px;
    align-items: end;
    margin: 0 0 18px;
    padding: 14px;
    background: #fff;
    border: 1px solid #cddbd4;
    border-radius: 10px;
  }
  #home-check-entry h2,
  #home-check-entry label { grid-column: 1 / -1; margin: 0; }
  #home-check-entry h2 { font-size: clamp(18px, 1.65vw, 23px); line-height: 1.35; }
  #home-check-entry label { font-size: .875rem; }
  #home-check-entry input,
  #home-check-entry button.home-button {
    min-width: 0;
    min-height: 44px;
    height: auto;
    margin: 0;
    padding: 8px 12px;
    font: inherit;
  }
  #home-check-entry input { width: 100%; border: 1px solid #91aaa8; border-radius: 7px; }
  .public-home .home-hero .home-hero-links {
    margin-top: 12px;
    padding-top: 0;
    flex-flow: row wrap;
    gap: 6px 16px;
  }
  .public-home .home-hero .home-visual {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(220px, 1fr) auto;
    align-content: stretch;
  }
  .public-home .home-hero .home-study-map { height: auto; align-self: stretch; }
  .public-home .home-hero .home-visual figcaption { border-left: 0; padding-left: 0; }
  .home-check-page {
    --ink: #152b3b;
    --muted: #476071;
    --green: #145d56;
    --line: #d2deda;
    --bg: #f4f7f6;
  }
  .home-check-page .brand {
    padding-inline: max(clamp(16px, 2.4vw, 32px), calc((100% - 1440px) / 2 + 32px));
  }
  .home-check-page #app .hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(24px, 3vw, 44px);
    padding: 0 0 24px;
  }
  .home-check-page #app .hero-visual.card {
    background: #edf4f1;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .home-check-page #app .hero-visual h2 { font-size: 21px; }
  @media (max-width: 840px) {
    .public-home .home-hero.home-shell,
    .home-check-page #app .hero { grid-template-columns: minmax(0, 1fr); }
    .home-check-page #app .hero-visual.card { display: none; }
  }
  @media (max-width: 380px) {
    #home-check-entry { grid-template-columns: minmax(0, 1fr); }
  }
}

/* Keep the simple landing content on the shared page grid. */
@media screen {
 .home-check-page #app .hero,
 .home-check-page #app .hero + .card { max-width: none; width: 100%; }
 @media (max-width: 480px) {
  .home-check-page #app .hero + .card .actions { flex-direction: column; }
  .home-check-page #app .hero + .card .actions > * { width: 100%; min-width: 0; }
 }
}

@media screen and (min-width: 841px) {
 .public-home .home-hero .home-visual { grid-template-rows: auto minmax(200px, 1fr) auto; }
 .public-home .home-hero .home-study-map { position: relative; min-height: 200px; height: auto; }
 .public-home .home-hero .home-study-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
 .public-home .home-hero .home-diagram-tags { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
 .public-home .home-hero .home-diagram-tags li { margin: 0; align-items: start; min-width: 0; }
 .public-home .home-hero .home-diagram-tags strong { font-size: 15px; }
 .public-home .home-hero .home-diagram-tags li div > span { font-size: 13px; line-height: 1.55; }
}
