.legal-main { padding-block:58px 72px }
.legal-heading { padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:44px }
.legal-heading h1 { margin:0 0 20px;font-size:clamp(36px,4.2vw,64px);line-height:1.1;letter-spacing:-.045em;font-weight:750;overflow-wrap:anywhere }
.legal-utilities { display:flex;align-items:center;justify-content:space-between;gap:24px }
.legal-metadata { display:flex;flex-wrap:wrap;gap:16px 42px;margin:0;font-size:16px }
.legal-metadata div { display:flex;gap:12px;flex-wrap:wrap }
.legal-metadata dt { color:var(--muted) }
.legal-metadata dd { margin:0;font-variant-numeric:tabular-nums }
.legal-print { min-height:44px;border-color:var(--muted);background:transparent;font-weight:500;padding:10px 20px;flex-shrink:0 }
.legal-print:hover { background:var(--soft) }
.legal-print[hidden] { display:none }
.legal-layout { display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px }
.legal-sidebar { border-inline-end:1px solid var(--line);padding-inline-end:24px;min-width:0 }
.legal-contents { position:sticky;top:110px;max-height:calc(100vh - 135px);overflow:auto;scrollbar-width:thin }
.legal-contents summary { font-size:18px;font-weight:700;line-height:1.4;min-height:44px }
.legal-contents ul { list-style:none;padding:0;margin:6px 0 0 }
.legal-contents a { display:block;padding:8px 0;min-height:36px;color:var(--muted);font-size:14px;line-height:1.5;overflow-wrap:anywhere }
.legal-contents a:hover { color:var(--ink);text-decoration:underline;text-underline-offset:4px }
.legal-document { min-width:0;font-size:18px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere }
.legal-document p { margin:0 0 16px;white-space:pre-wrap }
.legal-document .legal-intro { margin-bottom:40px }
.legal-clause { margin-bottom:38px;scroll-margin-top:110px }
.legal-clause:last-child { margin-bottom:0 }
.legal-clause h2 { font-size:26px;line-height:1.3;letter-spacing:-.025em;color:var(--ink);margin:0 0 12px;font-weight:700 }
.legal-clause:focus-visible { outline:2px solid var(--orange);outline-offset:8px }
.legal-related { display:flex;align-items:baseline;flex-wrap:wrap;gap:16px 28px;border-top:1px solid var(--line);padding-top:28px;margin-top:48px;font-size:16px }
.legal-related h2 { font-size:16px;margin:0;font-weight:700 }
.legal-related a { color:var(--muted);text-decoration:underline;text-underline-offset:5px;padding-block:10px }
.legal-unavailable { padding-block:28px 52px;max-width:720px }
.legal-unavailable h2 { font-size:28px;line-height:1.3;margin:0 0 16px }
.legal-unavailable p { color:var(--muted);font-size:18px;margin:0 0 24px }
@media (max-width:1000px) {
  .legal-layout { grid-template-columns:220px minmax(0,1fr);gap:32px }
  .legal-sidebar { padding-inline-end:16px }
  .legal-contents { top:145px;max-height:calc(100vh - 170px) }
  .legal-clause { scroll-margin-top:145px }
}
@media (max-width:760px) {
  .legal-main { padding-block:36px 48px }
  .legal-heading { margin-bottom:28px;padding-bottom:24px }
  .legal-utilities { align-items:flex-start;flex-direction:column;gap:20px }
  .legal-metadata { gap:12px 24px;font-size:14px }
  .legal-layout { grid-template-columns:1fr;gap:28px }
  .legal-sidebar { padding:0 0 12px;border-inline-end:0;border-bottom:1px solid var(--line) }
  .legal-contents { position:static;max-height:none;overflow:visible }
  .legal-contents summary { font-size:16px }
  .legal-contents a { min-height:44px;padding-block:10px }
  .legal-document { font-size:16px;line-height:1.8 }
  .legal-document .legal-intro { margin-bottom:32px }
  .legal-clause { margin-bottom:32px }
  .legal-clause h2 { font-size:23px }
  .legal-related { margin-top:32px;gap:8px 24px }
  .legal-related h2 { flex-basis:100% }
}
@media print {
  html { scroll-behavior:auto }
  body { color:#000;background:#fff;font-size:11pt }
  .site-header,.site-footer,.site-preloader,.cursor-halo,.scroll-top,.legal-sidebar,.legal-print,.legal-related,.skip-link { display:none!important }
  .legal-main.container { width:100%;max-width:none;padding:0;margin:0 }
  .legal-heading { margin-bottom:24px;padding-bottom:16px }
  .legal-heading h1 { font-size:28pt;letter-spacing:normal }
  .legal-metadata { font-size:10pt }
  .legal-layout { display:block }
  .legal-document,.legal-metadata dt { color:#000;font-size:11pt;line-height:1.6 }
  .legal-clause { margin-bottom:20px;scroll-margin-top:0 }
  .legal-clause h2 { color:#000;font-size:15pt;break-after:avoid }
  .legal-clause p { orphans:3;widows:3 }
}
