/* Shared print contract: repeat assumptions with results; no dark backgrounds.
   Keep long content in normal flow. Never fix the height of a finding or note. */
@page{size:letter;margin:14mm}
:root:not([data-theme="light"]),:root[data-theme="light"],[data-theme="light"],[data-theme="dark"]{color-scheme:light;--canvas:#fff;--surface:#fff;--surface-soft:#fff;--ink:#111;--muted:#333;--subtle:#bbb;--border:#888;--input-border:#555;--accent:#111;--on-accent:#fff;--accent-soft:#fff;--accent-ink:#111;--warning-bg:#fff;--warning-ink:#111;--danger-bg:#fff;--danger-ink:#111;--fair-bg:#fff;--fair-ink:#111;--navy:#fff;--on-navy:#111;--on-navy-muted:#333;--shadow:none;--shadow-raised:none;font-size:10pt}
html,body{background:#fff!important;color:#111!important;margin:0;padding:0}
body{font-family:Arial,sans-serif;line-height:1.45}
.site-header,.skip,.mobile-nav,.guide-toc,.breadcrumbs,.gallery-index,.copy-controls,.manual-copy,.no-print,button,a.button,[data-print],[data-copy-target]{display:none!important}
.site-footer{display:block!important;background:#fff;margin-top:1.25rem;padding:0;border-top:1px solid #aaa;break-inside:avoid}.site-footer .footer-grid{display:none}.site-footer .disclosures{margin:0;padding-top:.5rem;font-size:8pt;color:#333}body:has(.print-attribution) .site-footer{display:none!important}
.container{width:100%;max-width:none;margin:0}.site-main{min-height:0}.section,.component-section{padding-block:1rem}
a{color:inherit;text-decoration:underline}.text-link::after{content:none}
h1,h2,h3,h4,h5{color:#111;break-after:avoid;font-size:14pt;letter-spacing:0;line-height:1.25}h1{font-size:24pt}h2{font-size:18pt}
/* Match the screen selectors so their responsive type cannot override paper
 * sizes. Compact card/result labels retain their component-specific scale. */
.hero h1,.page-heading h1,.error-state h1{font-size:24pt;line-height:1.25;letter-spacing:0}
.article h2,.article section>h2{font-size:18pt;line-height:1.25;letter-spacing:0;margin-top:1.25rem}
.article h3,.article section>h3,.article section>h4{font-size:14pt;line-height:1.25;letter-spacing:0;margin-top:1rem}
.article section>:is(h2,h3,h4){margin-block:0 .75rem}
.quote-summary h1{font-size:24pt;line-height:1.25;letter-spacing:0}.quote-summary h2{font-size:18pt;line-height:1.25;letter-spacing:0}.quote-summary h3{font-size:14pt;line-height:1.25;letter-spacing:0}
.callout :is(h2,h3,h4):not(.result-label){font-size:12pt;line-height:1.25;letter-spacing:0;margin-block:0 .5rem}
/* Paper must include answers even when the screen disclosures are closed. */
.faq details::details-content{content-visibility:visible;height:auto;overflow:visible}.faq details>:not(summary){display:block}
p,li{orphans:3;widows:3}.template-heading{margin-bottom:1.25rem}.template-heading>h1,.template-heading>h2{font-size:24pt}
.hero,.tool-grid,.guide-grid,.calculator-layout,.guide-layout,.quote-summary,.topic-grid,.grid-2{display:block}
.calculator-results,.guide-toc{position:static!important;top:auto}.calculator-layout>*+*,.grid-2>*+*{margin-top:1rem}
.result-card,.form-panel,.finding,.callout,.topic-card,.fact-card,.review-box,.worked-example,.worksheet-context,.quote-summary{box-shadow:none;border:1px solid #888;border-radius:0;background:#fff;padding:1rem;color:#111}
.result-card{break-inside:avoid}.result-value{font-size:30pt}.result-lines>div{padding-block:.45rem}
.quote-grade{padding:1rem 0 0;border:0}.quote-summary .quote-grade .score-number{font-size:24pt}.score{color:#111;background:#fff;border:1px solid #555}
.finding{--finding-ink:#111;--finding-bg:#fff;break-inside:avoid}.finding .finding-severity{border:1px solid #555;color:#111;background:#fff}
.reply-block{background:#fff;border:0;border-left:2px solid #555;border-radius:0;padding:.25rem 0 .25rem 1rem}.reply-block blockquote{font-size:11pt;color:#111}
.report-limits,.review-line,.fine{color:#333}.negotiation-worksheet{max-width:none}.worksheet-questions>li{margin-top:1.25rem}.worksheet-questions blockquote{font-size:11pt;color:#111}
.write-in>div{height:1.5rem;border-bottom:1px solid #777}.print-attribution{font-size:8pt;break-inside:avoid}.worksheet-reminder{margin-top:1rem}
.tool-card,.guide-card,.fact-card{margin-bottom:1rem}.error-state{padding-block:2rem}
input,select,textarea{color:#111!important;background:#fff!important;box-shadow:none!important}textarea{height:auto;min-height:5rem}
table{font-size:9pt}thead{display:table-header-group}tr{break-inside:avoid}.table-wrap{overflow:visible;border-radius:0}th,td{padding:.5rem;border-color:#aaa}
.alphabet,.topic-jumps,.brand-gallery{display:none}.article{max-width:none;font-size:11pt}.article section+section{margin-top:1.25rem}.source-list{font-size:9pt}
