@media (max-width: 1080px) {
  .nav-toggle { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; background: none; border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; }
  .nav-toggle-bar, .nav-toggle-bar::before, .nav-toggle-bar::after { display: block; width: 22px; height: 2px; background: var(--navy); position: relative; content: ""; }
  .nav-toggle-bar::before { position: absolute; top: -7px; }
  .nav-toggle-bar::after { position: absolute; top: 7px; }
  .site-nav { position: absolute; top: 100%; left: 0; right: 0; background: var(--paper); border-bottom: 2px solid var(--gold); display: none; }
  .site-nav.open { display: block; }
  .site-nav ul { flex-direction: column; padding: 1rem 1.5rem; }
  .site-nav a { display: block; padding: .6rem 0; }
  .header-inner { position: relative; }
}
@media (max-width: 900px) {
  .two-col, .two-col.reverse { grid-template-columns: 1fr; gap: 2.5rem; }
  .card-grid.three, .card-grid.two, .related-grid, .gallery, .compare { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; gap: 2rem; }
  .article-toc { position: static; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .section { padding: 4rem 0; }
}
@media (max-width: 600px) {
  body { font-size: 1rem; }
  .brand-sub { display: none; }
  .timeline::before { left: 8px; }
  .tl-item { grid-template-columns: 1fr; gap: .3rem; padding-left: 2rem; }
  .tl-item::before { left: 1px; }
  .tl-year { text-align: left; padding: 0; }
  .hero { min-height: 80vh; }
  .footer-links { columns: 1; }
  .cookie-actions .btn { flex: 1 1 100%; }
}
