:root {
  color-scheme: light;

  --pp-maroon: #5a1832;
  --pp-saffron: #f59e0b;
  --pp-ivory: #fff8e7;
  --pp-charcoal: #201a17;
  --pp-green: #2e6e50;
  --pp-clay: #a33a17;

  --pp-bg: var(--pp-ivory);
  --pp-surface: #ffffff;
  --pp-surface-warm: #fbf1dc;
  --pp-surface-muted: #f5e9d2;
  --pp-text: var(--pp-charcoal);
  --pp-text-muted: #675d57;
  --pp-border: #e3d4bd;
  --pp-primary: var(--pp-maroon);
  --pp-primary-text: #ffffff;
  --pp-accent: var(--pp-saffron);
  --pp-trust: var(--pp-green);
  --pp-warm-accent: var(--pp-clay);
  --pp-focus: var(--pp-green);
  --pp-success: var(--pp-green);
  --pp-warning: #9a5a00;
  --pp-danger: #a12622;

  --pp-font-display: Sora, Manrope, ui-sans-serif, system-ui, sans-serif;
  --pp-font-body: Inter, ui-sans-serif, system-ui, sans-serif;
  --pp-font-devanagari: "Noto Sans Devanagari", ui-sans-serif, system-ui, sans-serif;

  --pp-text-xs: clamp(0.75rem, 0.72rem + 0.1vw, 0.8125rem);
  --pp-text-sm: clamp(0.875rem, 0.84rem + 0.12vw, 0.9375rem);
  --pp-text-md: clamp(1rem, 0.95rem + 0.18vw, 1.125rem);
  --pp-text-lg: clamp(1.125rem, 1.02rem + 0.32vw, 1.375rem);
  --pp-text-xl: clamp(1.375rem, 1.15rem + 0.75vw, 1.875rem);
  --pp-text-2xl: clamp(1.75rem, 1.35rem + 1.25vw, 2.5rem);
  --pp-text-3xl: clamp(2.25rem, 1.55rem + 2.1vw, 3.75rem);
  --pp-text-display: clamp(3rem, 1.8rem + 4vw, 6rem);

  --pp-space-1: 0.25rem;
  --pp-space-2: 0.5rem;
  --pp-space-3: 0.75rem;
  --pp-space-4: 1rem;
  --pp-space-5: 1.5rem;
  --pp-space-6: 2rem;
  --pp-space-7: clamp(2rem, 1.4rem + 2vw, 3rem);
  --pp-space-8: clamp(3rem, 2rem + 3vw, 4rem);
  --pp-space-9: clamp(4rem, 2.5rem + 5vw, 6rem);

  --pp-radius-sm: 6px;
  --pp-radius-md: 10px;
  --pp-radius-lg: 16px;
  --pp-radius-xl: 24px;
  --pp-radius-pill: 999px;

  --pp-border-w: 1px;
  --pp-shadow-sm: 0 1px 2px rgba(32, 26, 23, 0.06);
  --pp-shadow-md: 0 8px 24px rgba(66, 42, 32, 0.08);
  --pp-shadow-lg: 0 18px 48px rgba(66, 42, 32, 0.14);

  --pp-motion-fast: 140ms;
  --pp-motion-standard: 220ms;
  --pp-motion-drawer: 280ms;
  --pp-ease: cubic-bezier(0.2, 0.8, 0.2, 1);

  --pp-control-min: 44px;
  --pp-focus-ring: 0 0 0 3px rgba(46, 110, 80, 0.28);

  --pp-content-max: 1200px;
  --pp-reading-max: 720px;
  --pp-gutter: clamp(1rem, 0.5rem + 2vw, 2rem);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --pp-motion-fast: 1ms;
    --pp-motion-standard: 1ms;
    --pp-motion-drawer: 1ms;
  }
}
