/* AI Readiness Audit v5: one report sheet on the night sky.
   Spacing scale: 8 16 24 32 48 64 96 128. */
.rp {
  --paper: #F4F0E8; --paper-2: #EAE3D4; --ink: #1A1916; --ink2: rgba(26,25,22,.78); --ink3: rgba(26,25,22,.68);
  --rule: rgba(26,25,22,.14); --gold: #F3D06A; --goldf: #E2B34C; --bronze: #8C5A16; --navy: #111A2B; --night: #070A12;
  --sheet: 1280px; --m: clamp(20px, 7vw, 96px); --gut: 32px;
  --n1: clamp(132px, 15vw, 212px); --n2: clamp(88px, 8.4vw, 128px); --n3: 56px;
  background: var(--night);
}
.rp .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* nav: one dark object over every surface */
.site-nav { background: rgba(9,13,23,.92) !important; -webkit-backdrop-filter: blur(14px) !important; backdrop-filter: blur(14px) !important; border-color: rgba(255,255,255,.08) !important; }

/* ---------- stage: night sky, constellations only in the gutters ---------- */
.stage { position: relative; isolation: isolate; background: var(--night); }
.sky { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.sky .bg-sky { position: absolute; inset: 0; }
.sky-glow { position: absolute; left: 0; right: 0; top: 0; height: 1100px; z-index: 0; pointer-events: none;
  background: radial-gradient(58% 74% at 8% 18%, rgba(27,75,107,.85) 0%, rgba(27,75,107,0) 62%),
              radial-gradient(48% 60% at 96% 4%, rgba(178,58,22,.5) 0%, rgba(178,58,22,0) 66%),
              radial-gradient(54% 64% at 86% 12%, rgba(197,145,42,.42) 0%, rgba(197,145,42,0) 70%);
  -webkit-mask-image: linear-gradient(#000 40%, transparent); mask-image: linear-gradient(#000 40%, transparent); }
.stage > :not(.sky):not(.sky-glow) { position: relative; z-index: 1; }

/* ---------- cover ---------- */
.cover { box-sizing: border-box; max-width: var(--sheet); margin: 0 auto; min-height: min(92vh, 980px); padding: 160px var(--m) 128px; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gut); align-content: end; color: #fff; }
.cover-txt { grid-column: 1 / 9; }
.cover-art { grid-column: 9 / 13; align-self: end; }
.crumb { margin: 0 0 48px; font: 400 13px var(--sans); color: rgba(255,255,255,.55); }
.crumb a { color: rgba(255,255,255,.72); text-decoration: none; } .crumb span { margin: 0 8px; opacity: .5; }
.cover-label { margin: 0 0 24px; font: 500 12px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.cover h1 { margin: 0; font: 400 clamp(56px, 7.2vw, 120px)/.96 var(--serif); letter-spacing: -.03em; color: #fff; }
.cover h1 em { font-style: normal; color: var(--gold); }
.cover-sub { margin: 48px 0 0; max-width: 560px; font: 400 19px/1.6 var(--sans); color: rgba(255,255,255,.78); }
.cover-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 48px 0 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); max-width: 560px; font: 500 14px var(--sans); font-variant-numeric: tabular-nums; color: rgba(255,255,255,.66); }
.cover-meta a { color: #fff; text-decoration: none; } .cover-meta a.pdf { color: var(--gold); }
.cover-art svg { display: block; width: 100%; height: auto; }
.cover-art p { margin: 16px 0 0; font: 400 13px/1.5 var(--sans); color: rgba(255,255,255,.55); }
.cover-art p b { color: var(--gold); font-weight: 500; }

/* ---------- the sheet ---------- */
.sheet { box-sizing: border-box; max-width: var(--sheet); margin: 0 auto; background: var(--paper); color: var(--ink2);
  box-shadow: none; font-family: var(--sans); }
.pg { position: relative; padding: 128px var(--m); }
.pg + .pg:not(.dark):not(.goldpg) { padding-top: 0; }
.pg.dark + .pg, .pg.goldpg + .pg { padding-top: 128px !important; }
.pg.dark { background: var(--navy); color: rgba(255,255,255,.8); }
.pg.goldpg { background: var(--gold); color: #1A1206; }
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gut); }
.c1-7 { grid-column: 1 / 8; } .c1-6 { grid-column: 1 / 7; } .c1-5 { grid-column: 1 / 6; } .c1-8 { grid-column: 1 / 9; } .c1-9 { grid-column: 1 / 10; }
.c7-12 { grid-column: 7 / 13; } .c8-12 { grid-column: 8 / 13; } .c9-12 { grid-column: 9 / 13; } .c6-12 { grid-column: 6 / 13; } .call { grid-column: 1 / -1; }

/* opener: rule, one label line, H2. Nothing else stacked. */
.op-rule { height: 6px; background: var(--ink); }
.op-lab { display: flex; justify-content: space-between; gap: 16px; margin: 16px 0 48px; font: 500 12px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--bronze); }
.op-lab span:last-child { color: var(--ink3); }
.dark .op-rule { background: var(--gold); } .dark .op-lab { color: var(--gold); } .dark .op-lab span:last-child { color: rgba(255,255,255,.5); }
.goldpg .op-rule { background: #1A1206; } .goldpg .op-lab, .goldpg .op-lab span:last-child { color: rgba(26,18,6,.75); }
.rp h2.h2 { margin: 0 0 32px; font: 400 clamp(38px, 2.4vw + 18px, 58px)/1.04 var(--serif); letter-spacing: -.022em; color: var(--ink); text-wrap: balance; }
.dark h2.h2 { color: #fff; } .goldpg h2.h2 { color: #1A1206; }

/* body */
.tx p { margin: 0 0 24px; font: 400 18px/1.65 var(--sans); color: var(--ink2); }
.tx p:last-child { margin-bottom: 0; }
.tx a { color: var(--bronze); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.dark .tx p { color: rgba(255,255,255,.78); } .dark .tx a { color: var(--gold); }
.goldpg .tx p { color: rgba(26,18,6,.82); }
.tx strong { color: var(--ink); font-weight: 600; } .dark .tx strong { color: #fff; }

/* numbers */
.nbox { container-type: inline-size; }
.n1 { margin: 0; font: 600 min(var(--n1), calc(100cqi / var(--w, 1.3)))/.78 var(--sans); letter-spacing: -.06em; font-variant-numeric: tabular-nums; color: var(--ink); white-space: nowrap; }
.n1 .of { font-size: .26em; letter-spacing: -.01em; font-weight: 500; margin-left: .25em; color: var(--ink3); }
.n1, .n1.br { color: var(--bronze); } .dark .n1 { color: var(--gold); } .dark .n1 .of { color: rgba(255,255,255,.55); }
.n1-cap { margin: 32px 0 0; max-width: 24ch; font: 500 20px/1.35 var(--sans); color: var(--ink); }
.n1-cap span { display: block; margin-top: 8px; font-weight: 400; font-size: 15px; color: var(--ink3); }
.dark .n1-cap { color: #fff; } .dark .n1-cap span { color: rgba(255,255,255,.6); }
.n2 { display: block; font: 600 var(--n2)/.82 var(--sans); letter-spacing: -.055em; font-variant-numeric: tabular-nums; color: var(--ink); }
.n2-cap { margin: 16px 0 0; font: 500 18px/1.35 var(--sans); color: var(--ink2); max-width: 22ch; }
.n1.xl { font-size: min(clamp(150px, 20vw, 320px), calc(100cqi / var(--w, 1.3))); }

/* gold band: spans the sheet exactly */
.band { margin: 96px calc(-1 * var(--m)) 0; padding: 64px var(--m) 56px; background: var(--gold); color: #1A1206; }
.band .b-pair { grid-column: 1 / 7; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--gut); align-self: end; }
.band .b-hit { grid-column: 7 / 13; position: relative; }
.band .b-hit::before { content: ""; position: absolute; left: -16px; top: 0; bottom: 0; border-left: 1px solid rgba(26,18,6,.22); }
.band .b-hit .n1 { color: #1A1206; font-size: min(240px, calc(100cqi / 1.1)); }
.band .b-hit .n1-cap { color: #1A1206; margin-top: 24px; }
.band .n2 { color: #1A1206; }
.band .n2-cap { color: rgba(26,18,6,.82); }
.band .hit .n2-cap { color: #1A1206; font-weight: 600; }

/* gold column (F03) */
.gcol { background: var(--gold); color: #1A1206; padding: 48px 40px; align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; }
.gcol .n1 { color: #1A1206; }
.gcol .n1-cap { color: #1A1206; font-size: 19px; }
.gcol .n1-cap span { color: rgba(26,18,6,.72); }
.gcol .src { display: none; }

/* exhibits: on the paper, no cards */
.ex { margin: 96px 0 0; }
.ex-h { display: flex; align-items: baseline; gap: 24px; margin: 0 0 32px; padding-top: 16px; border-top: 1px solid var(--rule); }
.ex-n { flex: none; font: 500 12px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bronze); }
.ex-t { margin: 0; font: 600 22px/1.25 var(--sans); letter-spacing: -.01em; color: var(--ink); }
.dark .ex-h { border-color: rgba(255,255,255,.16); } .dark .ex-n { color: var(--gold); } .dark .ex-t { color: #fff; }
.ex svg { display: block; width: 100%; height: auto; }
.ex-s { margin: 24px 0 0; font: 400 14px/1.55 var(--sans); color: var(--ink3); max-width: 66ch; }
.ex-s b.ex-n { font-weight: 500; margin-right: 12px; }
.ex-s a { color: var(--bronze); }
.dark .ex-s { color: rgba(255,255,255,.55); } .dark .ex-s a { color: var(--gold); }
.ex-frame { outline: 1px solid rgba(26,25,22,.16); }
.mt96 { margin-top: 96px; } .mt64 { margin-top: 64px; } .mt48 { margin-top: 48px; }
.after { margin-top: 96px; align-items: start; }

/* margin notes: what the checklists measure */
.mnote { padding-top: 8px; }
.mnote-lab { margin: 0 0 24px; font: 500 12px var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--ink3); }
.mnote q { display: block; margin: 0 0 24px; padding-bottom: 24px; border-bottom: 1px solid var(--rule); font: 400 28px/1.22 var(--serif); text-wrap: balance; letter-spacing: -.01em; color: var(--ink); quotes: "\201C" "\201D"; }
.mnote q:last-of-type { border-bottom: 0; }

/* executive summary list */
.sum-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.sum-list li { border-bottom: 1px solid var(--rule); }
.sum-list a { display: grid; grid-template-columns: 200px 1fr; gap: 0 32px; align-items: baseline; padding: 24px 0; color: inherit; text-decoration: none; }
.sum-list a:hover .sl-t { color: var(--bronze); }
.sum-list a:focus-visible { outline: 2px solid var(--bronze); outline-offset: 4px; }
.sl-n { font: 600 var(--n3)/.86 var(--sans); letter-spacing: -.045em; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sl-n small { font-size: .36em; letter-spacing: 0; font-weight: 500; color: var(--ink3); margin-left: 6px; }
.sl-t { display: block; font: 600 18px/1.3 var(--sans); color: var(--ink); transition: color .2s cubic-bezier(.22,1,.36,1); }
.sl-t i { font-style: normal; margin-right: 12px; font: 600 14px var(--sans); font-variant-numeric: tabular-nums; color: var(--bronze); }
.sl-d { display: block; margin-top: 8px; font: 400 15px/1.5 var(--sans); color: var(--ink3); }
.scope { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 32px 0 0; padding-top: 16px; border-top: 1px solid var(--rule); font: 500 14px var(--sans); font-variant-numeric: tabular-nums; color: var(--ink3); }
.note { margin: 24px 0 0; font: 400 15px/1.6 var(--sans); color: var(--ink3); }
.note strong { color: var(--ink); font-weight: 600; }

/* pull quote */
.pq { margin: 0; }
.pq::before { content: "\201C"; display: block; height: 64px; font: 400 120px/1 var(--serif); color: var(--gold); }
.pq p { margin: 0; font: 400 28px/1.3 var(--serif); text-wrap: balance; letter-spacing: -.015em; color: #fff; }
.pq cite { display: block; margin-top: 24px; font: 500 14px/1.4 var(--sans); font-style: normal; color: rgba(255,255,255,.6); }

/* forecast categories on the navy page */
.pg.dark .fc { margin-top: 0; }
.pg.dark .fc-foot { margin-top: 32px; }

/* gold page: the five tests */
.goldpg .tt { font-size: 16px; }
.goldpg .tt th { background: rgba(26,18,6,.08); color: rgba(26,18,6,.72); }
.goldpg .tt td { border-color: rgba(26,18,6,.16); color: rgba(26,18,6,.82); }
.goldpg .tt td:first-child, .goldpg .tt td:last-child { color: #1A1206; }
.goldpg .tt td.na { color: #6B3F05; }

/* steps */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 var(--gut); margin-top: 16px; }
.steps > div { padding-top: 24px; border-top: 1px solid var(--ink); }
.steps .n2 { color: var(--bronze); }
.steps h3 { margin: 24px 0 8px; font: 600 20px/1.3 var(--sans); color: var(--ink); }
.steps p { margin: 0; font: 400 15px/1.6 var(--sans); color: var(--ink2); }
.offer { margin-top: 96px; padding: 48px; background: var(--paper-2); }
.offer h3 { margin: 0 0 24px; font: 400 28px/1.2 var(--serif); letter-spacing: -.02em; color: var(--ink); }
.offer dl { margin: 0; }
.offer dt { margin: 0 0 8px; font: 600 14px var(--sans); color: var(--bronze); }
.offer dd { margin: 0 0 24px; font: 400 15px/1.55 var(--sans); color: var(--ink2); }
.offer .acts { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 32px; }
.offer .acts span { font: 400 15px var(--sans); color: var(--ink3); }
.btn-ink { display: inline-flex; align-items: center; gap: 10px; padding: 16px 24px; background: var(--ink); color: #fff; font: 600 15px var(--sans); text-decoration: none; transition: background .2s cubic-bezier(.22,1,.36,1); }
.btn-ink:hover { background: var(--bronze); } .btn-ink:focus-visible { outline: 2px solid var(--bronze); outline-offset: 3px; }

/* methodology */
.md { columns: 2; column-gap: var(--gut); margin: 0; }
.md div { break-inside: avoid; margin-bottom: 32px; }
.md dt { margin: 0 0 8px; font: 600 14px var(--sans); color: var(--bronze); }
.md dd { margin: 0; font: 400 15px/1.65 var(--sans); color: var(--ink2); }
.md a { color: var(--bronze); }
.close { margin: 0; font: 400 clamp(38px, 2.4vw + 18px, 58px)/1.06 var(--serif); letter-spacing: -.022em; color: var(--ink); max-width: 20ch; text-wrap: balance; }
.related { margin-top: 64px; }
.related a { display: block; padding: 16px 0; border-top: 1px solid var(--rule); font: 500 18px var(--sans); color: var(--ink); text-decoration: none; }
.related a:hover { color: var(--bronze); }
.related a span { float: right; color: var(--bronze); }
.dl-row { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; margin-top: 48px; }
.dl-row a.pdf { font: 600 15px var(--sans); color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }

/* chart component colour adapters */
.pg:not(.dark) .rx-leg i { color: #F1EDE5; }
.sheet .xp-legend { margin: 0 0 24px; }

/* ---------- responsive ---------- */
@media (max-width: 960px) {
  .cover { grid-template-columns: 1fr; padding-top: 128px; padding-bottom: 72px; min-height: 0; }
  .cover-txt, .cover-art { grid-column: 1 / -1; }
  .cover-art { margin-top: 64px; max-width: 360px; }
  .grid { grid-template-columns: 1fr; row-gap: 48px; }
  .grid > * { grid-column: 1 / -1 !important; }
  .right { text-align: left; } .right .n1-cap { margin-left: 0; }
  .band .grid { row-gap: 32px; } .band .grid > div + div { padding: 32px 0 0; border-left: 0; border-top: 1px solid rgba(26,18,6,.2); }
  .steps { grid-template-columns: 1fr; gap: 48px; }
  .md { columns: 1; }
  .sum-list a { grid-template-columns: 1fr; gap: 8px; }
  .pg { padding-top: 96px; padding-bottom: 96px; }
  .ex, .after, .mt96 { margin-top: 64px; }
  .offer { padding: 32px 24px; }
}
@media (max-width: 640px) { .pq p { font-size: 24px; } .mnote q { font-size: 22px; } .op-lab span:last-child { display: none; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

.mnote .n2 { color: var(--bronze); }
.mnote .n2-cap { margin-bottom: 0; }
.mnote q.sm { font-size: 22px; }
.mnote cite { display: block; margin-top: -12px; font: 400 13px/1.4 var(--sans); font-style: normal; color: var(--ink3); }

/* summary opener: unique from the findings */
.sum-h { margin: 0 0 64px; font: 400 clamp(44px, 3.4vw + 16px, 76px)/1.02 var(--serif); letter-spacing: -.025em; color: var(--ink); max-width: 17ch; text-wrap: balance; }
.sum-cap { margin: 0 0 24px; font: 500 12px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--bronze); }
.n1-cap, .n2-cap, .sl-t, .ex-t, .offer h3, .rp h2.h2 { text-wrap: balance; }
.closing { padding-top: 128px; }
.closing .op-rule { margin-bottom: 48px; }
.fc { grid-template-columns: 10fr 16fr; }
@media screen and (max-width: 960px) {
  .grid > .nbox, .grid > :has(> .nbox) { order: 2; }
  .band .b-pair { grid-column: 1 / -1; }
  .band .b-hit::before { display: none; }
  .band .b-hit { padding-top: 32px; border-top: 1px solid rgba(26,18,6,.22); }
  .fc { grid-template-columns: 1fr; }
  .ex-h.hide-m { display: none; }
}
@media screen and (max-width: 640px) { .rp { --m: 24px; } .tx p { font-size: 17px; } .cover-label { letter-spacing: .1em; line-height: 1.5; } .band .b-pair .n2 { font-size: 72px; } }
.sky { -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(50% - 680px), transparent calc(50% - 650px), transparent calc(50% + 650px), #000 calc(50% + 680px));
               mask-image: linear-gradient(to right, #000 0, #000 calc(50% - 680px), transparent calc(50% - 650px), transparent calc(50% + 650px), #000 calc(50% + 680px)); }
.ex-frame .sv-matrix { overflow: hidden; }

/* ===================== v6: balanced compositions ===================== */
.c10-12 { grid-column: 10 / 13; } .c1-4 { grid-column: 1 / 5; } .c6-12 { grid-column: 6 / 13; }
.grid.mid { align-items: center; }
.pair { margin-top: 96px; align-items: center; }
.rp h2.h2.wide { max-width: 22ch; }
.tx p.lede { margin: 0; }

/* summary: headline + intro on one row, findings as a 3 x 2 grid */
.sum-top { align-items: end; margin-bottom: 64px; }
.sum-top .sum-h { margin: 0; }
.sum-intro p { font-size: 17px; }
.sum-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--gut); border-top: 6px solid var(--ink); }
.sum-grid li { border-bottom: 1px solid var(--rule); }
.sum-grid li:nth-child(n+4) { border-bottom: 0; }
.sum-grid a { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; padding: 24px 0 40px; color: inherit; text-decoration: none; }
.sum-grid a:hover .sg-n { color: var(--bronze); }
.sum-grid a:focus-visible { outline: 2px solid var(--bronze); outline-offset: 4px; }
.sg-k { font: 500 12px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bronze); }
.sg-n { margin: 24px 0 16px; font: 600 clamp(64px, 6.4vw, 96px)/.82 var(--sans); letter-spacing: -.05em; color: var(--ink); font-variant-numeric: tabular-nums; transition: color .2s cubic-bezier(.22,1,.36,1); white-space: nowrap; }
.sg-n small { font-size: .3em; letter-spacing: 0; font-weight: 500; margin-left: 8px; color: var(--ink3); }
.sg-t { font: 500 17px/1.4 var(--sans); color: var(--ink2); max-width: 26ch; text-wrap: balance; }
.sum-foot { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gut); margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--rule); align-items: baseline; }
.sum-foot .scope { grid-column: 1 / 7; margin: 0; padding: 0; border: 0; }
.sum-foot .note { grid-column: 7 / 13; margin: 0; }

/* gold band: four equal cells, the finding cell inverted */
.band4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 96px calc(-1 * var(--m)) 0; background: var(--gold); color: #1A1206; }
.band4 > * { padding: 48px 32px 40px; box-sizing: border-box; }
.band4 > :first-child { padding-left: var(--m); }
.band4 > * + * { border-left: 1px solid rgba(26,18,6,.18); }
.b4-lead { margin: 0; align-self: stretch; display: flex; align-items: flex-end; font: 400 clamp(26px, 1.4vw + 12px, 34px)/1.15 var(--serif); letter-spacing: -.015em; color: #1A1206; }
.b4-c .n2 { color: #1A1206; }
.b4-c p { margin: 16px 0 0; font: 500 17px/1.35 var(--sans); color: rgba(26,18,6,.82); max-width: 18ch; }
.b4-c.hit { background: var(--navy); border-left: 0; padding-right: var(--m); }
.b4-c.hit .n2 { color: var(--gold); }
.b4-c.hit p { color: #fff; font-weight: 600; }

/* full-bleed exhibit inside the sheet */
.ex.bleed { margin-left: calc(-1 * var(--m)); margin-right: calc(-1 * var(--m)); }
.ex.bleed .in { margin-left: var(--m); margin-right: var(--m); }
.ex.bleed svg { display: block; width: 100%; height: auto; }

/* stat sidebar */
.side { align-self: center; }
.st + .st { margin-top: 40px; }
.st { padding-top: 16px; border-top: 6px solid var(--goldf); }
.st .n2 { font-size: clamp(64px, 5.6vw, 88px); color: var(--ink); }
.st .n2 small { font-size: .3em; letter-spacing: 0; font-weight: 500; margin-left: 8px; color: var(--ink3); }
.st p { margin: 16px 0 0; font: 500 17px/1.4 var(--sans); color: var(--ink2); max-width: 24ch; text-wrap: balance; }
.side-h { margin: 0 0 24px; font: 500 12px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bronze); }
.side-n { margin: 24px 0 0; font: 400 14px/1.5 var(--sans); color: var(--ink3); }
.cal { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: baseline; padding: 16px 0 24px; border-top: 1px solid var(--rule); }
.cal span { font: 500 16px var(--sans); color: var(--ink2); }
.cal b { font: 600 48px/.9 var(--sans); letter-spacing: -.04em; color: var(--ink); }
.cal i { position: absolute; left: 0; right: 0; bottom: 8px; height: 6px; background: linear-gradient(to right, var(--goldf) calc(var(--b) * 1%), rgba(26,25,22,.1) 0); }
.cal i::after { content: ""; position: absolute; top: -4px; bottom: -4px; left: calc(var(--a) * 1%); width: 2px; background: var(--ink); }

/* quote column */
.qt { margin: 0; padding-left: 24px; border-left: 3px solid var(--goldf); align-self: center; }
.qt p { margin: 0; font: 400 28px/1.28 var(--serif); letter-spacing: -.015em; color: var(--ink); text-wrap: balance; }
.qt cite { display: block; margin-top: 16px; font: 500 14px/1.4 var(--sans); font-style: normal; color: var(--ink3); }
.dark .qt { border-color: var(--gold); } .dark .qt p { color: #fff; } .dark .qt cite { color: rgba(255,255,255,.6); }

/* exhibit with a side panel */
.exs { align-items: center; }
.qchart .sv-root { overflow: visible; }
.qchart .sv-axis, .qchart .sv-sm { font-size: 16px; } .qchart .sv-cat { font-size: 19px; } .qchart .sv-val { font-size: 32px; } .qchart .sv-valsm { font-size: 19px; }
.mini { padding-left: 24px; border-left: 1px solid var(--rule); }
.mini-h { margin: 0 0 16px; font: 500 12px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bronze); }
.mini-t { margin: 0; }
.mini-t div { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.mini-t dt { font: 500 15px var(--sans); color: var(--ink2); }
.mini-t dd { margin: 0; font: 600 32px/1 var(--sans); letter-spacing: -.03em; color: var(--ink); font-variant-numeric: tabular-nums; }
.mini-n { margin: 16px 0 0; font: 400 14px/1.5 var(--sans); color: var(--ink3); }

/* closing statement */
.closing .close { margin: 0; max-width: none; font-size: clamp(40px, 2.8vw + 18px, 64px); }
.end { margin-top: 64px; align-items: start; }
.end .dl-row { margin-top: 0; }
.related { margin-top: 0; }

@media screen and (max-width: 960px) {
  .sum-grid { grid-template-columns: 1fr 1fr; }
  .sum-grid li:nth-child(n+4) { border-bottom: 1px solid var(--rule); }
  .sum-foot { grid-template-columns: 1fr; row-gap: 16px; }
  .sum-foot .scope, .sum-foot .note { grid-column: 1 / -1; }
  .band4 { grid-template-columns: 1fr 1fr; }
  .band4 > :first-child { grid-column: 1 / -1; padding: 40px var(--m) 0; border: 0; }
  .band4 > .b4-c { padding: 32px var(--m) 40px; }
  .band4 > .b4-c + .b4-c:not(.hit) { border-left: 1px solid rgba(26,18,6,.18); }
  .band4 > .b4-c:nth-child(2) { border-left: 0; }
  .b4-c.hit { grid-column: 1 / -1; }
  .mini { padding-left: 0; border-left: 0; padding-top: 24px; border-top: 1px solid var(--rule); }
  .pair { margin-top: 64px; }
}
@media screen and (max-width: 640px) { .sum-grid { grid-template-columns: 1fr; } .sum-grid li { border-bottom: 1px solid var(--rule) !important; } .qt p { font-size: 24px; } }

.ex.bleed .sv-matrix { overflow: hidden; }
.closing .grid > .close { grid-column: 1 / -1; }
.closing .close { font-size: clamp(40px, 3.4vw + 14px, 72px); line-height: 1.04; max-width: 24ch; }

/* v6.1 review fixes */
.c1-5 { grid-column: 1 / 6; } .c1-12 { grid-column: 1 / -1; }
.rp h2.h2.wide { max-width: none; grid-column: 1 / -1; }
#f1 h2.h2.wide, #f4 h2.h2.wide { max-width: 22em; font-size: clamp(38px, 2.4vw + 18px, 58px); }
#f1 h2.h2.wide { margin-bottom: 48px; }
.ex.bleed .sv-totbig { font: 700 18px var(--sans); letter-spacing: 0; }
.sv-matrix .sv-tot { font-size: 18px; font-weight: 700; }
.b4-c p { text-wrap: balance; max-width: 16ch; }
.sum-foot .scope { grid-column: 1 / 9; gap: 8px 16px; } .sum-foot .note { grid-column: 9 / 13; }
.ex-s { max-width: 75ch; text-wrap: pretty; }
.rx { align-items: center !important; }
.steps .n2 { font-size: 64px; }
.steps { margin-top: 48px; }
.lp4 .ls { display: flex; flex-direction: column; }
.lp4 .ls .ui { flex: 1; }
.md.grid { margin: 0; row-gap: 0; }
.md.grid > div { margin: 0; }
.md.grid dt { margin: 0 0 8px; }
.end { margin-top: 64px; display: block; }
.end .dl-row { display: flex; gap: 16px 32px; align-items: center; padding-bottom: 48px; }
.rel3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--gut); }
.rel3 .side-h { grid-column: 1 / -1; }
.rel3 a { border-top: 6px solid var(--ink); padding: 16px 0 0; font-size: 20px; line-height: 1.3; }
.rel3 a span { float: none; display: block; margin-top: 8px; }
@media screen and (max-width: 960px) {
  .grid > .cap-after { order: 3; }
  .rel3 { grid-template-columns: 1fr; row-gap: 24px; }
  .sum-foot .scope, .sum-foot .note { grid-column: 1 / -1; }
}
@media screen and (max-width: 640px) {
  .ex-h { flex-direction: column; gap: 8px; }
}

/* v6.2: summary as chapters, stat sidebars as rows */
.sum-bar { display: flex; justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 6px solid var(--ink); font: 500 12px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bronze); }
.sum-bar span:last-child { color: var(--ink3); }
.sum-grid { border-top: 0; margin-top: 8px; }
.sum-grid a { padding: 32px 0 40px; }
.sum-grid li:nth-child(-n+3) { border-bottom: 1px solid var(--rule); }
.sg-k { display: flex; align-items: baseline; gap: 12px; }
.sg-k b { font: 600 14px var(--sans); letter-spacing: 0; color: #fff; background: var(--ink); padding: 4px 8px 3px; font-variant-numeric: tabular-nums; }
.sg-h { margin: 16px 0 0; min-height: 2.5em; font: 400 24px/1.22 var(--serif); letter-spacing: -.01em; color: var(--ink); text-wrap: balance; max-width: 18ch; }
.sg-n { margin: 24px 0 16px; font-size: clamp(56px, 5.4vw, 80px); }
.sg-t { font-size: 16px; }
.sg-go { margin-top: auto; padding-top: 24px; font: 600 14px var(--sans); color: var(--bronze); }
.sum-grid a:hover .sg-h { color: var(--bronze); }
.sum-grid a:hover .sg-n { color: var(--ink); }

.side .st { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 24px; align-items: end; padding: 16px 0 0; }
.side .st + .st { margin-top: 32px; }
.side .st .n2 { font-size: clamp(56px, 4.4vw, 72px); white-space: nowrap; }
.side .st p { margin: 0 0 6px; font-size: 16px; max-width: none; text-wrap: pretty; }
@media screen and (max-width: 640px) { .sg-h { min-height: 0; } .side .st .n2 { font-size: 56px; } }
.side .st { grid-template-columns: 176px minmax(0, 1fr); }
.side .st .n2 small { font-size: .32em; }
.sg-k { color: var(--bronze); }
@media screen and (max-width: 640px) { .side .st { grid-template-columns: 140px minmax(0, 1fr); } }
/* sidebar stats: number column sized to the widest number in its stack, captions aligned */
.side:has(> .st) { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 32px; }
.side > .st { grid-column: 1 / -1; grid-template-columns: subgrid; column-gap: 32px; }
@media screen and (max-width: 640px) { .side:has(> .st) { column-gap: 20px; } .side > .st { column-gap: 20px; } }

/* v6.3: quiet contents list */
.tc-lab { margin: 0; padding-top: 16px; border-top: 6px solid var(--ink); font: 500 12px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bronze); }
.toc { list-style: none; margin: 16px 0 0; padding: 0; }
.toc li { border-bottom: 1px solid var(--rule); }
.toc a { display: grid; grid-template-columns: 48px minmax(0, 6fr) minmax(0, 2fr) minmax(0, 3fr) 24px; column-gap: var(--gut); align-items: baseline; padding: 24px 0; color: inherit; text-decoration: none; }
.tc-n { font: 600 15px var(--sans); color: var(--bronze); font-variant-numeric: tabular-nums; }
.tc-h { font: 400 24px/1.25 var(--serif); letter-spacing: -.01em; color: var(--ink); transition: color .2s cubic-bezier(.22,1,.36,1); }
.tc-v { font: 600 40px/1 var(--sans); letter-spacing: -.035em; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.tc-v small { font-size: .4em; letter-spacing: 0; font-weight: 500; margin-left: 6px; color: var(--ink3); }
.tc-t { font: 400 15px/1.4 var(--sans); color: var(--ink3); }
.tc-go { font: 400 18px var(--sans); color: var(--ink3); transition: transform .2s cubic-bezier(.22,1,.36,1), color .2s; }
.toc a:hover .tc-h, .toc a:hover .tc-go { color: var(--bronze); }
.toc a:hover .tc-go { transform: translateX(4px); }
.toc a:focus-visible { outline: 2px solid var(--bronze); outline-offset: 4px; }
@media screen and (max-width: 960px) {
  .toc a { grid-template-columns: 36px minmax(0, 1fr) auto; row-gap: 8px; }
  .tc-h { grid-column: 2 / 4; font-size: 21px; }
  .tc-v { grid-column: 2; grid-row: 2; text-align: left; font-size: 32px; }
  .tc-t { grid-column: 2 / 4; grid-row: 3; }
  .tc-go { grid-column: 3; grid-row: 2; align-self: center; }
}
.toc a { grid-template-columns: 48px minmax(0, 5fr) minmax(0, 2fr) minmax(0, 4fr) 24px; padding: 20px 0; }
.toc li:last-child { border-bottom: 0; }
.sum-foot { margin-top: 32px; }
@media screen and (max-width: 960px) { .toc a { grid-template-columns: 36px minmax(0, 1fr) auto; } }
.toc a { grid-template-columns: 48px minmax(0, 6fr) minmax(0, 2fr) minmax(0, 4fr) 24px; }
.tc-h { font-size: 23px; }
@media screen and (max-width: 960px) { .toc a { grid-template-columns: 36px minmax(0, 1fr) auto; } .tc-h { font-size: 21px; } }
.tc-t { white-space: nowrap; } @media screen and (max-width: 960px) { .tc-t { white-space: normal; } }

/* v6.4: cover fits one screen, no blog furniture */
.cover { box-sizing: border-box; height: 100svh; min-height: 620px; max-height: 1100px; padding: clamp(96px, 12vh, 132px) var(--m) clamp(48px, 7vh, 80px); align-content: center; align-items: center; }
.cover-txt { grid-column: 1 / 8; }
.cover h1 { font-size: clamp(56px, min(7.4vw, 11.5vh), 124px); }
.cover-sub { margin-top: clamp(24px, 4vh, 40px); max-width: 540px; font-size: clamp(17px, 2vh, 19px); }
.cover-pdf { display: inline-flex; align-items: center; gap: 10px; margin-top: clamp(24px, 4vh, 40px); padding: 14px 22px; background: var(--gold); color: #1A1206; font: 600 15px var(--sans); text-decoration: none; transition: background .2s cubic-bezier(.22,1,.36,1); }
.cover-pdf:hover { background: #FFE9A8; } .cover-pdf:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.cover-art { grid-column: 9 / 13; margin: 0; display: flex; flex-direction: column; align-items: center; justify-self: center; width: 100%; }
.cover-art svg { width: auto; height: auto; max-width: 100%; max-height: min(58vh, 520px); }
.cover-art figcaption { margin: 16px 0 0; font: 400 13px/1.5 var(--sans); color: rgba(255,255,255,.55); text-align: center; }
.cover-art figcaption b { color: var(--gold); font-weight: 500; }
@media screen and (max-width: 960px) {
  .cover { height: auto; max-height: none; min-height: 100svh; padding-top: 112px; }
  .cover-txt, .cover-art { grid-column: 1 / -1; }
  .cover-art { margin-top: 48px; }
  .cover-art svg { max-height: 40vh; }
}

/* v6.5: Aeolus night surfaces: hero aurora + sailcloth weave, quiet gutters */
.stage > .stage-bg { position: absolute !important; inset: 0; z-index: 0 !important; }
.stage-bg > .bg-weave { opacity: .55; }
.sky { opacity: .55; }
.sky-glow { display: none; }
.cover-wrap { position: relative; z-index: 1; isolation: isolate; }
.cover-wrap > .bg-nightHero { z-index: 0; }
.cover-wrap > .bg-nightHero > .bg-sky { opacity: .6; }
.cover-wrap > .cover { position: relative; z-index: 2; }
/* hero fades into the gutters so the sheet sits on one continuous sky */
.cover-wrap > .bg-nightHero > :is(.bg-aurora, .bg-weave, .bg-vignette) {
  -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.sum-h { font-size: clamp(44px, 2.6vw + 16px, 60px); max-width: none; }
/* hero art: CRM to AI to tangled output */
.cover-art svg { max-height: min(74vh, 700px); }
@media screen and (max-width: 960px) { .cover-art svg { max-height: 52vh; } }
.cover-art { grid-column: 8 / 13; }
.cover-art svg { width: 100%; max-width: 480px; max-height: min(72vh, 640px); }
@media screen and (max-width: 960px) { .cover-art { grid-column: 1 / -1; } .cover-art svg { max-width: 360px; } }

/* v7 copy pass */
.mini-t.m5 div { padding: 8px 0; }
.mini-t.m5 dd { font-size: 24px; }
.n1 .of { font-size: max(.26em, 20px); }
@media (max-width: 767px) { .mini-t.m5 dd { font-size: 22px; } }

/* v8 chapter openers: big serif numeral on the rule */
.chap { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 32px; align-items: end; margin: 0 0 64px; }
.chap-n { display: block; font: 400 clamp(112px, 6vw + 48px, 168px)/.72 var(--serif); letter-spacing: -.05em; color: var(--ink); font-variant-numeric: lining-nums; margin-left: -.04em; }
.chap-r { min-width: 0; }
.chap-k { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin: 0 0 16px; }
.chap-t { margin: 0; font: 600 clamp(20px, .5vw + 15px, 24px)/1.15 var(--sans); letter-spacing: -.01em; color: var(--ink); }
.chap-f { margin: 0; font: 500 12px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--bronze); white-space: nowrap; }
.chap-rule { height: 6px; background: var(--ink); }
.dark .chap-n { color: var(--gold); } .dark .chap-t { color: #fff; } .dark .chap-f { color: var(--gold); } .dark .chap-rule { background: var(--gold); }
.goldpg .chap-n, .goldpg .chap-t { color: #1A1206; } .goldpg .chap-f { color: rgba(26,18,6,.75); } .goldpg .chap-rule { background: #1A1206; }
.rp h2.h2 { font-size: clamp(40px, 2.8vw + 20px, 62px); }
#f1 h2.h2.wide, #f4 h2.h2.wide { font-size: clamp(40px, 2.8vw + 20px, 62px); }
@media (max-width: 767px) {
  .chap { column-gap: 16px; margin-bottom: 40px; }
  .chap-n { font-size: 88px; }
  .chap-k { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 12px; }
  .chap-t { font-size: 18px; }
}
.sum-h { font-size: clamp(44px, 2.6vw + 16px, 56px); }
#f6 h2.h2 { max-width: none; }

/* ===== v8 additions (new structure). v7 does not load this file. ===== */
.rp .sum-top.v8 { display: block; margin-bottom: 64px; }
.rp .sum-top.v8 .sum-h { max-width: none; margin: 0 0 48px; font-size: clamp(40px, 2.4vw + 18px, 52px); }
.rp .sum-top.v8 .sum-intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
.rp .sum-top.v8 .sum-intro p { font-size: 18px; margin: 0; }

/* "Check yours" bridge to the diagnostic */
.rp .chk { margin: 32px 0 0; padding: 20px 24px; border-left: 3px solid var(--goldf); background: rgba(243,208,106,.12); font: 500 16px/1.55 var(--sans); color: var(--ink); }
.rp .chk b { display: block; margin-bottom: 8px; font: 500 12px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bronze); }
.rp .dark .chk { background: rgba(243,208,106,.08); color: rgba(255,255,255,.9); border-left-color: var(--gold); }
.rp .dark .chk b { color: var(--gold); }

/* scorecard: result chips in the five-tests table */
.tt .sc { display: inline-block; margin-right: 10px; padding: 4px 8px 3px; border-radius: 3px; font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; vertical-align: 2px; }
.tt .sc.f { background: #1A1206; color: #F3D06A; }
.tt .sc.s { background: rgba(26,18,6,.12); color: #1A1206; box-shadow: inset 0 0 0 1.5px #1A1206; }
.tt .sc.p { background: #FFFDF5; color: #1A1206; }
.tt-foot { margin: 24px 0 0; font: 500 15px/1.5 var(--sans); color: rgba(26,18,6,.8); max-width: 72ch; }

/* legend for single-series charts */
.xp-legend .sw-n { background: #7489A0; } .xp-legend .sw-s { background: #E2B34C; }

@media (max-width: 767px) {
  .rp .sum-top.v8 .sum-intro { grid-template-columns: 1fr; row-gap: 20px; }
  .tt .sc { display: block; width: max-content; margin: 0 0 8px; }
}

/* wide finding headlines in v8 span the full measure */
#f1 h2.h2.wide, #f2 h2.h2.wide, #f3 h2.h2.wide, #f4 h2.h2.wide, #f5 h2.h2.wide, #f6 h2.h2.wide { max-width: 24em; margin-bottom: 48px; }

/* v8 forecast panels: two equal 10 x 10 percent waffles */
#f1 .fc { grid-template-columns: 1fr 1fr; }
#f1 .fc .wf, #f1 .fc-bar { max-width: 360px; }
@media (max-width: 767px) { #f1 .fc { grid-template-columns: 1fr; } }

/* v8 percent waffles in the pipeline exhibit: bigger squares, 100 in total */
#f3 .pl .wf { --s: 20px; --g: 6px; }
@media (max-width: 640px) { #f3 .pl .wf { --s: 1fr; --g: 3px; } }

/* v8 band uses three-character percentages: keep them inside the cells on small screens */
@media (max-width: 900px) { #f6 .band4 .n2 { font-size: clamp(44px, 11vw, 72px); letter-spacing: -.04em; } }
@media (max-width: 767px) { #f1 .fc .wf, #f1 .fc-bar { max-width: 300px; } }
@media (max-width: 1180px) { .toc .tc-t { white-space: normal; } }

/* v8 report title above the cover headline */
.cover-title { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 clamp(20px, 3.4vh, 36px); padding-top: 18px; border-top: 2px solid var(--gold); width: max-content; max-width: 100%; font: 600 clamp(20px, 1vw + 10px, 26px)/1.15 var(--sans); letter-spacing: -.01em; color: #fff; }
.cover-title span { font-weight: 400; color: var(--gold); }
@media (max-width: 767px) { .cover-title { display: block; width: auto; font-size: 18px; padding-top: 14px; } .cover-title span { display: block; margin-top: 4px; } .cover-txt { min-width: 0; } }
.pdf-only { display: none; }

/* ===== Questions (chapter 09): question headings with self-contained answers ===== */
.qa { max-width: 860px; }
.qa-i { padding: 32px 0; border-top: 1px solid var(--rule); }
.qa-i:last-child { border-bottom: 1px solid var(--rule); }
.qa-i h3 { margin: 0 0 12px; font: 600 21px/1.35 var(--sans); letter-spacing: -.01em; color: var(--ink); scroll-margin-top: 120px; }
.qa-i .tx p { margin: 0; }
/* cover byline */
.cover-by { margin: clamp(16px, 2.4vh, 24px) 0 0; font: 500 14px/1.5 var(--sans); color: rgba(255,255,255,.62); }
.cover-by a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.3); }
.cover-by a:hover { border-color: var(--gold); }

/* ===== v8 PDF: 1280 x 1810 px pages (A4 ratio). Rendered with screen media plus html.pdf, so the desktop layout prints exactly. ===== */
@page { margin: 0; }

  html.pdf, html.pdf body { width: 1280px; background: #F4F0E8 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  html.pdf .site-nav, html.pdf .site-footer, html.pdf .skip-link, html.pdf .sky, html.pdf .stage > .stage-bg, html.pdf .cover-pdf, html.pdf .dl-row, html.pdf .related, html.pdf .ce-bar, html.pdf #cta { display: none !important; }
  html.pdf .stage { background: none !important; }

  /* cover = page 1, full bleed */
  html.pdf .cover-wrap { height: 1810px; overflow: hidden; break-after: page; }
  html.pdf .cover-wrap > .bg-nightHero { position: absolute; inset: 0; }
  html.pdf .cover { height: 1810px !important; max-height: none !important; min-height: 0 !important; max-width: 1280px; padding: 0 96px !important; align-content: center; }
  html.pdf .cover h1 { font-size: 112px; }
  html.pdf .cover-sub { font-size: 21px; max-width: 600px; }
  html.pdf .cover-art svg { max-height: 760px; max-width: 520px; }

  /* the sheet spans the page */
  html.pdf .sheet { max-width: none !important; width: 1280px; margin: 0 !important; box-shadow: none !important; }

  /* every section opens a page; continuation pages keep the section padding and colour */
  html.pdf .sheet > section.pg { break-before: page; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding-top: 96px !important; padding-bottom: 80px !important; }
  html.pdf .sheet > section.closing { break-before: avoid; padding-top: 64px !important; }
  html.pdf #summary { break-before: auto; }

  /* keep units whole */
  html.pdf .chap, html.pdf h2.h2, html.pdf .sum-cap, html.pdf .tc-lab { break-after: avoid; }
  html.pdf figure.ex, html.pdf .ex-h, html.pdf .grid.pair, html.pdf .grid.mid, html.pdf .grid.tx, html.pdf .band4, html.pdf .steps, html.pdf .steps > div, html.pdf .offer, html.pdf .tt, html.pdf .tt tr, html.pdf .tt-foot, html.pdf blockquote, html.pdf .nbox, html.pdf .side, html.pdf .chk, html.pdf .toc li, html.pdf .md > div, html.pdf .sum-top, html.pdf .sum-foot, html.pdf .fc, html.pdf .pl, html.pdf .rx, html.pdf .gcol { break-inside: avoid; }
  html.pdf .ex-s { break-before: avoid; }

  /* print has no hover; links stay legible */
  html.pdf a { text-decoration-thickness: 1px; }


  /* tighter vertical rhythm on paper: same type, less air between blocks */
  html.pdf .ex { margin-top: 64px; }
  html.pdf .pair { margin-top: 64px; }
  html.pdf .chap { margin-bottom: 48px; }
  html.pdf #f1 h2.h2.wide, html.pdf #f2 h2.h2.wide, html.pdf #f3 h2.h2.wide, html.pdf #f4 h2.h2.wide, html.pdf #f5 h2.h2.wide, html.pdf #f6 h2.h2.wide { margin-bottom: 40px; }
  html.pdf #f3 h2.h2.wide { margin-top: 64px !important; }
  html.pdf .n1.xl { font-size: min(240px, calc(100cqi / var(--w, 1.3))); }
  html.pdf #f1 .fc .wf, html.pdf #f1 .fc-bar { max-width: 270px; }
  html.pdf .fc-nums { margin: 10px 0 16px; }

  /* colour pages fill their page */
  html.pdf #f1, html.pdf #tests { min-height: 1810px; box-sizing: border-box; }

  /* Finding 06 on paper: opener + text on one page, the matrix on its own page, then the loop */
  html.pdf #f6 { display: flex; flex-direction: column; }
  html.pdf #f6 > .grid.pair { order: 5; margin-top: 64px; }
  html.pdf #f6 > .ex.bleed { order: 6; break-before: page; margin-top: 0; }
  html.pdf #f6 > .ex.xp-wide { order: 7; break-before: page; margin-top: 0; }
  html.pdf #f6 > .ex.bleed svg { max-height: 1380px; width: auto; max-width: 100%; margin: 0 auto; }

  /* cover branding (nav is hidden on paper) */
  html.pdf .pdf-only { display: flex; }
  html.pdf .pdf-brand { position: absolute; z-index: 3; top: 88px; left: 96px; right: 96px; align-items: center; justify-content: space-between; font: 500 13px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.62); }
  html.pdf .pdf-brand img { height: 45px; width: auto; }
  html.pdf .pdf-date { position: absolute; z-index: 3; bottom: 88px; left: 96px; margin: 0; font: 500 13px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.62); }

  /* summary page: contents breathe, data note sits on the page foot */
  html.pdf #summary { min-height: 1810px; box-sizing: border-box; display: flex; flex-direction: column; }
  html.pdf #summary .toc a { padding-top: 30px; padding-bottom: 30px; }
  html.pdf #summary .sum-foot { margin-top: auto; }
