:root {
  --soma-plum: #2a0d3f;
  --soma-purple: #8e2fc7;
  --soma-magenta: #d94e6e;
  --soma-orange: #e87040;
  --soma-navy: #102c50;
  --soma-ink: #172338;
  --soma-muted: #6b5a80;
  --soma-pale: #fbf3f8;
  --soma-line: #f0dce9;
  --soma-white: #fff;
  --soma-gradient: linear-gradient(135deg, var(--soma-purple), var(--soma-magenta) 58%, var(--soma-orange));
  --soma-shadow-sm: 0 10px 28px rgba(42, 13, 63, .08);
  --soma-shadow-lg: 0 24px 64px rgba(42, 13, 63, .14);
  --soma-radius-sm: 12px;
  --soma-radius-md: 20px;
  --soma-radius-lg: 30px;
  --soma-container: 1180px;
  --soma-gutter: clamp(18px, 4vw, 40px);
  --soma-section: clamp(68px, 8vw, 108px);
  --soma-ease: cubic-bezier(.2, .8, .2, 1);
  --soma-space-4: 4px;
  --soma-space-8: 8px;
  --soma-space-12: 12px;
  --soma-space-16: 16px;
  --soma-space-24: 24px;
  --soma-space-32: 32px;
  --soma-space-48: 48px;
  --soma-space-64: 64px;
  --soma-space-80: 80px;
  --soma-space-96: 96px;
  --soma-type-display: clamp(42px, 5vw, 64px);
  --soma-type-h2: clamp(34px, 4vw, 48px);
  --soma-type-h3: clamp(25px, 3vw, 30px);
  --soma-type-h4: 22px;
  --soma-type-h5: 18px;
  --soma-type-body-lg: 17px;
  --soma-type-body: 16px;
  --soma-type-small: 14px;
  --soma-type-eyebrow: 12px;
  --soma-button-height: 48px;
  --soma-button-radius: 999px;
  --soma-input-height: 48px;
  --soma-input-radius: 10px;
  --soma-card-radius: 20px;
  --soma-panel-radius: 30px;
}
