/**
 * onmethod-2027 — wow-demos-page.css: mission-control hero, 10000x.
 *
 * Dark pit-wall hero with the control-room graphic. Demo widgets keep
 * their own styling — this file only stages the page around them.
 * Respects prefers-reduced-motion and html.wow-off.
 */

.is-demos .demos-hero {
	position: relative;
	overflow: hidden;
	background: #0a0a0c;
	color: #f4f4f2;
	border-bottom: 0;
}

.demos-hero__bg {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to bottom, rgba(10, 10, 12, 0.5), rgba(10, 10, 12, 0.94) 85%),
		url("../img/demos-pitwall.jpg") center 30% / cover no-repeat,
		#0a0a0c;
	pointer-events: none;
}

@supports (animation-timeline: view()) {
	.demos-hero__bg {
		animation: demos-hero-drift linear both;
		animation-timeline: view();
		animation-range: entry 0% exit 100%;
	}
	@keyframes demos-hero-drift {
		from { transform: scale(1.1) translateY(-3%); }
		to { transform: scale(1.04) translateY(2%); }
	}
}

.is-demos .demos-hero .wrap { position: relative; z-index: 1; }
.is-demos .demos-hero .kicker { color: var(--volt); }

.is-demos .demos-hero h1 {
	font-size: clamp(2.4rem, 7vw, 4.6rem);
	letter-spacing: -0.025em;
	line-height: 1.04;
	text-wrap: balance;
	max-width: 18ch;
}

.is-demos .demos-hero .lede { color: rgba(244, 244, 242, 0.72); }

/* Live badge pulse on the hero kicker. */
.is-demos .demos-hero .kicker::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--volt);
	margin-right: 0.6em;
	box-shadow: 0 0 12px var(--volt);
	animation: demos-live 1.6s ease-in-out infinite;
}

@keyframes demos-live {
	50% { opacity: 0.35; }
}

html.wow-off .demos-hero__bg, html.wow-off .is-demos .demos-hero .kicker::before { animation: none; }
html.wow-off .demos-hero::after { animation: none; }

/* Breathing volt glow — the hero stays alive. */
.demos-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(700px 340px at 50% 108%, rgba(217, 255, 0, 0.09), transparent 62%);
	animation: hero-breathe 7s ease-in-out infinite;
}

@keyframes hero-breathe {
	50% { opacity: 0.35; }
}
