/* Responsive behavior */
@media (max-width: 960px) {
  .hero__inner { grid-template-columns: 1fr; gap: var(--space-6); }
  .steps { grid-template-columns: 1fr 1fr; }
  .who-grid { grid-template-columns: 1fr; }
  .plain-cols { grid-template-columns: 1fr; }
  .source-cards { grid-template-columns: 1fr; }
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-5); }
}

@media (max-width: 720px) {
  .steps { grid-template-columns: 1fr; }
  .source-strip { grid-template-columns: 1fr; }

  /* Mobile navigation */
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    background: none;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    padding: var(--space-2) var(--space-3);
    cursor: pointer;
    min-height: 44px;
  }
  .nav-toggle__bar {
    display: block;
    width: 18px; height: 2px;
    background: var(--color-ink);
    box-shadow: 0 6px 0 var(--color-ink), 0 -6px 0 var(--color-ink);
  }
  .nav-toggle__label { font-size: var(--text-sm); font-weight: var(--weight-semibold); }

  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: var(--color-surface);
    border-bottom: var(--border-thin);
    box-shadow: var(--shadow-raised);
  }
  .site-nav.is-open { display: block; }
  .site-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: var(--space-3) var(--container-pad); }
  .site-nav__link { display: block; padding: var(--space-3) var(--space-2); font-size: var(--text-base); border-bottom: none; }
  .site-nav__link.is-active { border-left: 3px solid var(--color-coral); padding-left: var(--space-3); }
  .site-nav__action { padding: var(--space-3) var(--space-2); }
  .site-nav__action .button { display: block; text-align: center; }

  /* Comparison table stacks into cards */
  .comparison-table thead { position: absolute; left: -9999px; }
  .comparison-table, .comparison-table tbody, .comparison-table tr, .comparison-table td, .comparison-table tbody th { display: block; }
  .comparison-table tr { border: var(--border-thin); border-radius: var(--radius-sm); margin-bottom: var(--space-3); padding: var(--space-2); }
  .comparison-table td, .comparison-table tbody th { border-bottom: none; padding: var(--space-1) var(--space-2); }
  .comparison-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
  }
  .assessment { white-space: normal; }
}

@media (max-width: 480px) {
  .checker-form__actions { flex-direction: column; align-items: stretch; }
  .checker-form__actions .button { text-align: center; }
  .page-head, .band { padding-top: var(--space-6); padding-bottom: var(--space-6); }
}
