.legal-page { font-size:16px; line-height:1.7; }
.legal-page .nav-wrap { width:min(1120px, calc(100% - 64px)); gap:24px; }
.legal-page .nav-actions { gap:24px; }
.legal-home { color:var(--muted); font-size:13px; }
.legal-container { width:min(1120px, calc(100% - 64px)); margin-inline:auto; }
.legal-heading { max-width:840px; padding:70px 0 36px; }
.legal-eyebrow { color:var(--accent-link); font-size:11px; font-weight:600; letter-spacing:1.4px; }
.legal-heading h1 { margin:18px 0; font-size:clamp(32px, 4vw, 54px); line-height:1.13; letter-spacing:-1.7px; font-weight:550; overflow-wrap:anywhere; }
.legal-date { color:var(--soft); font-size:12px; }
.legal-intro { margin-top:24px; max-width:730px; color:var(--muted); font-size:16px; }
.legal-tabs { display:flex; gap:8px; flex-wrap:wrap; padding-bottom:32px; border-bottom:1px solid var(--line); }
.legal-tabs a { padding:10px 16px; border-radius:24px; font-size:13px; color:var(--muted); border:1px solid transparent; }
.legal-tabs a:hover { color:var(--accent-link); background:var(--surface); }
.legal-tabs a[aria-current] { color:var(--accent-link); background:var(--accent-tint); }
.legal-layout { display:grid; grid-template-columns:240px minmax(0, 1fr); gap:64px; padding:48px 0 72px; align-items:start; }
.legal-toc { position:sticky; top:116px; font-size:12px; line-height:1.6; }
.legal-toc details { border:0; }
.legal-toc summary { font-size:13px; font-weight:550; padding:0 0 16px; cursor:pointer; }
.legal-toc nav { display:grid; gap:10px; }
.legal-toc a { color:var(--muted); padding:3px 0; }
.legal-toc a:hover,.legal-home:hover { color:var(--accent-link); }
.legal-body { min-width:0; max-width:770px; }
.legal-body section { margin-bottom:36px; scroll-margin-top:110px; }
.legal-body h2 { font-size:21px; font-weight:550; line-height:1.35; letter-spacing:-.4px; margin-bottom:16px; }
.legal-body p { margin:12px 0; color:var(--muted); overflow-wrap:anywhere; }
.legal-contact { padding:28px; background:var(--surface); border:1px solid var(--line); border-radius:20px; }
.legal-contact a { display:inline-block; margin:8px 22px 0 0; color:var(--accent-link); font-size:14px; }
.legal-footer { border-top:1px solid var(--line); padding:24px 0 36px; display:flex; justify-content:space-between; font-size:12px; color:var(--muted); }
.legal-page a:focus-visible,.legal-page summary:focus-visible { outline:2px solid var(--accent-link); outline-offset:5px; }
@media(max-width:780px) {
  .legal-page .nav-wrap,.legal-container { width:calc(100% - 40px); }
  .legal-page .nav-wrap { height:72px; }
  .legal-page .nav-actions { gap:14px; }
  .legal-home { font-size:12px; }
  .legal-heading { padding:40px 0 26px; }
  .legal-heading h1 { letter-spacing:-1px; font-size:34px; }
  .legal-intro { font-size:15px; margin-top:20px; }
  .legal-tabs { display:grid; grid-template-columns:1fr; gap:4px; padding-bottom:26px; }
  .legal-tabs a { border-radius:12px; padding:11px 14px; }
  .legal-layout { grid-template-columns:1fr; gap:30px; padding:28px 0 44px; }
  .legal-toc { position:static; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
  .legal-toc summary { padding:0; }
  .legal-toc details[open] summary { padding-bottom:14px; }
  .legal-body { font-size:15px; }
  .legal-body h2 { font-size:20px; }
  .legal-body section { margin-bottom:30px; scroll-margin-top:90px; }
  .legal-contact { padding:22px; }
}
@media(max-width:380px) {
  .legal-page .nav-wrap,.legal-container { width:calc(100% - 32px); }
  .legal-page .nav-actions { gap:8px; }
  .legal-page .brand { font-size:23px; }
  .legal-home { display:none; }
  .legal-heading h1 { font-size:31px; }
}
@media print {
  .site-header,.legal-tabs,.legal-toc,.cookie-notice,.legal-footer,.skip-link { display:none!important; }
  .legal-page { background:white; color:black; font-size:11pt; }
  .legal-container { width:100%; }
  .legal-heading { padding:0 0 20px; }
  .legal-layout { display:block; padding:0; }
  .legal-body { max-width:none; font-size:11pt; }
  .legal-body p,.legal-intro,.legal-date { color:#333; }
  .legal-body h2 { break-after:avoid; }
  .legal-contact { break-inside:avoid; }
}
