/* Privacy Policy and Terms of Use pages. Builds on site.css tokens. */
.legal-header{ position:sticky; top:0; z-index:50; background:rgba(7,7,10,.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.legal-header .header-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; }
.legal-header nav{ display:flex; gap:4px; flex-wrap:wrap; justify-content:flex-end; }
.legal-header nav a{ padding:8px 12px; border-radius:var(--radius-pill); font-size:14px; color:var(--text-body); }
.legal-header nav a[aria-current="page"]{ color:var(--text-heading); background:var(--surface-2); }

.legal-hero{ padding-block:var(--space-10) var(--space-6); border-bottom:1px solid var(--line); }
.legal-hero h1{ font:700 clamp(28px,2.4vw + 16px,44px)/1.25 var(--font-sans); }
.legal-hero .en-title{ font:600 clamp(15px,.6vw + 12px,18px)/1.4 var(--font-display); letter-spacing:.16em; text-transform:uppercase; color:var(--color-ice); margin-top:8px; }
.legal-meta{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:20px; font-size:14px; color:var(--text-muted); }
.lang-switch{ display:inline-flex; gap:6px; margin-top:24px; }
.lang-switch a{ border:1px solid var(--line-strong); border-radius:var(--radius-pill); padding:6px 16px; font-size:14px; color:var(--text-heading); }
.lang-switch a:hover{ border-color:var(--color-ice); text-decoration:none; }

.legal-layout{ display:grid; gap:var(--space-8); padding-block:var(--space-8) var(--space-10); }
@media (min-width:1024px){ .legal-layout{ grid-template-columns:240px minmax(0,1fr); } }
.toc{ align-self:start; }
@media (min-width:1024px){ .toc{ position:sticky; top:88px; } }
.toc h2{ font:600 12px/1.4 var(--font-display); letter-spacing:.22em; text-transform:uppercase; color:var(--text-muted); margin-bottom:10px; }
.toc ol{ list-style:none; margin:0; padding:0; display:grid; gap:2px; font-size:14px; }
.toc a{ display:block; padding:5px 0; color:var(--text-body); }
.toc a:hover{ color:var(--text-heading); }

.prose{ max-width:760px; min-width:0; }
.prose section{ scroll-margin-top:88px; }
.prose section + section{ margin-top:var(--space-6); padding-top:var(--space-6); border-top:1px solid var(--line); }
.prose h2{ font:700 21px/1.4 var(--font-sans); margin-bottom:12px; }
.prose h3{ font:600 16.5px/1.5 var(--font-sans); margin:18px 0 6px; }
.prose p{ margin-top:10px; }
.prose ul,.prose ol{ margin:10px 0 0; padding-left:22px; display:grid; gap:6px; }
.prose li::marker{ color:var(--color-primary-text); }
.prose strong{ color:var(--text-heading); font-weight:600; }
.prose .note{ margin-top:14px; padding:14px 16px; border:1px solid var(--line); border-left:3px solid var(--color-primary); border-radius:var(--radius-md); background:var(--surface); font-size:15px; }
.table-wrap{ margin-top:12px; overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-md); }
.prose table{ width:100%; border-collapse:collapse; font-size:14.5px; min-width:520px; }
.prose th,.prose td{ text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--line); }
.prose th{ background:var(--surface-2); color:var(--text-heading); font-weight:600; }
.prose tr:last-child td{ border-bottom:0; }

.lang-block + .lang-block{ margin-top:var(--space-10); padding-top:var(--space-8); border-top:1px solid var(--line-strong); }
.lang-label{ display:inline-block; font:600 12px/1.4 var(--font-display); letter-spacing:.22em; text-transform:uppercase; color:var(--color-ice); margin-bottom:var(--space-5); }
.contact-card{ margin-top:12px; padding:16px 18px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); display:grid; gap:4px; font-size:15px; }
.contact-card strong{ color:var(--text-heading); }
.legal-footer{ border-top:1px solid var(--line); padding-block:24px 40px; font-size:13px; color:var(--text-muted); }
.legal-footer .container{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.legal-footer nav{ display:flex; gap:16px; flex-wrap:wrap; }
.legal-hero .eyebrow{ flex-wrap:wrap; }
.prose{ overflow-wrap:anywhere; }
.lang-block > section:first-of-type{ margin-top:var(--space-6); }
@media (max-width:1023px){ .toc{ display:none; } .legal-layout{ padding-top:var(--space-6); } }
@media (max-width:639px){
  .legal-header .header-inner{ min-height:56px; gap:8px; }
  .legal-header .brand img{ height:26px; }
  .legal-header nav{ gap:2px; }
  .legal-header nav a{ padding:6px 8px; font-size:12.5px; }
  .legal-header nav a[href="/"]{ display:none; }
  .legal-hero{ padding-block:var(--space-8) var(--space-5); }
  .legal-hero .eyebrow{ letter-spacing:.16em; font-size:12px; }
}
