@media (max-width: 680px) {
  .breadcrumb-wrap {
    padding-top: .35rem;
  }

  .breadcrumb {
    gap: .32rem;
    font-size: .75rem;
  }

  .breadcrumb a,
  .breadcrumb span {
    min-height: 28px;
    padding: .24rem .42rem;
  }

  .hero-section,
  .section-band,
  .site-footer {
    width: min(100% - 1rem, 1180px);
  }

  .hero-section {
    padding-bottom: 2.8rem;
  }

  h1 {
    font-size: 2.75rem;
    line-height: .94;
    text-shadow: 3px 3px 0 #000, 6px 6px 0 var(--pink);
  }

  .hero-lead,
  .section-heading p:not(.section-kicker),
  .gate-card p {
    font-size: .98rem;
  }

  .section-band {
    padding-block: 3.2rem;
  }

  .section-band::before {
    inset: 1rem -.75rem;
    opacity: .16;
  }

  .section-heading h2,
  .gate-card h2 {
    font-size: 2.25rem;
    line-height: 1;
  }

  .hero-actions,
  .gate-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  .btn {
    width: 100%;
  }

  .access-grid,
  .step-wall,
  .shout-wall,
  .rtp-grid {
    grid-template-columns: 1fr;
  }

  .rtp-terminal {
    grid-template-columns: 1fr;
  }

  .rtp-terminal small {
    grid-column: auto;
  }

  .rtp-led {
    width: 14px;
    height: 14px;
  }

  .step-wall::before {
    display: none;
  }

  .review-note,
  .review-wide {
    grid-column: auto;
  }

  .shout-wall {
    padding: .8rem;
  }

  .wall-sticker {
    display: none;
  }

  .faq-file summary {
    align-items: flex-start;
    font-size: 1.25rem;
  }

  .faq-file p {
    padding-left: 1.15rem;
  }

  .window-body h3 {
    font-size: 1.45rem;
  }

  .gate-card {
    padding: 1.25rem;
  }

  .gate-card::before {
    font-size: 2.5rem;
  }
}

@media (max-width: 420px) {
  .site-header {
    padding-inline: .55rem;
  }

  .access-bar {
    padding: .55rem;
    border-width: 2px;
    box-shadow: 0 0 0 3px #050d1e, 0 0 0 5px var(--pink);
  }

  .nav-tabs a {
    min-height: 38px;
    padding: .55rem .72rem;
    font-size: .9rem;
  }

  .kicker-label,
  .section-kicker {
    font-size: .78rem;
  }

  h1 {
    font-size: 2.35rem;
  }

  .corner-sticker {
    font-size: .78rem;
  }

  .sticker-a {
    left: -8px;
  }

  .sticker-b {
    right: -8px;
  }

  .burst {
    display: none;
  }

  .access-card,
  .step-slip,
  .review-note {
    min-height: 0;
  }

  .window-bar {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .file-name {
    font-size: .82rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  .js .hero-copy .kicker-label,
  .js .hero-copy .hero-lead,
  .js .hero-copy .status-strip,
  .js .hero-actions .btn,
  .js .hero-collage .corner-sticker,
  .js .hero-collage .burst,
  .js .reveal-window .window-bar,
  .js .reveal-window .window-body {
    opacity: 1;
    transform: none;
  }
}
