/* =====================================================
HEADER
===================================================== */

.site-header{

    position:fixed;

    top:18px;
    left:0;

    width:100%;

    z-index:9999;

    transition:.35s;

}

.header-inner{

    width:min(1400px,calc(100% - 40px));

    margin:0 auto;

    height:82px;

    display:grid;

    grid-template-columns:320px 1fr auto;

    align-items:center;

    gap:40px;

    padding:0 32px;

    background:rgba(255,255,255,.82);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.55);

    border-radius:22px;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    transition:.35s;

}

/* =====================================================
LOGO
===================================================== */

.header-logo a{

    display:flex;

    flex-direction:column;

    text-decoration:none;

}

.logo-main{

    font-size:26px;

    font-weight:700;

    color:#222;

    line-height:1.2;

}

.logo-sub{

    margin-top:6px;

    font-size:12px;

    color:#777;

    line-height:1;

}

/* =====================================================
NAV
===================================================== */

.global-nav{

    display:flex;

    justify-content:center;

}

.nav-menu{

    display:flex;

    align-items:center;

    gap:48px;

    margin:0;

    padding:0;

    list-style:none;

}

.nav-menu li{

    margin:0;

}

.nav-menu a{

    position:relative;

    color:#333;

    font-size:15px;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-8px;

    width:0;

    height:2px;

    background:#0d7c78;

    transition:.3s;

}

.nav-menu a:hover{

    color:#0d7c78;

}

.nav-menu a:hover::after{

    width:100%;

}

/* =====================================================
CTA
===================================================== */

.header-cta{

    display:flex;

    align-items:center;

}

.join-button{

    display:inline-flex;

    align-items:center;

    gap:12px;

    height:52px;

    padding:0 28px;

    border-radius:999px;

    background:#0d7c78;

    color:#fff;

    font-size:15px;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.join-button svg{

    transition:.3s;

}

.join-button:hover{

    background:#086663;

    transform:translateY(-2px);

    box-shadow:0 10px 30px rgba(13,124,120,.25);

}

.join-button:hover svg{

    transform:translateX(5px);

}

/* =====================================================
MENU BUTTON
===================================================== */

.menu-toggle{

    display:none;

    width:48px;

    height:48px;

    background:none;

    border:none;

    cursor:pointer;

}

.menu-toggle span{

    display:block;

    width:26px;

    height:2px;

    margin:6px auto;

    background:#333;

    transition:.3s;

}

/* =====================================================
SCROLL
===================================================== */

.site-header.scrolled{

    top:10px;

}

.site-header.scrolled .header-inner{

    height:70px;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

}

.site-header.scrolled .logo-main{

    font-size:22px;

}

.site-header.scrolled .logo-sub{

    display:none;

}

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

@media(max-width:1100px){

    .header-inner{

        grid-template-columns:260px 1fr auto;

        gap:24px;

    }

    .nav-menu{

        gap:28px;

    }

}

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

@media(max-width:960px){

    .global-nav{

        display:none;

    }

    .header-cta{

        display:none;

    }

    .menu-toggle{

        display:block;

        justify-self:end;

    }

    .header-inner{

        grid-template-columns:1fr auto;

    }

}

@media(max-width:768px){

    .site-header{

        top:10px;

    }

    .header-inner{

        width:calc(100% - 20px);

        height:70px;

        padding:0 20px;

    }

    .logo-main{

        font-size:22px;

    }

    .logo-sub{

        display:none;

    }

}