/* OpexIQ Design System — Elevation + motion tokens
   Shadows are restrained: structure comes from borders and space.
   Motion: slow, linear-ish, deliberate. Nothing bounces. */
:root{
  --shadow-none:none;
  --shadow-xs:0 1px 2px rgba(26,26,26,0.06);
  --shadow-sm:0 2px 6px rgba(26,26,26,0.07);
  --shadow-md:0 6px 20px rgba(26,26,26,0.09);
  --shadow-lg:0 18px 48px rgba(26,26,26,0.12);
  --shadow-focus:0 0 0 3px rgba(208,44,48,0.28);
  --shadow-dark-md:0 8px 32px rgba(0,0,0,0.55);

  /* Atmospheric gradients */
  --glow-red:radial-gradient(60% 60% at 50% 50%,rgba(208,44,48,0.32),transparent 70%);
  --glow-blue-grey:radial-gradient(60% 60% at 50% 50%,rgba(118,134,147,0.28),transparent 70%);
  --glow-white:radial-gradient(60% 60% at 50% 50%,rgba(255,255,255,0.20),transparent 70%);
  --vignette-black:radial-gradient(120% 90% at 50% 40%,transparent 40%,rgba(0,0,0,0.75) 100%);
  --fade-soft-white:linear-gradient(180deg,#FFFFFF 0%,#F5F5F5 100%);

  --ease-standard:cubic-bezier(0.4,0,0.2,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --ease-in-out:cubic-bezier(0.65,0,0.35,1);
  --dur-instant:80ms;
  --dur-fast:160ms;
  --dur-base:240ms;
  --dur-slow:480ms;
  --dur-reveal:900ms;
  --dur-path:7s;
}
@media (prefers-reduced-motion:reduce){
  :root{
    --dur-fast:0ms;
    --dur-base:0ms;
    --dur-slow:0ms;
    --dur-reveal:0ms;
    --dur-path:0ms;
  }
}
