/* ================= Header upgrade ================= */
.announce { background: linear-gradient(90deg, #0B1624, #172C45 40%, #1F4E79); color: #fff; font-size: 13.5px; position: relative; z-index: 101; overflow: hidden; }
.announce::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(190,241,222,.14) 50%, transparent 70%); transform: translateX(-100%); animation: annSheen 6s ease-in-out infinite; pointer-events: none; }
@keyframes annSheen { 60%, 100% { transform: translateX(100%); } }
.announce-in { display: flex; align-items: center; justify-content: center; gap: 12px; height: 40px; }
.announce-tag { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #0B1624; background: #BEF1DE; padding: 3px 8px; border-radius: 6px; font-weight: 500; }
.announce-txt { color: rgba(255,255,255,.85); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.announce-link { display: inline-flex; align-items: center; gap: 4px; color: #BEF1DE; font-weight: 600; white-space: nowrap; }
.announce-link .material-symbols-outlined { font-size: 15px; transition: transform .25s var(--ease); }
.announce-link:hover .material-symbols-outlined { transform: translateX(3px); }

.site-header { transition: background-color .35s ease, box-shadow .35s ease, top .35s var(--ease); }
.site-header .nav { transition: max-width .45s var(--ease), padding .45s var(--ease), background-color .35s, box-shadow .35s, border-radius .45s, height .35s; height: 100%; }
.nav-logo img { transition: width .35s var(--ease); }
@media (min-width: 992px) {
    .site-header.scrolled { background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; top: 10px; }
    .site-header.scrolled .nav {
        max-width: 1180px; height: 60px; padding: 0 10px 0 24px; border-radius: 18px;
        background: rgba(255,255,255,.8); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
        box-shadow: 0 0 0 1px rgba(23,44,69,.07), 0 18px 40px -18px rgba(23,44,69,.35);
    }
    .site-header.scrolled .nav-logo img { width: 148px; }
}

/* sliding hover pill */
.nav-menu { position: relative; }
.nav-pill {
    position: absolute; top: 50%; left: 0; height: 40px; width: 0; margin-top: -20px; border-radius: 10px;
    background: var(--cream); opacity: 0; pointer-events: none; z-index: 0;
    transition: transform .35s var(--ease), width .35s var(--ease), opacity .25s ease;
}
.nav-menu > .nav-link, .nav-menu > .nav-item { position: relative; z-index: 1; }
.nav-menu .nav-link:hover, .nav-item.open > .nav-link, .nav-link[aria-current="page"] { background: transparent; }
.nav-link[aria-current="page"] { color: var(--orange); }
.nav-link[aria-current="page"]::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 3px; height: 2px; border-radius: 2px; background: var(--orange); }
.nav-link { position: relative; }

/* CTA with sheen + arrow */
.btn-glow { position: relative; overflow: hidden; }
.btn-glow .material-symbols-outlined { font-size: 17px; transition: transform .25s var(--ease); }
.btn-glow:hover .material-symbols-outlined { transform: translateX(3px); }
.btn-glow::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent); transform: skewX(-20deg); animation: btnSheen 4.5s ease-in-out infinite; }
@keyframes btnSheen { 0%, 70% { left: -60%; } 100% { left: 130%; } }

/* mega menu with feature card */
.mega.wide { min-width: 860px; }
.mega-cols { display: grid; grid-template-columns: 1fr 270px; gap: 12px; }
.mega-feature {
    display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: 14px; color: #fff; position: relative; overflow: hidden;
    background: radial-gradient(120% 100% at 70% 0%, #1B4A73, #0F2236 60%, #0B1624);
    transition: transform .3s var(--ease);
}
.mega-feature:hover { transform: translateY(-2px); }
.mf-img { display: block; height: 120px; margin: -4px -4px 6px; border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.04); }
.mf-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .8s var(--ease); }
.mega-feature:hover .mf-img img { transform: scale(1.05); }
.mf-tag { align-self: flex-start; font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; background: #BEF1DE; color: #0B1624; padding: 2px 7px; border-radius: 5px; }
.mega-feature strong { font-size: 15.5px; font-weight: 600; }
.mega-feature small { font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.45; }
.mega-feature .link { color: #BEF1DE; font-size: 14px; margin-top: 4px; }
@media (max-width: 1180px) { .mega.wide { min-width: 720px; } .mega-cols { grid-template-columns: 1fr 230px; } }

@media (max-width: 991.98px) {
    .announce-in { height: 36px; font-size: 12.5px; gap: 10px; justify-content: center; }
    .announce-txt { max-width: 52vw; }
}
@media (max-width: 640px) {
    .announce-txt { font-size: 12px; }
}

.menu-open .announce { display: none; }
