.site-footer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding: 20px 0 30px;
  border-top: 1px solid var(--line);
  color: #7f858d;
  font-size: .72rem;
  line-height: 1.5;
}
.site-footer p { margin: 0; }
.site-footer a { color: #adb1b8; text-decoration: underline; text-underline-offset: 3px; }
.site-footer a:hover { color: #fff; }
.site-footer a:focus-visible, .policy-inline:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.policy-inline { width: fit-content; color: #c3c7cc; font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; }
.policy-inline:hover { color: #fff; }
.legal-page { max-width: 850px; padding-top: 36px; }
.legal-back { display: inline-block; margin-bottom: 26px; color: var(--muted); font-size: .86rem; }
.legal-back:hover { color: #fff; }
.legal-page h1 { margin: 12px 0 18px; font-size: clamp(2rem, 4vw, 3.4rem); }
.legal-page h2 { margin: 38px 0 13px; font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
.legal-page p, .legal-page li { color: #c5c8cd; }
.legal-page ul { padding-left: 22px; }
.legal-page li + li { margin-top: 7px; }
.legal-page a { color: #f1f3f5; text-decoration: underline; text-underline-offset: 3px; }
.legal-page .legal-meta { color: var(--muted); font-size: .87rem; }
.legal-callout { margin: 28px 0; padding: 18px 22px; border-left: 3px solid var(--red); border-radius: 0 9px 9px 0; background: rgba(255,59,48,.08); }
.legal-callout p { margin: 0; }
@media (max-width: 600px) {
  .site-footer { display: block; }
  .site-footer p { margin-top: 8px; }
}
