:root {
  /* ============================================================
     BRISTLE SELLER DESIGN TOKENS
     Version: 250526-0001
     ============================================================ */

  /* Fonts */
  --font-display: "General Sans", "Satoshi", Inter, ui-sans-serif, system-ui, sans-serif;
  --font-body: "Satoshi", "General Sans", Inter, ui-sans-serif, system-ui, sans-serif;

  /* Colors */
  --color-black: #050505;
  --color-ink: #11100e;
  --color-ink-soft: #25231f;
  --color-muted: #6f6a62;
  --color-muted-2: #969087;

  --color-white: #ffffff;
  --color-paper: #fbfaf7;
  --color-surface: #f4f1eb;
  --color-surface-2: #ebe6dc;
  --color-carbon: #0a0a09;

  --color-line: rgba(17, 16, 14, 0.12);
  --color-line-strong: rgba(17, 16, 14, 0.2);
  --color-line-inverse: rgba(255, 255, 255, 0.14);

  --color-inverse: #f8f4ec;
  --color-inverse-muted: rgba(248, 244, 236, 0.68);
  --color-inverse-soft: rgba(248, 244, 236, 0.42);

  --color-accent: #b79c6b;
  --color-accent-soft: rgba(183, 156, 107, 0.16);

  /* Component surfaces */
  --color-hero-copy: rgba(17, 16, 14, 0.76);
  --color-glass-light: rgba(255, 255, 255, 0.42);
  --color-glass-light-hover: rgba(255, 255, 255, 0.64);
  --color-glass-border: rgba(17, 16, 14, 0.18);
  --color-glass-border-hover: rgba(17, 16, 14, 0.28);
  --shadow-text-soft: 0 1px 1px rgba(255, 255, 255, 0.42);

  /* Header glass */
  --color-header-glass: rgba(251, 250, 247, 0.42);
  --color-header-line: rgba(17, 16, 14, 0.06);
  --shadow-header:
    0 1px 0 rgba(255,255,255,0.32) inset,
    0 8px 32px rgba(17,16,14,0.03);
  --blur-header-glass: blur(18px) saturate(140%);

  /* Fluid viewport scale */
  --vw-min: 390;
  --vw-max: 1440;

  /* Layout */
  --container-xs: 720px;
  --container-sm: 920px;
  --container-md: 1120px;
  --container-lg: 1240px;
  --container-xl: 1360px;

  --container: var(--container-lg);

  --page-gutter: clamp(1.25rem, 0.833rem + 1.71vw, 2.5rem);
  --section-y-xs: clamp(2.5rem, 1.571rem + 3.81vw, 5rem);
  --section-y-sm: clamp(3.5rem, 2.386rem + 4.57vw, 6.5rem);
  --section-y-md: clamp(4.5rem, 2.943rem + 6.38vw, 8.75rem);
  --section-y-lg: clamp(5.5rem, 3.2rem + 9.43vw, 11.75rem);

  /* Fluid spacing */
  --space-2xs: clamp(0.25rem, 0.204rem + 0.19vw, 0.375rem);
  --space-xs: clamp(0.5rem, 0.407rem + 0.38vw, 0.75rem);
  --space-sm: clamp(0.75rem, 0.657rem + 0.38vw, 1rem);
  --space-md: clamp(1rem, 0.814rem + 0.76vw, 1.5rem);
  --space-lg: clamp(1.5rem, 1.129rem + 1.52vw, 2.5rem);
  --space-xl: clamp(2rem, 1.443rem + 2.29vw, 3.5rem);
  --space-2xl: clamp(3rem, 2.071rem + 3.81vw, 5.5rem);
  --space-3xl: clamp(4rem, 2.514rem + 6.1vw, 8rem);
  --space-4xl: clamp(5rem, 2.771rem + 9.14vw, 11rem);

  /* Fluid type scale */
  --text-2xs: clamp(0.625rem, 0.602rem + 0.09vw, 0.6875rem);
  --text-xs: clamp(0.75rem, 0.704rem + 0.19vw, 0.8125rem);
  --text-sm: clamp(0.875rem, 0.829rem + 0.19vw, 0.9375rem);
  --text-md: clamp(0.9375rem, 0.891rem + 0.19vw, 1rem);
  --text-lg: clamp(1.0625rem, 1.016rem + 0.19vw, 1.125rem);
  --text-xl: clamp(1.25rem, 1.111rem + 0.57vw, 1.625rem);
  --text-2xl: clamp(1.5rem, 1.268rem + 0.95vw, 2.125rem);
  --text-3xl: clamp(2rem, 1.536rem + 1.9vw, 3.25rem);
  --text-4xl: clamp(2.75rem, 1.914rem + 3.43vw, 5rem);
  --text-5xl: clamp(3.5rem, 2.386rem + 4.57vw, 6.5rem);

  /* Line height */
  --leading-none: 0.92;
  --leading-tight: 1;
  --leading-snug: 1.12;
  --leading-normal: 1.5;
  --leading-relaxed: 1.72;

  /* Letter spacing */
  --tracking-tightest: -0.07em;
  --tracking-tighter: -0.055em;
  --tracking-tight: -0.035em;
  --tracking-normal: -0.01em;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.08em;
  --tracking-widest: 0.16em;

  /* Font weight */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Radius: deliberately restrained */
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-pill: 999px;

  /* Border */
  --border-hairline: 1px solid var(--color-line);
  --border-strong: 1px solid var(--color-line-strong);
  --border-inverse: 1px solid var(--color-line-inverse);

  /* Shadows: minimal only */
  --shadow-none: none;
  --shadow-subtle: 0 1px 2px rgba(5, 5, 5, 0.04);
  --shadow-soft: 0 12px 32px rgba(5, 5, 5, 0.08);

  /* Blur */
  --blur-header: blur(16px);
  --blur-panel: blur(24px);

  /* Header */
  --header-h: clamp(3.75rem, 3.471rem + 1.14vw, 4.5rem);
  --header-z: 100;
  --header-logo-h: clamp(1.25rem, 1.064rem + 0.76vw, 1.75rem);

  /* Buttons */
  --button-h-sm: clamp(2.375rem, 2.236rem + 0.57vw, 2.75rem);
  --button-h-md: clamp(2.75rem, 2.564rem + 0.76vw, 3.25rem);
  --button-px-sm: clamp(0.875rem, 0.736rem + 0.57vw, 1.25rem);
  --button-px-md: clamp(1.125rem, 0.893rem + 0.95vw, 1.75rem);

  /* Grid */
  --grid-gap-sm: clamp(0.75rem, 0.564rem + 0.76vw, 1.25rem);
  --grid-gap-md: clamp(1rem, 0.629rem + 1.52vw, 2rem);
  --grid-gap-lg: clamp(1.5rem, 0.943rem + 2.29vw, 3rem);

  /* Flow */
  --flow-node-size: clamp(3rem, 2.629rem + 1.52vw, 4rem);
  --flow-node-half: calc(var(--flow-node-size) / 2);
  --flow-icon-size: clamp(1.125rem, 0.986rem + 0.57vw, 1.5rem);
  --flow-line: 1px dashed rgba(17, 16, 14, 0.14);
  --flow-line-gap: clamp(0.75rem, 0.657rem + 0.38vw, 1rem);
  --flow-node-border: 1px solid rgba(17, 16, 14, 0.16);
  --flow-node-ring: 1px solid rgba(17, 16, 14, 0.12);

  /* Motion */
  --duration-fast: 160ms;
  --duration-base: 260ms;
  --duration-slow: 520ms;

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* Breakpoint documentation */
  --bp-xs: 390px;
  --bp-sm: 640px;
  --bp-md: 820px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
}

/* Tablet tuning */
@media (max-width: 1024px) {
  :root {
    --container: var(--container-md);
  }
}

/* Mobile tuning */
@media (max-width: 640px) {
  :root {
    --page-gutter: clamp(1rem, 0.714rem + 1.43vw, 1.25rem);
    --section-y-md: clamp(3.75rem, 2.75rem + 5vw, 5rem);
    --section-y-lg: clamp(4.5rem, 3.3rem + 6vw, 6rem);
  }
}
