/* NovusConfido — design tokens. Build Brief section 3.
   Single source of truth. Elementor Global Colours must mirror these values. */

/* ============================================================
   TOKENS — every value here comes from the Build Brief §3.
   Change a value once; the whole site follows.
   ============================================================ */
:root{
  /* Colour — 8 values, no more. 70% neutral / 20% dark / 10% blue */
  --c-blue:#0A74DA;
  --c-blue-dark:#0860B5;   /* hover only */
  --c-blue-light:#7CB8F0;  /* blue on dark backgrounds — AA contrast */
  --c-black:#000000;
  --c-white:#FFFFFF;
  --c-dark:#111827;
  --c-mid:#374151;
  --c-light:#6B7280;
  --c-border:#E5E7EB;
  --c-surface:#F8FAFC;

  /* Type */
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --t-display:clamp(3rem,2.36rem + 2.84vw,5rem);
  --t-h1:clamp(2.5rem,2.02rem + 2.14vw,4rem);
  --t-h2:clamp(2rem,1.68rem + 1.43vw,3rem);
  --t-h3:clamp(1.625rem,1.39rem + 1.07vw,2.375rem);
  --t-h4:clamp(1.375rem,1.22rem + 0.71vw,1.875rem);
  --t-h5:clamp(1.25rem,1.17rem + 0.36vw,1.5rem);
  --t-h6:clamp(1.125rem,1.09rem + 0.18vw,1.25rem);
  --t-body-lg:clamp(1.125rem,1.09rem + 0.18vw,1.25rem);
  --t-body:clamp(1rem,0.96rem + 0.18vw,1.125rem);
  --t-small:clamp(0.875rem,0.84rem + 0.18vw,1rem);
  --t-caption:clamp(0.75rem,0.71rem + 0.18vw,0.875rem);
  --t-overline:clamp(0.75rem,0.71rem + 0.18vw,0.875rem);
  --t-button:clamp(1rem,0.96rem + 0.18vw,1.125rem);

  /* Spacing — 8pt */
  --s-xs:8px; --s-sm:16px; --s-md:24px; --s-lg:32px;
  --s-xl:48px; --s-2xl:64px; --s-3xl:96px; --s-4xl:128px;

  /* Radius */
  --r-button:12px; --r-input:10px; --r-card:16px; --r-image:20px; --r-section:24px;

  /* Shadow */
  --sh-sm:0 2px 8px rgba(0,0,0,0.08);
  --sh-md:0 8px 24px rgba(0,0,0,0.12);
  --sh-lg:0 20px 48px rgba(0,0,0,0.16);

  /* Layout */
  --w-content:1280px;
  --w-reading:720px;
  --motion:420ms cubic-bezier(.16,.84,.44,1);
}
