/* TahiroLabs legal pages (2026-10-16): imprint, privacy, terms, Sortwell privacy and terms, tokushoho.
   Loaded after site.css and site-redesign.css on exactly those 36 pages. Every rule is scoped to
   body.tl-legal, so the home and Sortwell pages are not affected. Tokens, header and footer come from
   site-redesign.css (body.tl-page). Reading layout only: no text is hidden, collapsed or reordered. */
body.tl-legal main{padding:40px 0 64px}
@media (min-width:768px){body.tl-legal main{padding:56px 0 88px}}
body.tl-legal .tl-legal-doc{max-width:784px;margin:0 auto;padding:0 16px}
@media (min-width:768px){body.tl-legal .tl-legal-doc{padding:0 32px}}

/* Back link to the home or Sortwell page of the same language */
body.tl-legal .tl-back{margin:0 0 20px;font-size:14px}
body.tl-legal .tl-legal-doc .tl-back a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--tl-accent);font-weight:600;text-decoration:none}
body.tl-legal .tl-legal-doc .tl-back a::before{content:"\2190";font-weight:400}
body.tl-legal .tl-legal-doc .tl-back a:hover{text-decoration:underline}

/* Text */
body.tl-legal .tl-legal-doc h1{font-size:clamp(30px,6.4vw,46px);line-height:1.12;letter-spacing:-.03em;font-weight:500;
  margin:0 0 12px;hyphens:auto;-webkit-hyphens:auto}
body.tl-legal .tl-legal-doc h2{font-size:clamp(22px,3.6vw,28px);line-height:1.25;letter-spacing:-.02em;font-weight:500;color:var(--tl-ink);
  margin:48px 0 14px;padding-top:24px;border-top:1px solid var(--tl-line);hyphens:auto;-webkit-hyphens:auto;scroll-margin-top:16px}
body.tl-legal .tl-legal-doc h3{font-size:18px;line-height:1.35;letter-spacing:-.01em;font-weight:600;margin:28px 0 10px;hyphens:auto;-webkit-hyphens:auto}
body.tl-legal .tl-legal-doc p{margin:0 0 16px}
body.tl-legal .tl-legal-doc ul,body.tl-legal .tl-legal-doc ol{margin:0 0 16px;padding-left:24px}
body.tl-legal .tl-legal-doc li{margin:0 0 8px}
body.tl-legal .tl-legal-doc li::marker{color:var(--tl-muted)}
body.tl-legal .tl-legal-doc a{color:var(--tl-accent);text-decoration:underline;text-underline-offset:3px}
body.tl-legal .tl-legal-doc .stand,body.tl-legal .tl-legal-doc .small{color:var(--tl-muted);font-size:14px;line-height:1.5}
body.tl-legal .tl-legal-doc .stand{margin-bottom:24px}
body.tl-legal .tl-legal-doc strong{color:var(--tl-ink)}

/* Table of contents for long documents: plain jump links, always visible */
body.tl-legal .tl-toc{margin:28px 0 8px;padding:18px 20px;border:1px solid var(--tl-line);border-radius:12px;background:var(--tl-panel)}
body.tl-legal .tl-toc-title{margin:0 0 6px!important;color:var(--tl-accent);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
body.tl-legal .tl-legal-doc .tl-toc ol{list-style:none;margin:0;padding:0}
body.tl-legal .tl-legal-doc .tl-toc li{margin:0;border-top:1px solid var(--tl-line)}
body.tl-legal .tl-legal-doc .tl-toc li:first-child{border-top:0}
body.tl-legal .tl-legal-doc .tl-toc a{display:block;min-height:44px;padding:10px 0;color:var(--tl-ink);font-size:15px;line-height:1.4;text-decoration:none}
body.tl-legal .tl-legal-doc .tl-toc a:hover{color:var(--tl-accent);text-decoration:underline}
@media (min-width:768px){body.tl-legal .tl-toc{padding:22px 28px}}

/* Fact list (tokushoho) */
body.tl-legal .tl-legal-doc .facts{margin:24px 0 0}
body.tl-legal .tl-legal-doc .facts dt{font-weight:600;color:var(--tl-ink);margin:0;padding-top:16px;border-top:1px solid var(--tl-line)}
body.tl-legal .tl-legal-doc .facts dt:first-child{border-top:0;padding-top:0}
body.tl-legal .tl-legal-doc .facts dd{margin:4px 0 16px}
@media (min-width:768px){
  body.tl-legal .tl-legal-doc .facts{display:grid;grid-template-columns:200px 1fr;gap:0 24px}
  body.tl-legal .tl-legal-doc .facts dt,body.tl-legal .tl-legal-doc .facts dd{margin:0;padding:14px 0;border-top:1px solid var(--tl-line)}
  body.tl-legal .tl-legal-doc .facts dt:first-child,body.tl-legal .tl-legal-doc .facts dt:first-child+dd{border-top:0;padding-top:0}
}
