/* Synona long-form pages. Colours and font families come from the brand layer. */
:root { --legal-review-note: #FFE14D; }
.legal-page {
  width: min(70ch, calc(100% - 3rem));
  margin: var(--space-20) auto;
  font-size: 17px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.legal-page h1 {
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 900;
  font-stretch: 112%;
  line-height: 1.1;
  margin-bottom: var(--space-6);
}
.legal-page h2 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin: var(--space-12) 0 var(--space-4);
  scroll-margin-top: 90px;
}
.legal-page h3 { font-size: 1.125rem; margin: var(--space-6) 0 var(--space-3); }
.legal-page p, .legal-page ul, .legal-page ol { margin: 0 0 var(--space-5); }
.legal-page ul, .legal-page ol { padding-left: var(--space-6); }
.legal-page li + li { margin-top: var(--space-2); }
.legal-page a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
.legal-page strong { font-weight: 650; }
.legal-page mark { background: var(--legal-review-note); color: var(--syn-ink); padding: 0 .12em; }
.legal-table { overflow-x: auto; margin: var(--space-6) 0; }
.legal-table:focus-visible { outline: 2px solid var(--syn-ink); outline-offset: 4px; }
.legal-page table { width: 100%; min-width: 660px; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.legal-page th, .legal-page td { text-align: left; vertical-align: top; border-bottom: 1px solid var(--border-default); padding: var(--space-3); }
.legal-page th { background: var(--neutral-100); font-weight: 650; }
.cookie-banner { box-shadow: none; }
@media (max-width: 700px) {
  .legal-page { margin: var(--space-12) auto; font-size: 16px; }
  .legal-page h2 { font-size: 1.3rem; }
}
