.top-line{
    height:5px;
    background:linear-gradient(90deg,var(--blue),var(--gold),var(--navy));
}

.pre-header{
    background:var(--navy);
    color:rgba(255,255,255,.75);
    font-size:12px;
}

.pre-header-inner{
    height:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.site-header{
    position:sticky;
    top:0;
    z-index:80;
    background:rgba(255,255,255,.92);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px);
}

.nav-inner{
    min-height:78px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px;
}

.brand{
    display:flex;
    align-items:center;
    gap:14px;
}

.brand-mark{
    width:48px;
    height:48px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--navy),var(--blue));
    color:#fff;
    font-weight:900;
    font-size:19px;
    box-shadow:0 14px 30px rgba(6,24,50,.16);
}

.brand-copy strong{
    display:block;
    color:var(--navy);
    font-size:16px;
    line-height:1.12;
    letter-spacing:-.01em;
}

.brand-copy span{
    display:block;
    color:var(--muted);
    font-size:12px;
    margin-top:4px;
}

.menu{
    display:flex;
    align-items:center;
    gap:8px;
}

.menu a{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:8px 12px;
    border-radius:999px;
    color:#33445a;
    font-size:13px;
    font-weight:750;
    transition:.18s ease;
}

.menu a:hover{
    color:var(--navy);
    background:#f1f5fa;
}

.menu .nav-cta{
    color:#fff;
    background:var(--navy);
    border:1px solid var(--navy);
    padding-inline:16px;
}

.menu-toggle{
    display:none;
    width:38px;
    height:38px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--navy);
    font-size:18px;
}

.footer{
    background:#222;
    color:rgba(255,255,255,.74);
    padding:28px 0;
    font-size:12px;
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
}

.footer strong{display:block;color:#fff}
.footer span{display:block;margin-top:5px}
.mobile-cta{display:none}

@media(max-width:900px){
    .menu-toggle{display:block}

    .menu{
        display:none;
        position:absolute;
        top:78px;
        left:20px;
        right:20px;
        background:#fff;
        border:1px solid var(--line);
        border-radius:22px;
        padding:14px;
        box-shadow:var(--shadow);
    }

    .menu.is-open{
        display:grid;
        gap:6px;
    }

    .menu a{
        justify-content:flex-start;
    }
}

@media(max-width:640px){
    body{padding-bottom:74px}
    .container,
    .container.narrow{width:min(100% - 26px,1200px)}

    .pre-header-inner{
        height:auto;
        padding:10px 0;
        display:block;
        line-height:1.6;
    }

    .nav-inner{min-height:70px}
    .brand-copy span{display:none}
    .footer-inner{display:block}

    .mobile-cta{
        position:fixed;
        left:10px;
        right:10px;
        bottom:10px;
        z-index:120;
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:8px;
        padding:8px;
        border-radius:20px;
        background:rgba(255,255,255,.94);
        border:1px solid var(--line);
        box-shadow:0 18px 44px rgba(6,24,50,.16);
        backdrop-filter:blur(14px);
    }

    .mobile-cta a{
        text-align:center;
        border-radius:999px;
        padding:10px 8px;
        font-size:12px;
        font-weight:850;
        color:var(--navy);
    }

    .mobile-cta a:first-child{
        color:#fff;
        background:var(--navy);
    }

    .mobile-cta a:last-child{
        color:#2d2100;
        background:var(--gold);
    }
}
