/* Kaizer v2.0 design tokens. Source: Figma 1HsHt1BhAmIDTUGRG6OGcq, frame 236:749.
   Every value is normalized; see RELATORIO.md for the Figma → token table. */

@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("assets/fonts/archivo.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: block; /* 5.6 KB, preloaded, only the KAIZER mark: never show it in a fallback face */
}
@font-face {
  font-family: "DM Sans";
  src: url("assets/fonts/dm-sans.woff2") format("woff2");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
/* Metric-matched fallback so the swap does not shift layout (CLS 0). */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  size-adjust: 107.12%;
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "DM Sans Fallback";
  src: local("Arial");
  size-adjust: 94.16%;        /* measured: DM Sans 500 vs Arial on the marquee string */
  ascent-override: 105.35%;
  descent-override: 32.92%;
  line-gap-override: 0%;
}

:root {
  /* Color: black and white only, named by role */
  --c-bg: #0a0a0a;          /* page */
  --c-surface: #111111;     /* cards, FAQ items (merged #0d0d0d, #0f0f11) */
  --c-strip: #0d0d0d;       /* marquee + logos strip, exact Figma value (the logo exports carry it as background) */
  --c-pill: #191919;        /* nav chip (Figma 246:921) */
  --c-pill-line: #262626;   /* nav chip border */
  --c-surface-2: #171717;   /* icon rail, FAQ glow (Figma #17171a/#151519 neutralized: pure grey) */
  --c-line: #222222;        /* card borders (merged #1f1f24) */
  --c-line-soft: #1a1a1a;   /* button + marquee borders */
  --c-hairline: #cfcfcd;    /* rule above the KAIZER signature */
  --c-ink: #ffffff;
  --c-ink-soft: #dedede;    /* big numerals (Figma #dddde8/#e8e8f6/#e5ebf2 neutralized: pure grey) */
  --c-ink-muted: #8c8c8c;   /* body copy on dark, manifesto rest state (was #5a5a5a, fails AA) */
  --c-ink-faint: #5a5a5a;   /* decorative only, never body text */
  --c-ghost: #1c1c1c;       /* FAQ watermark (Figma #1c1c20 neutralized) */
  --c-line-strong: #333333; /* card border on hover, swatch ring (improvement) */
  --c-fill-1: #2a2a2a;      /* button fill, outer ring (Bonança port, P&B) */
  --c-fill-2: #9a9a9a;      /* button fill, middle ring */
  --c-paper: #ffffff;       /* manifesto card */
  --c-paper-ink: #111111;   /* text on paper */
  --c-paper-muted: #6b6b6b; /* muted text on paper (Figma #8c8c8c fails AA at 18px: 3.36:1) */

  /* Type families */
  --f-sans: "Inter", "Inter Fallback", system-ui, sans-serif;
  --f-display: "Archivo", "Inter", system-ui, sans-serif;
  --f-text: "DM Sans", "DM Sans Fallback", sans-serif;

  /* Type scale (px → rem at 16) */
  --fs-12: 0.75rem;
  --fs-13: 0.8125rem;
  --fs-14: 0.875rem;
  --fs-15: 0.9375rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-20: 1.25rem;
  --fs-24: 1.5rem;     /* method card titles (Figma 24) */
  --fs-32: 2rem;
  --fs-44: 2.75rem;
  --fs-48: 3rem;
  --fs-88: 5.5rem;
  --fs-120: 7.5rem;
  --fs-172: 10.75rem;
  --fs-490: 30.625rem;

  /* Fluid display sizes: clamp(mobile, fluid, desktop) */
  --fs-h1: clamp(2.75rem, 1.6rem + 4.6vw, var(--fs-88));
  --fs-h2: clamp(2rem, 1.5rem + 1.6vw, var(--fs-44));
  --fs-manifesto: clamp(1.5rem, 1rem + 1.6vw, var(--fs-44));
  --fs-numeral: clamp(4rem, 2.6rem + 4vw, var(--fs-120));
  --fs-step: clamp(2.5rem, 2rem + 1vw, var(--fs-48));
  --fs-signature: clamp(6rem, 1rem + 22.6vw, var(--fs-490));
  --fs-ghost: clamp(5.5rem, 3rem + 8vw, var(--fs-172));

  /* Line height (unitless) */
  --lh-095: 0.95;
  --lh-080: 0.8;
  --lh-100: 1;
  --lh-130: 1.3;
  --lh-136: 1.36;
  --lh-156: 1.56;
  --lh-167: 1.67;
  --lh-172: 1.72;

  /* Tracking (em) */
  --tr-tight: -0.06em;      /* Inter headings + body in the file */
  --tr-sig: -0.03em;        /* KAIZER */
  --tr-caps: 0.04em;        /* uppercase labels (improvement) */

  /* Spacing, 4px grid */
  --s-4: 0.25rem;
  --s-8: 0.5rem;
  --s-12: 0.75rem;
  --s-16: 1rem;
  --s-20: 1.25rem;
  --s-24: 1.5rem;
  --s-28: 1.75rem;     /* method card padding (Figma 29 → 28) */
  --s-32: 2rem;
  --s-40: 2.5rem;
  --s-48: 3rem;
  --s-64: 4rem;
  --s-80: 5rem;
  --s-96: 6rem;
  --s-128: 8rem;
  --s-160: 10rem;

  /* Layout */
  --container: 80rem;                     /* 1280 */
  --gutter: clamp(1.25rem, 0.6rem + 3vw, 2.5rem);  /* 20 → 40 */
  --section: clamp(10rem, 6rem + 10vw, 16rem);     /* gap between sections: 160 → 256, split in two paddings */
  --nav-h: 4rem;                          /* top bar, phones (64) */
  --nav-float-h: 3.75rem;                 /* floating pill, phones (60) */

  /* Radius (concentric: outer = inner + padding) */
  --r-8: 0.5rem;
  --r-11: 0.6875rem;   /* FAQ item */
  --r-12: 0.75rem;
  --r-20: 1.25rem;     /* manifesto card, icon rail */
  --r-24: 1.5rem;
  --r-38: 2.375rem;    /* service card */
  --r-pill: 999px;

  /* Elevation, layered */
  --sh-1: 0 1px 1px rgb(0 0 0 / 0.4), 0 2px 4px rgb(0 0 0 / 0.3);
  --sh-2: 0 1px 1px rgb(0 0 0 / 0.4), 0 4px 8px rgb(0 0 0 / 0.3), 0 16px 32px rgb(0 0 0 / 0.35);
  --glow-btn: 0 0 10px rgb(255 255 255 / 0.08);  /* Figma drop-shadow 9.75 → 10 */
  /* The only colors outside black and white, behind data-glow="color" (briefing exception) */
  --glow-rainbow: linear-gradient(90deg, #ff6a3d, #ffd23f, #3dff8b, #3db7ff, #b03dff, #ff3d9a);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-std: cubic-bezier(0.4, 0, 0.2, 1);
  --d-fast: 200ms;
  --d-hover: 450ms;
  --d-fill: 1300ms;

  /* Hit area */
  --hit: 2.75rem;  /* 44 mobile */
}
@media (min-width: 1024px) {
  :root { --hit: 2.5rem; --nav-h: 4.5rem; --nav-float-h: 4rem; }   /* Figma bar 79, slimmed to 72 with the smaller type; floating pill 64 */
}
