/* BlueNova homepage — motion, overlays & hover polish (no double-layer ghost boxes) */

@keyframes bnStatGlow {
    0%, 100% { text-shadow: none; }
    45% { text-shadow: 0 0 20px rgba(0, 207, 240, 0.5), 0 0 40px rgba(26, 111, 232, 0.18); }
}

@keyframes bnIconPulse {
    0%, 100% {
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.14),
            0 4px 16px rgba(0, 80, 160, 0.14);
    }
    50% {
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.22),
            0 12px 32px rgba(0, 140, 220, 0.32),
            0 0 0 1px rgba(125, 211, 252, 0.2);
    }
}

@keyframes bnLuxurySheen {
    0% { transform: translateX(-120%) skewX(-12deg); opacity: 0; }
    18% { opacity: 0.55; }
    100% { transform: translateX(220%) skewX(-12deg); opacity: 0; }
}

@keyframes bnCardLift {
    0% { transform: translateY(0) scale(1); }
    100% { transform: translateY(-5px) scale(1.012); }
}

/* ── Icon chips: shine on the chip only (never a wrapper box) ── */
body.bn-va .pilot-aev-ic {
    transition:
        border-color 0.28s ease,
        background 0.28s ease,
        box-shadow 0.28s ease,
        transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

body.bn-va .pilot-aev-ic::before {
    display: block;
    opacity: 0.75;
    transition: opacity 0.28s ease;
}

body.bn-va .pilot-aev-ic__glyph {
    transition: filter 0.28s ease;
}

/* ── Bento cards ── */
.bn-bento__item {
    transition:
        border-color 0.38s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.42s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

.bn-bento__item::before {
    transition: background 0.42s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.42s ease;
}

.bn-bento__item:hover::before {
    opacity: 1;
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--bento-accent) 58%, transparent),
        rgba(0, 191, 255, 0.26),
        transparent 72%
    );
}

.bn-bento__item:hover {
    transform: translateY(-5px);
    box-shadow:
        0 24px 52px rgba(0, 0, 0, 0.36),
        0 0 0 1px rgba(125, 211, 252, 0.18),
        0 0 48px rgba(0, 207, 240, 0.1);
}

.bn-bento__item:hover .bn-bento__glow {
    opacity: 0.96;
    transform: scale(1.12);
}

.bn-bento__item:hover .pilot-aev-ic {
    transform: translateY(-3px);
    border-color: rgba(125, 211, 252, 0.58);
    animation: bnIconPulse 1.6s ease-in-out infinite;
}

.bn-bento__item:hover .pilot-aev-ic::before {
    opacity: 1;
}

.bn-bento__item:hover .pilot-aev-ic__glyph {
    filter: drop-shadow(0 0 6px rgba(125, 211, 252, 0.35));
}

/* ── Hero stat cards — premium glass + count-up polish ── */
.bn-hero-stats__item {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition:
        border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.bn-hero-stats__item::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
    background: linear-gradient(
        165deg,
        rgba(255, 255, 255, 0.07) 0%,
        transparent 42%,
        rgba(0, 207, 240, 0.04) 100%
    );
    opacity: 0.85;
}

.bn-hero-stats__item::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(circle at 50% 0%, rgba(0, 207, 240, 0.12), transparent 65%);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.bn-hero-stats__item > * {
    position: relative;
    z-index: 1;
}

.bn-hero-stats__item strong {
    letter-spacing: -0.02em;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bn-hero-stats__item strong.is-counting {
    transform: scale(1.04);
}

.bn-hero-stats__item strong.is-stat-updated {
    animation: bnStatGlow 0.9s ease, bnStatPop 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.bn-hero-stats--animating .bn-hero-stats__item {
    border-color: rgba(0, 207, 240, 0.28);
}

.bn-hero-stats__item:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 207, 240, 0.38);
    box-shadow:
        0 16px 40px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 32px rgba(0, 207, 240, 0.08);
}

.bn-hero-stats__item:hover::after {
    opacity: 1;
}

