/* Shared print-ready styles for fact sheet + brand guidelines.
   Dark, industrial, single A4/Letter page. Open in browser → Cmd/Ctrl+P → Save as PDF. */
@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap');

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #ECE7DA;
  font-family: 'Geist', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: #F4EFE3;
}

/* The page — letter size at 96dpi, dark background */
.page {
  width: 816px;
  min-height: 1056px;
  margin: 32px auto;
  background: #0A0A0A;
  color: #F4EFE3;
  position: relative;
  padding: 56px 56px 56px;
  overflow: hidden;
  page-break-after: always;
}
.page:last-of-type { page-break-after: auto; }

/* Red corner ticks */
.page::before, .page::after,
.page > .ticks::before, .page > .ticks::after {
  content: ""; position: absolute; width: 12px; height: 12px; pointer-events: none;
}
.page::before { top: 28px; left: 28px; border-top: 1px solid #D72F2F; border-left: 1px solid #D72F2F; }
.page::after  { top: 28px; right: 28px; border-top: 1px solid #D72F2F; border-right: 1px solid #D72F2F; }
.page > .ticks::before { bottom: 28px; left: 28px; border-bottom: 1px solid #D72F2F; border-left: 1px solid #D72F2F; position: absolute; content: ""; width: 12px; height: 12px; }
.page > .ticks::after  { bottom: 28px; right: 28px; border-bottom: 1px solid #D72F2F; border-right: 1px solid #D72F2F; position: absolute; content: ""; width: 12px; height: 12px; }

/* Typography */
.mono { font-family: 'Geist Mono', ui-monospace, monospace; }
.dot  { font-family: 'DotGothic16', monospace; letter-spacing: 0.02em; }

.eyebrow {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: #8A8273; font-weight: 500;
}
.eyebrow b { color: #F4EFE3; font-weight: 600; }
.eyebrow .red { color: #D72F2F; }

.h-display {
  font-family: 'DotGothic16', monospace; letter-spacing: 0.02em;
  font-size: 48px; line-height: 1; color: #F4EFE3;
}

.wm {
  font-family: 'DotGothic16', monospace; font-size: 32px; color: #F4EFE3; letter-spacing: 0.02em;
}
.wm .pd { color: #D72F2F; }

.h1 {
  font-family: 'Geist', system-ui, sans-serif; font-weight: 600;
  font-size: 44px; line-height: 1.04; letter-spacing: -0.025em;
  color: #F4EFE3; margin: 0;
  text-wrap: balance;
}
.h1 .red { color: #D72F2F; }
.h2 {
  font-family: 'Geist', system-ui, sans-serif; font-weight: 600;
  font-size: 22px; line-height: 1.15; letter-spacing: -0.015em;
  color: #F4EFE3; margin: 0;
}

.body, p.body {
  font-family: 'Geist', system-ui, sans-serif; font-size: 14px; line-height: 1.55;
  color: #B8AE9C; margin: 0;
}

.meta { color: #8A8273; }
.signal { color: #D72F2F; }

/* Header strip */
.page-header {
  display: flex; align-items: baseline; justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid #2E2820;
}
.page-header .right {
  display: flex; gap: 18px; align-items: baseline;
}

/* Section title with rule */
.sec {
  margin-top: 28px; padding-top: 14px;
  border-top: 1px solid #2E2820;
}
.sec-title {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 12px;
}

/* Two-column body */
.cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
}
.cols-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }

/* Stat grid */
.stat-grid {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  border: 1px solid #2E2820;
}
.stat-grid > .cell {
  padding: 14px 16px;
  border-right: 1px solid #2E2820;
  border-bottom: 1px solid #2E2820;
}
.stat-grid > .cell:nth-child(3n) { border-right: 0; }
.stat-grid > .cell:nth-last-child(-n+3) { border-bottom: 0; }
.cell .v { font-family: 'DotGothic16', monospace; font-size: 28px; color: #F4EFE3; line-height: 1; }
.cell .v .pd { color: #D72F2F; }
.cell .k {
  font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase; color: #8A8273; font-weight: 600;
  margin-top: 6px;
}

/* Key-value rows */
.kv {
  display: grid; grid-template-columns: 200px 1fr; gap: 14px;
  padding: 10px 0; border-bottom: 1px dashed #2E2820;
}
.kv:last-child { border-bottom: 0; }
.kv .k {
  font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase; color: #8A8273; font-weight: 600;
  padding-top: 3px;
}
.kv .v {
  font-family: 'Geist', system-ui, sans-serif; font-size: 14px; color: #F4EFE3;
  line-height: 1.45;
}

/* Footer strip */
.page-foot {
  position: absolute; left: 56px; right: 56px; bottom: 44px;
  display: flex; justify-content: space-between; align-items: baseline;
  padding-top: 14px; border-top: 1px solid #2E2820;
}

/* Color swatches */
.sw-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 8px; }
.sw { display: flex; flex-direction: column; }
.sw .box { height: 60px; border: 1px solid #2E2820; }
.sw .nm {
  font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10px;
  letter-spacing: 0.12em; text-transform: uppercase; color: #F4EFE3; font-weight: 600;
  margin-top: 6px;
}
.sw .hx {
  font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10px; color: #8A8273; font-weight: 400;
}

.bias-row { display: flex; height: 50px; border: 1px solid #2E2820; margin-top: 6px; }
.bias-row .seg { flex: 1; padding: 8px 10px; }
.bias-row .seg .lb {
  font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700;
}
.bias-row .seg .hx {
  font-family: 'Geist Mono', ui-monospace, monospace; font-size: 9px; opacity: 0.8;
}

/* Print rules */
@media print {
  @page { size: letter; margin: 0; }
  body { background: #0A0A0A; }
  .page {
    margin: 0; width: 100%; min-height: 100vh; box-shadow: none;
  }
}
