.fca-legal {
  --fca-legal-navy: #071b3a;
  --fca-legal-blue: var(--e-global-color-primary, #325d88);
  --fca-legal-accent: var(--e-global-color-accent, #ffb542);
  --fca-legal-ink: #263b4f;
  --fca-legal-muted: #65798b;
  --fca-legal-line: #dce6ee;
  background: #fff;
  color: var(--fca-legal-ink);
  font-family: var(--e-global-typography-text-font-family, "Roboto"), sans-serif;
}

.fca-legal__hero {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 112px) 24px;
  background:
    radial-gradient(circle at 88% 18%, rgba(255, 181, 66, .2), transparent 22rem),
    linear-gradient(135deg, #071b3a 0%, #0d3159 100%);
  color: #fff;
}

.fca-legal__hero::after {
  position: absolute;
  right: -80px;
  bottom: -210px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  content: "";
}

.fca-legal__hero-inner,
.fca-legal__layout {
  width: min(1180px, 100%);
  margin-inline: auto;
}

.fca-legal__eyebrow {
  margin: 0 0 12px;
  color: var(--fca-legal-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.fca-legal__hero h1 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-family: var(--e-global-typography-primary-font-family, "Open Sans"), sans-serif;
  font-size: clamp(40px, 6vw, 68px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.fca-legal__updated {
  margin: 24px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 15px;
}

.fca-legal__updated span { color: #fff; font-weight: 700; }

.fca-legal__layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 760px);
  gap: clamp(48px, 8vw, 110px);
  justify-content: center;
  padding: clamp(58px, 7vw, 96px) 24px clamp(72px, 9vw, 128px);
}

.fca-legal__toc nav {
  position: sticky;
  top: 24px;
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 24px 20px;
  border: 1px solid var(--fca-legal-line);
  border-top: 4px solid var(--fca-legal-accent);
  border-radius: 3px;
  background: #f8fafc;
}

.fca-legal__toc h2 {
  margin: 0 0 16px;
  color: var(--fca-legal-navy);
  font-size: 15px;
  font-weight: 700;
}

.fca-legal__toc ol { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.fca-legal__toc a { color: var(--fca-legal-muted); font-size: 13px; line-height: 1.4; text-decoration: none; }
.fca-legal__toc a:hover, .fca-legal__toc a:focus-visible { color: var(--fca-legal-blue); text-decoration: underline; }

.fca-legal__content { min-width: 0; font-size: 17px; line-height: 1.78; }
.fca-legal__content > :first-child { margin-top: 0; }
.fca-legal__content p { margin: 0 0 20px; }
.fca-legal__content h2 {
  margin: 64px 0 20px;
  padding-top: 4px;
  color: var(--fca-legal-navy);
  font-family: var(--e-global-typography-primary-font-family, "Open Sans"), sans-serif;
  font-size: clamp(25px, 3vw, 32px);
  font-weight: 650;
  letter-spacing: -.02em;
  line-height: 1.25;
  scroll-margin-top: 28px;
}
.fca-legal__content h2:first-child { margin-top: 0; }
.fca-legal__content h3 { margin: 34px 0 12px; color: var(--fca-legal-navy); font-size: 20px; line-height: 1.35; }
.fca-legal__content ul, .fca-legal__content ol { margin: 0 0 24px; padding-left: 24px; }
.fca-legal__content li { margin-bottom: 9px; padding-left: 5px; }
.fca-legal__content li::marker { color: var(--fca-legal-blue); font-weight: 700; }
.fca-legal__content a { color: #056cab; text-underline-offset: 3px; }
.fca-legal__content a:hover, .fca-legal__content a:focus-visible { color: var(--fca-legal-navy); }
.fca-legal__content hr { margin: 52px 0; border: 0; border-top: 1px solid var(--fca-legal-line); }
.fca-legal__content strong { color: #18344f; }

@media (max-width: 900px) {
  .fca-legal__layout { grid-template-columns: 1fr; gap: 40px; }
  .fca-legal__toc nav { position: static; max-height: none; }
  .fca-legal__toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
}

@media (max-width: 600px) {
  .fca-legal__hero { padding-inline: 20px; }
  .fca-legal__layout { padding-inline: 20px; }
  .fca-legal__toc ol { grid-template-columns: 1fr; }
  .fca-legal__content { font-size: 16px; line-height: 1.7; }
  .fca-legal__content h2 { margin-top: 50px; }
}

@media print {
  .fca-legal__hero { padding: 28px 0; background: none; color: #000; }
  .fca-legal__hero h1, .fca-legal__eyebrow, .fca-legal__updated, .fca-legal__updated span { color: #000; }
  .fca-legal__layout { display: block; width: 100%; padding: 28px 0; }
  .fca-legal__toc { display: none; }
  .fca-legal__content { font-size: 11pt; }
}
