/* Shared public-site type scale. Screen-only: printed forms keep their sizes. */
@media screen {
  html { font-size: 93.75%; }
  body { font-size: 1rem; line-height: 1.6; }
  button, input, select, textarea { font-family: var(--font-body); }
  h1, h2, h3, h4, h5, h6 { line-height: 1.35; }
  .section-title, .page-title { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
  .btn { font-size: .933rem; font-weight: 600; line-height: 1.4; }
  .breadcrumb, .breadcrumbs { font-size: .867rem; }
  .article-content, .news-content { font-size: 1.067rem; line-height: 1.8; }
  .public-duty-page { font-size: .933rem; }
  .public-duty-page h2 { font-size: 1.4rem !important; font-weight: 700 !important; }
  .public-duty-page h3 { font-size: 1.133rem !important; font-weight: 700 !important; }
  .public-duty-page h4 { font-size: 1rem !important; font-weight: 600 !important; }
  .public-duty-page button, .public-duty-page input, .public-duty-page select,
  .public-duty-page .btn { font-size: .933rem !important; font-weight: 600 !important; }
  .public-duty-page .duty-matrix { font-size: .867rem; }
  .public-duty-page .duty-matrix th { font-size: .867rem; font-weight: 600; line-height: 1.5; }
  .public-duty-page .duty-matrix th, .public-duty-page .duty-matrix td { padding: 9px 10px; }
  .public-duty-page .duty-overview-head { padding: 16px 20px; }
  .public-duty-page .duty-matrix-person { font-weight: 400; margin-bottom: 2px; }
  @media (max-width: 600px) {
    /* Avoid automatic input zoom on phones; keep article text readable. */
    input, select, textarea, .public-duty-page input, .public-duty-page select { font-size: 16px !important; }
  }
}
