.legal-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(ellipse at 82% 36%, #302965 0%, transparent 36%), linear-gradient(118deg, #11142b, #222052);
}
.legal-hero::after {
  position: absolute;
  top: -290px;
  right: -80px;
  width: 590px;
  height: 590px;
  border: 1px solid rgba(185,173,255,.13);
  border-radius: 50%;
  content: "";
}
.legal-hero-inner {
  position: relative;
  z-index: 1;
  width: min(1100px, calc(100% - 64px));
  margin: 0 auto;
  padding: 69px 0 65px;
}
.legal-hero .eyebrow { margin-bottom: 20px; }
.legal-hero h1 {
  margin: 0 0 17px;
  font-size: clamp(42px, 5.5vw, 64px);
  font-weight: 600;
  letter-spacing: -.065em;
  line-height: 1.08;
}
.legal-hero h1 em { color: var(--amber); font-style: normal; }
.legal-hero-inner > p:not(.eyebrow) { max-width: 550px; margin-bottom: 0; color: #c4c5d5; font-size: 13px; line-height: 1.8; }
.legal-hero-inner .legal-updated { margin-top: 21px; color: #a7a9bc; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.legal-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 760px);
  align-items: start;
  gap: 65px;
  width: min(1100px, calc(100% - 64px));
  margin: 0 auto;
  padding: 64px 0 92px;
}
.legal-toc { position: sticky; top: 105px; padding: 19px; border: 1px solid #e8e4dd; border-radius: 4px; background: #fff; }
.legal-toc > p { margin: 0 0 12px; color: var(--midnight); font-family: var(--display); font-size: 12px; font-weight: 800; }
.legal-toc nav { display: grid; gap: 3px; }
.legal-toc a { padding: 7px 8px; border-radius: 3px; color: #696a78; font-size: 10px; line-height: 1.5; text-decoration: none; }
.legal-toc a:hover, .legal-toc a:focus-visible { background: #f3f1fa; color: var(--violet); }
.legal-content { min-width: 0; }
.legal-section { padding: 0 0 34px; margin: 0 0 34px; border-bottom: 1px solid #e8e4dd; scroll-margin-top: 105px; }
.legal-kicker { margin: 0 0 9px; color: var(--violet); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.legal-section h2 { margin: 0 0 17px; color: var(--midnight); font-size: 25px; font-weight: 700; letter-spacing: -.04em; line-height: 1.25; }
.legal-section h3 { margin: 24px 0 8px; color: #2a2b41; font-size: 15px; font-weight: 700; }
.legal-section p { margin: 0 0 13px; color: #626371; font-size: 12px; line-height: 1.85; }
.legal-section a, .legal-source a { color: var(--violet); font-weight: 600; text-decoration: underline; text-decoration-color: #c3b9f1; text-underline-offset: 3px; }
.legal-section a:hover, .legal-source a:hover { color: #3e328f; }
.legal-identity { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; margin: 20px 0; padding: 15px 19px; border: 1px solid rgba(185,173,255,.17); border-radius: 4px; background: linear-gradient(130deg, #171a39, #25204f); }
.legal-identity > div { display: grid; grid-template-columns: 1fr; gap: 3px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.legal-identity > div:nth-last-child(-n+2) { border-bottom: 0; }
.legal-identity dt { color: #b7b5ca; font-size: 8px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.legal-identity dd { margin: 0; color: #fff; font-family: Consolas, "Courier New", monospace; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.legal-identity-compact { grid-template-columns: 1fr; }
.legal-identity-compact > div:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
.legal-identity-compact > div:last-child { border-bottom: 0; }
.legal-incomplete { padding: 12px 14px; border-left: 2px solid var(--amber); background: #f1eee8; }
.legal-incomplete strong { color: #39374c; }
.legal-list { display: grid; gap: 8px; margin: 0 0 17px; padding-left: 20px; color: #626371; font-size: 12px; line-height: 1.8; }
.legal-list li::marker { color: var(--violet); }
.legal-production-note { display: flex; gap: 15px; padding: 20px; border: 1px solid #eddbb9; border-radius: 4px; background: #fffaf0; }
.legal-production-icon { display: grid; flex: 0 0 27px; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--amber); color: var(--midnight); font-family: var(--display); font-size: 15px; font-weight: 800; }
.legal-production-note h2 { margin: 2px 0 8px; color: var(--midnight); font-family: var(--display); font-size: 14px; font-weight: 800; }
.legal-production-note p { margin: 0; color: #6b6251; font-size: 10px; line-height: 1.8; }
.legal-source { margin: 20px 0 0; color: #777787; font-size: 9px; line-height: 1.8; }
@media (max-width: 850px) {
  .legal-layout { grid-template-columns: 180px minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 680px) {
  .legal-hero-inner { width: calc(100% - 44px); padding: 55px 0 49px; }
  .legal-hero h1 { font-size: 44px; }
  .legal-layout { display: block; width: calc(100% - 44px); padding: 37px 0 66px; }
  .legal-toc { position: static; margin-bottom: 37px; }
  .legal-toc nav { grid-template-columns: 1fr 1fr; }
  .legal-section { padding-bottom: 27px; margin-bottom: 27px; }
  .legal-section h2 { font-size: 22px; }
  .legal-identity { grid-template-columns: 1fr 1fr; gap: 0 14px; padding: 11px 13px; }
  .legal-identity dd { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-toc a { transition: none; }
}
