:root {
  /* Typography */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial,
    sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono",
    monospace;

  /* Fluid type scale (adjust numbers to taste) */
  --fs-100: clamp(0.875rem, 0.8rem + 0.2vw, 0.95rem);
  --fs-200: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
  --fs-300: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  --fs-400: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem);
  --fs-500: clamp(2rem, 1.6rem + 1.2vw, 2.5rem);
  --fs-600: clamp(2.5rem, 2rem + 1.5vw, 3.25rem);
  --fs-700: clamp(3rem, 2.5rem + 2vw, 4rem);
  --fs-800: clamp(4rem, 3rem + 3vw, 5.5rem);
  --fs-900: clamp(5rem, 4rem + 4vw, 7rem);

  /* Base unit: adjust this if you want tighter/looser spacing */
  --space-unit: 1.2rem;

  /* Scale based on the unit (mobile-first approach) */
  --space-2xs: calc(var(--space-unit) * 0.5);
  --space-xs: calc(var(--space-unit) * 1);
  --space-sm: calc(var(--space-unit) * 2);
  --space-md: calc(var(--space-unit) * 3);
  --space-lg: calc(var(--space-unit) * 4);
  --space-xl: calc(var(--space-unit) * 6);
  --space-2xl: calc(var(--space-unit) * 8);
  --space-3xl: calc(var(--space-unit) * 12);

  /* Gaps / layout-specific spacing */
  --gap-xs: var(--space-xs);
  --gap-sm: var(--space-sm);
  --gap-md: var(--space-md);
  --gap-lg: var(--space-lg);

  /* Padding and margin helpers */
  --section-padding: var(--space-2xl);
  --container-padding: var(--space-lg);

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;

  /* Radii & borders */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --border-thin: 1px;
  --border-thick: 2px;

  /* Shadows */
  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-2: 0 4px 10px rgba(0, 0, 0, 0.08);

  /* Motion */
  --ease-standard: cubic-bezier(0.2, 0, 0.2, 1);
  --dur-fast: 120ms;
  --dur-med: 200ms;

  /* Z-index scale */
  --z-nav: 100;
  --z-overlay: 900;
  --z-modal: 1000;

  /* Containers */
  --container-max: 1200px;
  --container-pad: var(--space-3);

  /* Neutral/semantic color roles (brands override these) */
  --color-bg: #222;
  --color-surface-1: #ffffff;
  --color-surface-2: #f7f7f8;
  --color-text: #1a1a1a;
  --color-border: #e6e6e6;
  --color-accent: #2563eb; /* default accent; brand.css replaces */

  /* Links & states (semantic) */
  --color-link: var(--color-accent);
  --color-link-hover: #1e40af; /* darker accent */
  --color-success: #16a34a;
  --color-warning: #d97706;
  --color-danger: #dc2626;
}
