.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
  padding: 24px var(--edge) max(24px, env(safe-area-inset-bottom));
  border-top: 1px solid color-mix(in srgb, var(--plum) 35%, transparent);
  color: var(--plum);
  background: var(--rose);
  font-size: 14px;
  line-height: 1.5;
}

.site-footer p { margin: 0; font-weight: 700; }
.site-footer a, .legal-header a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding-block: 10px; color: inherit; }
.site-footer a, .legal-copy a, .legal-return { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.site-footer svg, .legal-return svg { flex: none; width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.5; }
.site-footer a:focus-visible, .legal-page a:focus-visible { outline: 3px solid var(--plum); outline-offset: 5px; }

.legal-page { background: var(--cream); }
.legal-page address { font-style: normal; }
.legal-page a { color: inherit; }
.legal-skip { position: absolute; z-index: 1; left: var(--edge); top: 12px; padding: 12px 16px; transform: translateY(-160%); color: var(--cream); background: var(--plum); }
.legal-page .legal-skip { color: var(--cream); }
.legal-skip:focus { transform: none; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; max-width: 1260px; margin-inline: auto; padding: 24px var(--edge); }
.legal-brand { font: 800 26px/1 "Barlow Condensed", sans-serif; letter-spacing: -.025em; text-decoration: none; }
.legal-return { font-size: 14px; line-height: 1.5; }
.legal-main { max-width: 1260px; margin-inline: auto; padding: clamp(32px, 6vw, 80px) var(--edge) 72px; }
.legal-main:focus { outline: none; }
.legal-main h1 { margin: 0; font: 800 clamp(3.5rem, 8vw, 6rem)/.95 "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
.legal-main h1 span { color: var(--raspberry); }
.legal-updated { margin: 28px 0 48px; font-size: 14px; line-height: 1.6; }
.legal-section { display: grid; grid-template-columns: minmax(160px, .6fr) minmax(0, 1.4fr); gap: 24px 64px; padding-block: 40px; border-top: 1px solid color-mix(in srgb, var(--plum) 30%, transparent); }
.legal-section h2 { margin: 0; font: 800 clamp(1.75rem, 3vw, 2.25rem)/1.1 "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
.legal-copy { min-width: 0; max-width: 70ch; font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
.legal-copy p { margin: 0 0 20px; }
.legal-copy > :last-child { margin-bottom: 0; }
.legal-details { margin: 28px 0 0; }
.legal-details > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 8px 20px; margin-top: 18px; }
.legal-details dt { font-size: 14px; font-weight: 700; line-height: 2.06; }
.legal-details dd { margin: 0; }
.legal-domain { white-space: nowrap; }
.site-footer--legal { max-width: 1260px; margin-inline: auto; background: var(--cream); }

@media (hover: hover) and (pointer: fine) {
  .site-footer a:hover, .legal-copy a:hover, .legal-return:hover { text-decoration-thickness: 2px; }
  .legal-brand:hover { text-decoration: underline; text-underline-offset: 4px; }
}

@media (max-width: 700px) {
  .legal-header { align-items: flex-start; flex-direction: column; gap: 0; padding-block: 16px; }
  .legal-main { padding-top: 32px; padding-bottom: 40px; }
  .legal-updated { margin-block: 24px 32px; }
  .legal-section { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-block: 32px; }
  .legal-section h2 br { display: none; }
  .legal-copy { font-size: 16px; }
  .legal-details > div { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 20px; }
  .site-footer { flex-wrap: wrap; padding-block: 20px; }
}
