:root {
  /* Brand */
  --color-primary: #411370;
  --color-primary-dark: #24083f;
  --color-primary-soft: #f4eff9;
  --color-secondary: #d4af37;
  --color-secondary-dark: #be9728;
  --color-secondary-soft: #fbf7e8;
  --color-secondary-ink: #251d08;

  /* Semantic colors */
  --color-success: #18794e;
  --color-success-soft: #edf8f2;
  --color-warning: #9a6700;
  --color-warning-soft: #fff8e6;
  --color-danger: #b42318;
  --color-danger-soft: #fff1f0;
  --color-info: #175cd3;
  --color-info-soft: #eff8ff;

  /* Surfaces and text */
  --color-text: #12162f;
  --color-muted: #667085;
  --color-surface: #ffffff;
  --color-surface-soft: #f7f7fb;
  --color-border: #e8e8ef;
  --color-border-strong: #d7d7e2;

  /* Typography */
  --font-family-base: Inter, Arial, sans-serif;
  --font-size-xs: .75rem;
  --font-size-sm: .875rem;
  --font-size-body: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --line-height-tight: 1.2;
  --line-height-heading: 1.28;
  --line-height-body: 1.65;

  /* Spacing — 4px base scale */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Shape and elevation */
  --radius-sm: .5rem;
  --radius-md: .875rem;
  --radius-lg: 1.375rem;
  --radius-pill: 999px;
  --button-radius: .625rem;
  --button-transition: 180ms ease;
  --button-focus-ring: rgba(212, 175, 55, .58);
  --shadow-xs: 0 8px 24px rgba(35, 20, 60, .055);
  --shadow-soft: 0 12px 32px rgba(30, 17, 54, .09);
  --shadow-raised: 0 18px 42px rgba(35, 20, 60, .13);
  --transition-fast: 180ms ease;
  --transition-base: 220ms ease;
  --shadow-menu: 0 18px 45px rgba(27, 14, 48, .14);

  /* Card system */
  --card-radius: var(--radius-md);
  --card-border: 1px solid var(--color-border);
  --card-padding: clamp(1.25rem, 1.8vw, 1.65rem);
  --card-gap: 1rem;
  --card-shadow: 0 8px 24px rgba(35, 20, 60, .055);
  --card-shadow-hover: 0 18px 42px rgba(35, 20, 60, .13);
  --card-transition: 220ms ease;

  /* Service card component */
  --service-card-padding: clamp(1.35rem, 1.9vw, 1.75rem);
  --service-card-shadow: 0 10px 28px rgba(35, 20, 60, .065);
  --service-card-shadow-hover: 0 22px 48px rgba(35, 20, 60, .15);

  /* Partner component */
  --partner-card-min-height: 8.35rem;

  /* Layout */
  --container-width: min(1440px, calc(100% - 40px));
  --content-width: 780px;
  --section-space: clamp(4rem, 7vw, 7.5rem);
  --header-height: 112px;

  /* Backwards-compatible aliases */
  --space-2xs: var(--space-1);
  --space-xs: var(--space-2);
  --space-sm: var(--space-4);
  --space-md: var(--space-6);
  --space-lg: var(--space-8);
  --space-xl: var(--space-16);
  --space-2xl: var(--space-24);
  --p-purple: var(--color-primary);
  --p-purple-dark: var(--color-primary-dark);
  --p-yellow: var(--color-secondary);
  --p-ink: var(--color-text);
  --p-muted: var(--color-muted);
  --p-bg: var(--color-surface-soft);
  --p-white: var(--color-surface);
  --p-border: var(--color-border);
  --p-radius: var(--radius-lg);
  --p-shadow: var(--shadow-soft);
  --p-container: var(--container-width);
}
