* { box-sizing: border-box; }
html { scroll-padding-block-start: 1.5rem; }
body { margin: 0; }
img { display: block; max-width: 100%; height: auto; }
p { margin-block: 0 1.1em; }
h2 { margin-block: 0 22px; }
h3 { margin-block: 28px 16px; }
[hidden] { display: none !important; }
.l-page-frame { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(2rem, 4vw, 4.5rem); max-width: 1536px; margin-inline: auto; padding: 40px clamp(24px, 3vw, 48px); }
.l-side-pocket { align-self: start; position: sticky; top: 32px; min-width: 0; max-height: calc(100dvh - 64px); overflow-y: auto; padding: 4px 8px 24px 0; }
.l-masthead { display: flex; align-items: center; min-height: 60px; padding-block: 4px; }
.l-site-purpose { margin-block: 14px 0; }
.l-index-fold { margin-block-start: 28px; }
.l-index-summary { min-height: 48px; padding: 10px 14px; cursor: pointer; }
.l-index-list { list-style: none; padding: 12px 0 0; margin: 0; }
.l-index-list li { margin-block: 4px; }
.l-index-link { display: flex; align-items: center; min-height: 48px; padding: 10px 14px; }
.l-main-pocket { min-width: 0; }
.l-opening { padding-block: 10px 40px; }
.l-page-tab { display: inline-block; padding: 8px 16px; margin-block: 0 24px; }
.l-page-heading { max-width: 20ch; margin: 0; }
.l-opening-copy { max-width: 62ch; margin-block: 24px 0; }
.l-reading-frame { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: clamp(24px, 3vw, 44px); align-items: start; }
.l-answer-column { min-width: 0; max-width: 70ch; }
.l-margin-pocket { min-width: 0; }
.l-answer-block { margin-block-end: 44px; }
.l-answer-block > :first-child { margin-block-start: 0; }
.l-answer-block > :last-child { margin-block-end: 0; }
.l-margin-stack { min-width: 0; padding: 22px 18px 26px; margin-block: 8px 0; }
.l-margin-stack dl { margin-block-end: 0; }
.l-margin-stack > p { margin-block: 0 24px; }
.l-margin-stack dd { margin: 8px 0 26px; }
.l-margin-stack dd:last-child { margin-block-end: 0; }
.l-margin-stack + .l-art-mount { margin-block-start: 26px; }
.l-art-mount { margin: 0; padding: 10px; }
.l-flat-art { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.l-art-mount figcaption { padding: 14px 4px 4px; }
.l-hub-group { margin-block-end: 48px; }
.l-question-rack { padding: 12px 0 0; margin: 0; list-style: none; }
.l-rack-slot { padding-block: 0 17px; padding-inline-start: 11px; }
.l-rack-slot:nth-child(even) { padding-inline-start: 0; padding-inline-end: 11px; }
.l-rack-card { display: grid; grid-template-columns: 30px minmax(0, 1fr) 26px; gap: 14px; align-items: center; position: relative; min-height: 136px; padding: 28px 22px 24px 14px; }
.l-card-tab { align-self: start; display: grid; place-items: center; min-width: 30px; min-height: 42px; margin-block-start: -40px; }
.l-card-copy { min-width: 0; }
.l-card-copy h3 { margin: 0; }
.l-card-copy p { margin: 8px 0 0; }
.l-card-arrow { justify-self: end; }
.l-question-slip { padding: 24px 26px; margin-block: 30px 38px; }
.l-product-forks { margin: 28px 0 0; }
.l-product-forks dd { margin: 10px 0 28px; padding-inline-start: 20px; }
.l-product-forks dd:last-child { margin-block-end: 0; }
.l-prompt-list { padding-inline-start: 1.3em; }
.l-prompt-list li { padding: 5px 0 9px 3px; }
.l-endnote-slip { margin-block: 50px 0; padding: 26px 24px; }
.l-source-list { list-style: none; margin: 18px 0 0; padding: 0; }
.l-source-link { display: flex; align-items: center; min-height: 48px; padding: 10px 0; overflow-wrap: anywhere; }
.l-action-link { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 14px; max-width: 100%; }
.l-next-pocket { margin-block-start: 44px; padding: 24px 28px; max-width: 70ch; }
.l-next-pocket > p { margin-block: 0 14px; }
.l-bottom-slip { margin-block-start: 54px; max-width: 70ch; padding-block: 28px 12px; }
.l-footer-links { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-block-start: 22px; }
.l-skip-link { position: absolute; z-index: 10; top: -120px; left: 20px; display: inline-flex; min-height: 48px; align-items: center; padding: 12px 20px; }
.l-skip-link:focus { top: 12px; }
.l-compare-workspace { padding: 24px 22px; margin-block: 34px 44px; }
.l-view-controls { margin-block-end: 12px; }
.l-view-controls > p { margin-block-end: 14px; }
.l-compare-workspace > p { margin-block: 20px; }
.l-view-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.l-view-button { min-height: 48px; min-width: 110px; padding: 10px 14px; cursor: pointer; }
.l-visit-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.l-visit-columns[data-single] { grid-template-columns: minmax(0, 1fr); }
.l-visit-sheet { min-width: 0; padding: 24px 20px; }
.l-visit-sheet > :first-child { margin-block-start: 0; }
.l-bill-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; margin-block: 30px 12px; overflow: hidden; }
.l-bill-table th, .l-bill-table td { text-align: left; vertical-align: top; padding: 18px 16px; overflow-wrap: break-word; }
.l-bill-table th:first-child { width: 35%; }
.l-bill-table caption { text-align: left; padding-block: 0 18px; }
@media (min-width: 1450px) {
  .l-reading-frame { grid-template-columns: minmax(0, 1fr) 248px; }
}
@media (max-width: 1170px) {
  .l-page-frame { grid-template-columns: 200px minmax(0, 1fr); gap: 30px; }
  .l-reading-frame { grid-template-columns: minmax(0, 1fr) 180px; gap: 22px; }
  .l-margin-stack { padding: 20px 14px; }
  .l-visit-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 980px) {
  .l-page-frame { grid-template-columns: 185px minmax(0, 1fr); padding: 28px 22px; gap: 26px; }
  .l-reading-frame { display: flex; flex-direction: column; gap: 32px; }
  .l-answer-column { width: 100%; max-width: none; }
  .l-margin-pocket { display: contents; }
  .l-margin-stack { order: -1; width: 100%; margin: 0; }
  .l-margin-stack dl { display: grid; grid-template-columns: minmax(100px, 1fr) 3fr; gap: 12px 20px; }
  .l-margin-stack dd { margin: 0; }
  .l-art-mount { max-width: 400px; }
}
@media (max-width: 700px) {
  .l-page-frame { display: block; padding: 18px 18px 28px; }
  .l-side-pocket { position: static; max-height: none; overflow: visible; padding: 0; }
  .l-masthead { min-height: 50px; max-width: 300px; }
  .l-index-fold { margin-block: 18px 26px; }
  .l-index-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 8px; padding-block: 10px; }
  .l-index-list li { margin: 0; }
  .l-index-link { padding: 10px; height: 100%; min-height: 50px; }
  .l-opening { padding-block: 12px 32px; }
  .l-page-heading { max-width: 18ch; }
  .l-opening-copy { margin-block-start: 20px; }
  .l-rack-card { grid-template-columns: 24px minmax(0, 1fr) 20px; gap: 10px; padding: 26px 14px 23px 9px; min-height: 145px; }
  .l-card-tab { min-width: 24px; margin-block-start: -38px; }
  .l-rack-slot { padding-inline-start: 6px; }
  .l-rack-slot:nth-child(even) { padding-inline-end: 6px; }
  .l-question-slip { padding: 22px 20px; }
  .l-compare-workspace { padding: 20px 14px; }
  .l-visit-sheet { padding: 22px 16px; }
  .l-view-button { flex: 1 1 125px; }
  .l-endnote-slip { padding: 24px 20px; }
  .l-bill-table th, .l-bill-table td { padding: 16px 12px; }
  .l-bill-table th:first-child { width: 38%; }
  .l-next-pocket { padding: 22px 20px; }
  .l-footer-links { flex-direction: column; align-items: stretch; }
  .l-footer-links .l-action-link { display: flex; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
@media print {
  .l-page-frame { display: block; padding: 0; }
  .l-side-pocket, .l-view-controls, .l-next-pocket, .l-footer-links, .l-skip-link { display: none; }
  .l-reading-frame { display: block; }
  .l-answer-column, .l-bottom-slip { max-width: none; }
  .l-visit-sheet[hidden] { display: block !important; }
  .l-visit-columns { display: block; }
  .l-compare-workspace > p { display: none; }
  .l-art-mount { display: none; }
  .l-rack-card, .l-answer-block, .l-question-slip { break-inside: avoid; }
}
