/* The Off-Grid Toolkit — print: US Letter portrait, 0.5 in margins, black on white. */
@page { size: letter portrait; margin: 0.5in; }
html, html.ts-large, html.ts-xl { font-size: 10.5pt !important; }
* { color: #000 !important; background: transparent !important; box-shadow: none !important; text-shadow: none !important; }
body { background: #fff !important; font-size: 10.5pt; line-height: 1.35; padding: 0 !important; }
a { text-decoration: none; }
.sos-bar, .site-header, .site-footer, .tabbar, .skip-link, .btn, .btn-row, .clear-control, .tabs, .chip, .chip-row, .filters, .crumbs, .tick, .btn-icon, .pc-done-row, .pc-nav, .zip-form, .manual, .result-cta, .file-btn, .thumb-x, .bkcta-band, .bkcta-sheet { display: none !important; }
.print-book-line { display: block !important; font-size: 8pt; border-bottom: 0.3mm solid #000; padding-bottom: 1mm; margin-bottom: 4mm; }
main { padding: 0 !important; }
.wrap { max-width: none; padding: 0; }
.panel, .notice, .tile, .hz-card, .pc-box, .pc-need, .pc-steps, .pc-note, .pc-done, .never-box, .result-head, .pc-head, .quote { border: 0.3mm solid #000 !important; break-inside: avoid; border-radius: 2mm !important; }
.page-title, .hero-title, .result-title { font-size: 20pt !important; }
.title-icon, .icon, .tile-hero .zip-form { display: none !important; }
.hz-grid { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; gap: 2mm !important; }
details { display: block; }
details > *:not(summary) { display: block !important; }

body.has-print > *:not(#print-root) { display: none !important; }
body.has-print #print-root { display: block !important; }
.sheet { break-after: page; font-family: "Barlow", Arial, sans-serif; }
.sheet:last-child { break-after: auto; }
.sheet-line { font-size: 7.5pt; margin: 0 0 2mm; border-bottom: 0.3mm solid #000; padding-bottom: 0.8mm; }
.sheet-h { font-family: "Anton", Impact, sans-serif; font-weight: 400; text-transform: uppercase; font-size: 22pt; margin: 0 0 1mm; line-height: 1.05; }
.sheet-sub, .sheet-meta { font-size: 9.5pt; margin: 0 0 2.5mm; }
.sheet-h2 { font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; font-weight: 700; text-transform: uppercase; font-size: 13pt; margin: 3mm 0 1.2mm; }
.sheet-table { width: 100%; border-collapse: collapse; margin: 0 0 2.5mm; }
.sheet-table th, .sheet-table td { border: 0.3mm solid #000 !important; padding: 0.9mm 1.5mm; text-align: left; vertical-align: top; font-size: 9pt; }
.sheet-table thead th { background: #e6e6e6 !important; font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; }
.sheet-table tr { break-inside: avoid; }
.pt-box { width: 7mm; text-align: center; }
.sheet-foot { font-size: 8.5pt; margin-top: 3mm; border-top: 0.3mm solid #000; padding-top: 1mm; }
.sheet-card .pc-why { font-size: 10.5pt; }
.sheet-card .pc-cols { display: grid; grid-template-columns: 2fr 3fr; gap: 3mm; }
.sheet-card .pc-need, .sheet-card .pc-steps, .sheet-card .pc-note, .sheet-card .pc-box, .sheet-card .pc-done { padding: 2mm 3mm; margin: 0 0 2.5mm; }
.sheet-card h3 { font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; font-size: 11pt; text-transform: uppercase; margin: 0 0 1mm; }
.sheet-card .checklist { list-style: none; padding: 0; margin: 0; }
.sheet-card .checklist li { display: flex; gap: 1.5mm; margin: 0 0 0.8mm; }
.pbox { display: inline-block; width: 3.6mm; height: 3.6mm; border: 0.3mm solid #000; flex: none; margin-top: 0.4mm; font-size: 8pt; line-height: 3.4mm; text-align: center; }
.sheet-card ol { margin: 0; padding-left: 5mm; }
.sheet-card ol li { margin: 0 0 1mm; }
.sheet-card .box-label { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 700; text-transform: uppercase; font-size: 9pt; margin: 0 0 0.5mm; }
.sheet-card .box-warning { border-width: 0.8mm !important; }
.sheet-card .pc-table { width: 100%; border-collapse: collapse; font-size: 8.5pt; }
.sheet-card .pc-table th, .sheet-card .pc-table td { border: 0.3mm solid #000; padding: 0.6mm 1.2mm; }
.sheet-card .pc-see { font-size: 8.5pt; }
.sheet-sign { display: grid; place-content: center; text-align: center; height: 9.6in; border: 3mm solid #000; border-radius: 6mm; }
.ps-word { font-family: "Anton", Impact, sans-serif; font-size: 260pt; line-height: 0.9; margin: 0; }
.ps-line { font-family: "Anton", Impact, sans-serif; font-size: 54pt; margin: 4mm 0 0; }
.ps-sub { font-size: 24pt; font-weight: 700; margin: 6mm 0 0; }
.sheet-block .bm-row { list-style: none; display: flex; flex-wrap: wrap; gap: 2mm; padding: 0; margin: 1mm 0; }
.sheet-block .bm-home { border: 0.4mm solid #000; padding: 1.5mm 2mm; border-radius: 1.5mm; min-width: 18mm; display: grid; }
.sheet-block .bm-street { border-top: 0.6mm dashed #000; border-bottom: 0.6mm dashed #000; text-align: center; padding: 1mm; letter-spacing: 2mm; text-transform: uppercase; }
.sheet-block .log-table { border-collapse: collapse; width: 100%; font-size: 8.5pt; }
.sheet-block .log-table th, .sheet-block .log-table td { border: 0.3mm solid #000; padding: 0.8mm 1.2mm; }
.sheet-block .panel { border: 0 !important; padding: 0; }
.menu-table { border-collapse: collapse; width: 100%; font-size: 8.5pt; }
.menu-table th, .menu-table td { border: 0.3mm solid #000; padding: 0.6mm 1.2mm; text-align: left; }
.sheet-kitchen .hint { font-size: 8pt; }
.quote { padding: 1.5mm 2.5mm; margin: 0 0 2mm; }
.quote cite { display: block; font-size: 7.5pt; font-style: normal; }
