@media (min-width: 901px) and (max-width: 1100px) {
  .site-header { height: 70px; padding-inline: 28px; }
  .site-nav { display: none; position: absolute; top: 70px; left: 0; right: 0; background: #fff; padding: 32px 28px; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 24px; }
  .site-nav.is-open { display: flex; }
  .menu-button { display: grid; gap: 7px; background: none; border: 0; padding: 10px; }
  .menu-button span { width: 27px; height: 1px; background: var(--navy); }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-block: 92px 70px; }
  .hero h1 { font-size: 64px; }
  .flow-mark { margin-top: 42px; max-width: 760px; }
  .scroll-hint { display: none; }
  .business-item { grid-template-columns: 100px 200px 1fr; gap: 28px; }
  .message-layout { grid-template-columns: 1fr; gap: 42px; }
  .quote-graphic { min-height: 300px; }
  .quote-graphic svg { width: 300px; }
  .company-grid { grid-template-columns: 1fr; gap: 70px; }
}

@media (min-width: 1101px) {
  .hero { grid-template-columns: 1.15fr .85fr; }
  .hero h1 { font-size: clamp(48px, 5.25vw, 78px); }
}

@media (min-width: 641px) {
  .hero h1 span { white-space: nowrap; }
}
