* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; background:var(--canvas); color:var(--ink); font:16px/1.85 var(--font-body); -webkit-text-size-adjust:100%; }
a { color:var(--rose); text-underline-offset:4px; overflow-wrap:anywhere; }
a:hover { color:var(--ink); }
a:focus-visible,summary:focus-visible { outline:2px solid var(--rose); outline-offset:4px; border-radius:3px; }
.legal-shell { max-width:820px; margin:auto; padding:0 clamp(20px,5vw,48px); background:var(--page); min-height:100dvh; }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 0 16px; font-size:14px; }
.legal-brand { font:500 22px var(--font-title); color:var(--ink); text-decoration:none; }
.legal-language { display:flex; flex-wrap:wrap; gap:4px 20px; margin:0 0 12px; font-size:14px; }
.legal-language a { display:inline-flex; align-items:center; min-height:44px; }
.legal-language a[aria-current="page"] { color:var(--ink); text-decoration:none; }
.legal-toc { margin:4px 0 24px; color:var(--muted); font-size:14px; }
.legal-toc summary { cursor:pointer; min-height:44px; display:list-item; padding:9px 0; color:var(--rose); }
.legal-toc ol { margin:8px 0 0; padding-left:24px; columns:2; column-gap:24px; }
.legal-toc li { break-inside:avoid; padding:4px 0; }
.legal-document { padding-bottom:24px; outline:none; overflow-wrap:anywhere; }
.legal-document h1 { margin:0 0 16px; font:500 clamp(28px,6vw,36px)/1.5 var(--font-title); color:var(--ink); }
.legal-document h2 { margin:36px 0 12px; font:500 21px/1.6 var(--font-title); color:var(--rose); }
.legal-document h3 { margin:24px 0 8px; font-size:17px; color:var(--ink); }
.legal-document p { margin:0 0 16px; }
.legal-document h1 + p { color:var(--quiet); font-size:13px; margin-bottom:24px; }
.legal-document ul { margin:0 0 20px; padding-left:24px; }
.legal-document li { margin:6px 0; padding-left:2px; }
.legal-document li::marker { color:var(--rose-deep); }
.legal-footer { padding:24px 0 36px; border-top:1px solid var(--border); font-size:13px; text-align:center; }
.legal-footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 20px; margin-bottom:8px; }
.legal-footer a { display:inline-flex; align-items:center; min-height:44px; }
.legal-footer a[aria-current="page"] { color:var(--ink); text-decoration:none; }
.skip-link { position:absolute; left:12px; top:-100px; padding:8px 12px; background:var(--page); z-index:10; }
.skip-link:focus { top:12px; }
@media(max-width:520px) { .legal-toc ol { columns:1; } .legal-document h2 { font-size:20px; } }
@media print {
  body,.legal-shell { color:#000; background:#fff; }
  .legal-header,.legal-language,.legal-toc,.legal-footer,.skip-link { display:none; }
  .legal-shell { max-width:none; padding:0; }
  .legal-document h1,.legal-document h2,.legal-document h3,.legal-document h1 + p,a { color:#000; }
  .legal-document h2,.legal-document h3 { break-after:avoid; }
}
