/* The Attestation — shared styles for content pages.
   Tokens must stay identical to design-reference.html. */
:root{
  --paper:#F7F4EE; --surface:#FFFFFF; --sand:#EFE9DD;
  --ink:#23201A; --ink-soft:#6E6759; --hairline:#DED7C8;
  --brand:#0F5B5E; --brand-tint:#E4EEEC;
  --good:#2F6B4F; --good-tint:#E9F1EB;
  --bad:#9C3742; --bad-tint:#F7EBEA;
  --caution:#7A5A0C; --caution-tint:#F6F0DC;
  --font-display:'Besley',Georgia,serif;
  --font-ui:'Archivo',system-ui,sans-serif;
  --fs-1:0.8125rem; --fs-2:0.9375rem; --fs-3:1.0625rem;
  --fs-4:1.375rem; --fs-5:1.75rem; --fs-6:2.25rem;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;
  --radius:3px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-ui);font-size:var(--fs-2);line-height:1.55;color:var(--ink);background:var(--paper);
  padding-block:var(--sp-5) var(--sp-7);padding-inline:var(--sp-5)}
main,header,footer{max-inline-size:760px;margin-inline:auto}
.doc-rule{block-size:0;border-block-start:3px solid var(--ink);border-block-end:1px solid var(--ink);padding-block-start:2px;margin-block-end:var(--sp-4)}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.15}
h1{font-size:var(--fs-5);letter-spacing:-0.005em;margin-block-end:var(--sp-2)}
h2{font-size:var(--fs-4);margin-block:var(--sp-7) var(--sp-3)}
h3{font-size:var(--fs-3);margin-block:var(--sp-5) var(--sp-2)}
p,ul,ol{margin-block-end:var(--sp-3);max-inline-size:66ch}
ul,ol{padding-inline-start:var(--sp-5)}
li{margin-block-end:var(--sp-2)}
a{color:var(--brand)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.lede{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:var(--fs-3);color:var(--ink-soft);margin-block-end:var(--sp-4)}
.small{font-size:var(--fs-1);color:var(--ink-soft)}
nav.site-nav{font-size:var(--fs-1);margin-block-end:var(--sp-5);display:flex;flex-wrap:wrap;gap:var(--sp-4)}
nav.site-nav a[aria-current=page]{color:var(--ink);font-weight:700;text-decoration:none}
.skip{position:absolute;inset-inline-start:-9999px}
.skip:focus{position:static;display:inline-block;margin-block-end:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--brand);color:#fff}
.notice{font-size:var(--fs-1);border:1px solid var(--hairline);border-inline-start:3px solid var(--brand);border-radius:var(--radius);
  background:var(--brand-tint);padding-block:var(--sp-3);padding-inline:var(--sp-4);margin-block:var(--sp-4);max-inline-size:66ch}
.notice.caution{border-inline-start-color:var(--caution);background:var(--caution-tint)}
/* forms */
.field{margin-block-end:var(--sp-4);max-inline-size:460px}
.field-label{display:block;font-size:var(--fs-1);font-weight:600;margin-block-end:3px}
.field-label .req{color:var(--bad)}
.input,textarea.input,select.input{inline-size:100%;font:inherit;font-size:var(--fs-2);padding-block:var(--sp-2);padding-inline:var(--sp-3);
  border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
textarea.input{min-block-size:140px;resize:vertical}
.field-note{font-size:var(--fs-1);color:var(--ink-soft);margin-block-start:2px}
.field-error .input{border-color:var(--bad)}
.field-error .field-note{color:var(--bad)}
.btn{font:inherit;font-size:var(--fs-1);font-weight:600;padding-block:var(--sp-2);padding-inline:var(--sp-4);
  border:1px solid var(--ink);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer}
.btn:hover{border-color:var(--brand);color:var(--brand)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:#0A4649;color:#fff}
.form-status{margin-block-start:var(--sp-3);font-size:var(--fs-2)}
.form-status.ok{color:var(--good)}
.form-status.err{color:var(--bad)}
.hp{position:absolute;inset-inline-start:-9999px}
/* advertisement slot */
.ad-slot{margin-block:var(--sp-7);padding-block:var(--sp-2);border-block:1px solid var(--hairline);text-align:center;min-block-size:120px}
.ad-slot .ad-label{display:block;font-size:0.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-block-end:var(--sp-2)}
footer{margin-block-start:var(--sp-8);border-block-start:1px solid var(--hairline);padding-block-start:var(--sp-4);font-size:var(--fs-1);color:var(--ink-soft)}
footer nav{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-block-end:var(--sp-2)}
dl dt{font-weight:700;margin-block-start:var(--sp-3)}
dl dd{margin-inline-start:0;color:var(--ink-soft)}
@media print{nav.site-nav,.ad-slot,.btn{display:none}body{background:#fff}}
