/* Type: local system faces with typewritten copy and a softer margin note. */
:root {
  --p-copy-font: "Courier New", Courier, ui-monospace, monospace;
  --p-note-font: Georgia, "Times New Roman", ui-serif, serif;
}
body { font-family: var(--p-copy-font); font-size: 1rem; line-height: 1.6; font-weight: 400; }
button, summary { font-family: inherit; font-size: 1rem; line-height: 1.6; }
p, li, a, figcaption { font-size: 1rem; }
h1, h2, h3 { font-family: var(--p-copy-font); font-weight: 700; line-height: 1.15; overflow-wrap: break-word; }
h1 { font-size: 2.25rem; letter-spacing: -0.045em; }
h2, h3 { font-size: 1.5rem; letter-spacing: -0.035em; }
a { text-underline-offset: 5px; text-decoration-thickness: 1px; }
[class$="-masthead"] { font-size: 1.5rem; line-height: 1.05; font-weight: 700; letter-spacing: -0.06em; text-decoration: none; }
[class$="-masthead"] span:first-child { font-size: 2rem; }
[class$="-site-role"] { line-height: 1.35; }
[class$="-label"] { font-size: 0.875rem; font-weight: 500; letter-spacing: 0.055em; line-height: 1.5; margin: 0; }
.p-start-routes > .p-start-label, .p-cautions-hero-copy > .p-cautions-label { font-size: 1rem; }
[class$="-index-group"] h2 { font-size: 1.25rem; letter-spacing: 0.025em; text-decoration: underline; text-underline-offset: 5px; }
[class$="-index-item"] a { line-height: 1.35; }
[class$="-hero-deck"] { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; font-weight: 700; letter-spacing: -0.025em; }
[class$="-hero-art"] figcaption { font-family: var(--p-note-font); font-style: italic; line-height: 1.45; font-size: 1.25rem; }
[class$="-ask-note"] h2 { font-family: var(--p-note-font); font-style: italic; font-weight: 400; font-size: 1.75rem; line-height: 1.25; letter-spacing: -0.02em; }
[class$="-footer-mark"] { font-family: var(--p-note-font); font-style: italic; }
[class$="-card-arrow"] { font-size: 2rem; line-height: 1; }
[class*="-word-card-"] .p-start-label, [class$="-pager"] [class$="-label"] { font-size: 1rem; }
[class$="-button"], [class$="-language-button"], [class$="-chapter-index"] summary { font-weight: 700; }
[data-page="start"] h1 { font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.08; letter-spacing: -0.065em; }
[data-page="start"] [class$="-hero-copy"] .p-start-label { text-transform: uppercase; }
[data-page="start"] [class$="-word-card-1"] h3 { font-size: clamp(2rem, 4vw, 3rem); }
[data-page="start"] [class$="-word-card-2"] h3 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
::selection { background: #B5A642; color: #2E2E2E; }
@media (max-width: 480px) {
  [class$="-masthead"] { font-size: 1.25rem; }
  [class$="-masthead"] span:first-child { font-size: 1.75rem; }
  [class$="-hero-deck"] { font-size: 1.5rem; }
}
