/* Scoped to legal documents: no dashboard or landing layout changes. */
.legalPage { --legal-link:#ee91c4; --legal-note:#e5c477; --text-3:#b5aebb; }
html[data-theme="light"] .legalPage { --legal-link:#9e2468; --legal-note:#75520d; --text-2:#514958; --text-3:#62596a; }
.legalPage .navActions { margin-left:auto; }
.legalPage .button.primary { background:#9e2468; color:#fff; }
.legalPage .legalShell { max-width:1200px; padding:30px 0 52px; }
.legalPage .legalTabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.legalPage .legalTabs a { padding:9px 14px; border:1px solid var(--line); border-radius:10px; color:var(--text-2); text-decoration:none; font-weight:650; }
.legalPage .legalTabs a[aria-current="page"] { background:var(--surface-3); border-color:var(--line-strong); color:var(--text); }
.legalPage .legalMeta { color:var(--text-2); font-size:13px; margin:0 0 10px; }
.legalPage .legalShell h1 { font-size:clamp(30px,4vw,46px); line-height:1.15; letter-spacing:-.04em; margin:0 0 12px; }
.legalPage .legalLead { font-size:17px; margin:0; max-width:860px; }
.legalPage .legalNotice { color:var(--legal-note); margin-top:18px; font-size:14px; }
.legalPage .legalNotice strong { display:block; margin-bottom:4px; }
.legalPage .legalSummary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0 26px; }
.legalPage .legalSummary > div { border:1px solid var(--line); border-radius:14px; background:var(--surface); padding:17px 18px; }
.legalPage .legalSummary strong { display:block; font-size:15px; }
.legalPage .legalSummary p { color:var(--text-2); font-size:14px; margin:6px 0 0; }
.legalPage .legalLayout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; align-items:start; }
.legalPage .legalContents { position:sticky; top:92px; border:1px solid var(--line); border-radius:14px; background:var(--surface); padding:18px; }
.legalPage .legalContents h2 { margin:0 0 12px; font-size:15px; }
.legalPage .legalContents ol { margin:0; padding-left:21px; color:var(--text-2); }
.legalPage .legalContents li { padding:4px 0; font-size:13px; }
.legalPage .legalContents a { text-decoration:none; color:var(--text-2); }
.legalPage .legalContents a:hover { text-decoration:underline; color:var(--text); }
.legalPage .legalBody { min-width:0; }
.legalPage .legalCard { margin:0 0 14px; padding:24px; scroll-margin-top:92px; }
.legalPage .legalCard h2 { font-size:21px; line-height:1.3; margin-bottom:13px; letter-spacing:-.02em; }
.legalPage .legalCard p { color:var(--text-2); margin:0 0 13px; }
.legalPage .legalCard p:last-child { margin-bottom:0; }
.legalPage .legalCard strong { color:var(--text); }
.legalPage .legalCard ul { padding-left:22px; margin:0 0 14px; }
.legalPage .legalCard li { margin:9px 0; }
.legalPage .legalCard a { color:var(--legal-link); text-underline-offset:3px; }
.legalPage .legalInlineNote { padding:14px 16px; border-left:3px solid var(--line-strong); border-radius:0 10px 10px 0; background:var(--surface-2); color:var(--text-2); margin:15px 0; }
.legalPage .legalDetails { margin:18px 0; }
.legalPage .legalDetails > div { display:grid; grid-template-columns:170px minmax(0,1fr); gap:16px; padding:11px 0; border-bottom:1px solid var(--line); }
.legalPage .legalDetails dt { color:var(--text); font-weight:650; }
.legalPage .legalDetails dd { margin:0; color:var(--text-2); overflow-wrap:anywhere; }
.legalPage .legalTableWrap { overflow-x:auto; margin-bottom:16px; }
.legalPage .legalTable { width:100%; border-collapse:collapse; font-size:14px; }
.legalPage .legalTable caption { text-align:left; color:var(--text-2); margin-bottom:12px; }
.legalPage .legalTable th,.legalPage .legalTable td { text-align:left; vertical-align:top; padding:13px 12px; border-bottom:1px solid var(--line); }
.legalPage .legalTable thead { background:var(--surface-2); }
.legalPage .legalTable tbody th { width:27%; min-width:130px; font-weight:600; }
.legalPage .legalTable td { color:var(--text-2); }
.legalPage #document { scroll-margin-top:85px; }
.legalPage .legalSkip { position:absolute; left:16px; top:-100px; z-index:100; padding:12px; background:var(--surface); border:2px solid var(--legal-link); border-radius:8px; }
.legalPage .legalSkip:focus { top:10px; }
.legalPage :focus-visible { outline:3px solid var(--legal-link); outline-offset:3px; }
@media(max-width:900px) {
  .legalPage .legalLayout { grid-template-columns:1fr; gap:16px; }
  .legalPage .legalContents { position:static; }
  .legalPage .legalContents ol { columns:2; column-gap:28px; }
  .legalPage .legalContents li { break-inside:avoid; }
}
@media(max-width:620px) {
  .legalPage .legalShell { padding-top:20px; }
  .legalPage .navInner { min-height:64px; height:auto; padding:12px 0; flex-wrap:wrap; }
  .legalPage .brand span:last-child { max-width:145px; }
  .legalPage .navActions { gap:5px; }
  .legalPage .navActions .button.ghost { display:inline-flex; font-size:13px; }
  .legalPage .navActions .button.primary { display:none; }
  .legalPage .legalSummary { grid-template-columns:1fr; gap:8px; margin-bottom:18px; }
  .legalPage .legalSummary > div { padding:13px 15px; }
  .legalPage .legalCard { padding:18px; scroll-margin-top:16px; }
  .legalPage .legalCard h2 { font-size:19px; }
  .legalPage .legalContents ol { columns:1; }
  .legalPage .legalDetails > div { grid-template-columns:1fr; gap:4px; }
  .legalPage .legalTable th,.legalPage .legalTable td { padding:10px 7px; }
  .legalPage .legalTable tbody th { min-width:105px; }
  .legalPage #document { scroll-margin-top:16px; }
}
@media print {
  .legalPage { background:white; color:black; --text:black; --text-2:#222; --line:#ccc; --legal-link:#222; --legal-note:#222; --surface:white; --surface-2:white; }
  .legalPage .publicNav,.legalPage .legalTabs,.legalPage .legalContents,.legalPage .publicFooter,.legalPage .legalSkip { display:none; }
  .legalPage .legalShell { width:100%; padding:0; }
  .legalPage .legalLayout { display:block; }
  .legalPage .legalCard { border:0; border-radius:0; padding:10px 0; }
  .legalPage .legalCard h2 { break-after:avoid; }
  .legalPage .legalTable tr { break-inside:avoid; }
}
