.legal-document { background: var(--color-bg-light); }
.legal-document__hero { position: relative; overflow: hidden; padding: var(--page-hero-top) 0 var(--page-hero-bottom); background: var(--color-bg-muted); }
.legal-document__hero::after { position: absolute; top: 35px; right: max(24px, calc((100vw - var(--container)) / 2 + var(--side-space))); width: 310px; height: 210px; opacity: .62; background-image: radial-gradient(circle, var(--color-dots-dark) 1.5px, transparent 1.7px); background-size: 24px 24px; content: ""; pointer-events: none; }
.legal-document__hero .container { position: relative; z-index: 1; }
.legal-document__title { max-width: 980px; margin-bottom: 22px; font-size: var(--font-size-h1); }
.legal-document__description { max-width: var(--content-description-max); margin: 0; color: var(--color-text); font-size: 19px; line-height: 1.55; }

.legal-document__layout { display: grid; align-items: start; gap: 72px; padding-block: 72px 110px; grid-template-columns: 270px minmax(0, 850px); }
.legal-document__aside { position: sticky; top: 112px; padding: 24px; border: 1px solid var(--color-border); border-radius: var(--radius-card); background: #fff; }
.legal-document__aside > strong { display: block; margin-bottom: 18px; color: var(--color-dark); font-size: 15px; }
.legal-document__aside nav { display: grid; gap: 4px; }
.legal-document__aside a { padding: 10px; border-radius: var(--radius-control); color: var(--color-text); font-size: 13px; line-height: 1.35; }
.legal-document__aside a:hover,
.legal-document__aside a[aria-current="page"] { color: var(--color-dark); background: var(--color-accent-soft); }
.legal-document__aside a[aria-current="page"] { font-weight: 800; }

.legal-document__body { min-width: 0; color: var(--color-text); font-size: 16px; line-height: 1.72; }
.legal-document__body .detail-text { color: inherit; font: inherit; }
.legal-document__body h2,
.legal-document__body h3 { color: var(--color-dark); letter-spacing: -.01em; }
.legal-document__body h2 { margin: 0 0 18px; font-size: 29px; line-height: 1.3; }
.legal-document__body h3 { margin: 0 0 26px; font-size: 20px; line-height: 1.4; }
.legal-document__body p { margin: 0 0 18px; color: var(--color-text); font-size: 16px; line-height: 1.72; }
.legal-document__body p > b:first-child { color: var(--color-dark); }
.legal-document__body a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.legal-document__body ul,
.legal-document__body ol { display: grid; gap: 9px; margin: 20px 0; padding-left: 26px; }
.legal-document__body ul { list-style: disc; }
.legal-document__body ol { list-style: decimal; }
.legal-document__body li { padding-left: 4px; }

@media (max-width: 980px) {
  .legal-document__layout { gap: 36px; grid-template-columns: 220px minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .legal-document__hero { padding: var(--page-hero-mobile-top) 0 var(--page-hero-mobile-bottom); }
  .legal-document__hero::after { display: none; }
  .legal-document__description { font-size: 16px; }
  .legal-document__layout { gap: 32px; grid-template-columns: 1fr; padding-block: 42px 72px; }
  .legal-document__aside { position: static; padding: 18px; }
  .legal-document__body,
  .legal-document__body p { font-size: 14px; line-height: 1.65; }
  .legal-document__body h2 { font-size: 23px; }
  .legal-document__body h3 { font-size: 18px; }
}
