
:root { --bg:#f7f2ea; --card:#fffdf9; --ink:#2b2420; --muted:#7a6d63; --line:#e6dccf; --accent:#8a4b2a; --bad:#b0412e; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
a { color: var(--accent); }
.top { background:var(--card); border-bottom:1px solid var(--line); padding:.8rem 1.25rem; }
.brand { display:flex; gap:.6rem; align-items:center; text-decoration:none; color:inherit; }
.mark { font-size:1.6rem; }
.title { display:block; font-family:Georgia,"Iowan Old Style",serif; font-weight:600; font-size:1.15rem; line-height:1.1; }
.sub { display:block; font-size:.8rem; color:var(--muted); }
main { max-width:720px; margin:0 auto; padding:1.25rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1.25rem 1.4rem; margin-bottom:1rem; }
h1 { font-family:Georgia,"Iowan Old Style",serif; font-weight:600; font-size:1.6rem; margin:0 0 .4rem; }
.lead { font-size:1.05rem; margin:.2rem 0; }
fieldset { border:0; margin:0 0 1.4rem; padding:0; }
legend { font-family:Georgia,serif; font-weight:600; font-size:1.15rem; margin-bottom:.6rem; padding:0; }
.row { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
.field { display:block; margin-bottom:.9rem; }
.lbl { display:block; font-weight:600; font-size:.95rem; }
.field > input, .field > textarea { display:block; }
.req { color:var(--bad); }
.hint { display:block; color:var(--muted); font-size:.85rem; margin:.1rem 0 .3rem; }
.hint.below { margin:.35rem 0 0; }
#required-note { margin:.8rem 0 0; }
.legend-note { margin:-.35rem 0 .8rem; }
input[type=text], input[type=email], input[type=tel], input[type=url], textarea {
  width:100%; font:inherit; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:8px; padding:.55rem .7rem; margin-top:.25rem;
}
textarea { resize:vertical; }
input:focus, textarea:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
.has-err input[type=text], .has-err input[type=email], .has-err input[type=tel], .has-err input[type=url], .has-err textarea { border-color:var(--bad); background:#fff8f6; }
.err { color:var(--bad); font-size:.88rem; margin:.3rem 0 0; }
.summary { background:#fff; border:3px solid var(--bad); border-radius:10px; padding:1rem 1.25rem; margin:0 0 1rem; }
.summary:focus { outline:3px solid var(--ink); outline-offset:2px; }
.summary h2 { font-family:Georgia,serif; font-size:1.15rem; margin:0 0 .4rem; color:#7d2a1d; }
.summary ul { margin:0; padding-left:1.2rem; }
.summary li { margin:.2rem 0; }
.summary a { color:#7d2a1d; font-weight:600; }
.summary p { margin:0; color:#7d2a1d; font-weight:600; }
.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.dates { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.4rem; }
.check { display:flex; gap:.55rem; align-items:center; background:#fff; border:1px solid var(--line); border-radius:8px; padding:.55rem .75rem; cursor:pointer; }
.has-err .check { border-color:var(--bad); }
.check:focus-within { outline:2px solid var(--accent); outline-offset:1px; }
.check input { width:1.1rem; height:1.1rem; accent-color:var(--accent); }
.hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.cf-turnstile { margin:.2rem 0 1rem; }
.btn:focus-visible { outline:3px solid var(--ink); outline-offset:2px; }
.brand:focus-visible, a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.btn { font:inherit; font-weight:600; background:var(--accent); color:#fff; border:0; border-radius:8px; padding:.75rem 1.6rem; cursor:pointer; }
.thanks p { margin:.6rem 0; }
body.embed { background:transparent; }
body.embed main { max-width:none; padding:0; }
@media (max-width:560px) { .row { grid-template-columns:1fr; } main { padding:.8rem; } .card { padding:1rem; } }
