/* ==========================================================================
   Design tokens
   Values are lifted from the original theme so the clone renders identically.
   ========================================================================== */

:root {
  /* Brand */
  --color-brand: #13a8ab;
  --color-brand-dark: #0095b1;
  --color-brand-gradient: linear-gradient(to right, #13a8ab, #13a8ab, #0095b1);
  --color-slate: #49525a;
  --color-plum: #49425a;

  /* Neutrals, darkest to lightest */
  --color-ink-900: #0c151a;
  --color-ink-800: #292b2c;
  --color-ink-700: #404040;
  --color-ink-600: #555;
  --color-ink-500: #6a6a6a;
  --color-ink-400: #7f7f7f;
  --color-ink-300: #bebebe;
  --color-ink-200: #e1e1e1;
  --color-ink-100: #f2f2f2;
  --color-ink-50: #fafafa;
  --color-white: #fff;

  /* Semantic */
  --color-text: var(--color-ink-800);
  --color-link: #007aff;
  --color-link-hover: #0062cc;
  --color-error: #c0392b;
  --color-focus: var(--color-brand-dark);

  /* Typography — modular scale, ratio 1.333 */
  --font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif: "Droid Serif", "Noto Serif", georgia, serif;
  --fs-xs: 0.75rem;
  --fs-base: 1rem;
  --fs-md: 1.333rem;
  --fs-lg: 1.777rem;
  --fs-xl: 2.369rem;
  --fs-2xl: 3.157rem;
  --fs-3xl: 4.209rem;
  --fs-4xl: 5.61rem;
  --lh-body: 1.45;
  --lh-heading: 1.1;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 5rem;
  --space-8: 7.5rem;
  --space-10: 12.5rem;

  /* Layout */
  --gutter: 15px;
  --column-gap: calc(var(--gutter) * 2);
  --container-sm: 540px;
  --container-md: 720px;
  --container-lg: 960px;
  --container-xl: 1140px;
  --z-header: 1030;

  /* Shape & motion */
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 20px;
  --shadow-sm: 0 4px 8px rgb(0 0 0 / 10%);
  --transition: 0.2s ease-in-out;
  --reveal-duration: 1s;
  --reveal-offset: 2.5rem; /* keep well inside overflow:hidden parents, or IntersectionObserver never fires */
}
