@media (max-width: 68rem) {
  .public-header { min-height: 5.25rem; }
  .navigation { gap: 1.5rem; }
  .primary-navigation, .utility-navigation { gap: 1.25rem; }
  .home-hero { min-height: 40rem; grid-template-columns: 1.55fr .8fr; gap: 3rem; }
  .page-introduction { grid-template-columns: .35fr 1fr .72fr; }
  .work-stages { grid-template-columns: repeat(3, 1fr); }
  .work-stages article:nth-child(3) { border-right: 0; }
  .work-stages article:nth-child(n+4) { border-top: 1px solid var(--rule); }
}

@media (max-width: 52rem) {
  :root { --gutter: clamp(1.25rem, 4.5vw, 2.5rem); --space-7: 6rem; }
  .public-header { grid-template-columns: 1fr auto; position: relative; }
  .menu-toggle { display: block; min-width: 4.5rem; min-height: 2.75rem; border: 1px solid var(--ink); border-radius: 0; background: transparent; text-transform: uppercase; font-size: .72rem; font-weight: 650; letter-spacing: .14em; }
  .navigation { display: none; position: absolute; z-index: 20; top: calc(100% + 1px); right: 0; left: 0; padding: 1.5rem; background: var(--paper); border-bottom: 1px solid var(--rule); }
  .navigation.is-open { display: grid; gap: 1.5rem; }
  .primary-navigation, .utility-navigation { display: grid; gap: 0; }
  .primary-navigation a, .utility-navigation a { min-height: 3rem; display: flex; align-items: center; border-bottom: 1px solid var(--rule); }
  .utility-navigation { padding: 0; border: 0; }
  .home-hero { min-height: auto; padding-block: 5rem 6rem; display: block; }
  .positioning { margin-bottom: 2.5rem; gap: .7rem 1.4rem; }
  .home-introduction { margin-top: 3rem; max-width: 34rem; }
  .home-role, .page-introduction, .ground-control-explanation, .contact-layout { grid-template-columns: 1fr; }
  .home-role { gap: 3rem; }
  .home-role header h2 { max-width: 12ch; }
  .page-introduction { min-height: auto; padding-block: 5rem; gap: 1.5rem; }
  .page-introduction .label, .page-introduction h1, .page-introduction > p:last-child { grid-column: 1; }
  .page-introduction h1, .page-introduction p { margin: 0; }
  .capability h2 > button { grid-template-columns: 1fr 2rem; gap: .6rem 1.5rem; }
  .capability-description { grid-column: 1; }
  .disclosure-mark { grid-column: 2; grid-row: 1; }
  .capability-detail { margin-left: 0; padding: 0 2rem 1.5rem 0; }
  .capability-detail ul { columns: 1; }
  .work-stages { grid-template-columns: 1fr 1fr; }
  .work-stages article, .work-stages article:nth-child(3) { min-height: 14rem; border-right: 1px solid var(--rule); border-top: 1px solid var(--rule); }
  .work-stages article:nth-child(odd) { border-left: 0; }
  .work-stages article:nth-child(even), .work-stages article:last-child { border-right: 0; }
  .ground-control-explanation { gap: 1.5rem; }
  .contact-layout { gap: 3rem; }
  .public-footer { grid-template-columns: 1fr 1fr; }
  .brand-vocabulary { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; }
}

@media (max-width: 30rem) {
  :root { --gutter: 1rem; --step-3: clamp(2.6rem, 12vw, 3.6rem); --space-6: 4rem; --space-7: 5rem; }
  .public-header { min-height: 4.75rem; }
  .brand-link img { height: 1.45rem; }
  .menu-toggle { min-width: 4rem; min-height: 2.75rem; }
  .home-hero { padding-block: 4.5rem 5.5rem; }
  .home-hero h1 { max-width: none; }
  .home-introduction { margin-top: 2.5rem; }
  .positioning { font-size: .66rem; line-height: 1.6; }
  .role-list article { grid-template-columns: 1fr; gap: .35rem; padding-block: 1.5rem; }
  .capability h2 > button { min-height: 0; padding-block: 1.3rem; }
  .capability-title { font-size: 1.25rem; }
  .work-stages { grid-template-columns: 1fr; }
  .work-stages article, .work-stages article:nth-child(3) { min-height: 0; padding: 1.75rem 0; border-right: 0; }
  .form-grid { grid-template-columns: 1fr; gap: 1rem; }
  .field-wide { grid-column: 1; }
  .field input { min-height: 3.5rem; }
  .form-action { display: grid; }
  .button { width: 100%; min-height: 3.5rem; }
  .public-footer { min-height: 18rem; grid-template-columns: 1fr; align-items: start; }
  .public-footer address { justify-self: start; }
  .brand-vocabulary { grid-column: 1; grid-row: auto; flex-wrap: wrap; justify-content: flex-start; gap: .8rem 1.2rem; }
}
