.document { max-width: 820px; margin: 4rem auto 6rem; padding-inline: 2rem; font-size: .9375rem; line-height: 1.95; }
.document h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.5; margin: 0 0 1.5rem; }
.document > p { color: var(--muted); margin-block: 1rem; }
.document .lead { font-size: 1.0625rem; color: var(--ink); }
.document nav { padding: 1.5rem; background: var(--soft); border-radius: 16px; margin-top: 2rem; }
.document a:not(.button) { color: var(--green); }
.document a:hover { text-decoration: underline; text-underline-offset: 4px; }
.document section { margin-top: 4.5rem; scroll-margin-top: 2rem; }
.document h2 { font-size: 1.75rem; margin-bottom: 1.5rem; }
.document h3 { margin-bottom: .75rem; }
.document section p { margin-block: 1rem; color: var(--muted); }
.document figure { margin-block: 2rem; }
.document figure img { width: 100%; border-radius: 12px; }
.document figcaption, .document .note { font-size: .8125rem; color: var(--muted); line-height: 1.9; margin-top: .875rem; }
.document .task { margin-top: 2rem; }
.document pre { padding: 1.5rem; background: var(--soft); border-radius: 14px; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.document details { margin-block: 1.5rem; }
.document summary { cursor: pointer; font-weight: 550; padding-block: .75rem; min-height: 44px; }
.document summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.document .actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 3rem; }
.document .actions .button:not(.primary), .site-header .button { background: var(--control); }
body > footer { max-width: 820px; margin: auto; padding: 0 2rem 3rem; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; font-size: .8125rem; color: var(--muted); }
@media(max-width: 560px) { .document { margin-block: 2.5rem 4rem; padding-inline: 1.25rem; } .document section { margin-top: 3rem; } .document h2 { font-size: 1.5rem; } .site-header .button { font-size: .75rem; padding-inline: .875rem; } body > footer { padding-inline: 1.25rem; } }
