:root {
	--mvs-brand-primary: #0d6a66;
	--mvs-brand-primary-hover: #09504d;
	--mvs-brand-ink: #16211f;
	--mvs-brand-ink-muted: #4c5c5a;
	--mvs-brand-page: #f7f8f7;
	--mvs-brand-surface: #ffffff;
	--mvs-brand-surface-alt: #eff2f1;

	--color-bg: var(--mvs-brand-page);
	--color-surface: var(--mvs-brand-surface);
	--color-text: var(--mvs-brand-ink-muted);
	--color-text-muted: #667573;
	--color-heading: var(--mvs-brand-ink);
	--color-primary: var(--mvs-brand-primary);
	--color-primary-hover: var(--mvs-brand-primary-hover);
	--color-border: rgba(16, 32, 32, 0.14);
	--color-border-strong: rgba(16, 32, 32, 0.28);
	--color-surface-alt: var(--mvs-brand-surface-alt);
	--color-accent: #d6a84b;
	--color-focus: var(--color-primary);
	--color-error: #a92d1f;
	--color-success: #17734a;
	--color-warning: #8a5a00;
	--color-locked: #5a6a68;

	--font-body: "Public Sans", Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-heading: var(--font-body);
	--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 2rem;
	--text-4xl: 2.5rem;

	--mvs-type-body-desktop: var(--text-base);
	--mvs-type-body-tablet: var(--text-base);
	--mvs-type-body-mobile: var(--text-base);
	--mvs-type-paragraph-desktop: var(--text-base);
	--mvs-type-paragraph-tablet: var(--text-base);
	--mvs-type-paragraph-mobile: var(--text-base);
	--mvs-type-list-item-desktop: var(--text-base);
	--mvs-type-list-item-tablet: var(--text-base);
	--mvs-type-list-item-mobile: var(--text-base);
	--mvs-type-h1-desktop: var(--text-4xl);
	--mvs-type-h1-tablet: var(--text-3xl);
	--mvs-type-h1-mobile: var(--text-2xl);
	--mvs-type-h2-desktop: var(--text-3xl);
	--mvs-type-h2-tablet: var(--text-2xl);
	--mvs-type-h2-mobile: var(--text-xl);
	--mvs-type-h3-desktop: var(--text-2xl);
	--mvs-type-h3-tablet: var(--text-xl);
	--mvs-type-h3-mobile: var(--text-lg);
	--mvs-type-h4-desktop: var(--text-xl);
	--mvs-type-h4-tablet: var(--text-lg);
	--mvs-type-h4-mobile: var(--text-base);
	--mvs-type-h5-desktop: var(--text-lg);
	--mvs-type-h5-tablet: var(--text-base);
	--mvs-type-h5-mobile: var(--text-base);
	--mvs-type-h6-desktop: var(--text-base);
	--mvs-type-h6-tablet: var(--text-base);
	--mvs-type-h6-mobile: var(--text-sm);
	--mvs-type-page-title-desktop: var(--mvs-type-h1-desktop);
	--mvs-type-page-title-tablet: var(--mvs-type-h1-tablet);
	--mvs-type-page-title-mobile: var(--mvs-type-h1-mobile);
	--mvs-type-section-title-desktop: var(--mvs-type-h2-desktop);
	--mvs-type-section-title-tablet: var(--mvs-type-h2-tablet);
	--mvs-type-section-title-mobile: var(--mvs-type-h2-mobile);
	--mvs-type-card-title-desktop: var(--mvs-type-h3-desktop);
	--mvs-type-card-title-tablet: var(--mvs-type-h3-tablet);
	--mvs-type-card-title-mobile: var(--mvs-type-h3-mobile);
	--mvs-type-button-desktop: var(--text-base);
	--mvs-type-button-tablet: var(--text-base);
	--mvs-type-button-mobile: var(--text-base);
	--mvs-type-meta-desktop: var(--text-sm);
	--mvs-type-meta-tablet: var(--text-sm);
	--mvs-type-meta-mobile: var(--text-sm);

	--mvs-type-body: var(--mvs-type-body-desktop);
	--mvs-type-paragraph: var(--mvs-type-paragraph-desktop);
	--mvs-type-list-item: var(--mvs-type-list-item-desktop);
	--mvs-type-h1: var(--mvs-type-h1-desktop);
	--mvs-type-h2: var(--mvs-type-h2-desktop);
	--mvs-type-h3: var(--mvs-type-h3-desktop);
	--mvs-type-h4: var(--mvs-type-h4-desktop);
	--mvs-type-h5: var(--mvs-type-h5-desktop);
	--mvs-type-h6: var(--mvs-type-h6-desktop);
	--mvs-type-page-title: var(--mvs-type-page-title-desktop);
	--mvs-type-section-title: var(--mvs-type-section-title-desktop);
	--mvs-type-card-title: var(--mvs-type-card-title-desktop);
	--mvs-type-button: var(--mvs-type-button-desktop);
	--mvs-type-meta: var(--mvs-type-meta-desktop);

	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-7: 1.75rem;
	--space-8: 2rem;
	--space-9: 2.25rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-24: 6rem;

	--radius-sm: 0.375rem;
	--radius-md: 0.5rem;
	--radius-lg: 0.5rem;
	--radius-pill: 999px;

	--shadow-sm: 0 1px 2px rgba(16, 32, 32, 0.06);
	--shadow-md: 0 4px 16px rgba(16, 32, 32, 0.1);

	--commerce-price-color: var(--color-heading);
	--commerce-vat-color: var(--color-text-muted);
	--commerce-summary-bg: var(--color-surface);
	--commerce-summary-border: var(--color-border);
	--commerce-summary-shadow: var(--shadow-sm);
	--commerce-progress-current-bg: var(--color-primary);
	--commerce-progress-complete-bg: var(--color-success);
	--commerce-progress-upcoming-bg: var(--color-surface-alt);
	--commerce-status-pending-color: var(--color-warning);
	--commerce-status-paid-color: var(--color-success);
	--commerce-status-error-color: var(--color-error);
	--commerce-access-active-color: var(--color-success);
	--commerce-access-pending-color: var(--color-warning);
	--commerce-access-revoked-color: var(--color-error);
	--commerce-access-locked-color: var(--color-locked);
	--commerce-summary-width: 22rem;

	--container-sm: 40rem;
	--container-md: 64rem;
	--container-lg: 72rem;
	--container-xl: var(--theme-normal-container-max-width, 1290px);
	--container-narrow: var(--theme-narrow-container-max-width, 750px);

	--z-dropdown: 100;
	--z-sticky: 200;
	--z-overlay: 300;
	--z-modal: 400;

	--transition-fast: 150ms ease;
	--transition-base: 220ms ease;

	--focus-ring-width: 2px;
	--focus-ring-offset: 3px;
	--focus-ring: 0 0 0 var(--focus-ring-width) var(--color-focus);
	--target-size: 44px;
}

