/* Design tokens — transcribed from wpus-theme/theme.json. */
:root {
	/* Color */
	--wpus-primary: #5007AA;
	--wpus-primary-deep: #3a067c;
	--wpus-primary-90: rgba(80, 7, 170, 0.9);
	--wpus-primary-80: #873eff;
	--wpus-primary-light: #D1C1FF;
	--wpus-primary-hover: #720eec;
	--wpus-accent: #FFD83B;
	--wpus-accent-hover: #f5cb00;
	--wpus-white: #ffffff;
	--wpus-black: #000000;
	--wpus-dark: #313131;
	--wpus-text-80: rgba(0, 0, 0, 0.8);
	--wpus-text-60: rgba(0, 0, 0, 0.6);
	--wpus-gray-50: #f8f8f8;
	--wpus-gray-100: #f5f5f7;
	--wpus-gray-200: #eeeeee;
	--wpus-gray-300: #e0e0e0;
	--wpus-gray-400: #bdbdbd;
	--wpus-gray-500: #9e9e9e;
	--wpus-gray-600: #757575;
	--wpus-gray-700: #616161;
	--wpus-gray-800: #424242;
	--wpus-gray-900: #212121;
	--wpus-success: #00b67a;
	--wpus-warning: #f59e0b;
	--wpus-error: #ef4444;
	--wpus-lavender: #cdcbff;
	--wpus-coral: #FFB093;
	--wpus-sage: #8cb369;

	/* Typography */
	--wpus-font-sans: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--wpus-text-xs: 0.75rem;
	--wpus-text-sm: 0.875rem;
	--wpus-text-base: 1rem;
	--wpus-text-lg: 1.125rem;
	--wpus-text-xl: 1.25rem;
	--wpus-text-2xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
	--wpus-text-3xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);
	--wpus-text-4xl: clamp(1.75rem, 1.4rem + 1.75vw, 2.5rem);
	--wpus-text-5xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);
	--wpus-text-hero: clamp(2.25rem, 1.4rem + 4.25vw, 4rem);
	--wpus-text-display: clamp(2.5rem, 1.9rem + 3.2vw, 4.5rem);

	/* Spacing */
	--wpus-space-1: 0.25rem;
	--wpus-space-2: 0.5rem;
	--wpus-space-3: 0.75rem;
	--wpus-space-4: 1rem;
	--wpus-space-5: 1.25rem;
	--wpus-space-6: 1.5rem;
	--wpus-space-8: 2rem;
	--wpus-space-10: 2.5rem;
	--wpus-space-12: 3rem;
	--wpus-space-16: 4rem;
	--wpus-space-20: 5rem;
	--wpus-space-24: 6rem;
	--wpus-space-32: 8rem;

	/* Radius */
	--wpus-radius-xs: 6px;
	--wpus-radius-sm: 8px;
	--wpus-radius-md: 12px;
	--wpus-radius-lg: 16px;
	--wpus-radius-xl: 24px;
	--wpus-radius-button: 32px;
	--wpus-radius-full: 9999px;

	/* Layout */
	--wpus-content: 1230px;
	--wpus-wide: 1400px;
	--wpus-header-height: 72px;

	/* Icons — authored SVG (Lucide check) as a mask; color comes from the
	   rule's background-color, matching wpus_icon() stroke style. */
	--wpus-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--wpus-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E");

	/* Effects */
	--wpus-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
	--wpus-shadow-md: 0 6px 20px rgba(0, 0, 0, 0.08);
	--wpus-shadow-lg: 0 16px 40px rgba(49, 49, 49, 0.12);
	--wpus-transition-fast: 150ms ease;
	--wpus-transition-base: 182ms ease-in-out;
	--wpus-transition-slow: 300ms ease;
}
