/* Navbar sticky opaque — header h-20 = 80px */
header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background-color: #F6F4F0 !important;
    background-image: none !important;
    opacity: 1 !important;
    border-bottom: 1px solid #E2E8F0;
}

body { margin-top: 80px; }
html { scroll-padding-top: 80px; scroll-behavior: smooth; }
section, #top { scroll-margin-top: 80px; }
main { position: relative; z-index: 1; }

#mobile-menu-toggle,
#mobile-menu { display: none; }

@media (max-width: 767px) {
    html.js #mobile-menu-toggle {
        display: inline-flex;
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
    }

    #mobile-menu.is-open {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0.5rem 1.5rem 1rem;
        background: #F6F4F0;
        border-top: 1px solid #E2E8F0;
        box-shadow: 0 18px 30px -24px rgba(15, 23, 42, 0.18);
    }

    #mobile-menu a {
        min-height: 44px;
        display: flex;
        align-items: center;
        color: #64748B;
        font-size: 0.95rem;
        border-bottom: 1px solid #E2E8F0;
    }

    #mobile-menu a:last-child { border-bottom: 0; }

    footer nav {
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 1.25rem !important;
        row-gap: .75rem !important;
    }
}
