/* Editorial information pages, extending the approved landing-page system. */
.page-nav { display: flex; gap: 1.6rem; flex-wrap: wrap; padding-block: 1.25rem; border-bottom: 1px solid var(--panel-edge); }
.page-nav a { font: .85rem/1.6 var(--font-mono); color: var(--ink-dim); text-decoration: none; padding-block: .3rem; }
.page-nav a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-underline-offset: .55em; text-decoration-color: var(--accent); }
.page-nav a:hover { color: var(--ink); }
.page-heading { padding-block: 4rem 3rem; }
.page-heading h1 { font-size: clamp(2.6rem, 5.8vw, 4.8rem); line-height: 1.07; letter-spacing: -.055em; max-width: 18ch; }
.page-heading > p { color: var(--ink-dim); font-size: 1.2rem; max-width: 45ch; margin-top: 1.5rem; }
.page-columns { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 2.25fr); gap: 4rem; padding-bottom: 6rem; align-items: start; }
.side-note, .section-index { font: .9rem/1.8 var(--font-mono); color: var(--ink-dim); }
.side-note p + p { margin-top: 2rem; font-size: .8rem; }
.side-note a { display: inline-block; margin-top: 1.5rem; text-underline-offset: .3em; }
.section-index { position: sticky; top: 6rem; display: flex; flex-direction: column; gap: .8rem; border-top: 1px solid var(--panel-edge); padding-top: 1.2rem; }
.section-index a { text-decoration: none; }
.section-index a:hover { text-decoration: underline; text-underline-offset: .25em; color: var(--ink); }
.reading-copy { min-width: 0; max-width: 48rem; }
.reading-copy p { line-height: 1.75; color: var(--ink-dim); }
.reading-copy p + p { margin-top: 1rem; }
.reading-copy a { text-underline-offset: .22em; }
.copy-section { padding-block: 2.25rem; border-top: 1px solid var(--panel-edge); }
.copy-section:first-child { padding-top: 1.5rem; }
.copy-section h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.2; margin-bottom: 1.25rem; }
.reading-copy ul, .reading-copy ol { padding-left: 1.4rem; color: var(--ink-dim); line-height: 1.75; margin-block: 1.2rem; }
.reading-copy li + li { margin-top: .65rem; }
.contact-address { display: inline-block; font: 700 clamp(1.15rem, 3vw, 2.25rem)/1.4 var(--font-display); overflow-wrap: anywhere; margin-bottom: 2.5rem; }
.question summary { font: 500 1rem/1.6 var(--font-mono); padding-block: 1.3rem; }
.question > div { padding: 0 0 1.5rem 1.2rem; }
.faq-copy .copy-section { padding-bottom: 2.5rem; }
.faq-copy .copy-section + .copy-section { border-top: 0; }
.status-note { border-left: 2px solid var(--accent); padding: .25rem 0 .25rem 1.25rem; margin-bottom: 2rem; }
.reading-copy .price-list { margin-top: 1.5rem; }
.policy-layout { grid-template-columns: minmax(200px, 1fr) minmax(0, 2.6fr); gap: 3rem; }
.policy-layout .section-index { font-size: .8rem; gap: .5rem; max-height: calc(100vh - 8rem); overflow-y: auto; padding-right: .75rem; }
.policy-copy { overflow-wrap: anywhere; }
.policy-copy > p:first-child { margin-bottom: 2rem; font: .9rem/1.6 var(--font-mono); }
.policy-copy h2 { margin: 2.5rem 0 1.1rem; font-size: 1.65rem; line-height: 1.3; }
.policy-copy h3 { margin: 2rem 0 1rem; font-size: 1.2rem; line-height: 1.4; }
.policy-copy h2 strong, .policy-copy h3 strong { font-size: .85em; }
.policy-copy strong { color: var(--ink); }
.policy-copy hr { border: 0; border-top: 1px solid var(--panel-edge); margin-block: 2rem; }
.policy-copy figure { margin: 1.5rem 0; }
.policy-copy table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.6; table-layout: fixed; }
.policy-copy td { width: 50%; border-bottom: 1px solid var(--panel-edge); padding: .9rem .75rem .9rem 0; vertical-align: top; color: var(--ink-dim); }
.policy-copy td:first-child { color: var(--ink); }
.policy-copy code { font: .9em var(--font-mono); }
@media (max-width: 800px) {
  .page-heading { padding-block: 2.5rem; }
  .page-columns, .policy-layout { grid-template-columns: 1fr; gap: 2rem; padding-bottom: 3rem; }
  .section-index { position: static; flex-direction: row; flex-wrap: wrap; gap: .65rem 1.5rem; }
  .policy-layout .section-index { max-height: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem 1rem; overflow: visible; }
  .page-nav { gap: .5rem 1.25rem; }
  .side-note p br { display: none; }
  .side-note p + p { margin-top: .5rem; }
}
@media (max-width: 420px) {
  .policy-layout .section-index { grid-template-columns: 1fr; }
  .policy-copy table { font-size: .85rem; }
}

/* Error pages (404, 403, 500): the code sits above the heading as a quiet mono label. */
.page-heading .error-code { font: .85rem/1.6 var(--font-mono); color: var(--ink-faint); margin: 0 0 1rem; }
.page-heading .error-code + h1 + p { margin-top: 1.5rem; }
