:root {
	--pr-purple-400: #bd03f7;
	--pr-purple-500: #9b23f5;
	--pr-purple-700: #6f14b5;
	--pr-blue-500: #176bff;
	--pr-blue-700: #3539f4;
	--pr-cyan-400: #24d6e5;
	--pr-black: #0a0a0a;
	--pr-ink: #171717;
	--pr-surface-dark: #141419;
	--pr-surface-muted: #f5f5f7;
	--pr-white: #fff;
	--pr-gray-50: #fafafa;
	--pr-gray-100: #f1f2f4;
	--pr-gray-300: #c7c9cf;
	--pr-gray-600: #60646c;
	--pr-gray-800: #2a2c31;
	--pr-line-light: rgba(10, 10, 10, 0.14);
	--pr-line-dark: rgba(255, 255, 255, 0.16);
	--pr-gradient-brand: linear-gradient(135deg, #bd03f7 0%, #6938ef 48%, #176bff 100%);
	--pr-gradient-data: linear-gradient(135deg, #176bff 0%, #24d6e5 100%);
	--pr-gradient-dark: linear-gradient(135deg, #0a0a0a 0%, #17121d 55%, #111a2d 100%);
	--pr-font-display: Manrope, Inter, "Helvetica Neue", Arial, sans-serif;
	--pr-font-body: Inter, Manrope, "Helvetica Neue", Arial, sans-serif;
	--pr-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--pr-radius-button: 4px;
	--pr-radius-card: 8px;
	--pr-radius-media: 12px;
	--pr-shadow-card: 0 16px 50px rgba(10, 10, 10, 0.12);
	--pr-space-1: 4px;
	--pr-space-2: 8px;
	--pr-space-3: 12px;
	--pr-space-4: 16px;
	--pr-space-6: 24px;
	--pr-space-8: 32px;
	--pr-space-10: 40px;
	--pr-space-12: 48px;
	--pr-space-16: 64px;
	--pr-space-20: 80px;
	--pr-space-24: 96px;
	--pr-space-28: 112px;
	--pr-space-32: 128px;
	--pr-content: min(1180px, calc(100vw - 64px));
	--pr-content-wide: min(1280px, calc(100vw - 64px));
	--pr-transition: 180ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.pr-page {
	background: var(--pr-white);
	color: var(--pr-ink);
	font-family: var(--pr-font-body);
	-webkit-font-smoothing: antialiased;
}

.pr-page :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--pr-font-display);
}

.pr-container {
	width: var(--pr-content);
	margin-inline: auto;
}

.pr-container--wide {
	width: var(--pr-content-wide);
	margin-inline: auto;
}

.pr-section {
	padding-block: var(--pr-space-28);
}

.pr-eyebrow {
	display: flex;
	gap: var(--pr-space-3);
	align-items: center;
	margin: 0 0 var(--pr-space-6);
	color: var(--pr-purple-500);
	font: 700 11px/1.3 var(--pr-font-body);
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.pr-eyebrow::before {
	width: 30px;
	height: 1px;
	background: currentColor;
	content: "";
}

.pr-button {
	display: inline-flex;
	gap: var(--pr-space-3);
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 var(--pr-space-6);
	border: 1px solid transparent;
	border-radius: var(--pr-radius-button);
	font: 700 12px/1 var(--pr-font-body);
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform var(--pr-transition), box-shadow var(--pr-transition), background var(--pr-transition);
}

.pr-button:hover {
	transform: translateY(-2px);
}

.pr-button--primary {
	background: var(--pr-gradient-brand);
	box-shadow: 0 10px 30px rgba(111, 20, 181, 0.24);
	color: var(--pr-white);
}

.pr-button--secondary-dark {
	border-color: rgba(255, 255, 255, 0.5);
	background: transparent;
	color: var(--pr-white);
}

.pr-button--secondary-light {
	border-color: var(--pr-ink);
	background: transparent;
	color: var(--pr-ink);
}

.pr-card {
	border: 1px solid var(--pr-line-light);
	border-radius: var(--pr-radius-card);
	background: var(--pr-white);
}

.pr-chip {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 var(--pr-space-3);
	border: 1px solid currentColor;
	border-radius: 999px;
	font: 600 10px/1 var(--pr-font-mono);
	letter-spacing: 0.08em;
}

.pr-focus:focus-visible,
.pr-page :where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--pr-cyan-400);
	outline-offset: 3px;
}

@media (max-width: 979px) {
	:root {
		--pr-content: min(100% - 40px, 760px);
		--pr-content-wide: min(100% - 40px, 900px);
	}

	.pr-section {
		padding-block: 72px;
	}
}

@media (max-width: 639px) {
	:root {
		--pr-content: calc(100% - 40px);
		--pr-content-wide: calc(100% - 40px);
	}

	.pr-section {
		padding-block: 56px;
	}
}

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