.topbar {
    position: sticky;
    top: 0;
    z-index: 100;

    height: 80px;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
}

/* LOGO + TESTO */
.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.logo img {
    height: 70px;
    /* 🔥 più coerente con header 80px */
    width: auto;
    display: block;
}

.brand-text {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

/* MENU */
.menu {
    display: flex;
    gap: 18px;
}

.menu a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    opacity: 0.9;
}

.menu a.active,
.menu a:hover {
    opacity: 1;
}

/* TOPBAR BASE */
.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    position: relative;
    z-index: 1000;
}

.menu {
    display: flex;
    gap: 25px;
}

/* BURGER */
.burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.burger span {
    width: 26px;
    height: 3px;
    background: white;
    border-radius: 3px;
    transition: 0.3s;
}

html,
body {
    overflow-x: hidden;
}

/* ==============================
   MOBILE — MINIMAL CINEMATIC
============================== */
@media (max-width: 768px) {

    .brand-text {
        display: none;
    }

    .burger {
        display: flex;
        z-index: 2001;
    }

    .menu {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        width: 100%;
        max-width: 100%;

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

        gap: 45px;

        background: rgba(0, 0, 0, 0.96);
        backdrop-filter: blur(18px);

        transform: translateX(100%);
        transition: transform 0.5s cubic-bezier(.76, 0, .24, 1);
        overflow: hidden;
    }

    .menu.active {
        transform: translateX(0);
    }
}