/* Design tokens — extracted from the source site */

:root {
  /* Brand */
  --brand-blue: #339AD2;
  --brand-blue-dark: #2A7FB0;
  --brand-blue-light: #52C1F3;
  --cta-orange: #EE7E31;
  --cta-orange-bright: #FF6600;

  /* Neutrals */
  --white: #FFFFFF;
  --bg-canvas: #EEEEEE;
  --bg-section: #F8F8F8;
  --bg-overlay: rgba(0, 0, 0, 0.55);

  /* Text */
  --text-body: #2D2D2D;
  --text-h1: var(--brand-blue);
  --text-h2: #313131;
  --text-h3: #666666;
  --text-on-dark: #FFFFFF;

  /* Borders / dividers */
  --divider-grey: #DDDDDD;
  --divider-dark: rgba(255, 255, 255, 0.4);

  /* Typography */
  --font-body: "Source Sans Pro", "Open Sans Hebrew", "Open Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-display: "Open Sans Hebrew", "Open Sans", "Source Sans Pro", system-ui, sans-serif;

  /* Type scale (clamped for responsive) */
  --size-h1: clamp(2rem, 1.4rem + 2.5vw, 3.125rem);    /* 32 → 50 */
  --size-h2: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);      /* 24 → 32 */
  --size-h3: clamp(1.125rem, 1rem + 0.6vw, 1.5rem);    /* 18 → 24 */
  --size-h4: 1.125rem;                                  /* 18 */
  --size-body: 1rem;                                    /* 16 */
  --size-small: 0.875rem;                               /* 14 */

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-section: clamp(3rem, 2rem + 4vw, 5rem);

  /* Layout */
  --container-max: 1200px;
  --container-narrow: 960px;
  --header-height: 110px;

  /* Radius */
  --radius-pill: 26px;
  --radius-sm: 4px;
  --radius-md: 8px;

  /* Shadow */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 6px 20px rgba(0, 0, 0, 0.12);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.10);

  /* Motion */
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* Z-index */
  --z-fab: 50;
  --z-header: 100;
  --z-modal: 1000;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
