/* ── Shared mega-nav dropdown styles — included on every page ── */

.nav-mega { position: static; display: flex; align-items: center; }

.nav-mega-trigger {
    background: none; border: none; cursor: pointer; margin: 0; padding: 4px 0;
    font-size: 14px; font-weight: 500; font-family: inherit;
    color: inherit;
    display: flex; align-items: center; gap: 5px;
    white-space: nowrap; transition: color .2s; position: relative;
}
.nav-mega-trigger::after { display: none; }
.nav-mega.is-open .nav-mega-trigger { color: #fff; }
.nav-mega:hover .nav-mega-trigger::after,
.nav-mega:focus-within .nav-mega-trigger::after { display: none; }
.nav-mega-trigger .chev { transition: transform .2s; opacity: .5; }
.nav-mega.is-open .chev { transform: rotate(180deg); opacity: 1; }

.nav-mega-panel {
    position: fixed;
    top: var(--mega-top, 72px);
    left: 50%;
    transform: translateX(-50%);
    width: 720px;
    max-width: calc(100vw - 32px);
    background: #16161E;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    overflow: hidden;
    padding: 28px 0 32px;
    display: none;
    z-index: 1001;
    box-shadow: 0 24px 80px rgba(0,0,0,.75);
    will-change: transform;
    -webkit-font-smoothing: antialiased;
}
.nav-mega.is-open .nav-mega-panel {
    display: block;
    animation: megaIn .18s ease forwards;
}
@keyframes megaIn {
    from { opacity: 0; transform: translateX(-50%) translateY(-6px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.nav-mega-inner {
    padding: 0 28px;
    display: grid;
    align-items: start;
    gap: 32px;
}
.nav-mega-inner.resources-l { grid-template-columns: 200px 1fr; }
.nav-mega-inner.solutions-l { grid-template-columns: 1fr 240px; }
.nav-mega-inner > * { min-width: 0; }

.nmc-head {
    font-size: 10px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: rgba(255,255,255,.36); margin-bottom: 14px;
}
.nmi {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 10px 10px; border-radius: 8px;
    text-decoration: none; margin-bottom: 4px; transition: background .15s;
}
.nmi:hover { background: rgba(255,255,255,.08); }
.nmi::after { display: none !important; }
.nmi-icon {
    width: 34px; height: 34px; flex-shrink: 0; border-radius: 8px;
    background: rgba(205,220,57,.1);
    display: flex; align-items: center; justify-content: center; color: #CDDC39;
}
.nmi-icon svg { width: 16px; height: 16px; }
.nmi-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nmi-label { font-size: 13.5px; font-weight: 600; color: rgba(255,255,255,.88); line-height: 1.3; -webkit-font-smoothing: antialiased; }
.nmi-desc { font-size: 12px; color: rgba(255,255,255,.4); line-height: 1.4; white-space: normal; -webkit-font-smoothing: antialiased; }

.nm-blog-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.nm-blog-head-title {
    font-size: 10px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: rgba(255,255,255,.28);
}
.nm-blog-all {
    font-size: 12px; font-weight: 600; color: #CDDC39; text-decoration: none;
    display: flex; align-items: center; gap: 4px; transition: gap .15s;
}
.nm-blog-all:hover { gap: 7px; }
.nm-blog-card {
    display: flex; gap: 12px; padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.06); text-decoration: none;
}
.nm-blog-card:last-child { border-bottom: none; padding-bottom: 0; }
.nm-blog-card:hover .nm-blog-card-title { color: #CDDC39; }
.nm-blog-thumb {
    width: 76px; height: 54px; flex-shrink: 0; border-radius: 6px; object-fit: cover;
    background: linear-gradient(135deg,#0c1528 0%,#0e2018 100%);
    border: 1px solid rgba(255,255,255,.08);
}
.nm-blog-card-body { display: flex; flex-direction: column; gap: 3px; }
.nm-blog-cat {
    font-size: 10px; font-weight: 700; letter-spacing: .07em;
    text-transform: uppercase; color: rgba(205,220,57,.65);
}
.nm-blog-card-title {
    font-size: 13px; font-weight: 600; color: rgba(255,255,255,.90); line-height: 1.35;
    transition: color .15s;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nm-blog-date { font-size: 11px; color: rgba(255,255,255,.42); }

.nm-banner {
    background: linear-gradient(135deg,#0d1f0d 0%,#0a1523 100%);
    border: 1px solid rgba(205,220,57,.14); border-radius: 12px;
    padding: 22px; display: flex; flex-direction: column; gap: 14px;
}
.nm-banner-eyebrow {
    font-size: 10px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: rgba(205,220,57,.6);
}
.nm-banner-heading { font-size: 17px; font-weight: 700; color: #fff; line-height: 1.3; }
.nm-banner-sub { font-size: 12.5px; color: rgba(255,255,255,.62); line-height: 1.55; }
.nm-banner-img {
    width: 100%; height: 110px; object-fit: cover; border-radius: 8px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(135deg,#0c1528 0%,#101e3a 100%);
}
.nm-banner-cta {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 600; color: #CDDC39;
    text-decoration: none; transition: gap .15s;
}
.nm-banner-cta:hover { gap: 9px; }

.nm-right-panel { display: none; }
.nm-right-panel.is-active { display: block; }

.mobile-nav-group-label {
    display: block; padding: 12px 0 4px; margin-top: 4px;
    font-size: 10px; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: rgba(255,255,255,.28);
    border-top: 1px solid rgba(255,255,255,.12);
}

@media (max-width: 900px) { .nav-mega-panel { display: none !important; } }
