@media (max-width: 1100px) and (min-width: 851px) {
  .hero h1 { max-width: 620px; font-size: 68px; }
  .hero-system { right: 3vw; width: 320px; height: 320px; }
  .orbit-one { width: 240px; height: 240px; }
  .orbit-two { width: 310px; height: 190px; }
  .system-core { width: 130px; height: 130px; }
  .system-node { min-width: 105px; padding: 10px 12px; }
  .approach-cards { display: flex; padding-bottom: 12px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .approach-cards article { flex: 0 0 260px; scroll-snap-align: start; }
}

@media (min-width: 1500px) {
  .hero h1 { max-width: 1120px; }
  .hero-system { right: 5vw; }
}

@media (max-width: 850px) {
  .site-header nav, .site-header > .button { display: none; }
  .site-header nav.open { position: absolute; top: 88px; left: 0; right: 0; display: flex; flex-direction: column; gap: 20px; padding: 24px 32px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .menu-button { display: block; }
  .hero { min-height: 900px; padding-top: 145px; }
  .hero h1 { font-size: 55px; }
  .hero-copy { font-size: 16px; }
  .hero-system { right: calc(50% - 170px); bottom: 65px; width: 340px; height: 320px; }
  .orbit-one { width: 260px; height: 260px; }
  .orbit-two { width: 330px; }
  .hero-footnote { display: none; }
  .thesis-grid { grid-template-columns: 1fr; gap: 35px; margin-bottom: 10px; }
  .method-heading { display: block; }
  .method-heading p { width: auto; margin-top: 30px; }
  .approach-cards { display: flex; padding-bottom: 12px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .approach-cards article { flex: 0 0 min(72vw, 320px); scroll-snap-align: start; }
  .penny { grid-template-columns: 1fr; }
  .penny-copy { padding-right: 0; }
  .penny-visual { margin-top: 70px; }
  .contact-body { grid-template-columns: 1fr; gap: 90px; }
  .capability-stack { max-width: 680px; width: 100%; }
}

@media (max-width: 560px) {
  .section-shell { padding-inline: 22px; }
  .hero h1 { font-size: 45px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .method { padding-top: 80px; }
  .method-heading { margin-bottom: 55px; }
  .approach-cards article { min-height: 260px; }
  .approach-icon { margin-top: 38px; }
  .penny { min-height: 980px; }
  .penny-visual { min-height: 450px; padding: 16px; }
  .penny-flow { min-width: 570px; transform:translateX(-8%); }
  .contact { padding-top: 80px; padding-bottom: 90px; }
  .contact-intro { margin-bottom: 60px; }
  .contact h2 { font-size: 48px; }
  .form-row { grid-template-columns: 1fr; gap: 25px; }
  .stack-cards { height: 270px; margin-right: 28px; }
  .stack-cards article { padding: 28px; }
  footer { flex-direction: column; justify-content: center; gap: 22px; text-align: center; }
}
