:root {
    /* ── Shared bridge / seed tokens ── */
    --page-bg: #f6f7f9;
    --page-glow: #eef2ff;
    --surface: #ffffff;
    --surface-subtle: #f9fafb;
    --surface-tint: #f4f6f8;
    --text-primary: #111827;
    --text-secondary: #4b5563;
    --text-tertiary: #6b7280;
    --border: #e5e7eb;
    --border-strong: #d1d5db;
    --accent: #1e40af;
    --accent-hover: #1e3a8a;
    --accent-subtle: #dbeafe;
    --success: #15803d;
    --success-subtle: #dcfce7;
    --error: #b91c1c;
    --error-subtle: #fee2e2;
    --log-bg: #f4f6f8;
    --log-text: #374151;

    /* ── TP contact-form tokens (scoped to .form-page) ── */
    --tp-body-bg: #7062AB;
    --tp-text: #212529;
    --tp-text-secondary: #4b5563;
    --tp-surface: #ffffff;
    --tp-pink: #FF0082;
    --tp-pink-hover: #e60074;
    --tp-pink-subtle: #fde6f1;
    --tp-border: #dee2e6;
    --tp-border-strong: #adb5bd;
    --tp-input-bg: #ffffff;
    --tp-input-border: #dee2e6;
    --tp-input-focus: #FF0082;
    --tp-footer-bg: #333333;
    --tp-footer-text: #adb5bd;

    /* ── Spacing scale ── */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 12px;
    --space-lg: 16px;
    --space-xl: 24px;
    --space-2xl: 32px;
    --space-3xl: 48px;
    --space-4xl: 64px;

    --tp-purple: #7a2180;
    --tp-gradient-divider: linear-gradient(90deg, #7a2180 35%, #FF0082 100%);
    /* ── Typography ── */
    --tp-font: 'Tp Sans', 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --tp-hero-font: 'Tp Sans', 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

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

}