@media (max-width: 820px) {
  :root { --shell: min(100% - 36px, 720px); --space-section: 96px; }
  .hero-lower, .stage-heading, .section-intro, .privacy, .pricing { grid-template-columns: 1fr; }
  .hero-lower { gap: 54px; }
  .stage-heading > p:last-child { max-width: 580px; }
  .flow-list li { grid-template-columns: 60px 1fr; }
  .step-note { grid-column: 2; justify-self: start; }
  .details { grid-template-columns: 1fr; }
  .detail, .detail:nth-child(even) { min-height: 0; padding: 54px 0 64px; border-left: 0; }
  .detail-compose { grid-column: auto; grid-template-columns: 1fr; gap: 30px; }
  .local-stamp { justify-self: start; }
  .purchase-panel { max-width: 520px; }
}

@media (max-width: 560px) {
  :root { --shell: calc(100% - 28px); --space-section: 76px; }
  body { font-size: 16px; }
  .site-header { min-height: 72px; }
  nav { gap: 10px; }
  nav a { padding-inline: 8px; }
  .hero { padding-top: 58px; }
  h1 { font-size: clamp(48px, 15.5vw, 74px); }
  h2 { font-size: clamp(39px, 12vw, 58px); }
  .capture-motif { min-height: 138px; }
  .selection-text { white-space: normal; }
  .trace { left: 38%; top: 78px; height: 24px; }
  .trace::after { top: 24px; width: 42px; }
  .source-label {
    left: calc(38% + 49px);
    top: 90px;
    max-width: 170px;
    line-height: 1.35;
  }
  .app-frame { margin-inline: -7px; }
  .flow-list li { grid-template-columns: 42px 1fr; gap: 16px; }
  .detail-compose { display: block; }
  .detail-compose > * + * { margin-top: 28px; }
  .privacy { gap: 30px; }
  .pricing { gap: 48px; }
  .site-footer { grid-template-columns: 1fr 1fr; padding-block: 28px; }
  .site-footer p:nth-child(2) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .selection-text::before { inset-inline-end: 0; }
  .source-label { opacity: 1; transform: none; }
}
