:root{--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--panel3:#252E3A}
.page-legal :where(h1,h2,h3,h4){margin:0;line-height:1.2}
.page-legal :where(p,ul,ol){margin:0}
.page-legal .sprite{position:absolute;width:0;height:0;overflow:hidden}
.page-legal .container{width:100%;max-width:var(--w);margin:0 auto;padding:0 24px}
.page-legal main{padding:0 0 88px}

.legal-head{padding:56px 0 32px}
.legal-head h1{font-weight:900;font-size:clamp(34px,4vw,52px);line-height:.95;letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance}
.legal-updated{margin-top:16px}
.legal-updated span{display:inline-block;padding:6px 10px;border-radius:var(--r);background:var(--panel);border:1px solid var(--border);font-weight:600;font-size:13px;color:var(--muted)}
.legal-grid{display:grid;grid-template-columns:272px minmax(0,1fr);gap:24px;align-items:start}
.panel{min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--r)}

.toc{position:sticky;top:92px;max-height:calc(100vh - 116px);display:flex;flex-direction:column}
.toc-title{padding:14px 16px 8px;font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted2)}
.toc-toggle{display:none}
html:not(.js) .toc-toggle{display:none!important}
.toc-list{list-style:none;margin:0;padding:0 10px 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border2) transparent}
.toc-list a{display:block;padding:7px 10px;border-radius:var(--r);color:var(--muted);font-size:13.5px;line-height:1.4;transition:background .12s,color .12s}
.toc-list a:hover{color:var(--text);background:var(--panel2)}
.toc-list a.on,.toc-list a.on:hover{color:var(--accent-ink);background:var(--accent);font-weight:700}

.doc{padding:32px 36px 40px}
.tos-body{max-width:74ch;font-size:15.5px;line-height:1.7;color:var(--body)}
.tos-body>*+*{margin-top:16px}
.tos-body h2{margin-top:44px;padding-top:30px;border-top:1px solid var(--border);font-weight:800;font-size:22px;line-height:1.15;text-transform:uppercase;color:var(--text);scroll-margin-top:92px}
.tos-body h3{margin-top:28px;font-weight:700;font-size:17px;line-height:1.35;color:var(--text);scroll-margin-top:92px}
.tos-body h4{margin-top:22px;font-weight:700;font-size:15.5px;line-height:1.4;color:var(--text)}
.tos-body h2+p,.tos-body h3+p,.tos-body h4+p,.tos-body h2+ul,.tos-body h3+ul,.tos-body h2+ol,.tos-body h3+ol{margin-top:10px}
.tos-body ul,.tos-body ol{padding-left:22px}
.tos-body li+li{margin-top:8px}
.tos-body li::marker{color:var(--accent)}
.tos-body strong{color:var(--text);font-weight:700}
.tos-body a{color:var(--accent2);border-bottom:1px solid var(--accent-dk);transition:color .12s,border-color .12s}
.tos-body a:hover{color:var(--text);border-bottom-color:var(--accent2)}
.tos-contact{margin-top:16px;padding:16px 18px;background:var(--side);border:1px solid var(--border);border-radius:var(--r)}
.tos-contact-email{font-weight:800;font-size:17px}
.tos-contact-email a{border-bottom:0}
.tos-contact-alt{margin-top:6px;font-size:13.5px;line-height:1.6;color:var(--muted)}

@media (max-width:980px){
  .legal-grid{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;max-height:none}
  .js .toc-title{display:none}
  .toc-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--r);font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--text);text-align:left}
  .toc-toggle .icon{width:18px;height:18px;fill:none;stroke:var(--muted2);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
  .toc-toggle[aria-expanded="true"] .icon{transform:rotate(180deg)}
  .js .toc-list{display:none;padding-top:8px;border-top:1px solid var(--border)}
  .js .toc.open .toc-list{display:block}
}
@media (max-width:600px){
  .page-legal .container{padding:0 16px}
  .page-legal main{padding-bottom:64px}
  .legal-head{padding:36px 0 22px}
  .legal-head h1{font-size:34px}
  .doc{padding:22px 16px 28px}
  .tos-body{font-size:15px}
  .tos-body h2{margin-top:36px;padding-top:24px;font-size:19px}
}
@media print{
  .nav,.foot,.toc,.sale{display:none!important}
  .legal-grid{display:block}
  .panel,.doc{background:#fff;border:0;padding:0}
  .tos-body,.tos-body h2,.tos-body h3,.tos-body h4,.tos-body strong,.legal-head h1{color:#000;max-width:none}
  .tos-body a{color:#000}
  .tos-contact{background:#fff}
}
