/* Hallmark · macrostructure: Narrative Workflow · H6 photographic knobs: area=full-bleed, text=overlaid, bias=bottom-left
 * theme: custom · vibe: "oficina de precisão à noite, metal frio, exato" · paper: oklch(14% 0.010 225) · accent: oklch(75% 0.14 215)
 * display: Big Shoulders Display · body: IBM Plex Sans · outlier: IBM Plex Mono (numerais de etapa)
 * axes: dark / display-condensed-bold / cool · genre: atmospheric · nav: N5 · footer: Ft5
 * F4 knobs: numbering=1.0, layout=vertical, connector=line · F3 knobs: columns=2, rules=every-row
 * contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48)
 * responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49, 50–57)
 * studied: no · context: user-provided (pipeline novo-projeto) · v1.1.0
 */

@font-face {
  font-family: "Big Shoulders Display";
  src: url("assets/fonts/big-shoulders-display-var-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("assets/fonts/ibm-plex-sans-var-latin.woff2") format("woff2");
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("assets/fonts/ibm-plex-mono-500-latin.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  /* cor — paleta custom derivada do logo (Z cromado + ciano sobre preto) */
  --color-paper:      oklch(14% 0.010 225);
  --color-paper-2:    oklch(17.5% 0.012 225);
  --color-paper-3:    oklch(22% 0.014 225);
  --color-ink:        oklch(93% 0.008 225);
  --color-ink-2:      oklch(84% 0.008 225);
  --color-rule:       oklch(30% 0.010 225);
  --color-rule-2:     oklch(25% 0.010 225);
  --color-muted:      oklch(70% 0.010 225);
  --color-neutral:    oklch(48% 0.010 225);
  --color-accent:     oklch(75% 0.14 215);
  --color-accent-ink: oklch(16% 0.020 225);
  --color-focus:      oklch(78% 0.19 215);
  --color-scrim:      oklch(12% 0.010 225);

  /* tipografia */
  --font-display: "Big Shoulders Display", "Arial Narrow", "Helvetica Neue Condensed", sans-serif;
  --font-body:    "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "SF Mono", monospace;

  /* escala 1.25 */
  --text-sm:   0.8rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-3xl:  3.0518rem;
  --text-4xl:  3.8147rem;
  --text-display:   clamp(2.9rem, 6vw + 1rem, 6rem);
  --text-display-s: clamp(2.2rem, 3.8vw + 1rem, 3.8rem);
  --chamfer: 1.75rem; /* chanfro — diagonal do Z do logo, linguagem de corte da página */

  /* espaço — 4pt */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  /* movimento */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 200ms;
  --dur-long:  420ms;

  /* traço, raio, sombra */
  --rule-hair: 1px;
  --radius-pill: 999px;
  --radius-panel: 10px;
  --shadow-pill: 0 8px 24px -12px oklch(6% 0.01 225 / 0.55);

  /* z — escala nomeada */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;

  /* página */
  --page-gutter: clamp(1rem, 4.5vw, 3.5rem);
  --measure: 65ch;
}
