/* KRIVA · design tokens
   Single source of truth. Loaded first on every page.
   Contrast-safe: --steel-2 is #626A73 (4.54:1 on --paper). */
:root{
  --paper:#F4F3EE;
  --paper-2:#EBEAE4;
  --white:#FFFFFF;
  --ink:#0E1216;
  --ink-2:#161C22;
  --ink-line:#232B33;
  --ink-dim:#8C98A4;
  --steel:#5C6670;
  --steel-2:#626A73;
  --rule:#D6D5CD;
  --rule-soft:#E2E1DA;
  --blue:#4F46E5;
  --blue-deep:#3730A3;
  --amber:#DB9B1F;
  --green:#1B7A54;
  --violet:#5B44C8;
  --lime:#5FD3A0;
  --lilac:#B7A9FF;
  --sky:#5B8CFF;
  --red:#A62A1F;
  --cta:#4F46E5;
  --cta-hover:#0E1216;
  --f-display:'Manrope','Manrope Fallback',system-ui,-apple-system,sans-serif;
  --f-body:'Manrope','Manrope Fallback',system-ui,-apple-system,sans-serif;
  --f-mono:'Manrope','Manrope Fallback',system-ui,-apple-system,sans-serif;
  --gutter:clamp(16px,4.6vw,80px);
  --maxw:1360px;
  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:72px;
  --space-8:112px;
  --shadow-product:0 1px 0 rgba(14,18,22,.04),0 32px 64px -36px rgba(14,18,22,.45);
  --shadow-lift:0 18px 40px -28px rgba(14,18,22,.4);
  --e:cubic-bezier(.16,.84,.44,1);
  --e-io:cubic-bezier(.62,.02,.28,1);
  --t-fast:.28s;
  --t-mid:.5s;
  --t-slow:.9s;
}

/* Metric-matched fallback so swap does not shove the layout. */
@font-face{
  font-family:'Manrope Fallback';
  src:local('Segoe UI'),local('Helvetica Neue'),local('Arial');
  size-adjust:103%;
  ascent-override:98%;
  descent-override:22%;
  line-gap-override:0%;
}

html{font-family:var(--f-body)}

/* Manrope: one family. Weight carries the hierarchy. */
.eyebrow,.mono,.crumbs,.tag,.cs-cap,.fgrid h3{font-weight:500}
.btn,.nav-cta .btn.sm{font-weight:600}
.d2,.d3,.d4,h2,h3{font-weight:700}
.d1,h1{font-weight:800}

@media(min-width:1600px){
  :root{--maxw:1440px;--gutter:clamp(56px,6vw,96px)}
}
