/* Legal, contact and 404 pages. Shared tokens and components come from site.css. */
.wrap { max-width: 800px; padding-bottom: 64px; }
main { animation: rise 600ms var(--ease-out) both; }
h1 { font-size: clamp(30px, 4.6vw, 44px); font-weight: 600; margin: 32px 0 8px; }
h2 { font-size: 19px; font-weight: 500; margin: 40px 0 10px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink); }
main p, main li { color: #ddd2c1; }
main .muted { color: var(--muted); }
main ul { padding-left: 22px; }
main li { margin: 8px 0; }
main li::marker { color: var(--accent); }
main strong { color: var(--ink); }
form button { margin-top: 22px; display: inline-flex; align-items: center; min-height: 48px; border: 0; border-radius: 10px; padding: 12px 24px; font: inherit; font-weight: 750; background: var(--accent); color: var(--accent-ink); cursor: pointer; transition: transform var(--dur-1) var(--ease-out), background-color var(--dur-2), box-shadow var(--dur-2); }
form button:hover { background: var(--accent-hi); box-shadow: var(--glow); transform: translateY(-1px); }
form button:active { transform: scale(.98); }
#status { font-weight: 650; color: var(--olive); }
.hp { position: absolute; left: -9999px; }
footer { margin-top: 64px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; }
footer a { color: var(--muted); margin-right: 20px; display: inline-block; padding: 8px 0; }
footer a:hover { color: var(--ink); }
