/* ==========================================================================
   Design tokens — Eric Kramar Studio LLC
   Change colors, fonts and spacing here; everything else reads from these.
   ========================================================================== */

:root {
  /* ---- Light theme (default) ---- */
  --color-bg: #ffffff;
  --color-bg-alt: #f5f5f7;       /* alternating section background ("parchment") */
  --color-surface: #ffffff;       /* cards, inputs */
  --color-text: #1d1d1f;
  --color-text-muted: #6e6e73;
  --color-border: #e5e5ea;
  --color-border-strong: #d2d2d7;
  --dot-color: rgba(10, 124, 255, 0.22);

  /* ---- Single accent (same in both themes) ---- */
  --color-accent: #0a7cff;
  --color-accent-hover: #2f8fff;
  --color-accent-contrast: #ffffff;

  /* ---- Overlays / shadows ---- */
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.06);
  --shadow-lifted: 0 4px 12px rgba(0, 0, 0, 0.06), 0 20px 48px rgba(0, 0, 0, 0.10);

  /* ---- Typography ---- */
  --font-display: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", "SFMono-Regular", Consolas, monospace;

  --fs-hero: clamp(2.5rem, 5vw + 1rem, 4.5rem);
  --fs-h2: clamp(2rem, 2.5vw + 1rem, 3rem);
  --fs-h3: clamp(1.5rem, 1vw + 1rem, 1.75rem);
  --fs-lead: clamp(1.125rem, 0.5vw + 1rem, 1.3125rem);
  --fs-body: 1.0625rem; /* 17px */
  --fs-small: 0.875rem;
  --fs-micro: 0.75rem;

  --lh-tight: 1.1;
  --lh-normal: 1.5;
  --tracking-tight: -0.02em;

  /* ---- Spacing (8px base) ---- */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-section: clamp(4rem, 10vw, 7.5rem);

  /* ---- Layout ---- */
  --container-max: 1280px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --radius-pill: 9999px;

  /* ---- Motion ---- */
  --ease-spring: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 180ms;
  --duration-base: 400ms;
  --duration-slow: 700ms;

  --nav-height: 64px;
}

/* ---- Dark theme ---- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg: #0b0b0c;
    --color-bg-alt: #18181a;
    --color-surface: #161618;
    --color-text: #f5f5f7;
    --color-text-muted: #a1a1a6;
    --color-border: rgba(255, 255, 255, 0.12);
    --color-border-strong: rgba(255, 255, 255, 0.18);
    --dot-color: rgba(10, 124, 255, 0.4);
    --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.35);
    --shadow-lifted: 0 4px 12px rgba(0, 0, 0, 0.35), 0 20px 48px rgba(0, 0, 0, 0.45);
  }
}

:root[data-theme="dark"] {
  --color-bg: #0b0b0c;
  --color-bg-alt: #18181a;
  --color-surface: #161618;
  --color-text: #f5f5f7;
  --color-text-muted: #a1a1a6;
  --color-border: rgba(255, 255, 255, 0.12);
  --color-border-strong: rgba(255, 255, 255, 0.18);
  --dot-color: rgba(10, 124, 255, 0.4);
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-lifted: 0 4px 12px rgba(0, 0, 0, 0.35), 0 20px 48px rgba(0, 0, 0, 0.45);
}
