.menu{
    width:100%;
    height:78px;
    padding:0 48px;
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    background:transparent;
    border-bottom:1px solid transparent;
    transition:
        background .45s ease,
        border-color .45s ease,
        box-shadow .45s ease,
        backdrop-filter .45s ease;
}

.menu.scrolled{
    background:rgba(248,241,235,.72);
    border-bottom-color:rgba(23,23,23,.07);
    box-shadow:0 8px 30px rgba(0,0,0,.04);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

[data-theme="dark"] .menu.scrolled{
    background:rgba(23,21,20,.72);
    border-bottom-color:rgba(255,255,255,.08);
    box-shadow:0 8px 30px rgba(0,0,0,.18);
}

.logo{
    justify-self:start;
    font-size:22px;
    font-weight:700;
    letter-spacing:-1px;
    transition:color .3s ease;
}

.logo span{
    color:var(--accent);
}

.nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:38px;
}

.nav a{
    position:relative;
    padding:8px 2px;
    color:var(--text);
    font-size:13px;
    font-weight:400;
    letter-spacing:.1px;
    transition:
        color .35s ease,
        transform .35s ease;
}

.nav a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:1px;
    width:0;
    height:1px;
    border-radius:10px;
    background:var(--accent);
    transform:translateX(-50%);
    transition:width .4s cubic-bezier(.22,1,.36,1);
}

.nav a:hover{
    color:var(--accent);
    transform:translateY(-1px);
}

.nav a:hover::after{
    width:100%;
}

.menu-actions{
    justify-self:end;
    display:flex;
    align-items:center;
    gap:12px;
}

.theme-toggle{
    width:40px;
    height:40px;
    padding:0;
    border:1px solid var(--border);
    border-radius:50%;
    background:transparent;
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:
        color .35s ease,
        border-color .35s ease,
        background .35s ease,
        transform .4s ease;
}

.theme-toggle:hover{
    color:var(--accent);
    border-color:var(--accent);
    background:var(--surface);
    transform:rotate(8deg);
}

.theme-toggle svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.moon-icon{
    display:none;
}

[data-theme="dark"] .sun-icon{
    display:none;
}

[data-theme="dark"] .moon-icon{
    display:block;
}

.talk-button{
    min-height:40px;
    padding:0 17px 0 19px;
    border:1px solid var(--border);
    border-radius:30px;
    background:var(--surface);
    color:var(--text);
    display:flex;
    align-items:center;
    gap:12px;
    font-size:12px;
    font-weight:400;
    letter-spacing:.1px;
    transition:
        color .35s ease,
        border-color .35s ease,
        background .35s ease,
        transform .35s ease;
}

.talk-button span{
    font-size:15px;
    font-weight:400;
    transition:transform .35s ease;
}

.talk-button:hover{
    color:var(--accent);
    border-color:var(--accent);
    transform:translateY(-1px);
}

.talk-button:hover span{
    transform:translate(2px,-2px);
}


/* =========================
   TABLET
========================= */

@media(max-width:1000px){
    .menu{
        padding:0 30px;
    }

    .nav{
        gap:25px;
    }

    .nav a{
        font-size:12px;
    }

    .talk-button{
        display:none;
    }
}


/* =========================
   MOBILE
========================= */

@media(max-width:650px){
    .menu{
        height:68px;
        padding:0 20px;
        display:flex;
        justify-content:space-between;
    }

    .logo{
        font-size:20px;
    }

    .nav{
        display:none;
    }

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

    .theme-toggle{
        width:38px;
        height:38px;
    }

    .menu.scrolled{
        background:rgba(248,241,235,.82);
    }

    [data-theme="dark"] .menu.scrolled{
        background:rgba(23,21,20,.82);
    }
}