/* Letter-sized pages, using the same brand tokens as the website. */
body{background:var(--bg-alt)}
.report-tools{max-width:8.5in;margin:24px auto;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:0 24px;font-size:14px}
.report-tools div{text-align:right}
.report-tools .report-navigation{text-align:left}
.report-years{display:flex;gap:4px;margin-top:15px;padding:4px;width:max-content;background:var(--line);border-radius:8px}
.report-years a{padding:6px 18px;border-radius:5px;color:var(--text-soft);text-decoration:none;font-weight:600}
.report-years a[aria-current="page"]{color:var(--accent);background:var(--bg);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 12%,transparent)}
.report-years a:hover{color:var(--accent)}
.report-years a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.report-tools p{max-width:40ch;font-size:12px;margin-top:8px;color:var(--text-soft)}
.report-tools button{border:0;font-family:inherit;cursor:pointer}
.report-tools button:disabled{opacity:.5;cursor:wait}
.report-status{padding:36px;text-align:center}
.report-page{
  width:8.5in;height:11in;padding:.5in;margin:24px auto;background:var(--bg);
  box-shadow:0 2px 16px color-mix(in srgb,var(--text) 12%,transparent);
  display:flex;flex-direction:column;font-size:10pt;line-height:1.45;
}
.report-header{flex:none;border-top:3px solid var(--accent);border-bottom:1px solid var(--line);padding:8px 0 13px;margin-bottom:32px}
.org-header{display:flex;align-items:center;gap:15px}
.org-header img{width:57px;height:47px;object-fit:contain}
.org-name{font-size:17pt;font-weight:700;letter-spacing:.015em;line-height:1.2}
.org-mission{font-size:8.5pt;color:var(--text-soft);margin-top:3px}
.report-edition{margin-left:auto;text-align:right;font-size:8pt;color:var(--text-soft)}
.page-body{flex:1;min-height:0}
.report-cover .page-body{display:flex;flex-direction:column}
.cover-heading{display:grid;grid-template-columns:1fr 210px;gap:16px;align-items:center;padding:16px 0 30px}
.page-heading{font-size:43pt;line-height:1.04;letter-spacing:-.045em;color:var(--text)}
.page-heading span{color:var(--accent)}
.cover-art{display:block;width:210px;height:auto}
.cover-about{max-width:660px;font-size:10pt;line-height:1.6}
.cover-about h2{font-size:11pt;margin-bottom:10px}
.cover-notes{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);columns:2;column-gap:28px}
.cover-notes p{break-inside:avoid}
.report-block{margin-bottom:17px;break-inside:avoid}
.report-block:last-child{margin-bottom:0}
.intro{font-size:12pt;line-height:1.6;max-width:65ch}
.muted,.note{color:var(--text-soft)}
.note{font-size:8pt;line-height:1.5;margin-top:8px}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.metric{border-top:2px solid var(--accent);padding:8px 0 4px}
.metric strong{display:block;font-size:30pt;line-height:1.15;letter-spacing:-.03em;color:var(--accent)}
.metric p{font-size:10pt;margin-top:5px}
.panel{padding:15px 17px;border:1px solid var(--line);border-radius:6px}
.panel h3,.report-block>h3{font-size:11pt;line-height:1.4;margin-bottom:10px}
.panel h3{font-size:10pt}
.panel .question{font-weight:500;font-size:8.5pt;color:var(--text-soft);white-space:pre-line;margin:-3px 0 9px}
.panel table{font-size:8.5pt}
.panel .note{font-size:7.5pt}
table{border-collapse:collapse;width:100%;font-size:9pt;font-variant-numeric:tabular-nums}
caption{text-align:left;font-size:11pt;font-weight:700;margin-bottom:8px}
th,td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
th{font-size:7.5pt;color:var(--text-soft);font-weight:600}
th:first-child,td:first-child{padding-left:0}
th:last-child,td:last-child{padding-right:0}
td.number,th.number{text-align:right;white-space:nowrap;width:1%}
tbody tr:last-child td{border-bottom:0}
.comments-heading{font-size:24pt;line-height:1.2;letter-spacing:-.025em;margin-bottom:26px;color:var(--accent)}
.report-comments .report-block{margin-bottom:30px}
.report-comments .report-block:last-child{margin-bottom:0}
.quote{padding:0 0 0 17px;border-left:3px solid var(--accent-2)}
.quote .question{font-size:8pt;color:var(--text-soft);margin-bottom:6px}
.quote blockquote{font-size:12pt;line-height:1.55}
.quote figcaption{font-size:8pt;color:var(--text-soft);margin-top:7px}
.methodology{font-size:8.5pt;line-height:1.5}
.methodology h3{font-size:11pt;margin-bottom:8px}
.methodology p+p{margin-top:8px}
.report-footer{
  flex:none;padding:12px 0 0;margin-top:18px;border-top:1px solid var(--line);
  background:transparent;font-size:7pt;line-height:1.5;color:var(--text-soft);
}
.report-footer strong{color:var(--text)}
.report-footer a{color:inherit;text-decoration:none}
.footer-contact{margin-top:3px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:7px;font-size:7pt}
.page-number{white-space:nowrap}
/* The original survey graphics sit beside exact answer tables. Only their
   spacing and type sizes change to fit a printed page. */
