/* ===== VELOCITY — Design Tokens ===== */

:root {
  /* --- Brand core --- */
  --v-primary: #0b2545;
  --v-primary-light: #13385f;
  --v-primary-dark: #071a31;
  --v-accent: #e8a317;
  --v-accent-dark: #c4870f;
  --v-accent-soft: #fdf4e2;
  /* Small accent-coloured text on a light background: #E8A317 is only
     2.17:1 there, which fails WCAG AA. This darker tone keeps the brand
     hue and clears 4.5:1. */
  --v-accent-text: #8a5f05;

  /* --- Neutrals --- */
  --v-bg: #ffffff;
  --v-surface: #f7f8fa;
  --v-surface-2: #eef1f5;
  --v-border: #e1e5ea;
  --v-border-strong: #c8d0da;
  --v-text: #16202e;
  --v-text-muted: #5c6b7f;
  --v-text-inverse: #ffffff;

  /* --- Status --- */
  --v-success: #2e9e5b;
  --v-success-soft: #e8f5ed;
  --v-warning: #e8a317;
  --v-warning-soft: #fdf4e2;
  --v-danger: #d64545;
  --v-danger-soft: #fbeaea;
  --v-info: #2e8bc8;
  --v-info-soft: #e8f2f9;

  /* --- Company accents --- */
  --c-kokpro: #c8892e;
  --c-robarum: #2e8bc8;
  --c-upptak: #8b3a3a;
  --c-grundakt: #5a5a5a;
  --c-gronro: #3f8f4f;
  --c-rakmark: #7a6a55;
  --c-djupenerg: #d4571e;
  --c-ytform: #6b4e9b;

  /* --- Spacing scale (4px base) --- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-32: 8rem;

  /* --- Typography --- */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Manrope', var(--font-sans);

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.0625rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: 1.75rem;
  --fs-3xl: 2.25rem;
  --fs-4xl: 3rem;
  --fs-5xl: 3.75rem;

  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-normal: 1.6;
  --lh-loose: 1.8;

  --ls-tight: -0.02em;
  --ls-normal: 0;
  --ls-wide: 0.04em;

  /* --- Radii --- */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 999px;

  /* --- Shadows --- */
  --shadow-xs: 0 1px 2px rgba(11, 37, 69, 0.06);
  --shadow-sm: 0 1px 3px rgba(11, 37, 69, 0.08);
  --shadow: 0 4px 16px rgba(11, 37, 69, 0.1);
  --shadow-lg: 0 12px 40px rgba(11, 37, 69, 0.14);
  --shadow-xl: 0 24px 64px rgba(11, 37, 69, 0.18);

  /* --- Motion --- */
  --transition-fast: 120ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);

  /* --- Layout --- */
  --container: 1200px;
  --container-narrow: 820px;
  --header-h: 72px;

  /* --- Z-index --- */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-header: 300;
  --z-overlay: 400;
  --z-modal: 500;
  --z-toast: 600;
}

@media (max-width: 768px) {
  :root {
    --fs-4xl: 2.25rem;
    --fs-5xl: 2.75rem;
    --fs-3xl: 1.875rem;
    --header-h: 64px;
  }
}
