:root {
  --orange: #E8651A;
  --charcoal: #141414;
  --charcoal-soft: #2A2A2A;
  --white: #FFFFFF;
  --warm-white: #F7F4EE;
  --brass: #C4A35A;
  --forest: #2C3D30;
  --font-head: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --hero-accent: #9FD9C2;
  --muted: #5c5c5c;
  --line: rgba(20, 20, 20, 0.12);
  --page-w: 8.5in;
  --page-h: 11in;
  --safe: 0.55in;
  --hdr: 0.62in;
  --ftr: 0.42in;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: var(--font-body);
  background: #b0b0b0;
  color: var(--charcoal);
  padding: 1.5rem 1rem 2.5rem;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.workspace { max-width: 9in; margin: 0 auto; display: flex; flex-direction: column; gap: 1.75rem; }
.screen-hint {
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(20, 20, 20, 0.55);
}
.page {
  width: var(--page-w);
  height: var(--page-h);
  overflow: hidden;
  position: relative;
  background: var(--warm-white);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.2);
  display: grid;
  grid-template-rows: var(--hdr) 1fr var(--ftr);
}
.page__hdr {
  background: var(--charcoal);
  color: var(--white);
  padding: 0 var(--safe);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.2in;
}
.page__hdr-left { display: flex; align-items: center; gap: 0.12in; }
.page__hdr-left img { height: 0.38in; width: auto; display: block; }
.page__num {
  font-family: Montserrat, sans-serif;
  font-size: 7.5pt;
  font-weight: 800;
  color: var(--orange);
  letter-spacing: 0.06em;
}
.page__title {
  font-family: Montserrat, sans-serif;
  font-size: 8.5pt;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.page__hdr-right { font-size: 6.5pt; color: rgba(255, 255, 255, 0.7); text-align: right; line-height: 1.35; }
.page__body { padding: 0.28in var(--safe) 0.22in; min-height: 0; overflow: hidden; font-size: 9.25pt; line-height: 1.42; }
.page__ftr {
  background: var(--charcoal-soft);
  color: rgba(255, 255, 255, 0.78);
  padding: 0 var(--safe);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: Montserrat, sans-serif;
  font-size: 5.75pt;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.page__ftr strong { color: var(--brass); }
.page--cover {
  display: block;
  grid-template-rows: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0.88) 100%),
    linear-gradient(115deg, rgba(5,14,10,.95) 0%, rgba(15,92,74,.45) 55%, rgba(7,18,10,.92) 100%);
}
.cover-content {
  position: relative;
  z-index: 2;
  height: 100%;
  padding: var(--safe);
  display: grid;
  grid-template-rows: auto 1fr auto;
  color: var(--white);
}
.cover-top { display: flex; justify-content: space-between; align-items: flex-start; }
.cover-top img { height: 0.52in; width: auto; }
.cover-badge { border: 2px solid var(--brass); background: rgba(0, 0, 0, 0.85); padding: 0.08in 0.11in; text-align: center; }
.cover-badge__top {
  font-family: Montserrat, sans-serif;
  font-size: 5.5pt;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brass);
}
.cover-badge__bottom {
  font-family: Montserrat, sans-serif;
  font-size: 7pt;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 0.03in;
}
.cover-mid { align-self: center; max-width: 6.2in; }
.cover-eyebrow {
  font-family: Montserrat, sans-serif;
  font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 0.07in;
}
.cover-headline {
  font-family: var(--font-head);
  font-size: 28pt;
  font-weight: 700;
  line-height: 1.12;
  color: #fff;
  margin-bottom: 0.08in;
  text-shadow: 0 1px 2px rgba(0,0,0,.55), 0 4px 28px rgba(0,0,0,.45);
}
.cover-headline em { font-style: italic; color: var(--hero-accent); }
.cover-sub { margin-top: 0.1in; font-size: 10.25pt; line-height: 1.65; color: rgba(255, 255, 255, 0.88); max-width: 5.8in; }
.cover-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 0.14in; margin-top: 0.16in; font-size: 8.5pt; }
.cover-meta dt {
  font-family: Montserrat, sans-serif;
  font-size: 6pt;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brass);
}
.cover-meta dd { margin-top: 0.03in; }
.cover-bottom {
  font-size: 7.5pt;
  color: rgba(255, 255, 255, 0.75);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 0.1in;
}
h2 {
  font-family: Montserrat, sans-serif;
  font-size: 11pt;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.1in;
  color: var(--charcoal);
}
h2::after { content: ''; display: block; width: 0.55in; height: 3px; background: var(--orange); margin-top: 0.06in; }
h3 {
  font-family: Montserrat, sans-serif;
  font-size: 8.5pt;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0.14in 0 0.06in;
  color: var(--forest);
}
p { margin-bottom: 0.08in; color: var(--charcoal-soft); }
ul { margin: 0.06in 0 0.1in 0.18in; color: var(--charcoal-soft); }
li { margin-bottom: 0.04in; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0.2in; }
.callout { background: var(--white); border-left: 4px solid var(--orange); padding: 0.1in 0.12in; margin: 0.1in 0; font-size: 8.75pt; }
.callout--revision { border-left-color: var(--forest); background: rgba(44, 61, 48, 0.06); }
table { width: 100%; border-collapse: collapse; font-size: 8.5pt; margin: 0.08in 0; }
th, td { border-bottom: 1px solid var(--line); padding: 0.06in 0.05in; text-align: left; vertical-align: top; }
th {
  font-family: Montserrat, sans-serif;
  font-size: 7pt;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--forest);
}
td.num, th.num { text-align: right; white-space: nowrap; }
tr.total-row td { font-weight: 700; border-top: 2px solid var(--charcoal); border-bottom: none; padding-top: 0.08in; }
.tier-table tr.tier-selected td { background: rgba(44, 61, 48, 0.07); }
.tier-mark {
  font-family: Montserrat, sans-serif;
  font-size: 7pt;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--forest);
}
.tier-muted { color: var(--muted); font-size: 8pt; }
.sig-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.25in; margin-top: 0.14in; }
.sig-line { border-bottom: 1px solid var(--charcoal); margin-top: 0.22in; padding-bottom: 0.04in; font-size: 7.5pt; color: var(--muted); }
@media print {
  body { background: #fff; padding: 0; }
  .screen-hint { display: none; }
  .workspace { gap: 0; }
  .page { box-shadow: none; page-break-after: always; }
  .page:last-child { page-break-after: auto; }
  @page { size: letter portrait; margin: 0; }
}
