.nav-wrap{ display:flex; gap:.5rem; flex-wrap:wrap; }
.nav-link{
    position:relative; display:inline-flex; align-items:center;
    height:2.25rem; padding:0 .375rem; font-weight:700; font-size:.95rem;
    color:#e9f2fb; text-decoration:none; border-radius:.25rem;
    transition:color .18s ease, transform .18s ease;
}
.nav-link:hover{ color:#ffffff; transform:translateY(-0.5px); }
.nav-link.is-current{ color:#ffffff; }
.nav-link::after{
    content:""; position:absolute; left:.15rem; right:.15rem; bottom:-10px; height:2px;
    background:linear-gradient(90deg,#74d2ff 0%, #cfefff 50%, #9ec5ff 100%);
    border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; opacity:.85;
}
.nav-link.is-current::after,.nav-link:hover::after{ transform:scaleX(1); }
.nav-link:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(116,210,255,.25); background:rgba(255,255,255,.03); }

.btn-cta{
    background:linear-gradient(120deg, #f7cf4a 0%, #ffe082 48%, #facc15 100%);
    color:#10233c; border-radius:12px; padding:.5rem 1rem; font-weight:700;
    display:inline-flex; align-items:center; gap:.5rem;
    box-shadow:0 18px 38px -18px rgba(247,207,74,.45);
    transition:filter .18s ease, transform .18s ease;
}
.btn-cta:hover{ filter:brightness(1.06); transform:translateY(-0.5px); }

.drawer{ transform:translateX(100%); will-change:transform; }
.drawer.open{ transform:translateX(0); transition:transform .28s ease; }

#nav-overlay .drawer{transform:translateX(100%);transition:transform .3s ease;}
#nav-overlay[data-open="true"] .drawer{transform:translateX(0);}
