/* Type: humanist system lettering and readable text measures. */
html { font-size: 18px; }
body { font-family: "Trebuchet MS", "Segoe UI", "Aptos", "Verdana", sans-serif; font-size: 1rem; line-height: 1.6; }
button, summary { font: inherit; }
p { margin: 0 0 16px; }
h1, h2, h3 { font-weight: 800; text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 4.8vw, 4rem); line-height: 1.04; letter-spacing: -.055em; }
h2 { font-size: clamp(1.55rem, 2.55vw, 2.15rem); line-height: 1.17; letter-spacing: -.035em; margin: 0 0 18px; }
h3 { font-size: 1.45rem; line-height: 1.23; letter-spacing: -.03em; margin-bottom: 17px; }
.guide-mark { font-size: 1.05rem; line-height: 1; font-weight: 800; letter-spacing: -.02em; text-decoration: none; }
.mark-caption { font-size: .89rem; font-weight: 700; letter-spacing: .045em; }
.header-note { font-size: .95rem; }
.question-tabs a { font-size: 1rem; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; }
.section-label { font-size: .89rem; line-height: 1.35; font-weight: 800; letter-spacing: .07em; margin: 0 0 12px; }
.opening-note { font-size: 1rem; line-height: 1.5; }
.opening-lead { font-size: 1.1rem; line-height: 1.5; margin-bottom: 0; }
.opening-link { font-size: 1rem; font-weight: 700; text-decoration: none; }
.picture-callout { font-size: 1.05rem; font-weight: 700; line-height: 1.35; }
.route-symbol { font-size: 1.85rem; font-weight: 800; line-height: 1; }
.ask-prompt { font-weight: 700; }
.source-link { font-size: 1rem; line-height: 1.45; font-weight: 700; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.answer-pointer { font-size: 2.8rem; font-weight: 800; line-height: 1; }
.next-question { text-decoration: none; }
.next-title { font-size: 1.5rem; line-height: 1.2; font-weight: 700; letter-spacing: -.025em; }
.next-arrow { font-size: 2.2rem; line-height: 1; }
.sources-box h2 { font-size: 1.5rem; }
.evidence-drawer summary { font-size: 1rem; line-height: 1.3; font-weight: 700; }
.drawer-symbol { font-size: 1.8rem; line-height: 1; font-weight: 400; }
.evidence-notes { font-size: 1rem; }
.source-note h3 { font-size: 1.22rem; }
.sheet-header h2 { font-size: 1.6rem; }
.sheet-close { font-size: 1rem; font-weight: 700; }
.guide-footer { font-size: .95rem; line-height: 1.55; }
.guide-footer a { font-size: .95rem; font-weight: 700; text-underline-offset: 4px; }
.question-disc { font-size: 5rem; line-height: 1; font-weight: 800; }
.bill-part h3 { font-size: 1.65rem; }
.urgent-answer h2 { font-size: 1.55rem; }
.missing-questions a { font-size: 1rem; font-weight: 700; line-height: 1.4; }

@media (max-width: 1000px) {
  .question-tabs a { font-size: .94rem; }
  .search-opening h1 { font-size: 3.25rem; }
}
@media (max-width: 760px) {
  html { font-size: 17px; }
  h1, .search-opening h1 { font-size: clamp(2rem, 10.9vw, 3.2rem); letter-spacing: -.052em; line-height: 1.08; }
  h2 { font-size: 1.65rem; }
  h3 { font-size: 1.4rem; }
  .guide-mark { font-size: 1.1rem; }
  .mark-caption, .section-label { font-size: 16px; }
  .question-tabs a { font-size: 16px; }
  .opening-lead { font-size: 1.06rem; }
  .picture-callout { font-size: 1rem; }
  .next-title { font-size: 1.3rem; }
  .next-arrow { font-size: 1.8rem; }
  .sheet-header h2 { font-size: 1.45rem; }
}
