.screen-legal { background:#f7f8fb; }
.legal-page { min-height:calc(100dvh - var(--topbar-h)); padding:clamp(26px,4vw,58px) clamp(16px,3vw,42px) 80px; background:radial-gradient(circle at 8% 8%,rgba(240,129,112,.18),transparent 26%),radial-gradient(circle at 92% 2%,rgba(23,32,58,.1),transparent 24%),#f7f8fb; }
.legal-page__shell { width:min(1440px,100%); margin:auto; display:grid; grid-template-columns:minmax(270px,390px) minmax(0,850px); justify-content:center; align-items:start; gap:clamp(24px,4vw,62px); }
.legal-aside { position:sticky; top:calc(var(--site-nav-h) + 28px); min-width:0; }
.legal-kicker { margin:0 0 11px; color:#e37060; font-weight:900; }
.legal-title { max-width:620px; font-family:var(--font-title); font-size:clamp(3rem,6.2vw,6rem); font-weight:900; line-height:.88; color:#17203a; }
.legal-lead { max-width:42ch; margin-top:18px; color:#4b5368; font-size:clamp(1rem,1.6vw,1.22rem); line-height:1.65; }
.legal-meta { display:inline-flex; margin-top:18px; padding:7px 12px; border:1px solid rgba(23,32,58,.13); border-radius:999px; background:rgba(255,255,255,.76); color:#6e7588; font-size:.78rem; font-weight:800; }
.legal-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:23px; }
.legal-nav a { min-height:40px; display:flex; align-items:center; padding:7px 11px; border-radius:10px; background:#fff; color:#17203a; font-size:.8rem; font-weight:800; box-shadow:0 5px 18px rgba(23,32,58,.05); transition:transform .2s ease,color .2s ease; }
.legal-nav a:hover { color:#e37060; transform:translateY(-2px); }
.legal-covers { position:relative; height:180px; margin-top:26px; overflow:hidden; border-radius:18px; background:#fff; }
.legal-covers img { position:absolute; width:76%; height:100%; object-fit:cover; mix-blend-mode:darken; }
.legal-covers img:first-child { right:-7%; transform:rotate(5deg); }
.legal-covers img:nth-child(2) { left:-15%; transform:rotate(-7deg); }
.legal-covers:has(img:only-child) img { inset:0; width:100%; transform:none; }
.legal-card { min-width:0; padding:clamp(24px,4vw,52px); border:1px solid rgba(23,32,58,.09); border-radius:22px; background:rgba(255,255,255,.96); box-shadow:0 26px 80px -52px rgba(23,32,58,.48); }
.legal-card section { scroll-margin-top:110px; }
.legal-card section + section { margin-top:36px; padding-top:32px; border-top:1px solid #e9ebf1; }
.legal-card h2 { margin:0 0 11px; font-family:var(--font-title); font-size:clamp(1.75rem,3vw,2.45rem); line-height:1; color:#17203a; }
.legal-card p,.legal-card li { color:#40485e; font-size:.98rem; line-height:1.82; }
.legal-card p + p { margin-top:10px; }
.legal-card ul { margin:10px 0 0; padding-inline-start:0; padding-inline-end:22px; }
.legal-card li + li { margin-top:7px; }
.legal-card a:not(.btn) { color:#c85245; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.legal-note { margin:17px 0 0; padding:16px 18px; border-inline-start:4px solid #f08170; border-radius:12px; background:#fff3ef; color:#17203a; line-height:1.7; }
.legal-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:16px 0; }
.legal-facts span { min-width:0; display:flex; flex-direction:column; padding:13px 14px; border:1px solid #e7e9ef; border-radius:12px; background:#f8f9fc; }
.legal-facts small { color:#7b8293; font-size:.7rem; font-weight:800; }
.legal-facts strong { color:#17203a; overflow-wrap:anywhere; }
.legal-table { margin:15px 0; border:1px solid #e4e7ed; border-radius:14px; overflow:hidden; }
.legal-table > div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:12px; padding:13px 15px; }
.legal-table > div + div { border-top:1px solid #e4e7ed; }
.legal-table strong { color:#17203a; }
.legal-table span { color:#4b5368; line-height:1.55; }
.legal-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:38px; padding-top:28px; border-top:1px solid #e9ebf1; }

@media(max-width:920px){
  .legal-page__shell { grid-template-columns:1fr; max-width:820px; }
  .legal-aside { position:static; }
  .legal-covers { height:150px; }
}
@media(max-width:600px){
  .legal-page { padding:22px 12px 78px; }
  .legal-title { font-size:clamp(2.8rem,15vw,4.25rem); }
  .legal-lead { font-size:.98rem; }
  .legal-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-covers { height:115px; margin-top:18px; }
  .legal-card { padding:24px 17px; border-radius:16px; }
  .legal-card section + section { margin-top:28px; padding-top:26px; }
  .legal-card p,.legal-card li { font-size:.93rem; line-height:1.72; }
  .legal-facts { grid-template-columns:1fr; }
  .legal-table > div { grid-template-columns:1fr; gap:3px; }
  .legal-actions .btn { width:100%; }
}
