:root { font-family: Georgia, serif; color: #512b21; background: #f3ead8; }
* { box-sizing: border-box; }
body { margin: 0; background: #f3ead8 repeating-linear-gradient(0deg, transparent, transparent 31px, #9a684414 32px); line-height: 1.7; }
a { color: #8d351f; text-underline-offset: .16em; }
.site-header { border-bottom: 1px solid #9a684438; padding: 1rem max(1.5rem, calc((100% - 64rem) / 2)); }
.site-header a { display: flex; align-items: center; gap: .8rem; color: inherit; text-decoration: none; }
.seal { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border: 2px solid #a8492d; border-radius: 50%; color: #a8492d; font: 700 .52rem/1.2 system-ui, sans-serif; letter-spacing: .08em; text-align: center; text-transform: uppercase; transform: rotate(-6deg); }
.brand { font-size: clamp(1.4rem, 4vw, 2rem); }
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: 400; line-height: 1; }
h2 { margin: 2.4rem 0 .5rem; font-size: 1.5rem; line-height: 1.25; }
p { margin: 0 0 1.25rem; }
li { margin-bottom: .65rem; }
.terms > li::marker { font-weight: bold; }
.terms p { margin-bottom: .5rem; }
address { font-style: normal; }
footer { padding: 2rem max(1.5rem, calc((100% - 64rem) / 2)); border-top: 1px solid #9a684438; color: #775044; }
footer nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-bottom: 1.25rem; }
footer p { margin: 0; }
@media (max-width: 35rem) { main { width: min(100% - 2rem, 64rem); } .terms, .subclauses { padding-left: 1.5rem; } }
