@media (max-width: 720px) {
  .nav { padding: 12px 20px; }
  .nav-links { display: none; }
  .nav .btn { min-height: 44px; }

  .wrap { padding: 0 20px; }
  .hero-copy { padding: 36px 20px 28px; gap: 20px; }
  .hero h1 { font-size: 34px; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .hero-actions .btn { min-height: 44px; }

  .hero-shots {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 8px 20px 0;
    scroll-snap-type: x mandatory;
  }
  .shot {
    flex: 0 0 132px;
    width: 132px;
    height: 240px;
    aspect-ratio: auto;
    scroll-snap-align: start;
  }

  .block { padding: 48px 0 8px; }
  .app-row {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px 0;
  }
  .app-name { font-size: 26px; }
  .actions { width: 100%; }
  .actions .btn { width: 100%; min-height: 44px; justify-content: flex-start; }

  .series { margin: 0 -20px; padding: 48px 20px; gap: 28px; }
  .stack h2, .career h2 { font-size: 26px; }
  .article, .article-soon {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    min-height: 44px;
  }
  .article span:last-child { display: none; }
  .article-title { font-size: 17px; }

  .career { padding: 48px 0; gap: 28px; }
  .contact-band { padding: 48px 20px; gap: 28px; }
  .contact-band h2 { font-size: 34px; }
  .two { grid-template-columns: 1fr; }
  .panel .btn { width: 100%; min-height: 44px; }
  .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); }

  .footer { flex-direction: column; padding: 8px 20px 24px; }
  .footer-links { flex-direction: column; gap: 0; }
}
