@font-face {
  font-family: Bricolage;
  src: url('/assets/bricolage-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

:root {
  color-scheme: light;
  --legal-ground: #e8ece5;
  --legal-ink: #20271f;
  --legal-muted: #596352;
  --legal-action: #314f34;
  --legal-line: #bec9b8;
  --legal-paper: #f4f6f0;
  font-family: Bricolage, sans-serif;
  color: var(--legal-ink);
  background: var(--legal-ground);
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: var(--legal-action); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--legal-action); outline-offset: 5px; }
.legal-shell { width: min(100% - 3rem, 66rem); margin-inline: auto; }
.legal-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 2rem; border-bottom: 1px solid var(--legal-line); }
.legal-brand { color: var(--legal-ink); font-size: 1.3rem; font-weight: 800; text-decoration: none; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.legal-nav a[aria-current] { color: var(--legal-ink); font-weight: 700; }
.legal-main { max-width: 45rem; padding-block: clamp(3rem, 9vw, 6rem); }
h1 { margin: 0 0 1.5rem; font-size: clamp(3rem, 9vw, 6rem); font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.legal-lead { font-size: clamp(1.2rem, 3vw, 1.5rem); line-height: 1.5; }
.legal-updated { color: var(--legal-muted); font-size: .9rem; }
h2 { margin-block: 2.8rem .8rem; font-size: 1.45rem; font-weight: 700; letter-spacing: -.025em; }
p, li { font-size: 1.05rem; line-height: 1.65; }
li + li { margin-top: .7rem; }
ul { padding-left: 1.3rem; }
.legal-contact { margin-block: 2rem; padding: clamp(1.5rem, 5vw, 2.5rem); border: 1px solid var(--legal-line); border-radius: 14px; background: var(--legal-paper); }
.legal-contact h2 { margin-top: 0; }
.legal-contact dl { margin: 0; }
.legal-contact dt { margin-top: 1.3rem; color: var(--legal-muted); font-size: .9rem; }
.legal-contact dd { margin: .35rem 0 0; font-size: 1.2rem; overflow-wrap: anywhere; }
.legal-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 1.8rem 2.5rem; border-top: 1px solid var(--legal-line); color: var(--legal-muted); }
.legal-reopen { font: inherit; border: 0; padding: 0; background: transparent; color: var(--legal-action); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.legal-skip { position: absolute; top: .5rem; left: 1.5rem; padding: .7rem; background: var(--legal-paper); transform: translateY(-180%); }
.legal-skip:focus { transform: none; }
@media (max-width: 36rem) {
  .legal-shell { width: min(100% - 2rem, 66rem); }
  .legal-header { padding-block: 1.5rem; }
  .legal-nav { gap: 1rem; }
}
