@media (max-width: 900px) {
    .hero-slide, .grid-3, .grid-2, .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .menu-toggle { display: block; }
    .site-nav .menu-list { display: none; flex-direction: column; background: #0f4c81; padding: 1rem; position: absolute; top: 100%; right: 1rem; border-radius: 8px; }
    .site-nav.active .menu-list { display: flex; }
    .topbar { flex-direction: column; align-items: flex-start; gap: .4rem; }
    .nav-wrap { position: relative; }
}
