.legal-page { min-height: 100vh; background: var(--paper); }
.legal-header { min-height: 84px; display: grid; grid-template-columns: 120px minmax(0,1fr) auto; align-items: center; gap: 32px; }
.legal-header .brand { width: 100px; }
.legal-nav { display: flex; justify-content: center; align-items: center; gap: clamp(20px,3vw,44px); }
.legal-nav a { color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.legal-nav a:hover { color: var(--mint-deep); }
.legal-back { min-height: var(--button-height-sm); padding-inline: 22px; white-space: nowrap; }
.legal-main { width: min(920px, calc(100% - 80px)); margin-inline: auto; padding: 72px 0 112px; }
.legal-document h1 { max-width: 850px; margin: 0 0 40px; color: var(--ink); font-size: 30px; line-height: 1.15; font-weight: 600; letter-spacing: -.02em; text-transform: none; }
.legal-document h2 { margin: 40px 0 20px; color: var(--ink); font-size: 30px; line-height: 1.15; font-weight: 600; letter-spacing: -.02em; text-transform: none; }
.mailing-consent-page .legal-document h1 { font-size: 30px; }
.mailing-consent-page .legal-document h2 { font-size: 20px; line-height: 1.3; letter-spacing: 0; }
.mailing-consent-page .legal-main { padding-top: 30px; padding-bottom: 0; }
.personal-data-consent-page .legal-main { padding-top: 30px; padding-bottom: 0; }
.privacy-policy-page .legal-document h1 { font-size: 30px; }
.privacy-policy-page .legal-document h2 { font-size: 20px; line-height: 1.3; letter-spacing: 0; }
.privacy-policy-page .legal-main { padding-top: 30px; padding-bottom: 0; }
.legal-document h3 { margin: 42px 0 18px; }
.legal-document h1,
.legal-document h2,
.legal-document h3 { overflow-wrap: anywhere; hyphens: auto; }
.legal-document p,
.legal-document li { color: var(--ink-2); font-size: 16px; line-height: 1.72; }
.legal-document p { margin: 0 0 18px; }
.legal-document ul { margin: 0 0 24px; padding-left: 24px; }
.legal-document li { padding-left: 8px; margin-bottom: 10px; }
.legal-document a { color: var(--mint-deep); text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }

@media (max-width: 980px) {
  .legal-header { grid-template-columns: 110px minmax(0,1fr); gap: 14px 24px; padding-block: 14px; }
  .legal-back { grid-column: 2; grid-row: 1; justify-self: end; }
  .legal-nav { grid-column: 1/-1; grid-row: 2; min-width: 0; justify-content: flex-start; overflow-x: auto; padding: 14px 0 2px; border-top: 1px solid var(--line); scrollbar-width: none; }
  .legal-nav::-webkit-scrollbar { display: none; }
}

@media (max-width: 680px) {
  .legal-header { min-height: auto; grid-template-columns: 96px minmax(0,1fr); gap: 12px 18px; }
  .legal-header .brand { width: 96px; }
  .legal-back { min-height: var(--button-height-sm); padding-inline: 18px; font-size: 14px; }
  .legal-nav { gap: 24px; }
  .legal-main { width: calc(100% - 32px); padding: 48px 0 80px; }
  .legal-document h1 { margin-bottom: 40px; }
  .legal-document h2 { margin-top: 40px; }
  .legal-document p,
  .legal-document li { font-size: 16px; line-height: 1.65; }
}
