.ws-page-hero--legal {
  min-height: 0;
  padding: 172px 0 72px;
}

.ws-page-hero--legal .ws-page-hero__inner { max-width: 960px; }
.ws-page-hero--legal h1 {
  font-size: clamp(2.6rem, 5.2vw, 4.5rem);
  letter-spacing: -0.055em;
  line-height: 1.08;
}
.ws-page-hero--legal p {
  max-width: 760px;
  color: #d9e6f6;
  font-size: 1.2rem;
  line-height: 1.65;
}
.ws-legal-section { padding: 56px 0 96px; }
.ws-legal-content {
  max-width: 960px;
  color: #43516b;
  font-size: 1.125rem;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.ws-legal-content p,
.ws-legal-content li {
  color: #43516b;
  font-size: inherit;
  line-height: inherit;
}
.ws-legal-content p { margin: 0 0 20px; }
.ws-legal-content strong { color: var(--ws-navy); font-weight: 700; }
.ws-legal-content a:not(.ws-button) {
  color: #0064b1;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.ws-legal-content a:focus-visible {
  outline: 3px solid #006fc4;
  outline-offset: 5px;
  border-radius: 3px;
}
.ws-legal-content > section { margin-top: 44px; scroll-margin-top: 120px; }
.ws-legal-content h2 {
  margin: 0 0 18px;
  font-size: clamp(1.45rem, 2.5vw, 1.85rem);
  letter-spacing: -0.025em;
  line-height: 1.3;
}
.ws-legal-content ul { margin: 0 0 22px; padding-left: 24px; }
.ws-legal-content li + li { margin-top: 12px; }
.ws-legal-content .ws-legal-updated { margin-bottom: 26px; color: #526078; font-size: 1rem; }
.ws-legal-toc {
  margin: 34px 0 48px;
  padding: 28px 32px;
  border: 1px solid #d7e7f4;
  border-radius: 20px;
  background: #f1f8fe;
}
.ws-legal-toc h2,
.ws-legal-sources h2 { font-size: 1.2rem; letter-spacing: -0.015em; }
.ws-legal-toc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 34px;
  margin: 0;
  padding-left: 24px;
}
.ws-legal-toc li,
.ws-legal-toc li + li {
  margin: 0;
  padding-left: 2px;
  color: #0064b1;
  font-size: 1rem;
  line-height: 1.55;
}
.ws-legal-toc a { display: inline-block; padding: 8px 0; }
.ws-legal-contact {
  margin-top: 44px;
  padding: 32px;
  border: 1px solid #cddfec;
  border-radius: 20px;
  background: var(--ws-sky);
}
.ws-legal-contact .ws-button {
  min-height: 54px;
  margin: 4px 0 24px;
  white-space: normal;
  text-align: center;
}
.ws-legal-contact p:last-child { margin-bottom: 0; }
.ws-legal-contact .ws-legal-contact__details { font-size: 1rem; line-height: 1.75; }
.ws-legal-sources { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--ws-line); }
.ws-legal-sources p,
.ws-legal-sources li { font-size: 1rem; }

@media (max-width: 640px) {
  .ws-page-hero--legal { padding: 140px 0 48px; }
  .ws-page-hero--legal h1 { font-size: clamp(2.35rem, 9.6vw, 3.2rem); }
  .ws-page-hero--legal p { font-size: 1.1rem; }
  .ws-legal-section { padding: 36px 0 64px; }
  .ws-legal-content { font-size: 1.0625rem; line-height: 1.75; }
  .ws-legal-toc,
  .ws-legal-contact { padding: 24px 22px; border-radius: 16px; }
  .ws-legal-toc ol { grid-template-columns: minmax(0, 1fr); }
  .ws-legal-content > section { scroll-margin-top: 100px; }
}

@media print {
  .ws-page-hero--legal { padding: 24px 0; background: #fff; }
  .ws-page-hero--legal h1,
  .ws-page-hero--legal p,
  .ws-page-hero--legal .ws-kicker { color: #112051; }
  .ws-legal-toc { display: none; }
  .ws-legal-content h2 { break-after: avoid; }
}
