:root {
  --pp-burgundy: #8F003B;
  --pp-burgundy-dark: #650026;
  --pp-magenta: #A50046;
  --pp-gold: #C88A2B;
  --pp-gold-light: #E6C383;
  --pp-gold-ink: #80531A;
  --pp-cream: #FBF7F1;
  --pp-soft-cream: #F5EEE6;
  --pp-white: #FFFFFF;
  --pp-charcoal: #191716;
  --pp-muted: #6F6864;
  --pp-border: #E7DDD4;
  --pp-footer-text: #E7DDD4;
  --pp-footer-border: #49413D;
  --pp-font-editorial: Georgia, "Times New Roman", serif;
  --pp-heading-hero: clamp(2.65rem, 5.5vw, 5rem);
  --pp-heading-section: clamp(1.8rem, 3.2vw, 2.75rem);
  --pp-section-space: clamp(3rem, 6vw, 5.5rem);
  --pp-grid-gap: 1.5rem;
  --pp-icon-size: 1.25rem;
  --pp-image-card: 4 / 3;
  --pp-image-article: 3 / 2;
  --pp-reading-width: 68ch;
  --pp-heading-internal: clamp(2.1rem, 4.5vw, 3.5rem);
  --pp-internal-hero-space: clamp(2rem, 4vw, 3.5rem);
  --pp-image-hero: 5 / 4;
  --pp-radius-card: var(--pp-radius-lg);
  --pp-radius-button: var(--pp-radius-md);
  --pp-color-action: var(--pp-burgundy);
  --pp-color-action-hover: var(--pp-burgundy-dark);
  --pp-shadow-card: 0 8px 26px rgb(25 23 22 / .05);

  --pp-color-white: var(--pp-white);
  --pp-color-black: #000000;
  --pp-color-blue-50: var(--pp-cream);
  --pp-color-blue-100: var(--pp-soft-cream);
  --pp-color-blue-500: var(--pp-burgundy);
  --pp-color-blue-600: var(--pp-burgundy-dark);
  --pp-color-blue-700: var(--pp-burgundy-dark);
  --pp-color-slate-50: var(--pp-cream);
  --pp-color-slate-100: var(--pp-soft-cream);
  --pp-color-slate-200: var(--pp-border);
  --pp-color-slate-500: var(--pp-muted);
  --pp-color-slate-700: var(--pp-muted);
  --pp-color-slate-900: var(--pp-charcoal);
  --pp-color-green-50: #f0fdf4;
  --pp-color-green-600: #16a34a;
  --pp-color-amber-50: #fffbeb;
  --pp-color-amber-600: #d97706;
  --pp-color-red-50: #fef2f2;
  --pp-color-red-600: #dc2626;

  --pp-color-bg-page: var(--pp-color-slate-50);
  --pp-color-bg-surface: var(--pp-color-white);
  --pp-color-bg-subtle: var(--pp-color-slate-100);
  --pp-color-text-primary: var(--pp-color-slate-900);
  --pp-color-text-secondary: var(--pp-color-slate-700);
  --pp-color-text-muted: var(--pp-color-slate-500);
  --pp-color-border: var(--pp-color-slate-200);
  --pp-color-action-primary: var(--pp-color-blue-500);
  --pp-color-action-primary-hover: var(--pp-color-blue-600);
  --pp-color-action-primary-active: var(--pp-color-blue-700);
  --pp-color-focus: var(--pp-color-blue-500);
  --pp-color-success: var(--pp-color-green-600);
  --pp-color-warning: var(--pp-color-amber-600);
  --pp-color-error: var(--pp-color-red-600);

  --pp-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pp-text-xs: 0.75rem;
  --pp-text-sm: 0.875rem;
  --pp-text-base: 1rem;
  --pp-text-lg: 1.125rem;
  --pp-text-xl: 1.25rem;
  --pp-text-2xl: 1.5rem;
  --pp-text-3xl: 1.875rem;
  --pp-text-4xl: 2.25rem;
  --pp-text-5xl: 3rem;

  --pp-space-0: 0;
  --pp-space-1: 0.25rem;
  --pp-space-2: 0.5rem;
  --pp-space-3: 0.75rem;
  --pp-space-4: 1rem;
  --pp-space-5: 1.25rem;
  --pp-space-6: 1.5rem;
  --pp-space-8: 2rem;
  --pp-space-10: 2.5rem;
  --pp-space-12: 3rem;
  --pp-space-16: 4rem;
  --pp-space-20: 5rem;
  --pp-space-24: 6rem;

  --pp-radius-sm: 0.375rem;
  --pp-radius-md: 0.625rem;
  --pp-radius-lg: 1rem;
  --pp-radius-full: 9999px;

  --pp-shadow-sm: 0 2px 10px rgb(25 23 22 / .04);
  --pp-shadow-md: 0 8px 24px rgb(25 23 22 / .06);
  --pp-shadow-overlay: 0 20px 50px rgb(15 23 42 / 0.18);

  --pp-container-content: 48rem;
  --pp-container-wide: 72rem;
  --pp-container-max: 80rem;

  --pp-duration-fast: 120ms;
  --pp-duration-standard: 180ms;
  --pp-duration-slow: 280ms;
}
