.legal-page { min-height: 100svh; display: flex; flex-direction: column; }
.legal-page .legal-content { width: 100%; max-width: 1440px; margin-inline: auto; padding: 76px var(--gutter) 88px; flex: 1; }
.legal-page .legal-heading { margin-bottom: 52px; }
.legal-page .legal-heading h1 { font-size: clamp(38px, 5vw, 64px); line-height: 1.12; letter-spacing: -.04em; text-wrap: initial; }
.legal-page .legal-heading h1 span { display: block; margin-top: 10px; font: 400 24px/1.4 Georgia, "Times New Roman", serif; letter-spacing: 0; }
.legal-page .legal-heading p { max-width: 62ch; margin: 26px 0 0; color: var(--muted); font-size: 15px; }
.legal-page .legal-row { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; padding: 30px 0; border-top: 1px solid var(--line); }
.legal-page .legal-row h2 { font-size: 20px; line-height: 1.5; letter-spacing: -.02em; text-wrap: initial; }
.legal-page .legal-row p { margin: 0 0 18px; }
.legal-page .legal-row address { font-style: normal; }
.legal-page .legal-content a:not(.text-link) { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-page .legal-contact { margin: 0; }
.legal-page .legal-contact > div + div { margin-top: 16px; }
.legal-page .legal-contact dt { color: var(--muted); font-size: 13px; }
.legal-page .legal-contact dd { margin: 0; }
.legal-page .legal-contact a { display: inline-flex; align-items: center; min-height: 44px; }
.legal-page .legal-back { margin-top: 24px; }
@media (max-width: 700px) {
  .legal-page .legal-content { padding-block: 46px 60px; }
  .legal-page .legal-heading { margin-bottom: 36px; }
  .legal-page .legal-row { grid-template-columns: 1fr; gap: 16px; padding-block: 24px; }
}
