:root {
  font-family: ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;
  color: #20322b;
  background: #fff9e8;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: linear-gradient(135deg, #fff9e8 55%, #ffe8a8 55%);
  background-attachment: fixed;
  line-height: 1.7;
}
a { color: #b52f22; text-underline-offset: .16em; }
.site-header {
  border-bottom: 2px solid #20322b;
  padding: 1rem max(1.5rem, calc((100% - 64rem) / 2));
  background: #fff9e8;
}
.site-header a { display: flex; align-items: center; gap: .9rem; color: inherit; text-decoration: none; }
.seal {
  display: grid;
  place-items: center;
  width: 3.8rem;
  height: 3.8rem;
  padding: .25rem;
  border: 2px solid #20322b;
  border-radius: 50%;
  background: #f35b3f;
  color: white;
  font: 700 .52rem/1.15 system-ui, sans-serif;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-6deg);
}
.brand { font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 700; letter-spacing: -.04em; }
main { width: min(64rem, calc(100% - 3rem)); margin: 0 auto; padding: clamp(2.5rem, 7vw, 5rem) 0; }
article {
  max-width: 52rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 2px solid #20322b;
  border-radius: 1.5rem;
  background: #fff9e8;
  box-shadow: .55rem .55rem 0 #f35b3f;
}
h1 { margin: 0 0 2rem; font-size: clamp(2.5rem, 8vw, 5rem); line-height: .95; letter-spacing: -.06em; }
h2 { margin: 2.4rem 0 .5rem; font-size: 1.5rem; line-height: 1.25; }
p { margin: 0 0 1.25rem; font-family: system-ui, sans-serif; }
li { margin-bottom: .65rem; font-family: system-ui, sans-serif; }
.terms > li::marker { font-weight: bold; }
.terms p { margin-bottom: .5rem; }
address { font-style: normal; font-family: system-ui, sans-serif; }
footer {
  padding: 2rem max(1.5rem, calc((100% - 64rem) / 2));
  border-top: 2px solid #20322b;
  background: #ffe8a8;
  color: #20322b;
}
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); }
  article { padding: 1.25rem; box-shadow: .35rem .35rem 0 #f35b3f; }
  .terms, .subclauses { padding-left: 1.5rem; }
}
