/* =========================================================================
   Aluvitra design tokens
   Palette sampled from the supplied logo (approximate, not a formal manual).
   Bright & airy: warm-white / mist-blue surfaces, restrained navy text,
   understated blue light, fine architectural rules.
   ========================================================================= */
:root {
  /* --- Brand core --- */
  --navy: #112F4B;         /* deep architectural navy (logo ground, primary text) */
  --navy-900: #0B2137;
  --navy-800: #112F4B;
  --navy-700: #1B3E5E;
  --blue: #2BA4DB;         /* vivid blue (logo highlight) */
  --blue-600: #1D8FC6;
  --blue-deep: #0F6E9E;    /* deeper blue */
  --blue-ink: #0C557A;
  --silver: #ABAAA8;       /* silver-grey */
  --silver-300: #C9C8C6;

  /* --- Surfaces (airy) --- */
  --white: #FFFFFF;
  --ivory: #FBFCFE;        /* warm-white page base */
  --mist: #F2F7FB;         /* pale blue surface */
  --mist-2: #E9F2F9;
  --cloud: #DFEAF3;        /* subtle panel / border wash */
  --line: #D7E2ED;         /* fine architectural rule */
  --line-strong: #B9CBDC;

  /* --- Text --- */
  --ink: #112F4B;          /* body/heading on light */
  --ink-soft: #35506B;     /* secondary text */
  --ink-mute: #5C7590;     /* muted labels */
  --on-navy: #EAF3FA;      /* body text on navy */
  --on-navy-soft: #B9CEDF;

  /* --- Functional --- */
  --focus: #2BA4DB;
  --ok: #1E8E5A;
  --ok-bg: #E6F5EC;
  --warn: #B8791B;
  --warn-bg: #FBF1DE;
  --err: #C0392B;
  --err-bg: #FBEAE7;

  /* --- Accent gradients / glints --- */
  --glint: linear-gradient(135deg, #2BA4DB 0%, #0F6E9E 100%);
  --navy-grad: linear-gradient(160deg, #0B2137 0%, #112F4B 55%, #1B3E5E 100%);
  --glass-sheen: linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.10) 42%, rgba(43,164,219,.14) 55%, rgba(255,255,255,0) 70%);

  /* --- Type --- */
  --font-display: 'Space Grotesk Variable', 'Space Grotesk', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter Variable', 'Inter', 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', 'Cascadia Code', Consolas, monospace;

  /* Fluid type scale (clamp: min, preferred, max) */
  --fs-800: clamp(2.6rem, 1.6rem + 4.4vw, 4.7rem);   /* hero */
  --fs-700: clamp(2.05rem, 1.4rem + 2.9vw, 3.3rem);  /* h1 */
  --fs-600: clamp(1.6rem, 1.2rem + 1.8vw, 2.35rem);  /* h2 */
  --fs-500: clamp(1.28rem, 1.06rem + 0.9vw, 1.6rem); /* h3 */
  --fs-400: clamp(1.08rem, 1rem + 0.35vw, 1.2rem);   /* lead */
  --fs-300: 1rem;                                     /* body */
  --fs-200: 0.9rem;                                   /* small */
  --fs-100: 0.78rem;                                  /* micro / eyebrow */

  --lh-tight: 1.08;
  --lh-snug: 1.28;
  --lh-body: 1.62;

  /* --- Space scale (8pt-ish) --- */
  --s-1: 0.25rem; --s-2: 0.5rem; --s-3: 0.75rem; --s-4: 1rem;
  --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4rem;
  --s-9: 6rem; --s-10: 8rem;

  /* --- Layout --- */
  --maxw: 1240px;
  --maxw-narrow: 820px;
  --maxw-wide: 1440px;
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);
  --radius-s: 6px;
  --radius: 12px;
  --radius-l: 20px;
  --radius-xl: 28px;

  /* --- Elevation (soft, architectural) --- */
  --sh-1: 0 1px 2px rgba(17,47,75,.06), 0 1px 3px rgba(17,47,75,.05);
  --sh-2: 0 4px 12px rgba(17,47,75,.08), 0 2px 6px rgba(17,47,75,.05);
  --sh-3: 0 14px 40px rgba(17,47,75,.12), 0 6px 14px rgba(17,47,75,.07);
  --sh-blue: 0 12px 34px rgba(15,110,158,.18);

  /* --- Motion --- */
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --dur-1: .16s; --dur-2: .28s; --dur-3: .5s;

  --header-h: 72px;   /* single compact header row (utility strip removed) */
  --util-h: 0px;
}

@media (max-width: 900px){ :root{ --header-h: 62px; } }

/* Reduced-motion: honour user preference globally */
@media (prefers-reduced-motion: reduce) {
  :root { --dur-1: .001s; --dur-2: .001s; --dur-3: .001s; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
