@media (max-width: 1100px) {
  .topbar nav { display: none; }
  .hero { grid-template-columns: 1fr; padding-top: 4rem; }
  .signal { min-height: 430px; }
  .section > header { grid-template-columns: 1fr; }
  .provider-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .provider-filters label:first-child { grid-column: 1 / -1; }
  .family-grid { grid-template-columns: repeat(2, 1fr); }
  footer { grid-template-columns: 1fr; }
  .footer-legal { text-align: left; }
}

@media (max-width: 760px) {
  .provider-directory-list { grid-template-columns: 1fr; }
  .provider-grid { grid-template-columns: repeat(2, 1fr); }
  .provider-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .topbar { height: 68px; padding: 0 1rem; gap: .5rem; }
  .topbar .brand { min-width: 0; }
  .topbar .brand img { width: 34px; height: 34px; flex: none; }
  .topbar .brand span { overflow-wrap: anywhere; font-size: clamp(.56rem, 3.2vw, .78rem); letter-spacing: .02em; }
  .brand small { display: none; }
  .key { flex: none; padding: .4rem; }
  #focus.key { font-size: 0; }
  .key kbd { margin: 0; font-size: .8rem; }
  .hero { min-height: auto; padding: 3rem 1rem; gap: 2rem; }
  .hero h1 { overflow-wrap: anywhere; font-size: clamp(2.35rem, 13vw, 3.45rem); }
  .input-row { grid-template-columns: auto minmax(0, 1fr); }
  .input-row button { grid-column: 1 / -1; width: 100%; margin-top: .3rem; }
  .form-meta { display: block; }
  .form-meta output { display: block; margin-top: .35rem; }
  .signal { min-height: 390px; }
  .origins { gap: 2.3rem; }
  .signal svg { left: 4%; width: 96%; }
  .result { margin: 0 1rem 3rem; padding: 1.2rem; }
  .destination { grid-template-columns: 42px minmax(0, 1fr); }
  .destination-open { grid-column: 2; }
  .result-head { flex-direction: column; gap: 1rem; }
  .result-actions { align-items: center; }
  .family-grid, .provider-grid { grid-template-columns: minmax(0, 1fr); }
  .shortcut { min-width: 0; margin: 0 1rem 4rem; padding: 2rem 1.2rem; overflow-wrap: anywhere; }
  .shortcut h2, .section h2 { overflow-wrap: anywhere; font-size: clamp(1.8rem, 12vw, 2.4rem); }
  .shortcut > div { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
  .shortcut b { width: max-content; transform: rotate(90deg); }
  .section { padding: 4rem 1rem; }
  .surface-grid, .provider-grid { grid-template-columns: minmax(0, 1fr); }
  .surface-grid article { min-height: 220px; }
  .public-page { padding: 3rem 1rem; }
  .provider-filters { grid-template-columns: 1fr; }
  .provider-filters label:first-child { grid-column: auto; }
  .provider-detail dl div { grid-template-columns: 1fr; gap: .25rem; }
  .provider-card-heading { align-items: flex-start; flex-direction: column; gap: .25rem; }
  footer { padding: 2rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

@media (max-width: 900px) {
  .steps { grid-template-columns: 1fr; }
  .step { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .step:last-child { border-bottom: 0; }
  .step-number { margin-bottom: 30px; }
  .demo-card { max-width: 620px; }
}

@media (max-width: 680px) {
  .domain-swap { gap: 8px; }
  .hero .input-icon { display: none; }
  .demo-content { padding: 20px; }
  .section-head { display: block; }
  .section-note { margin-top: 14px; }
}
