.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
/* BTL Core mobile navigation safeguard.
 * Loaded after the Vite bundle while Node/Vite is unavailable on hosting.
 * Mirrors the rules in resources/css/app.css; remove once bundled assets rebuild.
 */
@media (max-width: 900px) {
    .site-header nav a:not(.nav-action) { display: inline-flex; align-items: center; }
}
@media (max-width: 600px) {
    .site-header { min-height: 116px; flex-wrap: wrap; align-content: center; row-gap: .5rem; padding-block: .75rem; }
    .site-header nav { width: 100%; gap: .5rem; justify-content: space-between; }
    .site-header nav a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; font-size: .74rem; }
    .brand { font-size: .7rem; }
    .site-header .nav-action { padding: .5rem .7rem; }
    .hero { min-height: 700px; padding-top: 11rem; padding-bottom: 3rem; }
    .hero-copy, .hero-aside { min-width: 0; width: 100%; max-width: 100%; }
    .hero { grid-template-columns: minmax(0, 1fr); }
    .hero h1 { width: 100%; max-width: 100%; font-size: clamp(2.4rem, 10vw, 3.2rem); line-height: 1; letter-spacing: -.06em; overflow-wrap: break-word; }
    .hero-body { width: 100%; max-width: 100%; overflow-wrap: break-word; }
}

/* Keyboard focus must remain visible on the dark header. */
.site-header nav a:focus-visible, .site-header .brand:focus-visible { outline: 3px solid #5ee68a; outline-offset: 3px; }
