/* Screenreader-only Utility */
.sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 1px, 1px);
	white-space: nowrap; border: 0;
}
[data-typewrite-h2] h2 {
	opacity:0;
	transition: opacity 1.3s ;
	transition-delay: calc(var(--ih) * .4s);
}
[data-typewrite-h2] .type {opacity:0;}

/* Visuelle Type-Spans */
[data-typewrite-h2] .typewrap {
	display: inline-block;
	position:relative;
	z-index:2;
}
[data-typewrite-h2] .type {
	display: inline-block;
	transform: scale3d(1.2, 1.2, 1);
	opacity: 0;
	will-change: transform, opacity;
	transition: transform .1s, opacity .0s;
	/* Verzögerung wird per --i aus JS gesetzt */
	transition-delay: calc((var(--i) * 0.1s) + (var(--ih) * .5s));
}

/* Wenn die Section "first-appeared" hat → animieren (oder JS-Fallback .typing-active) */
[data-typewrite-h2].first-appeared h2{
	opacity:1;
}
[data-typewrite-h2].first-appeared .type,
[data-typewrite-h2].typing-active .type {
	transform: scale3d(1, 1, 1);
	opacity: 1;
}
