:root {
  color-scheme: light;
  font-family: Georgia, serif;
  color: #173f2d;
  background: #e9efe5;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background-color: #e9efe5;
  background-image: linear-gradient(#b7cfaa55 1px, transparent 1px), linear-gradient(90deg, #b7cfaa55 1px, transparent 1px);
  background-size: 32px 32px;
  line-height: 1.7;
}
a { color: #6a7f3e; text-underline-offset: .16em; }
.site-header { border-bottom: 1px solid #6a7f3e33; padding: 1rem max(1.5rem, calc((100% - 64rem) / 2)); }
.site-header a { display: inline-flex; align-items: baseline; gap: .65rem; color: inherit; text-decoration: none; }
.meta-mark { color: #6a7f3e; font: 700 .8rem ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.brand { font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 650; letter-spacing: -.04em; }
main { width: min(64rem, calc(100% - 3rem)); margin: 0 auto; padding: clamp(2.5rem, 7vw, 5rem) 0; }
article { max-width: 52rem; }
h1 { margin: 0 0 2rem; font-size: clamp(2.5rem, 8vw, 5rem); font-weight: 650; line-height: 1; letter-spacing: -.05em; }
h1::after { content: ":"; color: #6a7f3e; }
h2 { margin: 2.4rem 0 .5rem; color: #173f2d; font-size: 1.5rem; line-height: 1.25; }
p { margin: 0 0 1.25rem; color: #496552; }
li { margin-bottom: .65rem; color: #496552; }
.terms > li::marker { color: #6a7f3e; font-weight: bold; }
.terms p { margin-bottom: .5rem; }
address { color: #496552; font-style: normal; }
footer { padding: 2rem max(1.5rem, calc((100% - 64rem) / 2)); border-top: 1px solid #6a7f3e33; color: #607764; }
footer nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-bottom: 1.25rem; }
footer p { margin: 0; color: inherit; }
footer address { color: inherit; }
@media (max-width: 35rem) { main { width: min(100% - 2rem, 64rem); } .terms, .subclauses { padding-left: 1.5rem; } }
