:root { --navy: #13233b; --ink: #1d232b; --body: #3a414b; --muted: #6b7178; --rule: #d9d4c7; --paper: #f7f4ec; --brass: #8a6a2f; --green: #2f5d46; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--paper); }
body { color: var(--body); font: 17px/1.6 "Public Sans", Arial, Helvetica, sans-serif; min-height: 100vh; display: flex; flex-direction: column; }
.top { display: flex; justify-content: center; padding: 22px 16px 10px; }
.brand { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.brand .name { font-family: "Libre Caslon Text", Georgia, serif; font-size: 26px; color: var(--navy); }
.brand .sub { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--brass); margin-top: 6px; font-weight: 600; }
main { flex: 1; width: 100%; max-width: 1000px; margin: 0 auto; padding: 8px 16px 32px; }
h1 { font-family: "Libre Caslon Text", Georgia, serif; font-weight: 400; color: var(--ink); text-align: center; font-size: 38px; line-height: 1.15; margin: 14px 0 8px; }
.lede { text-align: center; margin: 0 0 22px; font-size: 18px; }
.legal { text-align: center; font-size: 12.5px; color: var(--muted); padding: 18px 16px 26px; }
.legal a { color: var(--muted); }
@media (max-width: 640px) { h1 { font-size: 29px; } .lede { font-size: 16.5px; } }
[hidden] { display: none !important; }
