:root {
  color-scheme: light dark;
  --canvas: #ffffff;
  --ink: #1b2534;
  --body: #394454;
  --muted: #5b6676;
  --line: #dbe1e9;
  --wash: #f3f6fa;
  --accent: #125ebc;
  --focus: #0758bf;
  --preview: #eef4fc;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 100%;
  background: var(--canvas);
  color: var(--body);
}
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; font-size: 1.0625rem; }
a { color: var(--accent); text-decoration-thickness: .07em; text-underline-offset: .19em; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: .13em; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; border-radius: 2px; }
main:focus { outline: none; }
.shell { width: min(100% - 3rem, 69rem); margin-inline: auto; }
.site-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1.25rem; border-bottom: 1px solid var(--line); }
.wordmark { color: var(--ink); font-size: 1.5rem; font-weight: 750; letter-spacing: -.055em; text-decoration: none; }
.site-header nav, .site-footer nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.site-header nav a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--muted); text-decoration: none; }
.site-header nav a[aria-current="page"] { color: var(--accent); font-weight: 650; text-decoration: underline; text-underline-offset: .5rem; }
.page-heading { margin-block: 3.25rem 3rem; max-width: 49rem; }
.eyebrow { font-size: .9375rem; color: var(--muted); font-weight: 600; margin: 0 0 .5rem; }
h1, h2, h3 { color: var(--ink); text-wrap: balance; }
h1 { font-size: clamp(2.5rem, 1.8rem + 3vw, 4rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 780; margin: 0 0 1rem; }
h2 { font-size: 1.5rem; line-height: 1.25; letter-spacing: -.025em; margin: 0 0 1.1rem; }
h3 { font-size: 1.125rem; line-height: 1.4; margin: 0 0 .5rem; }
p { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }
.lead { font-size: 1.25rem; line-height: 1.55; max-width: 39rem; }
.metadata { color: var(--muted); font-size: .9375rem; margin-top: 1.25rem; }
.document-layout { display: grid; grid-template-columns: 12.5rem minmax(0, 1fr); gap: 3.5rem; align-items: start; border-top: 1px solid var(--line); padding-top: 2rem; }
.contents { display: flex; flex-direction: column; align-items: flex-start; }
.contents h2 { font-size: .9375rem; font-weight: 650; color: var(--muted); letter-spacing: 0; margin-bottom: .5rem; }
.contents a { font-size: 1rem; line-height: 1.35; padding-block: .7rem; min-height: 2.75rem; text-decoration: none; }
.contents a:hover { text-decoration: underline; }
.reading-column { max-width: 45rem; min-width: 0; }
section { scroll-margin-top: 2rem; padding-bottom: 2.5rem; }
section + section { border-top: 1px solid var(--line); padding-top: 2.5rem; }
.help section { padding-bottom: 2rem; }
.help section + section { padding-top: 2rem; }
details { padding: 0; border-bottom: 1px solid var(--line); }
details:last-of-type { border-bottom: 0; }
summary { cursor: pointer; padding: 1rem .2rem 1rem 0; color: var(--ink); font-weight: 600; line-height: 1.45; }
summary::marker { color: var(--accent); font-size: .85em; }
details[open] summary { color: var(--accent); }
.answer { padding: .2rem 0 1.4rem; }
.notice, .disclaimer { border-left: 3px solid var(--line); padding: 1rem 1.25rem; background: var(--wash); margin-block: 1rem; }
.notice strong { color: var(--ink); }
.notice p { margin-top: .5rem; }
.preview-note { background: var(--preview); font-size: .9375rem; line-height: 1.5; }
.preview-note .shell { display: flex; flex-wrap: wrap; gap: .25rem 1rem; padding-block: .75rem; }
.preview-note strong { color: var(--ink); }
.email { overflow-wrap: anywhere; }
.site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; border-top: 1px solid var(--line); margin-top: 2rem; padding-block: 1.75rem 2.5rem; font-size: .9375rem; }
.site-footer p { color: var(--muted); margin: 0; }
.site-footer a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.skip-link { position: absolute; top: .5rem; left: .5rem; padding: .8rem 1rem; background: var(--canvas); border: 2px solid var(--accent); z-index: 10; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
@media (min-width: 60rem) and (min-height: 44rem) {
  .contents { position: sticky; top: 2rem; }
}
@media (max-width: 48rem) {
  .shell { width: min(100% - 2.5rem, 42rem); }
  .page-heading { margin-block: 2.25rem 2rem; }
  .document-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-top: 1.5rem; }
  .contents { display: flex; flex-direction: row; flex-wrap: wrap; gap: 0 1.3rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
  .contents h2 { width: 100%; margin-bottom: .25rem; }
  .contents a { padding-block: .65rem; }
  .lead { font-size: 1.125rem; }
  .site-footer { display: block; }
  .site-footer nav { margin-top: .5rem; }
}
@media (max-width: 23rem) {
  .shell { width: calc(100% - 2rem); }
  .site-header { align-items: flex-start; }
  .site-header nav { gap: 1.25rem; }
}
@media (prefers-color-scheme: dark) {
  :root { --canvas: #101722; --ink: #f2f5fa; --body: #d0d8e5; --muted: #a6b3c5; --line: #354052; --wash: #1a2433; --accent: #91bbff; --focus: #a8caff; --preview: #1b2a40; }
}
@media (forced-colors: active) {
  .notice, .disclaimer { border: 1px solid CanvasText; }
}
@media print {
  .site-header, .site-footer, .contents, .skip-link { display: none; }
  :root { color-scheme: light; --canvas: white; --ink: black; --body: black; --muted: #333; --line: #999; --wash: white; --accent: black; }
  .shell { width: 100%; }
  .document-layout { display: block; }
  .page-heading { margin-block: 1rem; }
  .reading-column { max-width: none; }
  details { break-inside: avoid; }
  details::details-content { content-visibility: visible; display: block; }
}
