.legal-page #header-wrapper {
  background: #0c3458;
}

.legal-hero {
  padding: 90px 24px 72px;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #0c3458, #174d68);
}

.legal-hero h1 {
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.15;
  scroll-margin-top: 110px;
}

.legal-hero p { margin: 0; }
.legal-hero .legal-eyebrow {
  margin-bottom: 16px;
  color: #ffc15e;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.legal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 24px;
}

.legal-breadcrumb a { color: #fff; text-decoration: underline; }
.legal-breadcrumb [aria-current] { color: #ffe0ad; }

.legal-page #main.legal-main { padding: 72px 24px 96px; }
.legal-container {
  display: grid;
  grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 72px);
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  align-items: start;
}

.legal-toc {
  position: sticky;
  top: 110px;
  padding: 26px;
  border: 1px solid #dce8ef;
  border-radius: 20px;
  background: #f2f8fc;
}

.legal-toc h2 { margin: 0 0 18px; font-size: 23px; line-height: 1.25; }
.legal-toc ol { margin: 0; padding-left: 19px; }
.legal-toc li { margin: 0 0 12px; padding-left: 4px; }
.legal-toc li:last-child { margin-bottom: 0; }
.legal-toc a { font-size: 16px; line-height: 1.4; }
.legal-copy { min-width: 0; font-size: 18px; line-height: 1.75; overflow-wrap: anywhere; }
.legal-copy .legal-intro { margin: 0 0 36px; color: #3a596f; font-size: 20px; }
.legal-copy section { margin-bottom: 32px; scroll-margin-top: 125px; }
.legal-copy h2 { margin: 0 0 14px; font-size: clamp(23px, 2.4vw, 29px); line-height: 1.3; }
.legal-copy p { margin: 0 0 16px; }
.legal-copy ul { padding-left: 23px; margin: 0 0 16px; }
.legal-copy li { margin-bottom: 8px; }
.legal-copy a { text-decoration: underline; text-underline-offset: 3px; }
.legal-copy .legal-related {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  padding-top: 26px;
  border-top: 1px solid #dce8ef;
}

.legal-page .legal-main a:focus-visible,
.legal-page .legal-hero a:focus-visible {
  outline: 3px solid #fc6b59;
  outline-offset: 5px;
  border-radius: 2px;
}

@media (max-width: 767px) {
  .legal-hero { padding: 55px 20px 48px; }
  .legal-page #main.legal-main { padding: 40px 20px 60px; }
  .legal-container { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .legal-toc { position: static; padding: 22px; }
  .legal-copy { font-size: 17px; }
  .legal-copy .legal-intro { font-size: 18px; }
}