@media (max-width: 900px) {
	:root {
		--mvs-type-body: var(--mvs-type-body-tablet);
		--mvs-type-paragraph: var(--mvs-type-paragraph-tablet);
		--mvs-type-list-item: var(--mvs-type-list-item-tablet);
		--mvs-type-h1: var(--mvs-type-h1-tablet);
		--mvs-type-h2: var(--mvs-type-h2-tablet);
		--mvs-type-h3: var(--mvs-type-h3-tablet);
		--mvs-type-h4: var(--mvs-type-h4-tablet);
		--mvs-type-h5: var(--mvs-type-h5-tablet);
		--mvs-type-h6: var(--mvs-type-h6-tablet);
		--mvs-type-page-title: var(--mvs-type-page-title-tablet);
		--mvs-type-section-title: var(--mvs-type-section-title-tablet);
		--mvs-type-card-title: var(--mvs-type-card-title-tablet);
		--mvs-type-button: var(--mvs-type-button-tablet);
		--mvs-type-meta: var(--mvs-type-meta-tablet);
	}
}

@media (max-width: 600px) {
	:root {
		--mvs-type-body: var(--mvs-type-body-mobile);
		--mvs-type-paragraph: var(--mvs-type-paragraph-mobile);
		--mvs-type-list-item: var(--mvs-type-list-item-mobile);
		--mvs-type-h1: var(--mvs-type-h1-mobile);
		--mvs-type-h2: var(--mvs-type-h2-mobile);
		--mvs-type-h3: var(--mvs-type-h3-mobile);
		--mvs-type-h4: var(--mvs-type-h4-mobile);
		--mvs-type-h5: var(--mvs-type-h5-mobile);
		--mvs-type-h6: var(--mvs-type-h6-mobile);
		--mvs-type-page-title: var(--mvs-type-page-title-mobile);
		--mvs-type-section-title: var(--mvs-type-section-title-mobile);
		--mvs-type-card-title: var(--mvs-type-card-title-mobile);
		--mvs-type-button: var(--mvs-type-button-mobile);
		--mvs-type-meta: var(--mvs-type-meta-mobile);
	}
}
