/* ── Neon Text ───────────────────────────────────────────────── */
.bkbg-nt-app { font-family: inherit; }

.bkbg-nt-wrap {
    position: relative;
    overflow: hidden;
}

.bkbg-nt-wrap .bkbg-nt-text {
    font-family: var(--bkbg-nt-hd-font-family, inherit);
    font-size: var(--bkbg-nt-hd-font-size-d, 72px);
    font-weight: var(--bkbg-nt-hd-font-weight, 700);
    font-style: var(--bkbg-nt-hd-font-style, normal);
    line-height: var(--bkbg-nt-hd-line-height-d, 1.3);
    letter-spacing: var(--bkbg-nt-hd-letter-spacing-d, 8px);
    word-spacing: var(--bkbg-nt-hd-word-spacing-d, normal);
    text-decoration: var(--bkbg-nt-hd-text-decoration, none);
    text-transform: var(--bkbg-nt-hd-text-transform, uppercase);
    display: block;
    margin: 0;
    will-change: text-shadow, opacity;
    transition: text-shadow 0.1s ease;
}

/* flicker animations */
.bkbg-nt-text.bkbg-nt-flicker-soft {
    animation: bkbg-nt-breathe 3s ease-in-out infinite;
}
.bkbg-nt-text.bkbg-nt-flicker-classic {
    animation: bkbg-nt-blink 1.5s step-end infinite;
}

@keyframes bkbg-nt-breathe {
    0%,100% { opacity: 1; }
    50%      { opacity: 0.88; filter: brightness(0.9); }
}
@keyframes bkbg-nt-blink {
    0%, 19%, 21%, 23%, 100% { opacity: 1; }
    20%, 22%                 { opacity: 0; }
}

/* scanlines overlay */
.bkbg-nt-scanlines {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 0, 0, 0.07) 2px,
        rgba(0, 0, 0, 0.07) 4px
    );
    pointer-events: none;
    border-radius: inherit;
    z-index: 1;
}

/* sign border */
.bkbg-nt-border-sign {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    border-style: solid;
    border-width: 3px;
    animation: bkbg-nt-border-pulse 2s ease-in-out infinite alternate;
}

@keyframes bkbg-nt-border-pulse {
    from { opacity: 0.7; }
    to   { opacity: 1; }
}

/* glow floor */
.bkbg-nt-floor {
    position: absolute;
    bottom: 0;
    left: 10%;
    right: 10%;
    height: 4px;
    filter: blur(10px);
    pointer-events: none;
    z-index: 0;
}

/* broken flicker spans */
.bkbg-nt-broken-letter {
    display: inline-block;
    animation: bkbg-nt-broken 0.08s step-end infinite;
}
@keyframes bkbg-nt-broken {
    0%,60%,100% { opacity: 1; text-shadow: inherit; }
    15%          { opacity: 0.05; }
    30%          { opacity: 0.9; }
    45%          { opacity: 0.05; }
}

/* subtitle */
.bkbg-nt-sub {
    font-family: var(--bkbg-nt-sb-font-family, inherit);
    font-size: var(--bkbg-nt-sb-font-size-d, 16px);
    font-weight: var(--bkbg-nt-sb-font-weight, var(--bkbg-nt-hd-font-weight, 700));
    font-style: var(--bkbg-nt-sb-font-style, normal);
    line-height: var(--bkbg-nt-sb-line-height-d, 1.5);
    letter-spacing: var(--bkbg-nt-sb-letter-spacing-d, 4px);
    word-spacing: var(--bkbg-nt-sb-word-spacing-d, normal);
    text-decoration: var(--bkbg-nt-sb-text-decoration, none);
    text-transform: var(--bkbg-nt-sb-text-transform, uppercase);
    display: block;
    margin: 12px 0 0;
}

@media (max-width: 1024px) {
    .bkbg-nt-wrap .bkbg-nt-text {
        font-size: var(--bkbg-nt-hd-font-size-t, var(--bkbg-nt-hd-font-size-d, 72px));
        line-height: var(--bkbg-nt-hd-line-height-t, var(--bkbg-nt-hd-line-height-d, 1.3));
        letter-spacing: var(--bkbg-nt-hd-letter-spacing-t, var(--bkbg-nt-hd-letter-spacing-d, 8px));
        word-spacing: var(--bkbg-nt-hd-word-spacing-t, var(--bkbg-nt-hd-word-spacing-d, normal));
    }
    .bkbg-nt-sub {
        font-size: var(--bkbg-nt-sb-font-size-t, var(--bkbg-nt-sb-font-size-d, 16px));
        line-height: var(--bkbg-nt-sb-line-height-t, var(--bkbg-nt-sb-line-height-d, 1.5));
        letter-spacing: var(--bkbg-nt-sb-letter-spacing-t, var(--bkbg-nt-sb-letter-spacing-d, 4px));
        word-spacing: var(--bkbg-nt-sb-word-spacing-t, var(--bkbg-nt-sb-word-spacing-d, normal));
    }
}
@media (max-width: 767px) {
    .bkbg-nt-wrap .bkbg-nt-text {
        font-size: var(--bkbg-nt-hd-font-size-m, var(--bkbg-nt-hd-font-size-t, var(--bkbg-nt-hd-font-size-d, 48px)));
        line-height: var(--bkbg-nt-hd-line-height-m, var(--bkbg-nt-hd-line-height-t, var(--bkbg-nt-hd-line-height-d, 1.3)));
        letter-spacing: var(--bkbg-nt-hd-letter-spacing-m, var(--bkbg-nt-hd-letter-spacing-t, var(--bkbg-nt-hd-letter-spacing-d, 4px)));
        word-spacing: var(--bkbg-nt-hd-word-spacing-m, var(--bkbg-nt-hd-word-spacing-t, var(--bkbg-nt-hd-word-spacing-d, normal)));
    }
    .bkbg-nt-sub {
        font-size: var(--bkbg-nt-sb-font-size-m, var(--bkbg-nt-sb-font-size-t, var(--bkbg-nt-sb-font-size-d, 14px)));
        line-height: var(--bkbg-nt-sb-line-height-m, var(--bkbg-nt-sb-line-height-t, var(--bkbg-nt-sb-line-height-d, 1.5)));
        letter-spacing: var(--bkbg-nt-sb-letter-spacing-m, var(--bkbg-nt-sb-letter-spacing-t, var(--bkbg-nt-sb-letter-spacing-d, 2px)));
        word-spacing: var(--bkbg-nt-sb-word-spacing-m, var(--bkbg-nt-sb-word-spacing-t, var(--bkbg-nt-sb-word-spacing-d, normal)));
    }
}
