.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border-width: 0 !important;
}

body {
	font-family: 'Satoshi', sans-serif;
}

.material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
	color: #7398c5;
}

.input-form {
	display: flex;
	flex-direction: column-reverse;
}

input:required+label::before {
	content: "* ";
	color: #b60754;
}

/* Logo animation for header appearance */
.logo-transition {
	transition: opacity 300ms ease, transform 300ms ease;
}

.logo-hidden {
	opacity: 0;
	transform: translateX(-8px) scale(0.98);
	pointer-events: none;
}

.logo-visible {
	opacity: 1;
	transform: translateX(0) scale(1);
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.logo-transition {
		transition: none;
	}
}
