/* Neon Reveal Text v1.1.0 */
.nrt-outer {
	text-align: center;
}

.nrt {
	--nrt-size: clamp(32px, 12vw, 72px);
	--nrt-font: inherit;
	--nrt-stroke: #f4fff8;      /* contorno encendido */
	--nrt-glow: #3dff8b;        /* halo */
	--nrt-echo: #3dff8b;        /* segundo contorno desplazado */
	--nrt-off: rgba(255, 255, 255, 0.07); /* letra apagada */
	--nrt-fill: transparent;    /* relleno interior */
	--nrt-stroke-w: 0.035em;
	--nrt-glow-r: 6px;
	--nrt-echo-x: -0.07em;
	--nrt-echo-y: 0.05em;
	--nrt-sub-color: #ffffff;
	--nrt-sub-gap: 0.1em;
	--nrt-fade: 120ms;

	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: var(--nrt-sub-gap);
	margin: 0;
	padding: 0.15em 0.3em;
	line-height: 1;
	font-family: var(--nrt-font);
	font-size: var(--nrt-size);
	font-weight: 900;
	font-style: italic;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.nrt--sub-below .nrt-sub {
	order: 2;
}

.nrt-title {
	display: inline-block;
	font-size: 1em;
	white-space: nowrap;
}

.nrt-ch,
.nrt-sp {
	position: relative;
	display: inline-block;
}

.nrt-ch {
	isolation: isolate;
	color: var(--nrt-fill);
	-webkit-text-stroke: var(--nrt-stroke-w) var(--nrt-off); /* estado apagado */
}

/* Capas encendidas: se muestran/ocultan solo con opacidad (fiable en iOS/Android) */
.nrt-ch::before,
.nrt-ch::after {
	content: attr(data-ch);
	position: absolute;
	left: 0;
	top: 0;
	color: transparent;
	pointer-events: none;
	opacity: 0;
	transition: opacity var(--nrt-fade) linear;
	will-change: opacity;
}

/* Segundo contorno desplazado */
.nrt-ch::before {
	z-index: -1;
	-webkit-text-stroke: var(--nrt-stroke-w) var(--nrt-echo);
	transform: translate(var(--nrt-echo-x), var(--nrt-echo-y));
	filter: drop-shadow(0 0 calc(var(--nrt-glow-r) * 0.5) var(--nrt-glow));
}

/* Contorno principal encendido */
.nrt-ch::after {
	z-index: 1;
	-webkit-text-stroke: var(--nrt-stroke-w) var(--nrt-stroke);
	filter:
		drop-shadow(0 0 calc(var(--nrt-glow-r) * 0.35) var(--nrt-glow))
		drop-shadow(0 0 var(--nrt-glow-r) var(--nrt-glow));
}

.nrt-ch.is-on::before,
.nrt-ch.is-on::after {
	opacity: 1;
}

.nrt--flicker:not(.nrt--calm) .nrt-ch.is-on::after,
.nrt--flicker:not(.nrt--calm) .nrt-ch.is-on::before {
	animation: nrt-flicker 380ms linear;
}

@keyframes nrt-flicker {
	0%   { opacity: 0.15; }
	15%  { opacity: 1; }
	25%  { opacity: 0.35; }
	40%  { opacity: 1; }
	55%  { opacity: 0.7; }
	100% { opacity: 1; }
}

/* Subtítulo: siempre encendido */
.nrt-sub {
	display: block;
	font-size: 0.28em;
	letter-spacing: 0.04em;
	color: var(--nrt-sub-color);
	filter: drop-shadow(0 0 calc(var(--nrt-glow-r) * 0.5) var(--nrt-glow));
}

