@media (max-width: 1100px) {
  .hero-grid,
  .intro-grid,
  .case-workspace,
  .request-panel,
  .review-workspace,
  .review-steps,
  .paste-coach-grid {
    grid-template-columns: 1fr;
  }

  .guide-stage { min-height: 520px; }

  .grid-4,
  .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hud-card {
    position: relative;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: auto;
    margin: 10px 0;
  }

  .newspaper-stage {
    display: block;
    min-height: auto;
  }

  .guide-mini {
    position: relative;
    right: auto;
    top: auto;
    margin: 0 0 18px auto;
  }

  .newspaper {
    margin: 0 auto 18px;
  }
}

@media (max-width: 760px) {
  .container { width: min(100% - 24px, var(--max)); }

  .nav-wrap {
    min-height: auto;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding: 14px 0;
  }

  .aire-logo-mark {
    width: 70px;
    height: 70px;
  }

  .aire-logo-title { font-size: 24px; }
  .aire-logo-sub { font-size: 9px; letter-spacing: 0.12em; }

  .nav {
    width: 100%;
    justify-content: flex-start;
    gap: 12px;
  }

  .nav a {
    font-size: 14px;
  }

  .hero {
    min-height: auto;
    padding: 56px 0 70px;
  }

  .hero h2,
  .intro-copy h1 {
    font-size: clamp(38px, 12vw, 58px);
  }

  .intro-copy {
    padding: 24px;
  }

  .character-card {
    min-height: 480px;
  }

  .paper-sheet {
    grid-template-columns: 1fr;
  }

  .paper-masthead {
    display: block;
  }

  .paper-date {
    text-align: left;
    margin-top: 8px;
  }

  .paper-page:first-child {
    border-right: 0;
    border-bottom: 1px solid rgba(7,17,31,0.10);
  }

  .newspaper {
    transform: none;
    animation: none;
  }

  .grid-4,
  .grid-3,
  .grid-2,
  .ai-sheet-grid,
  .case-form,
  .optional-grid {
    grid-template-columns: 1fr;
  }

  .case-form .span-2 {
    grid-column: auto;
  }

  .section {
    padding: 70px 0;
  }

  .section-head {
    display: block;
  }

  .section-head p {
    margin-top: 14px;
  }

  .case-report-head {
    display: block;
  }

  .report-actions {
    justify-content: flex-start;
    margin-top: 16px;
  }

  .data-row {
    display: grid;
    gap: 4px;
  }

  .data-row b {
    text-align: left;
  }
}

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