/* Light Trails scene and Page Hero. The signature: streaks are the loudest thing on the page. */
.azb-trails { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.azb-trails__photo { position: absolute; inset: -4% 0 0 0; }
.azb-trails__img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 55%; opacity: 0.6; }
.azb-trails__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.azb-trail__base { opacity: 0.2; }
.azb-trail__run { stroke-dasharray: 0.16 1.3; stroke-dashoffset: 0.16; animation: azb-run 6s linear infinite; }
.azb-trail__run--1 { animation-duration: 4.6s; }
.azb-trail__run--2 { animation-duration: 5.8s; animation-delay: -1.1s; }
.azb-trail__run--3 { animation-duration: 6.4s; animation-delay: -2.6s; }
.azb-trail__run--4 { animation-duration: 7.2s; animation-delay: -0.7s; }
.azb-trail__run--5 { animation-duration: 8.2s; animation-delay: -3.9s; }
.azb-trail__run--6 { animation-duration: 9.4s; animation-delay: -5.2s; opacity: 0.35; }
.azb-trail__run--7 { animation-duration: 10s; animation-delay: -1.8s; }
@keyframes azb-run { from { stroke-dashoffset: 0.16; } to { stroke-dashoffset: -1.14; } }
.azb-trails.is-paused .azb-trail__run { animation-play-state: paused; }

.azb-trails__scrim {
	position: absolute; inset: 0;
	background:
		linear-gradient(90deg, var(--azb-bg) 0%, color-mix(in srgb, var(--azb-bg) 86%, transparent) 34%, color-mix(in srgb, var(--azb-bg) 28%, transparent) 68%, color-mix(in srgb, var(--azb-bg) 50%, transparent) 100%),
		linear-gradient(0deg, var(--azb-bg) 0%, transparent 32%),
		linear-gradient(180deg, color-mix(in srgb, var(--azb-bg) 70%, transparent) 0%, transparent 22%);
}
.azb-trails--band .azb-trails__svg { top: auto; height: 100%; }
.azb-trails--band .azb-trails__scrim { background: linear-gradient(90deg, var(--azb-bg) 0%, transparent 30%, transparent 70%, var(--azb-bg) 100%); }
.azb-trails--band .azb-trail__run--1 { animation-duration: 9s; animation-delay: 0s; }
.azb-trails--band .azb-trail__run--2 { animation-duration: 12s; animation-delay: -4s; }
.azb-trails--subtle .azb-trail__base { opacity: 0.32; }
.azb-trails--miss .azb-trail__run--1 { animation-duration: 5s; }
.azb-trails--miss .azb-trail__base { opacity: 0.26; }

/* ---------- Page hero ---------- */
.azb-phero { position: relative; isolation: isolate; overflow: hidden; background: var(--azb-bg); display: flex; }
.azb-phero--full { min-height: 100dvh; align-items: center; }
.azb-phero--page { align-items: flex-end; }
.azb-phero__inner {
	position: relative; z-index: 2; width: 100%; max-width: var(--container); margin-inline: auto;
	padding: calc(var(--header-h) + clamp(1.5rem, 4vw, 4rem)) var(--gutter) clamp(2.5rem, 6vw, 5rem);
	display: grid; gap: clamp(2rem, 5vw, 3.5rem); align-items: center;
}
.azb-phero__text { display: grid; gap: var(--s-5); max-width: 40rem; }
.azb-phero__eyebrow { margin: 0; font: 500 var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--azb-accent); }
.azb-phero__title {
	margin: 0; font-family: var(--font-display); font-weight: 800; font-size: var(--fs-h1);
	line-height: var(--lh-display); letter-spacing: var(--tracking-display); color: var(--azb-ink); text-wrap: balance; max-width: 15ch;
}
.azb-phero--split .azb-phero__title { font-size: min(var(--fs-h1), 4.25rem); }
.azb-phero--page .azb-phero__title { font-size: clamp(2.4rem, 5vw, 4rem); }
.azb-phero__lead { margin: 0; max-width: 34rem; font-size: var(--fs-lead); line-height: 1.55; color: color-mix(in srgb, var(--azb-ink) 82%, var(--azb-bg)); }
.azb-phero__fact { margin: 0; font: 500 var(--fs-small)/1.4 var(--font-mono); color: var(--azb-muted); }
.azb-phero .azb-crumbs ol { margin-bottom: 0; }
.azb-phero__card { width: 100%; }

@media (min-width: 1024px) {
	.azb-phero--split .azb-phero__inner { grid-template-columns: minmax(0, 1fr) minmax(360px, 430px); gap: clamp(2.5rem, 6vw, 6rem); }
}
@media (max-width: 1023px) {
	.azb-phero--full { min-height: auto; }
	.azb-phero--split .azb-phero__text { min-height: calc(88dvh - var(--header-h)); align-content: end; padding-bottom: var(--s-4); }
	.azb-trails__img { object-position: 64% 40%; opacity: 0.5; }
	.azb-trails__scrim { background: linear-gradient(0deg, var(--azb-bg) 12%, color-mix(in srgb, var(--azb-bg) 55%, transparent) 55%, color-mix(in srgb, var(--azb-bg) 70%, transparent) 100%); }
}

/* Entry: GSAP reveals the headline by line and lifts the card. A CSS failsafe shows both if scripts fail. */
.azb-js .azb-phero--full [data-azb-split], .azb-js .azb-phero--full .azb-phero__card { visibility: hidden; animation: azb-failsafe 0s 1.4s forwards; }
.azb-js .azb-phero.is-ready [data-azb-split], .azb-js .azb-phero.is-ready .azb-phero__card { visibility: visible; animation: none; }
@keyframes azb-failsafe { to { visibility: visible; } }
.azb-split-line { display: block; overflow: hidden; padding-bottom: 0.06em; margin-bottom: -0.06em; }

@media (prefers-reduced-motion: reduce) {
	.azb-trail__run { animation: none; opacity: 0; }
	.azb-trail__base { opacity: 0.32; }
	.azb-js .azb-phero--full [data-azb-split], .azb-js .azb-phero--full .azb-phero__card { visibility: visible; animation: none; }
}
