/* Single-column legal layout, using the Sortsmith / Beaver document scale. */
:root {
  color-scheme: dark;
  --color-bg: #17131c;
  --color-text: #f5f3f6;
  --color-body: #d1cdd4;
  --color-muted: #aaa4ae;
  --color-border: #39323e;
  --color-focus: #f2bca5;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--color-bg); }
body { margin: 0; color: var(--color-text); background: var(--color-bg); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
::selection { background: #f2bca5; color: #17131c; }
.skip-link { position: fixed; top: .75rem; left: .75rem; padding: .65rem .9rem; transform: translateY(-180%); background: var(--color-text); color: var(--color-bg); z-index: 10; }
.skip-link:focus { transform: translateY(0); }
.site-shell, .document-shell { width: min(100% - 3rem, 46rem); margin-inline: auto; }
.header-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; padding-block: 2rem 1.25rem; border-bottom: 1px solid var(--color-border); }
.brand { display: inline-flex; align-items: center; gap: .8rem; font-size: .95rem; font-weight: 700; line-height: 1.35; text-decoration: none; }
.brand img { width: 2.75rem; height: 2.75rem; border-radius: .65rem; flex-shrink: 0; }
.site-nav, .footer-nav { display: flex; flex-wrap: wrap; gap: .25rem 1.4rem; }
.site-nav a, .footer-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--color-muted); font-size: .88rem; text-decoration: none; }
.site-nav a:hover, .footer-nav a:hover, a[aria-current="page"] { color: var(--color-text); text-decoration: underline; text-underline-offset: .4em; }
.document-shell { padding-block: 3.25rem 1rem; overflow-wrap: anywhere; }
.document-shell h1 { margin: 0; font-size: clamp(2.15rem, 7vw, 3.4rem); font-weight: 780; letter-spacing: -.035em; line-height: 1.08; }
.doc-meta { margin: 1rem 0 2.5rem; color: var(--color-muted); font-size: .82rem; }
.document-shell h2 { margin: 2.65rem 0 .7rem; font-size: 1.05rem; font-weight: 760; line-height: 1.35; }
.document-shell p, .document-shell li { color: var(--color-body); }
.document-shell p { margin: .7rem 0; }
.document-shell .doc-meta { color: var(--color-muted); margin: 1rem 0 2.5rem; }
.document-shell ul, .document-shell ol { margin: .8rem 0 1.25rem; padding-left: 1.3rem; }
.document-shell li + li { margin-top: .45rem; }
.document-shell a { color: var(--color-text); text-decoration-color: var(--color-muted); }
.site-footer { margin-top: 3.5rem; }
.footer-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; padding-block: 2rem; border-top: 1px solid var(--color-border); }
.footer-brand { display: flex; align-items: center; gap: .75rem; }
.footer-brand img { width: 2.5rem; height: 2.5rem; border-radius: .6rem; }
.footer-brand div { display: grid; line-height: 1.4; }
.footer-brand strong { font-size: .9rem; }
.footer-brand span, .copyright { font-size: .78rem; color: var(--color-muted); }
.copyright { margin: 0; }
@media (max-width: 360px) { .site-shell, .document-shell { width: calc(100% - 2rem); } .site-nav, .footer-nav { column-gap: 1rem; } }
@media (min-width: 672px) { .document-shell { padding-top: 4rem; } }