.summary-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:44px 0 36px;padding:22px 20px 24px;background:color-mix(in srgb,var(--accent) 5%,var(--bg));border-top:2px solid var(--accent)}
.summary-metrics .metric{border:0;padding:0}
.summary-metrics .metric strong{font-size:35pt}
.summary-metrics .metric p{font-size:9pt;line-height:1.5;margin-top:10px}
.cover-notes.methodology{font-size:8pt;line-height:1.5}
.result-card{padding:12px 15px;border:1px solid var(--line);border-radius:6px}
.result-card>h3{font-size:11pt;line-height:1.35;margin-bottom:6px}
.result-question{font-size:9pt;line-height:1.45;margin-bottom:10px;white-space:pre-line;color:var(--text-soft)}
.result-pair{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
.result-pair>div{min-width:0}
.result-table{border-left:1px solid var(--line);padding-left:16px}
.result-table table{font-size:8.5pt}
.result-table th,.result-table td{padding-top:4px;padding-bottom:4px}
.result-table .note{font-size:7.5pt}
.report-chart .card{padding:0;border:0;box-shadow:none;background:transparent;margin:0}
.report-chart .reveal,.report-chart .rec-spine{opacity:1;translate:0 0;transition:none}
.report-chart .q-row{margin-top:0;gap:14px}
.report-chart .q-pct .big{font-size:32px}
.report-chart .q-pct .under{font-size:10px;max-width:14ch}
.report-chart .ans-bar{height:26px}
.report-chart .ans-keys{gap:5px 10px;margin-top:9px}
.report-chart .akey{font-size:10px}
.report-chart .akey i{width:8px;height:8px;margin-top:2px}
.report-chart .distribution-layout{grid-template-columns:1fr;gap:14px;margin-top:0}
.report-chart .distribution-stat{display:flex;align-items:center;gap:13px}
.report-chart .distribution-stat .big{font-size:32px}
.report-chart .distribution-stat .under{font-size:10px;max-width:24ch;margin:0}
.report-chart .distribution-unit{font-size:9px;margin-bottom:20px}
.report-chart .week-chart{gap:8px}
.report-chart .week-track{height:90px}
.report-chart .week-count,.report-chart .week-day{font-size:10px}
.report-chart .distribution-axis{font-size:10px;margin-top:8px}
.report-chart .household-row{grid-template-columns:65px minmax(0,1fr) 22px;font-size:10px;gap:8px;padding:8px 0}
.report-chart .household-track{height:11px}
.report-chart .rec-wall{margin-top:0;gap:5px 3px;grid-template-columns:repeat(auto-fill,minmax(10px,1fr))}
.report-chart .rec-cell{height:30px}
.report-chart .rec-spine{max-height:25px}
.report-chart .rec-tally{gap:4px 12px;margin-top:12px;font-size:9px}
.report-chart .rec-tally b{font-size:10px}
.report-chart .ages-chart{display:block;width:100%;height:245px}
.report-chart .ages-chart text{font-size:23px}
.report-chart .rep-legend{gap:8px;margin-bottom:10px}
.report-chart .rep-row{grid-template-columns:82px minmax(0,1fr);gap:10px;padding:5px 0}
.report-chart .rep-zip b{font-size:11px}
.report-chart .rep-zip span{font-size:10px}
.report-chart .rep-bar{gap:5px}
.report-chart .rep-bar i{height:10px}
.report-chart .rep-bar em{font-size:10px}
.referrals-pair{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.report-chart .heard-row{grid-template-columns:130px minmax(0,1fr);gap:10px;padding:6px 0}
.report-chart .heard-label{font-size:10px}
.report-chart .heard-bar{gap:6px}
.report-chart .heard-bar i{height:11px}
.report-chart .heard-bar b,.report-chart .heard-bar span{font-size:10px}
@page{size:Letter portrait;margin:.5in}
@media print{
  html,body{background:var(--bg);margin:0;padding:0}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-tools{display:none}
  .report-page{width:7.5in;height:9.98in;padding:0;margin:0;box-shadow:none;break-after:page}
  .report-page:last-child{break-after:auto}
}
/* Keep the report readable on phones; pagination is measured at print width. */
@media screen and (max-width:850px){
  .report-tools{align-items:flex-start;gap:15px}
  .report-tools p{max-width:28ch}
  #report{overflow-x:auto;padding:0 12px 12px}
  .report-page{margin:16px auto}
}
