/* ============================================================
   Nurevo Design System — Tokens
   Single source of truth for color, type, spacing, motion.
   Derived from brand/logo.svg (coral #FF4D4D -> #FF6B35) + slate neutrals.
   v1.0 — 2026-09-27 (SESSION-037, WEB-REORG-PLAN Fase 1)
   ============================================================ */

:root {
  /* --- Brand --- */
  --nv-brand-1: #FF4D4D;              /* coral (logo start) */
  --nv-brand-2: #FF6B35;              /* orange (logo end) */
  --nv-brand-gradient: linear-gradient(135deg, #FF4D4D 0%, #FF6B35 100%);
  --nv-brand-1-hover: #E04343;

  /* --- Neutrals (slate scale) --- */
  --nv-n-0:  #ffffff;
  --nv-n-50: #f8fafc;
  --nv-n-100:#f1f5f9;
  --nv-n-200:#e2e8f0;
  --nv-n-300:#cbd5e1;
  --nv-n-400:#94a3b8;
  --nv-n-500:#64748b;
  --nv-n-600:#475569;
  --nv-n-700:#334155;
  --nv-n-800:#1e293b;
  --nv-n-900:#0f172a;

  /* --- Semantic --- */
  --nv-text:        var(--nv-n-900);
  --nv-text-muted:  var(--nv-n-500);
  --nv-text-invert: var(--nv-n-0);
  --nv-bg:          var(--nv-n-0);
  --nv-surface:     var(--nv-n-50);
  --nv-surface-2:   var(--nv-n-100);
  --nv-border:      var(--nv-n-200);
  --nv-ink:         var(--nv-n-900);        /* near-black for buttons/dark sections */

  --nv-success: #10b981;
  --nv-info:    #2563eb;
  --nv-warn:    #f59e0b;
  --nv-error:   #ef4444;

  /* Line badges (subtle backgrounds) */
  --nv-l1: #FF6B35;  /* Apps */
  --nv-l3: #2563eb;  /* Solutions */
  --nv-l2: #7c3aed;  /* Enterprise */
  --nv-labs: #06b6d4;/* Labs */

  /* --- Typography --- */
  --nv-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --nv-fs-xs:   0.8125rem;   /* 13px */
  --nv-fs-sm:   0.9375rem;   /* 15px */
  --nv-fs-base: 1rem;        /* 16px */
  --nv-fs-lg:   1.125rem;    /* 18px */
  --nv-fs-xl:   1.375rem;    /* 22px */
  --nv-fs-2xl:  1.75rem;     /* 28px */
  --nv-fs-3xl:  2.25rem;     /* 36px */
  --nv-fs-4xl:  3rem;        /* 48px */
  --nv-fs-5xl:  3.75rem;     /* 60px */
  --nv-lh-tight: 1.1;
  --nv-lh-snug:  1.25;
  --nv-lh-normal:1.6;
  --nv-fw-normal: 400;
  --nv-fw-medium: 500;
  --nv-fw-semi:   600;
  --nv-fw-bold:   700;
  --nv-fw-black:  800;

  /* --- Spacing (4/8 scale) --- */
  --nv-sp-1: 0.25rem;
  --nv-sp-2: 0.5rem;
  --nv-sp-3: 0.75rem;
  --nv-sp-4: 1rem;
  --nv-sp-5: 1.5rem;
  --nv-sp-6: 2rem;
  --nv-sp-7: 3rem;
  --nv-sp-8: 4rem;
  --nv-sp-9: 6rem;
  --nv-sp-10: 8rem;

  /* --- Radius / shadow / border --- */
  --nv-radius-sm: 8px;
  --nv-radius:    14px;
  --nv-radius-lg: 22px;
  --nv-radius-pill: 999px;
  --nv-shadow-sm: 0 1px 3px rgba(15,23,42,0.06);
  --nv-shadow-md: 0 6px 24px rgba(15,23,42,0.08);
  --nv-shadow-lg: 0 18px 48px rgba(15,23,42,0.12);
  --nv-ring: 0 0 0 3px rgba(255,77,77,0.35);

  /* --- Layout --- */
  --nv-container: 1160px;
  --nv-container-narrow: 820px;

  /* --- Motion --- */
  --nv-dur-fast: 120ms;
  --nv-dur:      220ms;
  --nv-dur-slow: 400ms;
  --nv-ease: cubic-bezier(0.22, 1, 0.36, 1);

  /* --- Breakpoints (reference; used in media queries) --- */
  /* sm 640 · md 768 · lg 1024 · xl 1280 */
}

@media (prefers-reduced-motion: reduce) {
  :root { --nv-dur-fast: 0ms; --nv-dur: 0ms; --nv-dur-slow: 0ms; }
  * { animation: none !important; scroll-behavior: auto !important; }
}
