/* Responsive adjustments */
@media (max-width: 1100px) { .main-nav a { padding: .5rem .45rem; font-size: .84rem; } }
@media (max-width: 980px) {
  .nav-toggle { display: inline-block; }
  .main-nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--ivory); border-bottom: 1px solid rgba(24,61,61,.15); display: none; box-shadow: var(--shadow); }
  .main-nav.is-open { display: block; }
  .main-nav ul { flex-direction: column; padding: .8rem 1.25rem 1.2rem; }
  .main-nav a { padding: .75rem 0; font-size: 1rem; border-bottom: 1px solid var(--mist); }
  .article-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .aside { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .split { grid-template-columns: 1fr; gap: 2.5rem; }
}
@media (max-width: 700px) {
  body { font-size: 1rem; }
  .grid-2, .then-now, .footer-grid { grid-template-columns: 1fr; }
  .gallery { grid-template-columns: 1fr 1fr; }
  .timeline::before { left: 8px; }
  .timeline li { grid-template-columns: 1fr; gap: .2rem; padding-left: 2rem; }
  .timeline li::before { left: 3px; }
  .timeline .year { text-align: left; }
  .hero-content { padding: 5rem 0 3rem; }
  .route-card-body { padding: 1.5rem; }
  .route-meta { grid-template-columns: 1fr; }
  .brand-name { font-size: 1.1rem; }
  .cookie-banner { padding: 1rem; left: .6rem; right: .6rem; bottom: .6rem; font-size: .82rem; line-height: 1.55; }
  .cookie-banner h2 { font-size: 1.05rem; margin-bottom: .3rem; }
  .cookie-actions { gap: .4rem; margin-top: .8rem; }
  .cookie-actions .btn { padding: .55rem .6rem; font-size: .78rem; flex: 1 1 auto; text-align: center; }
  .cookie-prefs label { font-size: .8rem; }
  .notice-bar { font-size: .74rem; line-height: 1.45; }
}
@media print { .site-header, .cookie-banner, .notice-bar { display: none; } }
