/* ==========================================================================
   LifeSupport IT — Design Tokens (single source of truth)
   Every component must use these variables. Do not hard-code colors, sizes
   or shadows anywhere else.
   Breakpoints (CSS vars cannot be used in @media, so keep these in sync):
     sm 480px | md 768px | lg 1024px | xl 1280px | 2xl 1536px
   ========================================================================== */
:root {
  /* ---- Brand colors ---- */
  --lsit-primary: #155EEF;
  --lsit-secondary: #3026A6;
  --lsit-navy: #101B3D;
  --lsit-bg: #F8FAFF;
  --lsit-soft: #E7EEFF;
  --lsit-accent: #42D9FF;
  --lsit-white: #FFFFFF;

  /* Text */
  --lsit-text: #182B49;
  --lsit-text-muted: #64748B;
  --lsit-text-on-dark: #F8FAFF;
  --lsit-text-on-dark-muted: #B8C6EA;

  /* Lines / states */
  --lsit-border: #E5EAF5;
  --lsit-border-strong: #B5C7F5;
  --lsit-success: #12B76A;
  --lsit-warning: #F79009;
  --lsit-danger: #F04438;

  /* ---- Gradients ---- */
  --lsit-grad-primary: linear-gradient(135deg, #155EEF 0%, #3026A6 100%);
  --lsit-grad-accent: linear-gradient(135deg, #42D9FF 0%, #155EEF 100%);
  --lsit-grad-navy: linear-gradient(160deg, #101B3D 0%, #1A2A66 55%, #3026A6 100%);
  --lsit-grad-soft: linear-gradient(180deg, #F8FAFF 0%, #E7EEFF 100%);
  --lsit-grad-text: linear-gradient(90deg, #155EEF 0%, #42D9FF 100%);
  --lsit-glow-blue: radial-gradient(circle at 30% 20%, rgba(66,217,255,.35), transparent 60%);
  --lsit-glow-indigo: radial-gradient(circle at 80% 80%, rgba(48,38,166,.35), transparent 60%);

  --lsit-grad-signature: linear-gradient(110deg, #155EEF 0%, #3026A6 55%, #101B3D 100%);
  --lsit-grad-hero: linear-gradient(165deg, #04060E 0%, #0A1230 42%, #101B3D 68%, #123A9A 130%);
  --lsit-footer-text: #9FB0D6;

  /* ---- Glassmorphism ---- */
  --lsit-glass-bg: rgba(255,255,255,.62);
  --lsit-glass-bg-strong: rgba(255,255,255,.82);
  --lsit-glass-bg-dark: rgba(16,27,61,.55);
  --lsit-glass-border: rgba(255,255,255,.65);
  --lsit-glass-border-dark: rgba(255,255,255,.14);
  --lsit-glass-blur: blur(18px) saturate(160%);

  /* ---- Typography ---- */
  --lsit-font-body: 'Coolvetica', 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --lsit-font-heading: 'Coolvetica', 'Manrope', system-ui, sans-serif;
  --lsit-fs-xs: .8125rem;
  --lsit-fs-sm: .9375rem;
  --lsit-fs-base: 1.0625rem;
  --lsit-fs-lg: 1.25rem;
  --lsit-fs-h4: clamp(1.15rem, 1.05rem + .5vw, 1.375rem);
  --lsit-fs-h3: clamp(1.35rem, 1.2rem + .8vw, 1.75rem);
  --lsit-fs-h2: clamp(1.75rem, 1.4rem + 1.8vw, 2.75rem);
  --lsit-fs-h1: clamp(2.25rem, 1.6rem + 3.2vw, 4rem);
  --lsit-lh-tight: 1.2;
  --lsit-lh-heading: 1.3;
  --lsit-lh-body: 1.75;
  --lsit-fw-regular: 400;
  --lsit-fw-medium: 500;
  --lsit-fw-semibold: 600;
  --lsit-fw-bold: 700;

  /* ---- Spacing (4px base) ---- */
  --lsit-space-1: .25rem;
  --lsit-space-2: .5rem;
  --lsit-space-3: .75rem;
  --lsit-space-4: 1rem;
  --lsit-space-5: 1.5rem;
  --lsit-space-6: 2rem;
  --lsit-space-7: 3rem;
  --lsit-space-8: 4rem;
  --lsit-space-9: 6rem;
  --lsit-section-y: clamp(3.5rem, 2.5rem + 5vw, 7rem);

  /* ---- Radius ---- */
  --lsit-radius-sm: 8px;
  --lsit-radius-md: 14px;
  --lsit-radius-lg: 22px;
  --lsit-radius-xl: 32px;
  --lsit-radius-pill: 999px;

  /* ---- Shadows ---- */
  --lsit-shadow-xs: 0 1px 2px rgba(16,27,61,.06);
  --lsit-shadow-sm: 0 4px 12px rgba(16,27,61,.07);
  --lsit-shadow-md: 0 12px 32px rgba(21,94,239,.12);
  --lsit-shadow-lg: 0 24px 60px rgba(21,94,239,.18);
  --lsit-shadow-glow: 0 0 0 4px rgba(66,217,255,.28);

  /* ---- Layout ---- */
  --lsit-container: 1240px;
  --lsit-container-narrow: 860px;
  --lsit-gutter: clamp(1rem, .5rem + 2.5vw, 2rem);
  --lsit-header-h: 76px;

  /* ---- Motion ---- */
  --lsit-ease: cubic-bezier(.22,.8,.3,1);
  --lsit-dur-fast: .18s;
  --lsit-dur: .32s;
  --lsit-dur-slow: .6s;

  /* ---- Layers ---- */
  --lsit-z-header: 100;
  --lsit-z-overlay: 200;
  --lsit-z-modal: 300;
}