:root {
  /* Color, quiet-luxury: warm putty/greige + embossed bronze, matching the brand mark */
  --color-putty: oklch(89% 0.013 80);
  --color-putty-deep: oklch(83% 0.016 76);
  --color-paper: oklch(94% 0.010 82);
  --color-ink: oklch(23% 0.014 60);
  --color-ink-soft: oklch(29% 0.016 60);
  --color-text-on-dark: oklch(92% 0.012 80);
  --color-text-on-dark-muted: oklch(74% 0.016 75);
  --color-text-on-light: oklch(27% 0.015 60);
  --color-text-on-light-muted: oklch(44% 0.018 65);
  --color-bronze: oklch(58% 0.035 70);
  --color-bronze-light: oklch(74% 0.03 78);
  --color-bronze-dim: oklch(50% 0.03 68);
  --color-hairline-dark: oklch(92% 0.012 80 / 0.14);
  --color-hairline-light: oklch(27% 0.015 60 / 0.14);

  /* Type */
  --font-display: 'Frank Ruhl Libre', 'Times New Roman', serif;
  --font-body: 'Assistant', 'Segoe UI', sans-serif;

  --text-xs: clamp(0.78rem, 0.75rem + 0.15vw, 0.85rem);
  --text-sm: clamp(0.9rem, 0.87rem + 0.15vw, 1rem);
  --text-base: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  --text-lg: clamp(1.2rem, 1.1rem + 0.4vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.3rem + 0.8vw, 2.1rem);
  --text-2xl: clamp(2rem, 1.6rem + 1.6vw, 3.2rem);
  --text-hero: clamp(2.5rem, 1.7rem + 4vw, 5.2rem);

  /* Space */
  --space-xs: clamp(0.5rem, 0.46rem + 0.2vw, 0.75rem);
  --space-sm: clamp(0.9rem, 0.8rem + 0.4vw, 1.25rem);
  --space-md: clamp(1.5rem, 1.3rem + 0.8vw, 2.25rem);
  --space-lg: clamp(2.5rem, 2rem + 2vw, 4rem);
  --space-xl: clamp(4rem, 3rem + 4vw, 7rem);
  --space-section: clamp(4rem, 3.2rem + 4.4vw, 8rem);

  /* Motion */
  --duration-fast: 150ms;
  --duration-normal: 350ms;
  --duration-slow: 700ms;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-editorial: cubic-bezier(0.65, 0, 0.35, 1);

  /* Structure */
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-full: 999px;
  --content-max: 1240px;
  --shadow-soft: 0 20px 60px -24px oklch(23% 0.014 60 / 0.28);
  --shadow-lift: 0 30px 80px -24px oklch(23% 0.014 60 / 0.35);
}