@keyframes bnStatPop {
    0% { transform: scale(1); }
    40% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

/* ── Stats band cards ── */
.bn-stat-block {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.bn-stat-block::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 50% 0%, rgba(0, 207, 240, 0.16), transparent 62%),
        radial-gradient(circle at 80% 100%, rgba(26, 111, 232, 0.1), transparent 55%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.bn-stat-block > * {
    position: relative;
    z-index: 1;
}

.bn-stat-block:hover,
a.bn-stat-block--link:hover {
    background: rgba(255, 255, 255, 0.065);
    transform: translateY(-5px);
    box-shadow:
        0 22px 48px rgba(0, 0, 0, 0.36),
        0 0 0 1px rgba(125, 211, 252, 0.22),
        0 0 56px rgba(0, 207, 240, 0.12);
}

.bn-stat-block:hover::after,
a.bn-stat-block--link:hover::after {
    opacity: 1;
}

.bn-stat-block:hover .pilot-aev-ic,
a.bn-stat-block--link:hover .pilot-aev-ic {
    transform: translateY(-3px);
    border-color: rgba(125, 211, 252, 0.58);
    animation: bnIconPulse 1.8s ease-in-out infinite;
}

.bn-stat-block:hover .pilot-aev-ic::before,
a.bn-stat-block--link:hover .pilot-aev-ic::before {
    opacity: 1;
}

.bn-stat-block__val.is-stat-updated {
    animation: bnStatGlow 0.85s ease;
}

/* Stats band glow — animated in va-cinematic.css (bnv-stats-aurora) */

/* ── Community pill cards ── */
.bn-pill-card {
    position: relative;
    overflow: hidden;
}

.bn-pill-card::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(
        125deg,
        transparent 40%,
        rgba(125, 211, 252, 0.08) 50%,
        transparent 62%
    );
    background-size: 220% 100%;
    background-position: 120% 0;
    transition: background-position 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.bn-pill-card > * {
    position: relative;
    z-index: 1;
}

.bn-pill-card:hover {
    transform: translateY(-5px);
    box-shadow:
        0 32px 64px rgba(0, 0, 0, 0.42),
        0 0 48px rgba(26, 111, 232, 0.2),
        0 0 0 1px rgba(125, 211, 252, 0.14);
}

.bn-pill-card:hover::after {
    background-position: -20% 0;
}

.bn-pill-card:hover .pilot-aev-ic {
    transform: translateY(-2px) scale(1.04);
    border-color: rgba(125, 211, 252, 0.5);
}

/* ── Logo ── */
body.bn-va .bn-nav .bn-logo__img {
    height: 50px;
    max-width: min(280px, 46vw);
}

.bn-logo__img {
    transition:
        transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
        box-shadow 0.35s ease,
        filter 0.35s ease;
}

.bn-logo:hover .bn-logo__img {
    transform: translateY(-3px) scale(1.025);
    box-shadow:
        0 14px 36px rgba(0, 0, 0, 0.38),
        0 0 32px rgba(0, 207, 240, 0.12);
    filter: brightness(1.05) saturate(1.06);
}

/* ── Nav Discord icon ── */
.bn-nav__icon:hover .pilot-aev-ic {
    transform: translateY(-1px);
    border-color: rgba(165, 180, 252, 0.55);
    box-shadow: 0 8px 20px rgba(99, 102, 241, 0.25);
}

/* ── News rows ── */
.bn-home-news__item:hover .bn-home-news__arrow .pilot-aev-ic {
    transform: translateX(3px);
    background: rgba(0, 207, 240, 0.16);
    border-color: rgba(0, 207, 240, 0.38);
}

/* ── Buttons ── */
.bn-btn:hover .bn-btn__glyph,
.bn-btn:hover .pilot-aev-ic--inline {
    transform: translateX(2px);
    opacity: 1;
}

/* Crew cards */
.bn-crew-card {
    position: relative;
    overflow: hidden;
}

.bn-crew-card::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(circle at 0% 0%, rgba(0, 207, 240, 0.12), transparent 58%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.bn-crew-card > * {
    position: relative;
    z-index: 1;
}

.bn-crew-card:hover::after {
    opacity: 1;
}

.bn-crew-card:hover {
    transform: translateY(-5px);
    box-shadow:
        0 26px 56px rgba(0, 0, 0, 0.38),
        0 0 0 1px rgba(125, 211, 252, 0.12);
}

@media (prefers-reduced-motion: reduce) {
    .bn-bento__item:hover .pilot-aev-ic,
    .bn-stat-block:hover .pilot-aev-ic,
    a.bn-stat-block--link:hover .pilot-aev-ic,
    .bn-cinematic .bn-stats-band__glow {
        animation: none !important;
    }

    .bn-hero-stats__item:hover,
    .bn-stat-block:hover,
    a.bn-stat-block--link:hover,
    .bn-bento__item:hover,
    .bn-pill-card:hover,
    .bn-crew-card:hover,
    .bn-logo:hover .bn-logo__img {
        transform: none;
    }
}
