/* ============================================================
   SnowEdge — design tokens
   The palette is taken from the product itself: the dusk-alpine
   navy of the brand photography, the ice-blue used for the
   rider's own reconstruction, and the orange of the sensor
   module (which is also the reference-rider colour in the app).
   ============================================================ */

:root {
  /* ---- surfaces ---- */
  --void:        #04070E;
  --ink:         #080D18;
  --surface:     #0D1524;
  --surface-2:   #121C2E;
  --surface-3:   #182338;
  --line:        rgba(255, 255, 255, .085);
  --line-strong: rgba(255, 255, 255, .16);

  /* ---- text ---- */
  --snow:  #EDF3FA;
  --mist:  #A3B4CA;
  --dim:   #6E7F97;

  /* ---- accents ---- */
  --ice:        #4FC8F5;
  --ice-deep:   #1E92C7;
  --ice-soft:   rgba(79, 200, 245, .12);
  --flare:      #FF7A1A;
  --flare-soft: rgba(255, 122, 26, .13);
  --positive:   #45D9A6;

  /* ---- type ---- */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto,
               "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
               "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo,
               "Roboto Mono", "Courier New", monospace;

  /* fluid scale — min at 360px, max at 1400px */
  --t-micro: 0.75rem;
  --t-small: 0.875rem;
  --t-body:  clamp(0.975rem, 0.93rem + 0.22vw, 1.075rem);
  --t-lede:  clamp(1.06rem, 0.98rem + 0.42vw, 1.3rem);
  --t-h3:    clamp(1.13rem, 1.05rem + 0.4vw, 1.35rem);
  --t-h2:    clamp(1.72rem, 1.35rem + 1.7vw, 3rem);
  --t-h1:    clamp(2.3rem, 1.55rem + 3.4vw, 4.6rem);

  --lh-tight: 1.08;
  --lh-head:  1.18;
  --lh-body:  1.62;

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

  /* ---- shell ---- */
  --wrap:        1240px;
  --wrap-narrow: 760px;
  --gutter:      clamp(1.15rem, 0.7rem + 2.2vw, 2.5rem);

  /* ---- form ---- */
  --r-sm: 8px;  --r-md: 14px;  --r-lg: 20px;  --r-xl: 28px;
  --shadow-lift: 0 18px 50px -20px rgba(0, 0, 0, .8);
  --shadow-card: 0 1px 0 rgba(255, 255, 255, .04) inset,
                 0 20px 44px -32px rgba(0, 0, 0, .9);

  /* ---- motion ---- */
  --ease: cubic-bezier(.22, .68, .32, 1);
  --dur:  .42s;

  --nav-h: 68px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur: .01ms; }
}
