:root {
  --color-primary: #3A2B66;
  --color-primary-hover: #2E2152;
  --color-primary-light: #6B5BA6;
  --color-primary-soft: #EFECF7;
  --color-on-primary: #FFFFFF;

  --color-secondary: #F6B860;
  --color-secondary-end: #F08A5D;
  --color-secondary-soft: #FDF1E1;
  --color-secondary-strong: #94480F;
  --color-on-secondary: #2A1606;

  --gradient-brand: linear-gradient(135deg, #140F24 0%, #221A3D 55%, #3A2B66 100%);
  --gradient-accent: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-end) 100%);

  --color-dark: #17122A;
  --color-dark-elevated: #231C3D;
  --color-dark-border: rgba(255, 255, 255, .12);
  --color-on-dark: #FFFFFF;
  --color-on-dark-muted: #C4BCD8;

  --color-charcoal: #221D2E;
  --color-charcoal-soft: #2D2740;

  --color-bg: #FFFFFF;
  --color-surface: #F7F4EF;
  --color-border: #E9E3DA;
  --color-border-strong: #D3CBBF;
  --color-heading: #1E1830;
  --color-text: #3F3A4A;
  --color-text-muted: #625C6C;

  --color-success: #1E7A4F;
  --color-success-soft: #E2F4EA;
  --color-ok-on-dark: #86D9AE;
  --color-warning: #A15F00;
  --color-warning-soft: #FDF1DC;
  --color-warning-on-dark: #FFC56B;
  --color-danger: #C42D37;
  --color-danger-soft: #FDECEE;
  --color-danger-on-dark: #FF8A8F;

  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-heading: var(--font-body);

  --fs-display: clamp(2.25rem, 1.5rem + 3vw, 3.75rem);
  --fs-h2: clamp(1.75rem, 1.3rem + 1.6vw, 2.6rem);
  --fs-h3: clamp(1.15rem, 1.05rem + .4vw, 1.35rem);
  --fs-lead: clamp(1.02rem, .96rem + .3vw, 1.2rem);
  --fs-body: 1rem;
  --fs-small: .875rem;
  --fs-xs: .75rem;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(30, 24, 48, .06), 0 2px 8px rgba(30, 24, 48, .05);
  --shadow-md: 0 2px 4px rgba(30, 24, 48, .05), 0 12px 32px rgba(30, 24, 48, .11);
  --shadow-lg: 0 4px 8px rgba(30, 24, 48, .08), 0 30px 70px rgba(30, 24, 48, .3);

  --container: 1240px;
  --gutter: clamp(16px, 4vw, 32px);
  --header-height: 72px;
  --section-space: clamp(56px, 3vw + 40px, 92px);

  --ease: cubic-bezier(.2, .7, .2, 1);
  --duration: .2s;

  --z-header: 100;
  --z-drawer: 200;
}