:root {
  --legal-ink: #171717;
  --legal-paper: #f4f0e8;
  --legal-paper-deep: #e5ddcf;
  --legal-red: #e44736;
  --legal-muted: #625d53;
}

.site-legal-footer {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 1.25rem;
  align-items: center;
  padding: 1.5rem max(1.5rem, calc((100vw - 1280px) / 2));
  color: rgba(244, 240, 232, .75);
  background: #171717;
  font-size: .78rem;
  line-height: 1.4;
}

.site-legal-footer__links, .site-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1rem;
  align-items: center;
}

.site-legal-footer a, .site-legal-links a, .site-legal-links button {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(244, 240, 232, .35);
  text-underline-offset: .18em;
}

.site-legal-links button {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  cursor: pointer;
}

.site-legal-links a:hover, .site-legal-links button:hover, .site-legal-footer a:hover { color: #fff; }

.legal-page {
  min-height: 100svh;
  color: var(--legal-ink);
  background: var(--legal-paper);
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.legal-page * { box-sizing: border-box; }
.legal-page a { color: inherit; }
.legal-page h1, .legal-page h2, .legal-page h3, .legal-page p { margin: 0; }
.legal-page :focus-visible { outline: 3px solid var(--legal-red); outline-offset: 4px; }
.legal-skip { position: fixed; z-index: 10; top: 1rem; left: 1rem; padding: .8rem 1rem; color: var(--legal-ink) !important; background: var(--legal-paper); font-weight: 700; transform: translateY(-180%); }
.legal-skip:focus { transform: translateY(0); }

.legal-header, .legal-content { width: min(100% - 3rem, 920px); margin-inline: auto; }
.legal-header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding-block: 1.5rem; font-size: .83rem; font-weight: 720; }
.legal-header a { text-decoration: none; }
.legal-header__mark { color: var(--legal-red); }
.legal-content { padding: clamp(3.5rem, 8vw, 7rem) 0 clamp(4.5rem, 10vw, 8rem); }
.legal-kicker { color: var(--legal-red); font-size: .77rem; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.legal-content h1, .legal-content h2 { font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif; font-weight: 400; letter-spacing: -.04em; text-wrap: balance; }
.legal-content h1 { max-width: 760px; margin-top: .8rem; font-size: clamp(3rem, 7vw, 5.4rem); line-height: .92; }
.legal-lede { max-width: 660px; margin-top: 1.75rem !important; color: var(--legal-muted); font-size: 1.08rem; line-height: 1.6; }
.legal-meta { margin-top: 1.25rem !important; color: var(--legal-muted); font-size: .82rem; }
.legal-section { max-width: 760px; margin-top: clamp(3rem, 6vw, 5rem); }
.legal-section h2 { font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1; }
.legal-section h3 { margin-top: 1.8rem; font-size: 1rem; letter-spacing: -.015em; }
.legal-section p, .legal-section li { margin-top: .9rem; font-size: 1rem; line-height: 1.65; }
.legal-section ul { margin: .9rem 0 0; padding-left: 1.2rem; }
.legal-section li + li { margin-top: .45rem; }
.legal-table { width: 100%; margin-top: 1.2rem; border-collapse: collapse; font-size: .9rem; line-height: 1.45; }
.legal-table th, .legal-table td { padding: .85rem .75rem; vertical-align: top; text-align: left; border-top: 1px solid #c7bcac; }
.legal-table th { width: 28%; color: var(--legal-muted); font-size: .75rem; letter-spacing: .025em; text-transform: uppercase; }

.cookie-consent {
  position: fixed;
  z-index: 100;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  width: min(100% - 2rem, 520px);
  margin-left: auto;
  padding: 1.25rem;
  color: var(--legal-paper);
  background: var(--legal-ink);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .28);
}

.cookie-consent[hidden] { display: none; }
.cookie-consent__title { font-size: 1rem; font-weight: 760; }
.cookie-consent__copy { margin: .65rem 0 0; color: rgba(244, 240, 232, .76); font-size: .82rem; line-height: 1.5; }
.cookie-consent__copy a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.cookie-consent__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.cookie-consent__button { min-height: 42px; padding: .65rem .9rem; border: 1px solid var(--legal-paper); color: var(--legal-paper); background: transparent; font: inherit; font-size: .82rem; font-weight: 740; cursor: pointer; }
.cookie-consent__button--accept { border-color: var(--legal-red); color: var(--legal-ink); background: var(--legal-red); }
.cookie-consent__button:hover { filter: brightness(1.12); }

@media (max-width: 620px) {
  .site-legal-footer { padding-inline: 1.125rem; }
  .legal-header, .legal-content { width: min(100% - 2.25rem, 920px); }
  .legal-header { padding-block: 1.125rem; }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table th, .legal-table td { display: block; width: 100%; }
  .legal-table th { padding-bottom: .2rem; border-bottom: 0; }
  .legal-table td { padding-top: .2rem; }
  .cookie-consent { right: .75rem; bottom: .75rem; left: .75rem; width: auto; }
}
