@media (max-width: 900px) {
  body { word-break: normal; }
  .nav, .hero, .sections, .footer { padding-left: 24px; padding-right: 24px; }
  .nav { padding-top: 24px; }
  .hero {
    grid-template-columns: 1fr;
    padding-top: 72px;
    padding-bottom: 72px;
  }
  .hero-spacer { display: none; }
  .hero h1 { font-size: 40px; }
  .sections { gap: 96px; padding-bottom: 72px; }
  .row { grid-template-columns: 1fr; gap: 12px; }
  .row > h2 { font-size: 20px; }
  .row > :not(h2) { padding-left: 16px; }
  .cols-split { grid-template-columns: 1fr; }
  .apps {
    display: flex;
    gap: 16px;
    margin-right: -24px;
    padding-right: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    cursor: pointer;
  }
  .apps a.name {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
    cursor: pointer;
    touch-action: manipulation;
  }
  .apps article {
    flex: 0 0 78%;
    scroll-snap-align: start;
  }
  .shot { width: 100%; }
  .two { grid-template-columns: 1fr; }
  .footer { flex-wrap: nowrap; gap: 12px; padding-bottom: 24px; }
  .footer-links { gap: 12px; }
  .seg { display: flex; flex-direction: column; width: 100%; }
  .seg-opt { min-height: 44px; }
  .seg-opt + .seg-opt { border-left: 0; border-top: 1px solid var(--color-divider); }
}

@media (max-width: 480px) {
  .hero h1 { font-size: 34px; }
  .nav-links a:not(.nav-contact) { display: none; }
}
