/* Homepage intro (see inc/intro.php and assets/js/intro.js). */
.t1-intro-overlay {
	display: none;
}

html.t1-intro {
	overflow: hidden;
}

html.t1-intro .t1-intro-overlay {
	display: block;
}

.t1-intro-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	pointer-events: none;
}

.t1-intro-overlay__bg {
	position: absolute;
	inset: 0;
	background: #102f47;
}

.t1-intro-overlay__player {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(78vw, 520px);
	transform: translate(-50%, -50%);
	transform-origin: 0 0;
	will-change: transform, opacity;
}

.t1-intro-overlay svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.t1-intro-overlay path {
	fill: #fff;
}

/* Start states (the script animates from these). */
.t1-intro-overlay .t1i-draw {
	fill-opacity: 0;
	stroke: #fff;
	stroke-width: 1.2;
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

.t1-intro-overlay .t1i-key-move,
.t1-intro-overlay .t1i-one-move,
.t1-intro-overlay .t1i-key-turn,
.t1-intro-overlay .t1i-line,
.t1-intro-overlay .t1i-letter,
.t1-intro-overlay .t1i-cities {
	transform-box: fill-box;
	transform-origin: center;
}

.t1-intro-overlay .t1i-key-move {
	transform: translateX(-70px);
}

.t1-intro-overlay .t1i-one-move {
	transform: translateX(70px);
}

.t1-intro-overlay .t1i-line {
	transform: scaleX(0);
}

.t1-intro-overlay .t1i-letter,
.t1-intro-overlay .t1i-cities {
	opacity: 0;
}

/* Hero parts stay hidden while the intro plays, then fade in. */
html.t1-intro .site-header,
html.t1-intro .t1-hero-brand,
html.t1-intro #top div:has(> h1) > :first-child,
html.t1-intro #top h1,
html.t1-intro #top h1 + * {
	opacity: 0;
}

@keyframes t1-intro-up {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes t1-intro-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

html.t1-intro-reveal .site-header {
	animation: t1-intro-fade 0.8s ease 0.1s both;
}

html.t1-intro-reveal #top h1 {
	animation: t1-intro-up 0.8s cubic-bezier(0.2, 0.7, 0.25, 1) both;
}

html.t1-intro-reveal #top h1 + * {
	animation: t1-intro-up 0.8s cubic-bezier(0.2, 0.7, 0.25, 1) 0.15s both;
}
