/* Shared 1of navigation: keep index and craft header/logo/menu visually consistent. */
.site-header .brand {
    position: relative;
    display: block;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    z-index: 1002;
}
.site-header .brand img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
}
.site-header .brand .outer-image {
    animation: oneof-logo-spin 24s linear infinite;
    transform-origin: center center;
}
@keyframes oneof-logo-spin { to { transform: rotate(360deg); } }

.site-header .desktop-nav {
    display: flex;
    align-items: center;
    gap: clamp(20px, 3.2vw, 48px);
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}
.site-header .desktop-nav a {
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.2px;
    text-decoration: none;
}
.site-header .desktop-nav a:after { display: none; }
.site-header .desktop-nav .language {
    border: 0;
    border-left: 1px solid rgba(255,253,247,.28);
    padding: 0 0 0 25px;
    color: #e4dfd3;
}

#burger {
    display: none;
    position: relative;
    z-index: 1003;
    border: 0;
    background: transparent;
    color: #fff;
    padding: 8px;
    cursor: pointer;
}
#burger .burger {
    display: block;
    width: 28px;
    height: 2px;
    background: currentColor;
    position: relative;
}
#burger .burger:before, #burger .burger:after {
    content: "";
    position: absolute;
    left: 0;
    width: 28px;
    height: 2px;
    background: currentColor;
    transition: transform .2s, top .2s;
}
#burger .burger:before { top: -8px; }
#burger .burger:after { top: 8px; }
#burger[aria-expanded="true"] .burger { background: transparent; }
#burger[aria-expanded="true"] .burger:before { top: 0; transform: rotate(45deg); }
#burger[aria-expanded="true"] .burger:after { top: 0; transform: rotate(-45deg); }

.site-header .main-nav { display: none; }

@media (max-width: 760px) {
    .site-header { min-height: 0; padding: 19px 22px; }
    .site-header .brand { width: 60px; height: 60px; flex-basis: 60px; }
    .site-header .desktop-nav { display: none; }
    #burger { display: block; }
    .site-header .main-nav {
        display: block;
        position: fixed !important;
        inset: 0;
        z-index: 1001;
        background: #20251f;
        width: 100%;
        height: 100vh;
        height: 100svh;
        min-height: 100vh;
        padding: 110px 30px 40px;
        overflow-y: auto;
        transform: translateX(100%);
        visibility: hidden;
        transition: transform .35s ease, visibility .35s;
    }
    .site-header .main-nav.mobile-open {
        transform: translateX(0);
        visibility: visible;
    }
    .site-header .main-nav .navbar-nav {
        display: flex;
        flex-direction: column;
        gap: 25px;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .site-header .main-nav a {
        color: #f3f0e7 !important;
        font-family: 'DM Sans', sans-serif;
        font-size: 20px;
        font-weight: 600;
        letter-spacing: 2px;
        text-decoration: none;
        text-transform: uppercase;
    }
    .site-header .main-nav .ita {
        display: inline-block;
        border: 0;
        padding: 0;
        font-family: 'DM Sans', sans-serif;
        font-size: 15px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .site-header .brand .outer-image { animation: none; }
    .site-header .main-nav { transition: none !important; }
}
