@font-face { font-family:"Fraunces"; src:url(fonts/fraunces.woff2) format("woff2"); font-weight:100 900; font-display:swap; }
@font-face { font-family:"Source Sans 3"; src:url(fonts/source-sans-3.woff2) format("woff2"); font-weight:200 900; font-display:swap; }

:root { --ink:#1b1b1b; --paper:#fff; --band:#2f5a3c; --cream:#f6f1e4; --rule:#d6d6d6; --soft:#444; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Source Sans 3", Arial, sans-serif; font-size:21px; line-height:1.65; }
.wrap { max-width:880px; margin:0 auto; padding:0 24px; }
.band { background:var(--band); color:var(--cream); }
header { padding:32px 0; display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; }
.name { font-family:Fraunces, Georgia, serif; font-weight:700; font-size:26px; color:var(--cream); text-decoration:none; }
header a { color:var(--cream); font-weight:600; }
h1, h2 { font-family:Fraunces, Georgia, serif; font-weight:500; }
h1 { font-size:clamp(42px,7vw,76px); line-height:1.05; margin:64px 0 24px; }
.lead { font-size:24px; max-width:34em; padding-bottom:96px; margin:0; }
section { padding:64px 0; border-bottom:1px solid var(--rule); }
h2 { font-size:40px; margin:0 0 24px; color:var(--band); }
h3 { font-size:23px; font-weight:600; margin:24px 0 4px; }
p, ul { margin:0 0 16px; }
li { margin-bottom:8px; }
label { display:block; font-weight:600; margin:22px 0 6px; }
input, textarea { width:100%; font:inherit; padding:13px 14px; border:1px solid #8a8a8a; border-radius:4px; background:#fff; color:var(--ink); }
textarea { min-height:160px; }
button { margin-top:28px; font:inherit; font-weight:600; padding:14px 32px; background:var(--band); color:#fff; border:0; border-radius:4px; cursor:pointer; }
.hp { position:absolute; left:-9999px; }
.notice { padding:16px 20px; border-left:4px solid var(--band); background:#eef4ef; margin:0 0 24px; }
.notice.err { border-color:#9e3b26; background:#f8ece9; }
footer { padding:48px 0 72px; font-size:18px; color:var(--soft); line-height:1.7; }
footer strong { color:var(--ink); }
a { color:var(--band); }
.legal h2 { margin-top:48px; font-size:30px; }
