:root {
  --bg: #f6f1e8; --paper: #fffcf7; --ink: #2c261e; --muted: #6b6256;
  --olive: #5e6b4e; --line: #e4d9c8; --wood-d: #6b4f32;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Source Sans 3", system-ui, sans-serif; background: var(--bg); color: var(--ink); line-height: 1.55; }
a { color: var(--wood-d); }
.wrap { width: min(760px, calc(100% - 40px)); margin: 0 auto; }
header.site { border-bottom: 1px solid var(--line); padding: 16px 0; background: var(--paper); }
header.site a { color: inherit; text-decoration: none; font-family: Fraunces, serif; font-size: 1.25rem; }
main { padding: 36px 0 64px; }
h1 { font-family: Fraunces, serif; font-size: 2rem; font-weight: 500; margin-bottom: 8px; }
.lead { color: var(--muted); margin-bottom: 28px; }
h2 { font-family: Fraunces, serif; font-size: 1.25rem; font-weight: 500; margin: 28px 0 8px; }
p, li { margin-bottom: 10px; }
ul, ol { padding-left: 20px; }
.box {
  background: #f3eee4; border: 1px solid var(--line); border-radius: 12px;
  padding: 14px 16px; margin: 18px 0; font-size: .95rem;
}
form { display: grid; gap: 10px; margin-top: 16px; }
label { font-size: .85rem; font-weight: 600; }
input, textarea, select, button {
  font: inherit; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line);
}
textarea { min-height: 90px; }
button {
  background: var(--ink); color: #fff; border: 0; cursor: pointer; font-weight: 600;
  width: fit-content; padding: 11px 16px;
}
footer { border-top: 1px solid var(--line); padding: 20px 0 36px; color: var(--muted); font-size: .9rem; }
.links { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; }
