/* av-tokens.css — STRUCTURAL tokens (skin-invariant) + base reset.
   Phase 1.5: holds ONLY values that never change between skins (motion, spacing,
   radius, layout, z-index). Colors + fonts live in av-skin-*.css. Load order:
   av-tokens.css → av-skin-<SKIN>.css → av-components.css → page CSS. */

:root {
  /* Motion */
  --av-ease-out:  cubic-bezier(0.22, 1, 0.36, 1);
  --av-ease-in:   cubic-bezier(0.55, 0, 1, 0.45);

  /* Spacing scale */
  --av-space-1:  4px;
  --av-space-2:  8px;
  --av-space-3:  12px;
  --av-space-4:  16px;
  --av-space-5:  24px;
  --av-space-6:  32px;
  --av-space-7:  48px;
  --av-space-8:  64px;
  --av-space-9:  96px;
  --av-space-10: 128px;

  /* Layout */
  --av-max-w:    1200px;
  --av-radius:   6px;
  --av-radius-lg: 12px;
}

/* Base reset */
*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 16px;
  scroll-behavior: smooth;
  /* Clear the 64px fixed nav on anchor jumps and land the heading past the
     scroll-spy trigger (rootMargin -80px) so it highlights the right entry. */
  scroll-padding-top: 88px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
