/* RL TOPO — Design tokens */
:root {
  /* Palette */
  --bg: #FAFAF7;
  --surface: #F0F1EE;
  --text: #0B1320;
  --mute: #5A6373;
  --primary: #002EB8;
  --primary-deep: #001E7A;
  --primary-soft: #E6EAF8;
  --secondary: #2E7D1A;
  --secondary-soft: #E8F1E2;
  --accent-green: #259600;
  --border: #E3E5DE;
  --shadow: 0 10px 30px -12px rgba(0, 46, 184, 0.15), 0 2px 8px rgba(0, 46, 184, 0.06);
  --shadow-sm: 0 1px 2px rgba(0, 46, 184, 0.06), 0 2px 6px rgba(0, 46, 184, 0.04);
  --shadow-lg: 0 30px 60px -20px rgba(0, 46, 184, 0.25);

  /* Typography */
  --font-display: 'Manrope', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Fluid type scale */
  --fs-xs:   clamp(.72rem, .68rem + .15vw, .78rem);
  --fs-sm:   clamp(.84rem, .8rem + .2vw, .92rem);
  --fs-base: clamp(.98rem, .94rem + .2vw, 1.05rem);
  --fs-lg:   clamp(1.1rem, 1.02rem + .4vw, 1.25rem);
  --fs-xl:   clamp(1.35rem, 1.2rem + .8vw, 1.7rem);
  --fs-2xl:  clamp(1.8rem, 1.45rem + 1.6vw, 2.6rem);
  --fs-3xl:  clamp(2.4rem, 1.85rem + 2.8vw, 3.8rem);
  --fs-4xl:  clamp(3rem, 2.2rem + 4vw, 5.2rem);

  /* Spacing */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem;
  --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4rem;
  --s-9: 6rem; --s-10: 8rem;

  /* Layout */
  --max: 1240px;
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;

  /* Motion */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur-1: .18s;
  --dur-2: .35s;
  --dur-3: .6s;
  --dur-4: 1s;
}

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