@media (max-width: 768px) {
    .nav-toggle {
        display: block;
        position: relative;
        z-index: 2;
    }

    .nav-links {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        left: 1rem;
        right: 1rem;
        flex-direction: column;
        gap: 0;
        padding: .75rem;
        border: 1px solid rgba(46, 125, 50, .14);
        border-radius: 16px;
        background: rgba(250, 253, 247, .98);
        box-shadow: 0 18px 48px rgba(15, 35, 24, .15);
    }

    .nav-links.is-open {
        display: flex;
    }

    .nav-links a {
        display: block;
        padding: .85rem .75rem;
        font-size: .75rem;
    }

    .user-menu {
        margin-left: auto;
    }

    .user-btn {
        display: inline-grid;
        width: 42px;
        height: 42px;
        padding: 0;
        place-items: center;
        border: 1px solid rgba(46, 125, 50, .18);
        border-radius: 14px;
        background: rgba(255, 255, 255, .72);
    }

    .user-btn[aria-expanded="true"] {
        border-color: rgba(46, 125, 50, .38);
        background: var(--meadow);
    }

    .user-btn-label {
        display: none;
    }

    .user-btn-icon {
        display: inline-flex;
    }
}

@media (max-width: 480px) {
    .footer-main {
        padding: 1.5rem 1.25rem 1rem;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 1.25rem;
    }

    .f-brand {
        min-width: 0;
        flex: 1 1 auto;
    }

    .f-logo {
        margin-bottom: .5rem;
        font-size: 1.3rem;
    }

    .f-tagline {
        display: -webkit-box;
        max-width: 100%;
        margin-bottom: .75rem;
        overflow: hidden;
        font-size: .8rem;
        line-height: 1.5;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .footer-bottom {
        padding: 1rem 1.25rem;
        flex-direction: column;
        align-items: center;
        gap: .35rem;
        text-align: center;
    }
}

@media (pointer: coarse), (prefers-reduced-motion: reduce) {
    body {
        cursor: auto;
    }

    .cur,
    .cur-trail {
        display: none;
    }
}
