.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: var(--jai-space-md);
	left: var(--jai-space-md);
	width: auto;
	height: auto;
	padding: var(--jai-space-sm) var(--jai-space-md);
	clip: auto;
	background: var(--jai-color-bg);
	border-radius: var(--jai-radius-sm);
	box-shadow: var(--jai-shadow-card);
	color: var(--jai-color-text);
}

.jai-visually-muted {
	color: var(--jai-color-muted);
}

.jai-text-center {
	text-align: center;
}

.jai-text-gradient {
	background: var(--jai-gradient-brand);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	display: inline;
}

.jai-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--jai-color-border);
	border-radius: var(--jai-radius-full);
	background: var(--jai-color-bg);
	color: var(--jai-color-brand-700);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
}

html.dark .jai-pill {
	color: var(--jai-color-brand-300);
	background: rgba(124, 58, 237, 0.08);
}

.jai-pill--brand {
	border-color: rgba(124, 58, 237, 0.2);
	background: var(--jai-color-brand-50);
	color: var(--jai-color-brand-700);
}

html.dark .jai-pill--brand {
	background: rgba(124, 58, 237, 0.16);
	color: var(--jai-color-brand-200);
	border-color: rgba(124, 58, 237, 0.4);
}

[data-reveal] {
	opacity: 1;
	transform: none;
}

.js [data-reveal] {
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity 420ms ease, transform 420ms ease;
}

.js [data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto;
		transition-duration: 1ms;
		animation-duration: 1ms;
		animation-iteration-count: 1;
	}

	.js [data-reveal] {
		opacity: 1;
		transform: none;
	}
}
