/* ==========================================================================
   Legal pages — Terms of Service and Privacy Policy
   ========================================================================== */
.legal-section{padding-top:clamp(26px,4vw,44px)}
.legal-wrap{
  display:grid;grid-template-columns:266px 1fr;gap:clamp(26px,4vw,62px);align-items:start;
}
.legal-toc{
  position:sticky;top:calc(var(--header-h) + 18px);
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:20px 22px;box-shadow:var(--shadow-sm);
}
.legal-toc h2{
  font-family:var(--font-head);font-size:.7rem;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;color:var(--brand-700);margin:0 0 12px;
}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.legal-toc a{
  display:block;padding:5px 0;font-size:.83rem;color:var(--muted);
  border-left:2px solid transparent;padding-left:10px;margin-left:-10px;
  transition:color .15s,border-color .15s;
}
.legal-toc a:hover{color:var(--brand-700);border-left-color:var(--brand-100)}

.legal{max-width:72ch}
.legal h2{
  font-size:clamp(1.1rem,1.5vw,1.4rem);
  margin:clamp(26px,3.2vw,40px) 0 10px;scroll-margin-top:calc(var(--header-h) + 20px);
}
.legal h2:first-child{margin-top:0}
.legal h3{font-size:1rem;margin:20px 0 8px;color:var(--ink)}
.legal p{color:var(--muted);font-size:.94rem;line-height:1.75;margin:0 0 12px;text-align:left;hyphens:none}
.legal ul,.legal ol{margin:0 0 16px;padding-left:24px;color:var(--muted);font-size:.94rem;line-height:1.75;text-align:left}
.legal ul{list-style:disc}
.legal ul li::marker{color:var(--brand-600)}
.legal ol{list-style:decimal}
.legal ol li::marker{color:var(--brand-700);font-weight:700}
.legal li{margin-bottom:7px}
.legal ol[type="a"]{list-style:lower-alpha}
.legal ol[type="a"] li::marker{font-weight:700}
.legal ul ul{list-style:circle;margin-top:6px}
.legal strong{color:var(--ink)}
.legal a{color:var(--brand-700);text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--ink)}
.legal-link{color:inherit;text-decoration:underline;text-underline-offset:2px}

.legal-contact{
  list-style:none;padding:16px 18px;margin:0 0 16px;
  background:#fff;border:1px solid var(--line);border-radius:14px;
}
.legal-contact li{margin-bottom:6px;font-size:.9rem}
.legal-contact li:last-child{margin-bottom:0}
.legal-note{
  font-size:.82rem!important;color:#6B6579!important;
  border-top:1px solid var(--line);padding-top:14px;margin-top:22px!important;
}

@media (max-width:900px){
  .legal-wrap{grid-template-columns:1fr}
  .legal-toc{position:static;margin-bottom:6px;max-height:260px;overflow:auto}
  .legal-toc ol{grid-template-columns:1fr 1fr;column-gap:14px}
}
@media (max-width:560px){
  .legal-toc ol{grid-template-columns:1fr}
  .legal{padding-right:2px}
}
