.legal-page { background: #f7f9f8; color: var(--text); }
.legal-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(221,231,238,.86); background: rgba(247,249,248,.9); backdrop-filter: blur(18px); }
.legal-nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-nav .brand img { width: 112px; }
.legal-nav-actions { display: flex; align-items: center; gap: 16px; }
.legal-back { color: var(--muted); font-size: .88rem; font-weight: 700; }
.legal-back:hover { color: var(--brand-deep); }
.legal-main { padding-bottom: 90px; }
.legal-hero { position: relative; overflow: hidden; padding: 86px 0 58px; border-bottom: 1px solid var(--border); background: linear-gradient(180deg,#f9fcfe 0%,#f7f9f8 100%); }
.legal-hero::before { content: ""; position: absolute; width: 560px; height: 560px; right: -180px; top: -290px; border-radius: 50%; background: radial-gradient(circle,rgba(86,178,242,.18),transparent 70%); }
.legal-hero-inner { position: relative; }
.legal-breadcrumb { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 25px; color: var(--brand-deep); font-size: .73rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.legal-breadcrumb::before { content: ""; width: 23px; height: 2px; background: currentColor; }
.legal-hero h1 { max-width: 850px; margin-bottom: 20px; font-size: clamp(2.7rem,6vw,5rem); line-height: 1; letter-spacing: -.055em; }
.legal-intro { max-width: 730px; color: var(--muted); font-size: 1.08rem; line-height: 1.75; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.legal-meta span { padding: 8px 12px; border: 1px solid var(--border); border-radius: 999px; color: #526473; background: rgba(255,255,255,.8); font-size: .75rem; font-weight: 700; }
.legal-review-notice { display: flex; align-items: flex-start; gap: 14px; margin-top: 30px; padding: 18px 20px; border: 1px solid rgba(33,118,217,.15); border-radius: 17px; background: var(--brand-soft); color: #264a6d; font-size: .86rem; line-height: 1.6; }
.legal-review-notice svg { width: 21px; height: 21px; flex: 0 0 auto; color: var(--brand); }
.legal-layout { display: grid; grid-template-columns: 245px minmax(0,760px); justify-content: center; align-items: start; gap: 64px; padding-top: 64px; }
.legal-toc { position: sticky; top: 102px; padding: 22px; border: 1px solid var(--border); border-radius: 19px; background: rgba(255,255,255,.76); box-shadow: 0 14px 40px rgba(25,55,82,.05); }
.legal-toc strong { display: block; margin-bottom: 13px; font-size: .77rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-toc a { display: block; padding: 7px 0; color: var(--muted); font-size: .78rem; line-height: 1.35; transition: color .18s ease,transform .18s ease; }
.legal-toc a:hover { color: var(--brand-deep); transform: translateX(3px); }
.legal-document { min-width: 0; }
.legal-section { scroll-margin-top: 105px; padding: 0 0 42px; margin-bottom: 42px; border-bottom: 1px solid var(--border); }
.legal-section:last-child { border-bottom: 0; }
.legal-number { display: block; margin-bottom: 9px; color: var(--brand); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.legal-section h2 { margin-bottom: 18px; font-size: 1.65rem; letter-spacing: -.025em; }
.legal-section h3 { margin: 25px 0 10px; font-size: 1rem; }
.legal-section p, .legal-section li { color: #526473; font-size: .95rem; line-height: 1.75; }
.legal-section p { margin-bottom: 14px; }
.legal-section ul { margin: 14px 0 18px; padding-left: 22px; }
.legal-section li { margin: 7px 0; padding-left: 4px; }
.legal-section a { color: var(--brand-deep); text-decoration: underline; text-underline-offset: 3px; }
.legal-placeholder { display: inline; padding: 2px 6px; border-radius: 5px; color: #98561f; background: #fff1e4; font-weight: 700; }
.legal-callout { margin: 22px 0; padding: 20px 22px; border-left: 4px solid var(--brand); border-radius: 0 14px 14px 0; background: #edf6ff; }
.legal-callout.warning { border-left-color: #c47a35; background: #fff6ed; }
.legal-callout strong { display: block; margin-bottom: 7px; }
.legal-callout p { margin: 0; }
.legal-data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0; }
.legal-data-card { padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
.legal-data-card h3 { margin: 0 0 8px; font-size: .96rem; }
.legal-data-card p { margin: 0; font-size: .84rem; line-height: 1.6; }
.legal-source-list { padding: 18px 20px; border-radius: 16px; background: #f0f5f7; }
.legal-footer { padding-top: 45px; }
.legal-footer-main { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.legal-footer-main img { width: 100px; }
.legal-footer-links { display: flex; flex-wrap: wrap; gap: 22px; color: var(--muted); font-size: .78rem; }
.legal-footer-links a:hover { color: var(--brand); }

@media (max-width: 820px) {
  .legal-layout { grid-template-columns: 1fr; gap: 38px; }
  .legal-toc { position: static; columns: 2; }
  .legal-toc strong { column-span: all; }
}

@media (max-width: 600px) {
  .legal-nav { min-height: 66px; }
  .legal-nav .brand img { width: 96px; }
  .legal-nav-actions .button { display: none; }
  .legal-hero { padding: 60px 0 42px; }
  .legal-hero h1 { font-size: 2.75rem; }
  .legal-intro { font-size: .96rem; }
  .legal-layout { padding-top: 38px; }
  .legal-toc { columns: 1; }
  .legal-data-grid { grid-template-columns: 1fr; }
  .legal-section { padding-bottom: 30px; margin-bottom: 30px; }
  .legal-section h2 { font-size: 1.4rem; }
  .legal-footer-main { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .legal-toc a { transition: none; }
}
