html { scroll-behavior: auto; }
.kap-page .site-shell { max-width: 1280px; }
.kap-page-hero { padding: 22px 0 10px; }
.kap-page-hero h1 { margin: 10px 0 17px; font: 800 clamp(34px, 4.6vw, 58px)/1.25 var(--serif); letter-spacing: -.055em; color: var(--ink); }
.kap-page-lead { margin: 0; max-width: 780px; font: 400 var(--text-size)/1.8 var(--serif); word-break: keep-all; overflow-wrap: anywhere; }
.kap-page-counts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 14px 0 0; color: var(--muted); font: 15px/1.7 var(--sans); }
.kap-page-counts b { color: var(--purple); font-size: 19px; }
.kap-page-tools { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; padding: 10px 0 15px; font: 13px/1.6 var(--sans); color: var(--muted); }
.kap-page-tools > span { margin-right: 6px; }
.kap-page-tools button { min-width: 44px; min-height: 44px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fffcf8; color: var(--ink); font: 14px/1.4 var(--sans); cursor: pointer; }
.kap-page-tools button:disabled { opacity: .5; cursor: default; }
.kap-page-tools button:focus-visible, .kap-page a:focus-visible, .kap-page summary:focus-visible { outline: 3px solid var(--purple); outline-offset: 4px; }
.kap-page-guide, .kap-page-series, .kap-page-sources { margin: 40px 0; }
.kap-page-guide { border-top: 1px solid var(--line); padding-top: 30px; }
.kap-page-guide h2, .kap-page-series h2, .kap-page-sources h2 { margin: 0 0 17px; font: 700 clamp(23px, 2.4vw, 29px)/1.55 var(--serif); letter-spacing: -.035em; word-break: keep-all; }
.kap-page-guide p, .kap-page-guide li { font: 400 var(--text-size)/1.8 var(--serif); word-break: keep-all; overflow-wrap: anywhere; }
.kap-page-guide p { max-width: 950px; }
.kap-page-guide details { margin: 13px 0; padding: 0 22px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf9; }
.kap-page-guide summary { padding: 17px 0; font: 600 17px/1.7 var(--sans); cursor: pointer; }
.kap-page-guide details > p:last-child { margin-bottom: 23px; }
.kap-page-guide ol { padding-left: 26px; }
.kap-page-guide li { padding-left: 5px; margin: 15px 0; }
.kap-page-guide .kap-page-ref { font: 14px/1.8 var(--sans); color: var(--muted); }
.kap-page-series .curriculum { margin: 18px 0 0; }
.kap-page-sources { padding: 27px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); }
.kap-page-sources h2 { font: 700 20px/1.7 var(--serif); color: var(--ink); }
.kap-page-sources ol { padding-left: 24px; }
.kap-page-sources p, .kap-page-sources li { font: 14px/1.85 var(--sans); overflow-wrap: anywhere; }
.kap-page-sources li { margin: 10px 0; }
.kap-page-sources a, .kap-page-guide a { color: var(--purple); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 560px) {
  .kap-page-hero { padding: 4px 0 6px; }
  .kap-page-hero .eyebrow { margin: 0 0 6px; }
  .kap-page-hero h1 { font-size: 35px; margin: 0 0 10px; }
  .kap-page-lead { font-size: 18px; line-height: 1.7; }
  .kap-page-counts { margin-top: 8px; }
  .kap-page-tools { justify-content: flex-start; padding: 4px 0; gap: 5px; }
  .kap-page-tools > span { font-size: 12px; }
  .kap-page-tools button { padding: 6px 9px; font-size: 13px; }
  .kap-page-guide, .kap-page-series, .kap-page-sources { margin: 30px 0; }
  .kap-page-guide details { padding: 0 15px; }
  .kap-page-guide summary { font-size: 16px; }
}
@media print {
  .kap-page-tools, .kap-page .breadcrumbs, .kap-page .topbar, .kap-page .end-links { display: none !important; }
  .kap-page .site-shell { width: 100%; max-width: none; }
  .kap-page-hero { padding-top: 0; }
  .kap-page-guide details { break-inside: avoid; }
}
