/* AvalonX design tokens — single 13-step neutral scale, no accent colour.
   Hierarchy comes from type scale, weight and ground inversion, not colour. */
:root {
  /* Neutral scale */
  --av-black: #000000;
  --av-n950: #0A0A0A;
  --av-n900: #171717;
  --av-n800: #262626;
  --av-n700: #404040;
  --av-n600: #525252;
  --av-n500: #737373;
  --av-n400: #A3A3A3;
  --av-n300: #D4D4D4;
  --av-n200: #E5E5E5;
  --av-n100: #F5F5F5;
  --av-n50:  #FAFAFA;
  --av-white: #FFFFFF;

  /* Semantic: light ground (default) */
  --av-bg: var(--av-white);
  --av-bg-subtle: var(--av-n50);
  --av-surface-card: var(--av-white);
  --av-text: var(--av-black);
  --av-text-secondary: var(--av-n700);
  --av-text-muted: var(--av-n500);
  --av-border: var(--av-n300);
  --av-border-input: var(--av-n200);
  --av-rule: var(--av-n300);

  /* Semantic: dark ground (inverted sections) */
  --av-bg-inverse: var(--av-black);
  --av-surface-card-inverse: var(--av-n950);
  --av-surface-raised-inverse: var(--av-n900);
  --av-text-inverse: var(--av-white);
  --av-text-secondary-inverse: var(--av-n400);
  --av-border-inverse: var(--av-n700);
  --av-rule-inverse: var(--av-n800);

  /* Gradients */
  --av-gradient-noise: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 7%, #000000 89%, #000000 100%);
  --av-gradient-tier: linear-gradient(180deg, #E5E5E5 0%, #FFFFFF 100%);
  --av-gradient-tier-featured: linear-gradient(180deg, #0A0A0A 0%, #1F1F1F 46%, #6E6E6E 100%);
  --av-gradient-scrim: linear-gradient(180deg, rgba(0,0,0,0) 0%, #000000 91.95%);

  /* Type */
  --av-font-heading: "Syne", "Geist", sans-serif;
  --av-font-body: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --av-weight-body: 400;
  --av-weight-medium: 500;
  --av-weight-heading-sub: 600;
  --av-weight-heading: 700;

  --av-text-d1: clamp(64px, 7.1vw, 102px);
  --av-text-d2: clamp(48px, 4.75vw, 68px);
  --av-text-d3: clamp(41px, 3.8vw, 55px);
  --av-text-d4: clamp(34px, 2.85vw, 41px);
  --av-text-h5: 28px;
  --av-text-h6: 20px;

  --av-tracking-display: -0.05em;
  --av-tracking-card: -0.36px;
  --av-tracking-price: -0.28px;
  --av-leading-display: 1;
  --av-leading-card: 28px;

  --av-text-body-lg: 18px;
  --av-text-body: 16px;
  --av-text-caption: 14px;
  --av-leading-body: 1.8;
  --av-leading-tight: 1.4;

  --av-tracking-eyebrow: 0.1em;

  /* Spacing */
  --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: 40px;
  --av-space-8: 60px;
  --av-space-9: 80px;
  --av-space-10: 130px;

  --av-measure: 1440px;
  --av-gutter: clamp(24px, 7.778vw, 112px);
  --av-gutter-narrow: clamp(24px, 6vw, 110px);
  --av-section-y: 130px;
  --av-grid-gap: 32px;

  /* Radii */
  --av-radius-sm: 8px;
  --av-radius-md: 14px;
  --av-radius-lg: 16px;
  --av-radius-xl: 20px;
  --av-radius-2xl: 24px;
  --av-radius-3xl: clamp(32px, 4.44vw, 64px);
  --av-radius-pill: 999px;

  /* Motion */
  --av-ease: cubic-bezier(.22, 1, .36, 1);
  --av-ease-in-out: cubic-bezier(.32, .72, .24, 1);
  --av-dur-fast: 300ms;
  --av-dur-mid: 400ms;
  --av-dur-slow: 550ms;
  --av-dur-reveal: 1250ms;
  --av-dur-enter: 2600ms;
  --av-reveal-blur: 18px;
  --av-reveal-rise: 22px;
}
