#complete-report { padding-bottom: 90px; }
.report-nav { position: sticky; top: 0; z-index: 8; display: flex; gap: 8px; overflow-x: auto; padding: 14px 0; background: var(--paper); border-block: 1px solid var(--line); }
.report-nav a { white-space: nowrap; text-decoration: none; font-size: 12px; padding: 10px 12px; border-radius: 4px; }
.report-nav a:hover, .report-nav a:focus-visible, .report-nav a[aria-current] { background: var(--ink); color: var(--surface); }
.report-chapter { padding: 66px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 86px; }
.report-chapter h2 { font-size: clamp(2.4rem, 4vw, 4rem); }
.report-chapter h3 { font: 400 27px/1.15 var(--serif); margin: 0 0 18px; }
.chapter-intro { max-width: 760px; color: var(--muted); margin: 22px 0 30px; }
.report-opening { width: min(100%, 680px); margin-inline: auto; padding-top: 54px; }
.report-opening > h2 { font-size: 20px; line-height: 1.2; letter-spacing: -.02em; }
.report-score-row { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 38px; align-items: center; margin-top: 20px; padding: 25px 0 28px; border-top: 1px solid var(--ink); }
.report-score-lockup { display: flex; align-items: flex-end; gap: 10px; }
.report-score-lockup strong { font: 400 96px/.78 var(--serif); letter-spacing: -.07em; }
.report-score-lockup small { padding-bottom: 7px; color: var(--muted); font-size: 16px; }
.report-verdict h3 { margin-bottom: 5px; font-size: 26px; }
.report-verdict p { margin: 0 0 5px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.report-verdict small { display: block; max-width: 300px; color: #858b87; font-size: 11px; line-height: 1.45; }
.report-image-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.report-image-pair figure { margin: 0; min-width: 0; }
.report-image-pair img, .report-cover-canvas { width: 100%; height: auto; display: block; border: 0; border-radius: 7px; background: #e8e4db; }
.report-image-pair figcaption { margin-top: 5px; font-size: 11px; }
.report-image-note { max-width: 630px; margin: 15px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.report-narrative { margin: 36px 0 0; font: 400 19px/1.55 var(--serif); }
.glance-heading { display: block; margin: 45px 0 16px; padding-top: 14px; border-top: 1px solid var(--ink); }
.glance-heading h3 { margin: 0; font-size: 28px; }
.glance-heading > p { max-width: 570px; margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.glance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; border-top: 1px solid var(--line); }
.glance-card { min-width: 0; min-height: 70px; display: flex; flex-direction: column; padding: 11px 0 10px; color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
.glance-card > span { color: #858b87; font-size: 10px; }
.glance-card strong { margin-top: 2px; font: 400 17px/1.2 var(--serif); }
.glance-card small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.glance-card:hover strong, .glance-card:focus-visible strong { color: var(--accent-dark); }
.glance-card:focus-visible { outline: 3px solid rgba(216,102,59,.34); outline-offset: 3px; }
.first-action { display: block; padding: 22px 0 16px; }
.first-action span { color: var(--accent-dark); font-size: 10px; font-weight: 800; }
.first-action p { max-width: 630px; margin: 7px 0 10px; font-size: 13px; line-height: 1.55; }
.report-primary-link { display: inline-flex; min-height: 44px; align-items: center; color: var(--ink); font-size: 13px; font-weight: 700; text-underline-offset: 4px; }
.report-primary-link:hover, .report-primary-link:focus-visible { color: var(--accent-dark); outline: 3px solid rgba(216,102,59,.34); outline-offset: 3px; }
.reading-guide { margin-top: 22px; }
.report-opening .reading-guide > h3 { margin-bottom: 10px; font: 700 13px/1.4 var(--sans); }
.reading-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.reading-guide-grid > div { min-height: 122px; padding: 14px 0 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.reading-guide-grid b { display: none; }
.reading-guide-grid strong { display: block; font-size: 12px; }
.reading-guide-grid p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.report-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.report-panel { padding: 24px; border: 1px solid var(--line); background: var(--surface); min-width: 0; }
.report-panel p { margin: 12px 0; }
.report-panel .large-value { font: 400 36px/1.1 var(--serif); color: var(--ink); }
.report-small { font-size: 13px; color: var(--muted); }
.status-pill { display: inline-block; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-dark); border: 1px solid var(--line); padding: 4px 8px; margin-bottom: 14px; }
.report-split { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 32px; align-items: start; }
.report-split > * { min-width: 0; }
.evidence-image { width: 100%; display: block; background: #e8e4db; border: 1px solid var(--line); }
.report-evidence { margin: 0; }
.report-evidence figcaption { font-size: 12px; color: var(--muted); margin: 10px 0 20px; }
.pending-visual { min-height: 160px; display: grid; align-content: center; padding: 24px; border: 1px dashed var(--line); background: var(--surface); color: var(--muted); }
.pending-visual strong { color: var(--ink); font-weight: 600; }
.pending-visual p { font-size: 13px; margin: 10px 0 0; }
.metric-card { border-bottom: 1px solid var(--line); padding: 18px 0; }
.metric-card:first-child { padding-top: 0; }
.metric-card header { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.metric-card header > div { min-width: 0; }
.metric-card h4 { margin: 0; font-size: 15px; }
.metric-card strong { font-size: 24px; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.metric-card p { margin: 10px 0; font-size: 13px; color: var(--muted); }
.metric-verdict { display: block; margin-top: 5px; color: #385746; font-size: 12px; font-weight: 700; }
.metric-raw { color: #626a66 !important; font-size: 11px !important; line-height: 1.55; }
.section-verdict { max-width: 850px; margin: 0 0 30px; font: 400 24px/1.45 var(--serif); text-wrap: pretty; }
.evaluation-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 14px; margin: 16px 0 8px; }
.evaluation-line strong { font: 400 38px/1 var(--serif); color: var(--ink); }
.evaluation-line strong small { margin-left: 4px; color: var(--muted); font: 12px/1 var(--sans); }
.evaluation-line > span { color: var(--ink); font-size: 14px; font-weight: 750; }
.evaluation-line[data-rating="excellent"] > span, .evaluation-line[data-rating="very-good"] > span { color: #385746; }
.evaluation-line[data-rating="needs-attention"] > span { color: var(--accent-dark); }
.symmetry-result { border-bottom: 0; padding: 0; }
.position-verdict { margin: 14px 0 4px !important; font: 400 26px/1.15 var(--serif); text-wrap: balance; }
.observation-card > p:not(.metric-raw) { min-height: 42px; }
.reference-track { height: 9px; position: relative; margin: 18px 0 8px; background: #e8e4db; }
.reference-track .band { position: absolute; top: 0; bottom: 0; background: var(--sage); }
.reference-track .marker { position: absolute; top: -5px; width: 3px; height: 19px; background: var(--accent-dark); }
.range-labels { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; color: var(--muted); }
.report-button { border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); min-height: 44px; padding: 9px 14px; cursor: pointer; font-size: 13px; }
.report-button:hover, .report-button[aria-pressed="true"] { background: var(--ink); color: var(--surface); }
.report-button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.report-button:disabled { cursor: not-allowed; opacity: .5; }
.metric-card .report-button { margin-top: 10px; }
.report-summary { margin: 24px 0 0; padding: 20px 0; border-top: 1px solid var(--ink); font-size: 15px; }
.report-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.report-columns figure { margin: 0; }
.report-columns figcaption { font-size: 13px; margin-top: 8px; color: var(--muted); }
.report-facts { margin: 0; }
.report-facts > div { display: grid; grid-template-columns: 1fr 1.5fr; padding: 10px 0; border-bottom: 1px solid var(--line); gap: 16px; }
.report-facts dt { font-size: 12px; color: var(--muted); }
.report-facts dd { margin: 0; font-size: 13px; }
.style-feedback { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
.style-preview { margin: 0; }
.style-preview img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--paper); }
.style-preview figcaption { margin-top: 8px; font-size: 12px; color: var(--muted); }
.style-download { display: inline-flex; align-items: center; text-decoration: none; }
.style-presentation-picker { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px 28px; align-items: end; margin: 12px 0 0; padding: 26px 0; border-top: 1px solid var(--ink); }
.style-presentation-picker h3 { margin: 8px 0; }
.style-presentation-picker p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; text-wrap: pretty; }
.style-presentation-options { display: grid; grid-template-columns: repeat(2, minmax(96px,1fr)); gap: 6px; }
.style-presentation-options .report-button { min-height: 44px; }
.style-presentation-options .report-button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.style-generation-notice { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 28px; align-items: end; margin-bottom: 28px; padding: 26px 0; border-block: 1px solid var(--ink); }
.style-generation-notice h3 { margin-bottom: 8px; }
.style-generation-notice p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.style-generation-notice #style-service-status { grid-column: 1 / -1; }
.style-generate-all { min-width: 220px; background: var(--ink); color: var(--paper); border-color: var(--ink); font-weight: 650; }
.style-generate-all:hover:not(:disabled) { background: var(--accent); border-color: var(--accent); }
.style-generation-status { min-height: 36px; margin: 10px 0 0 !important; color: var(--muted); font-size: 12px; line-height: 1.5; }
.report-button[aria-busy="true"] { cursor: wait; opacity: .7; }
.report-radar { width: min(100%, 390px); display: block; margin: auto; }
.report-coverage { display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0; }
.report-coverage span { font-size: 12px; color: var(--muted); border-bottom: 1px solid var(--line); padding-bottom: 7px; }
.report-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 20px 0; }
.shape-result { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 48px; align-items: start; }
.shape-name { margin: 0 0 8px; font: 400 clamp(56px,8vw,104px)/.9 var(--serif); letter-spacing: -.055em; }
.shape-bars { display: grid; gap: 14px; padding-top: 6px; }
.shape-bars > div { display: grid; grid-template-columns: 70px minmax(0,1fr) 42px; gap: 12px; align-items: center; font-size: 12px; }
.shape-bars > div > div { height: 8px; background: #e8e4db; overflow: hidden; }
.shape-bars i { display: block; height: 100%; background: var(--accent); }
.shape-bars b { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.cohort-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin: 42px 0 18px; padding-top: 22px; border-top: 1px solid var(--ink); }
.cohort-heading h3 { margin-bottom: 6px; }
.cohort-heading p { max-width: 620px; margin: 0; color: var(--muted); font-size: 13px; }
.cohort-card .large-value small, .report-panel .large-value small { margin-left: 5px; color: var(--muted); font: 12px/1.3 var(--sans); }
.distribution-track { position: relative; height: 24px; margin: 22px 0 10px; background: linear-gradient(90deg,#ece8df 0%,#b8c7bb 50%,#ece8df 100%); }
.distribution-track span { position: absolute; top: -5px; width: 3px; height: 34px; background: var(--accent-dark); }
.observation-meter { height: 7px; margin: 18px 0 12px; background: #e8e4db; }
.observation-meter i { display: block; height: 100%; background: var(--sage); }
.age-observation { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 44px; margin-top: 22px; padding: 28px 0; border-block: 1px solid var(--ink); }
.age-observation h3 { margin: 0 0 8px; font-size: clamp(44px,6vw,72px); }
.age-observation p, .age-observation ul { color: var(--muted); font-size: 13px; line-height: 1.6; }
.age-observation ul { margin: 0; padding-left: 20px; }
.accessory-lead { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 44px; align-items: end; margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--ink); }
.accessory-lead h3 { margin: 0; font-size: clamp(30px,4vw,48px); }
.accessory-lead > p { margin: 0; color: var(--muted); line-height: 1.65; }
.recommendation-list { list-style: none; margin: 18px 0; padding: 0; }
.recommendation-list li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); }
.recommendation-list b { color: var(--accent-dark); font-size: 11px; }
.recommendation-list span { font: 400 20px/1.2 var(--serif); }
.quality-ledger { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--ink); }
.quality-check { min-width: 0; padding: 18px 18px 18px 0; border-bottom: 1px solid var(--line); }
.quality-check:nth-child(even) { padding-left: 18px; padding-right: 0; border-left: 1px solid var(--line); }
.quality-check > div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.quality-check span { font-weight: 650; }
.quality-check strong { color: var(--muted); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.quality-check[data-quality="pass"] strong { color: #476a55; }
.quality-check[data-quality="limited"] strong, .quality-check[data-quality="retake"] strong { color: var(--accent-dark); }
.quality-check p { min-height: 40px; margin: 8px 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.quality-check small { font-size: 11px; color: #858b87; }
.color-profile { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 56px; align-items: start; }
.season-name { margin: 0 0 14px; font: 400 clamp(52px,7vw,88px)/.9 var(--serif); letter-spacing: -.05em; }
.palette-swatches { display: grid; grid-template-columns: repeat(4,1fr); min-height: 210px; border: 1px solid var(--line); }
.palette-swatches span + span { border-left: 1px solid rgba(255,255,255,.45); }
.palette-swatches--avoid { grid-template-columns: repeat(3,1fr); min-height: 74px; margin-top: 8px; }
.ai-evidence { margin: 18px 0; padding-left: 19px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.ai-action { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 28px; align-items: end; margin-top: 30px; padding: 26px 0; border-block: 1px solid var(--ink); }
.ai-action h3 { margin: 0 0 8px; }
.ai-action p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.ai-action > .report-small { grid-column: 1 / -1; }
.color-profile > div > p:not(.season-name) { color: var(--muted); font-size: 13px; line-height: 1.65; }
.accessory-tryon { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 30px; align-items: center; margin: 0 0 28px; padding: 28px 0; border-block: 1px solid var(--ink); }
.accessory-tryon figure { margin: 0; }
.accessory-tryon img { display: block; width: 100%; max-height: 620px; aspect-ratio: 3 / 4; object-fit: cover; background: #e8e4db; }
.accessory-tryon figcaption { margin-top: 8px; color: var(--muted); font-size: 12px; }
.accessory-tryon > div > p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.recommendation-list--actions li { grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; }
.recommendation-list--actions .report-button { min-width: 76px; }
.plan-first { max-width: 900px; padding: 30px 0; border-block: 1px solid var(--ink); }
.plan-first h3 { max-width: 800px; margin-bottom: 0; font-size: clamp(30px,4vw,48px); }
.plan-timeline { list-style: none; margin: 32px 0; padding: 0; }
.plan-timeline > li { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 22px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.plan-timeline > li > b { color: var(--accent-dark); font: 400 30px/1 var(--serif); }
.plan-timeline > li > div > span { color: var(--accent-dark); font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.plan-timeline h3 { margin: 6px 0 12px; }
.plan-timeline ul { margin: 0; padding-left: 19px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.unlock-banner { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(34px,6vw,76px); margin:72px 0 18px; padding:clamp(28px,5vw,58px); border-radius:10px; background:var(--ink); color:#fff; }
.unlock-banner h2 { max-width:780px; margin:0 0 16px; font:400 clamp(2.4rem,5vw,4.4rem)/.98 var(--serif); letter-spacing:-.04em; }
.unlock-banner p:not(.eyebrow) { color:#c8cfcb; }
.unlock-copy > p:not(.eyebrow) { max-width:720px; }
.unlock-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px; border-block:1px solid rgba(255,255,255,.2); }
.unlock-benefits > div { min-width:0; padding:18px 18px 18px 0; }
.unlock-benefits > div + div { padding-left:18px; border-left:1px solid rgba(255,255,255,.2); }
.unlock-benefits span,.unlock-checkout > span { display:block; color:#aeb8b3; font-size:10px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.unlock-benefits strong { display:block; margin-top:6px; font-size:12px; line-height:1.45; }
.unlock-checkout { display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:15px; }
.unlock-checkout > strong { font:400 34px/1.1 var(--serif); }
.unlock-button { min-height:52px; background:var(--accent); border-color:var(--accent); color:#fff; }
.unlock-button:hover { background:var(--accent-dark); border-color:var(--accent-dark); }
.unlock-button:focus-visible { outline:3px solid rgba(255,255,255,.72); outline-offset:3px; }
.locked-chapter { min-height:190px; display:grid; grid-template-columns:80px minmax(0,1fr) 150px; align-items:center; gap:30px; margin:14px 0; padding:34px 38px; border:1px solid var(--line); background:var(--surface); }
.locked-chapter h2 { margin:12px 0 7px; font-size:clamp(2rem,4vw,3.25rem); }
.locked-chapter p { max-width:700px; margin:0; color:var(--muted); }
.locked-chapter-number { color:var(--accent-dark); font-size:13px; font-weight:800; letter-spacing:.16em; }
.locked-chapter-action { text-align:right; }
.locked-chapter-action > span { display:block; color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.locked-chapter-action > strong { display:block; margin-top:5px; font-size:12px; }
.mobile-unlock-bar { display:none; }
@media (max-width: 850px) {
  .report-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-split { grid-template-columns: 1fr; }
  .report-chapter { padding: 48px 0; }
  .report-score-row { gap: 28px; }
}
@media (max-width: 560px) {
  .report-cards, .report-columns { grid-template-columns: 1fr; }
  .report-panel { padding: 20px; }
  .report-nav { margin-inline: -4px; }
  .report-opening { padding-top: 42px; }
  .report-score-row { grid-template-columns: 120px minmax(0,1fr); gap: 18px; }
  .report-score-lockup strong { font-size: 74px; }
  .report-verdict h3 { font-size: 22px; }
  .report-image-pair, .glance-grid, .reading-guide-grid { column-gap: 12px; }
  .report-narrative { margin-top: 30px; font-size: 18px; }
  .shape-result, .age-observation, .accessory-lead, .accessory-tryon, .ai-action, .style-presentation-picker, .style-generation-notice, .color-profile { grid-template-columns: 1fr; gap: 24px; }
  .ai-action > .report-small { grid-column: auto; }
  .recommendation-list--actions li { grid-template-columns: 30px minmax(0,1fr); }
  .recommendation-list--actions .report-button { grid-column: 2; justify-self: start; }
  .style-generation-notice #style-service-status { grid-column: auto; }
  .shape-name { font-size: 64px; }
  .cohort-heading { align-items: start; flex-direction: column; }
  .quality-ledger { grid-template-columns: 1fr; }
  .quality-check, .quality-check:nth-child(even) { padding: 16px 0; border-left: 0; }
  .palette-swatches { min-height: 150px; }
  .plan-timeline > li { grid-template-columns: 52px minmax(0,1fr); gap: 12px; }
  .unlock-banner { grid-template-columns:1fr; gap:30px; }
  .unlock-benefits { grid-template-columns:1fr; }
  .unlock-benefits > div { padding:14px 0; }
  .unlock-benefits > div + div { padding-left:0; border-top:1px solid rgba(255,255,255,.2); border-left:0; }
  .locked-chapter { grid-template-columns:42px 1fr; gap:16px; padding:25px 20px; }
  .locked-chapter-action { grid-column:2; display:flex; align-items:baseline; gap:8px; text-align:left; }
  .mobile-unlock-bar { position:fixed; z-index:20; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); left:12px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 12px 12px 16px; border:1px solid rgba(255,255,255,.2); border-radius:9px; background:var(--ink); color:#fff; box-shadow:0 6px 8px rgba(23,32,29,.22); opacity:0; pointer-events:none; transform:translateY(calc(100% + 30px)); transition:opacity .2s ease,transform .2s var(--ease); }
  .mobile-unlock-bar.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
  .mobile-unlock-bar > div span { display:block; color:#b7c0bc; font-size:10px; }
  .mobile-unlock-bar > div strong { display:block; font-size:14px; }
  .mobile-unlock-bar .unlock-button { min-height:46px; padding-inline:18px; }
}
@media print {
  .site-header, .hero, .method, footer, .report-nav, .report-actions, .style-feedback, .score-options, .overlay-controls, .metric-card button, .ai-action button, .recommendation-list--actions button, .mobile-unlock-bar { display: none !important; }
  .shell { width: 100%; }
  .report-preview, .report-chapter { padding: 24px 0; }
  .report-panel, .metric-card, figure { break-inside: avoid; }
  .report-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-chapter h2 { font-size: 30px; }
  body { background: white; }
}
