/* Legal pages share colour, typography, focus and footer rules with the landing page. */
body { min-height: 100vh; display: flex; flex-direction: column; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 104px; padding-block: 20px; }
header { border-bottom: 1px solid var(--line); background: #fcfbf8; }
.return-link { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; font-size: 1.0625rem; }
.legal-main { width: min(900px, 100%); flex: 1; margin-inline: auto; padding: 64px 48px 90px; }
.legal-main h1 { margin-bottom: 36px; font-size: clamp(2.1rem, 4.5vw, 3.6rem); overflow-wrap: anywhere; }
.legal-main h2 { margin-block: 38px 16px; font-size: 1.7rem; line-height: 1.35; }
.legal-main p { margin-bottom: 18px; }
.legal-main ul { margin-block: 16px 22px; padding-left: 1.3em; }
.legal-main li { margin-block: 8px; }
.legal-main a { overflow-wrap: anywhere; }
.legal-date { padding-bottom: 22px; margin-bottom: 30px; border-bottom: 1px solid var(--line); color: #4b5b67; font-size: 1.0625rem; }
.legal-contact { padding-left: 24px; border-left: 3px solid var(--copper); }
.legal-contact p:last-child { margin-bottom: 0; }
@media (max-width: 650px) {
  .legal-header { flex-direction: column; align-items: flex-start; gap: 10px; padding-block: 20px 16px; }
  .legal-main { padding: 40px 24px 60px; }
  .legal-main h2 { font-size: 1.5rem; }
  .legal-contact { padding-left: 18px; }
}
