.report-heading { border-top: 5px solid #3400d0; border-bottom: 1px solid var(--line); padding: 18px 0; grid-column: 1 / -1; }
.report-brand { color: #3400d0; font-weight: 800; font-size: 1rem; text-decoration: none; }
.report-heading .results-kicker { color: #3400d0; margin-top: 18px; font-size: .875rem; letter-spacing: .08em; }
.report-heading h2 { font-family: Arial, sans-serif; font-size: 1.5rem; line-height: 1.3; overflow-wrap: anywhere; }
.report-heading p { font-size: .875rem; line-height: 1.6; }
#reportSample { display: block; color: #713f12; font-size: .875rem; }
.person-result { background: #f9f7fc; border: 1px solid #ded4e9; border-left: 4px solid #3400d0; border-radius: 10px; margin: 16px 0; padding: 18px; min-width: 0; }
.person-result > span { color: #3400d0; font-size: 1rem; overflow-wrap: anywhere; }
.person-result > strong { font-family: Arial, sans-serif; color: #3400d0; font-size: clamp(1.5rem, 3vw, 2rem); overflow-wrap: anywhere; }
.person-result > small, .person-context { font-size: .875rem; }
.person-context { color: var(--muted); margin: 10px 0; }
.person-result dl div { font-size: .875rem; gap: 14px; align-items: start; }
.person-result dt { flex: 1; }
.person-result dd { flex: 0 0 auto; text-align: right; }
.narrative-summary { background: white; padding: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding-top: 20px; }
.narrative-summary h3, .coverage-panel h3 { font-size: 1.125rem; }
.narrative-summary h4 { color: #3400d0; font-size: 1rem; margin: 20px 0 8px; }
.narrative-summary p { font-size: 1rem; line-height: 1.65; }
.summary-assumptions { margin: 0; padding-left: 20px; font-size: .875rem; color: #40515f; }
.summary-assumptions li + li { margin-top: 10px; }
.summary-tools, .summary-panel { grid-column: 1 / -1; }
.summary-learning { grid-column: 1 / -1; border-top: 1px solid var(--line); margin-top: 20px; padding-top: 18px; }
.summary-learning h3 { font-size: 1.125rem; margin: 0 0 12px; }
.summary-learning h4 { font-size: 1rem; color: #3400d0; margin: 14px 0 7px; }
.summary-learning p { font-size: .875rem; line-height: 1.6; margin: 0 0 8px; }
.summary-learning a { display: block; font-size: .875rem; line-height: 1.6; color: #3400d0; padding: 8px 0; }
.summary-panel { border: 1px solid #ded4e9; border-radius: 10px; margin-top: 12px; padding: 16px; background: #fcfaff; }
.summary-panel p, .summary-panel legend, .comparison-check, .comparison-control { font-size: .875rem; line-height: 1.6; }
.summary-panel legend { font-weight: 700; margin-bottom: 10px; }
.assumption-links { display: grid; gap: 10px; }
.assumption-links button { text-align: left; font-size: .875rem; }
.comparison-check { display: flex; gap: 10px; margin-top: 14px; align-items: flex-start; }
.comparison-check input { flex: 0 0 20px; min-height: 20px; margin-top: 4px; }
.comparison-control { display: grid; gap: 6px; color: var(--ink); }
.comparison-control select { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: white; padding: 8px; }
.comparison-person { border-top: 1px solid #ded4e9; padding-top: 12px; margin-top: 18px; }
.comparison-person h4 { font-size: 1rem; color: #3400d0; margin: 0 0 12px; overflow-wrap: anywhere; }
.comparison-person table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.comparison-person caption { text-align: left; color: var(--muted); padding-bottom: 10px; }
.comparison-person th, .comparison-person td { text-align: left; padding: 10px 5px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.comparison-person td:last-child { text-align: right; }
.comparison-note { color: var(--muted); }
.comparison-reference { display: block; margin-top: 5px; font-size: .75rem; overflow-wrap: anywhere; color: var(--muted); }
.mini-disclaimer { font-size: .875rem; text-align: left; }
.print-summary-mode .summary-tools, .print-summary-mode .summary-learning, .print-summary-mode .calculator-next-steps { display: none !important; }
.print-summary-mode .coverage-panel select { appearance: none; border: 0; padding: 0; background: transparent; }
.print-summary-mode .coverage-panel:not(:has(#comparisonResults:not([hidden]))) { display: none; }
@media (max-width: 600px) {
  .report-heading h2 { font-size: 1.4rem; }
  .person-result dl div { gap: 8px; }
}
@media print {
  @page { margin: 15mm; }
  .results-card, .print-summary-mode .results-card { border: 0; display: block; padding: 0; break-inside: auto; }
  .report-heading { border-top-width: 3px; }
  .person-result, .comparison-person, .narrative-summary h4 { break-inside: avoid; }
  .narrative-summary h4 { break-after: avoid; }
  .narrative-summary p { font-size: 10pt; }
  .summary-tools, .summary-learning, #comparisonConsent, #comparisonError { display: none !important; }
  .coverage-panel:not(:has(#comparisonResults:not([hidden]))) { display: none !important; }
  .coverage-panel select { appearance: none; border: 0; padding: 0; background: transparent; }
  .summary-assumptions, .report-heading p, .comparison-note, .mini-disclaimer { font-size: 9pt; }
}
