/*
  Design tokens for Suri & Suri.
  Every color, font, spacing and radius value used across the site
  is defined once here so the whole site stays visually consistent.
  Change a value here and it updates everywhere.
*/

:root {
  /* ---- Color ---- */
  --color-ink: #17181a;          /* near-black: headings, dark sections, primary buttons */
  --color-ink-soft: #2b2c2f;     /* lighter black, used for hover states on dark bg */
  --color-white: #ffffff;
  --color-off-white: #f5f4f1;    /* warm off-white section background */
  --color-border: #e4e2dd;       /* hairline borders on light sections */
  --color-border-dark: #3a3b3e;  /* hairline borders on dark sections */
  --color-text: #17181a;         /* default body text on light backgrounds */
  --color-text-muted: #6f6f6d;   /* secondary/paragraph grey text */
  --color-text-on-dark: #ffffff;
  --color-text-on-dark-muted: #b9b9b7;
  --color-gold: #d6a24a;         /* used sparingly: star ratings only */

  /* ---- Typography ---- */
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fs-eyebrow: 0.8125rem;   /* 13px */
  --fs-small: 0.875rem;      /* 14px */
  --fs-base: 1rem;           /* 16px */
  --fs-lead: 1.125rem;       /* 18px */
  --fs-h3: 1.5rem;           /* 24px */
  --fs-h2: 2.25rem;          /* 36px */
  --fs-h1: 3.25rem;          /* 52px */

  --lh-tight: 1.15;
  --lh-normal: 1.5;
  --lh-loose: 1.7;

  --ls-eyebrow: 0.14em;      /* letter-spacing for tracked uppercase labels */
  --ls-wordmark: 0.08em;

  /* ---- Spacing scale ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 96px;
  --space-9: 128px;

  /* ---- Layout ---- */
  --container-max: 1280px;
  --container-gutter: 24px;

  /* ---- Radius & elevation ---- */
  --radius-sm: 4px;
  --radius-md: 6px;
  --shadow-card: 0 8px 24px rgba(23, 24, 26, 0.06);

  /* ---- Motion ---- */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast: 180ms var(--ease);

  /* Scroll/hover animation system (assets/css/animations.css) */
  --motion-ease: cubic-bezier(0.16, 1, 0.3, 1);  /* long, soft deceleration */
  --motion-duration: 750ms;                      /* scroll reveals */
  --motion-duration-image: 1000ms;               /* image reveals */
  --motion-hover: 320ms;                         /* card / nav hover */
  --motion-stagger: 90ms;                        /* gap between staggered items */
  --motion-distance: 24px;                       /* reveal-up travel */
  --motion-shift-x: 28px;                        /* reveal-left / reveal-right travel */
  --motion-shift-y: 0px;                         /* their vertical travel (phones only) */
}

@media (min-width: 768px) {
  :root {
    --container-gutter: 40px;
    --fs-h1: 4rem;      /* 64px */
    --fs-h2: 2.75rem;   /* 44px */
  }
}

/* Phones: shorter travel, and no sideways movement at all (a translateX near
   the screen edge could create horizontal scroll), so left/right reveals rise
   instead. */
@media (max-width: 767px) {
  :root {
    --motion-distance: 18px;
    --motion-shift-x: 0px;
    --motion-shift-y: 18px;
  }
}
