:root {
  --ink:      #23201c;
  --paper:    #faf7f2;
  --accent:   #6b5b4d;
  --accent-2: #b06a3a;
  --max:      44rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  font-size: 1.075rem;
}
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 1.25rem; }

/* hero */
header.hero { padding: 2.5rem 0 0.5rem; text-align: center; }
.hometitle { text-decoration: none; color: var(--accent); }
header.hero h1 { font-size: clamp(2rem, 6vw, 3rem); margin: 0; letter-spacing: -0.5px; }

/* nav */
nav.mainnav { border-bottom: 1px solid #e7ded2; margin-bottom: 1.5rem; }
nav.mainnav .wrap { display: flex; gap: 1.5rem; padding-top: 0.75rem; padding-bottom: 0.75rem; flex-wrap: wrap; }
nav.mainnav a { color: var(--accent); text-decoration: none; font-weight: 600; }
nav.mainnav a:hover, nav.mainnav a:focus { text-decoration: underline; }

/* content */
section { padding: 0.75rem 0; }
h2 { color: var(--accent); font-size: 1.5rem; margin: 1.25rem 0 0.5rem; }
.lead { font-size: 1.15rem; }
ul.plain { padding-left: 1.2rem; }
ul.plain li { margin: 0.35rem 0; }
hr.soft { border: none; border-top: 1px solid #e7ded2; margin: 2rem 0; }

.btn {
  display: inline-block; background: var(--accent-2); color: #fff;
  text-decoration: none; font-weight: 600; font-size: 1.15rem;
  padding: 0.85rem 2rem; border-radius: 999px;
}
.btn:hover, .btn:focus { filter: brightness(1.07); }

footer { text-align: center; padding: 3rem 0 2rem; color: #8a8175; font-size: 0.95rem; }
.fineprint { font-size: 0.85rem; }
