
/* навигация */
.header{
    position: sticky;
    top: 0;
    padding-block-start: calc(.75rem + env(safe-area-inset-top));
    padding-block-end: .75rem;
    padding-inline-start: calc(var(--space-md, 1rem) + env(safe-area-inset-left));
    padding-inline-end: calc(var(--space-md, 1rem) + env(safe-area-inset-right));

    background-image: url("../images/bg_h.jpg");

    background-image: -webkit-image-set(
            url("../images/bg_h.avif") type("image/avif"),
            url("../images/bg_h.jpg")  type("image/jpeg")
    );

    background-image: image-set(
            url("../images/bg_h.avif") type("image/avif"),
            url("../images/bg_h.jpg")  type("image/jpeg")
    );
    background-size: cover;
    background-position: left bottom;
    background-repeat: no-repeat;

    color: var(--nav-fg);
    z-index: 100;
    isolation: isolate;
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

.nav-toggle{
    display: none;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    color: var(--nav-fg);
    border-radius: 999px;
    padding: .5rem .9rem;
    font-size: 1.1rem;
    cursor: pointer;
    backdrop-filter: blur(6px);

}

.nav {
    padding: 25px 0 40px;
    grid-area: nav;

    display: flex;
    justify-content: center;
    align-items: center;

}
@media (max-width: 1500px) {
    .nav {
        padding: 20px 0 40px;
    }
}
@media (max-width: 1300px) {
    .nav {
        padding: 15px 0 35px;
    }
}
@media (max-width: 1000px) {
    .nav {
        padding: 10px 0 30px;
    }
}
@media (max-width: 800px) {
    .nav {
        padding: 5px 0 20px;
    }
}

.nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;

    padding: .6rem 1.2rem;
    width: fit-content;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 1.4rem;

    align-items: center;

    position: relative;
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow), inset 0 1px 0 rgba(255,255,255,.6);

    backdrop-filter: blur(var(--glass-blur)) saturate(130%);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(130%);
}

.nav-link {
    font-family: "Manrope", "Segoe UI", Roboto, Arial, sans-serif;
    font-size: var(--nav-size);
    letter-spacing: var(--nav-tracking);
    font-weight: 600;

    color: var(--nav-fg);
    text-decoration: none;
    padding: 12px 25px;
    border-radius: 25px;

    display: inline-block;
    transition: transform .25s ease, background-color .25s ease;
    transform-origin: center;
}

@media (max-width: 800px){
    .nav{
        padding: 5px 0 20px;
        justify-content: flex-end;
        position: relative;
    }

    .nav-toggle{
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        margin: 0;
    }

    .nav-list{
        position: absolute;
        top: 100%;
        right: 0;
        left: auto;

        flex-direction: column;
        align-items: center;
        gap: .8rem;

        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(-8px);
        pointer-events: none;

        transition: max-height .25s ease, opacity .2s ease, transform .2s ease;
        margin-top: .6rem;
        padding-bottom: .6rem;
    }

    .nav.open .nav-list{
        max-height: 60vh;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .nav-link{
        font-size: clamp(14px, 3.2vw, 18px);
        padding: .4rem 1rem;
        color: var(--fg);
    }
}

.nav-link:hover {
    background: rgba(255,255,255,0.1);
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

.nav-link.active {
    background: rgba(255,255,255,0.2);
    font-weight: 700;
}

.visually-hidden{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}



/* футер */
.footer{
    position: relative;
    margin-top: 3rem;

    padding: .85rem 1.5rem;
    padding-bottom: max(.85rem, env(safe-area-inset-bottom));

    text-align: center;
    font-size: .9rem;
    letter-spacing: .08em;
    text-transform: uppercase;

    color: var(--fg-soft);


    background: linear-gradient(
            180deg,
            rgba(255,255,255,0.22),
            rgba(255,255,255,0.10)
    );
    border-top: 1px solid rgba(255,255,255,0.85);

    backdrop-filter: blur(14px) saturate(130%);
    -webkit-backdrop-filter: blur(14px) saturate(130%);

    box-shadow:
            0 -8px 24px rgba(0,0,0,0.18),
            0 -1px 0 rgba(255,255,255,0.5) inset;
}

.footer span,
.footer{
    font-family: "Manrope","Segoe UI",sans-serif;
}

:where(a, button):focus-visible {
    outline: 2px solid #fb2d2d;
    outline-offset: 3px;
}

