:root {
  --navy: #1d3f63;
  --gold: #c59632;
  --ink: #171b20;
  --muted: #56606b;
  --line: #cbd0d5;
  --cream: #fcf5e9;
}

* { box-sizing: border-box; }

html {
  background: white;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10.2pt;
  line-height: 1.42;
}

body { margin: 0; color: var(--ink); background: white; }
h1, h2, h3 { color: var(--navy); break-after: avoid-page; page-break-after: avoid; }
h1 { margin: 0 0 0.12in; padding-bottom: 0.1in; border-bottom: 3px solid var(--gold); font-size: 24pt; line-height: 1.1; }
h2 { margin: 0.23in 0 0.09in; padding-bottom: 0.04in; border-bottom: 1px solid var(--line); font-size: 16pt; line-height: 1.15; }
h3 { margin: 0.17in 0 0.05in; font-size: 11.5pt; }
p { margin: 0 0 0.09in; }
ol, ul { margin: 0.05in 0 0.12in; padding-left: 0.27in; }
li { margin-bottom: 0.025in; }
code { font-family: "Courier New", Courier, monospace; font-size: 0.92em; overflow-wrap: anywhere; }
pre { margin: 0.08in 0 0.12in; padding: 0.09in; border: 1px solid var(--line); background: #f8f9fa; white-space: pre-wrap; break-inside: avoid-page; }
blockquote { margin: 0.17in 0 0.2in; padding: 0.13in 0.16in; border-left: 4px solid var(--gold); background: var(--cream); break-inside: avoid-page; }
blockquote p:last-child { margin-bottom: 0; }
.subtitle { margin: 0 0 0.17in; color: var(--muted); font-size: 14pt; }
.fictional-notice { margin: 0 0 0.15in; padding: 0.08in 0.1in; border: 1px solid var(--navy); color: var(--navy); background: #eef3f7; font-size: 8pt; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; }
.report-meta { display: grid; margin: 0.1in 0 0.15in; grid-template-columns: 1fr 1fr; gap: 0.04in 0.18in; }
.report-meta div { display: grid; grid-template-columns: 0.95in 1fr; }
.report-meta dt { color: var(--muted); font-size: 8pt; font-weight: 700; text-transform: uppercase; }
.report-meta dd { margin: 0; }
.page-break { break-before: page; page-break-before: always; }
.small-note { color: var(--muted); font-size: 8.5pt; }

@page { size: Letter; margin: 0.62in 0.64in; }

@media screen {
  html { background: #e5e7e9; }
  body { width: min(8.5in, calc(100% - 40px)); margin: 20px auto; padding: 0.62in 0.64in; box-shadow: 0 2px 16px rgba(0, 0, 0, 0.13); }
}

@media screen and (max-width: 650px) {
  body { width: 100%; margin: 0; padding: 20px 16px 32px; box-shadow: none; }
  h1 { font-size: 20pt; }
  .report-meta { display: block; }
  .report-meta div { margin-bottom: 0.06in; }
}
