/* JT Dance design tokens — from jtdance-website-design-system.md (#1002191). Change values there first. */
:root {
  --brand: #275CA6;       /* logo royal blue — header on scroll, footer, links */
  --brand-deep: #1E3A73;
  --brand-ink: #142855;
  --sky: #62B3D0;         /* CTA fill — never white text on it (2.37:1), use --brand-deep */
  --teal: #4FB6C2;
  --heading: #232323;
  --text: #555;
  --muted: #6B6B6B;       /* was #828282 (3.84:1) — now 5.3 on white, 5.1 on surface (#1002236) */
  --eyebrow-on-dark: #CDEAF4; /* pale sky for small text on blue/gradient — sky itself fails AA there */
  --bg: #fff;
  --surface: #F9FAFB;
  --border: #E4E4E4;
  --input-border: #DFDFDF;

  --font-head: Poppins, system-ui, sans-serif;
  --font-body: Bitter, Georgia, serif;

  --space: 4px;
  --radius-btn: 2px;
  --radius: 4px;
  --radius-box: 6px;
  --radius-card: 10px;
  --shadow-hero: 0 8px 32px rgba(0,0,0,.25);
  --shadow-nav: 0 2px 20px rgba(0,0,0,.15);
  --hero-gradient: linear-gradient(135deg, rgba(39,92,166,.92), rgba(30,58,115,.95) 50%, rgba(20,40,85,.97));

  --container: 1140px;

  /* Motion (#1002252). Calm and graceful: things settle into place, nothing bounces. Used by [data-reveal] in site.css. */
  --motion-fast: 180ms;           /* hovers, small state changes */
  --motion-base: 450ms;           /* standard reveal */
  --motion-slow: 700ms;           /* large blocks, blur reveals */
  --motion-ambient: 24s;          /* one loop of a slow background drift (ANIM-03) */
  --ease-out: cubic-bezier(.25, 1, .5, 1);       /* quick start, soft landing */
  --ease-graceful: cubic-bezier(.22, 1, .36, 1); /* longer glide, default for reveals */
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);   /* back-and-forth loops (ambient) */
  --motion-stagger: 80ms;         /* gap between children of a [data-reveal-group] (JS reads this) */
  --motion-distance: 24px;        /* default rise */
  --motion-distance-sm: 12px;
  --motion-distance-lg: 40px;
  --motion-blur: 6px;             /* start blur for data-reveal="blur" */
  --motion-scale: .96;            /* start scale for data-reveal="scale" */
}
