/* =========================================================================
   tonle.co — legal document pages (privacy, terms)
   Uses the same tokens, type and header/footer language as the product pages.
   ========================================================================= */
.legalHero{padding-top:clamp(112px,14vw,156px);padding-bottom:clamp(20px,3vw,32px);position:relative;overflow:clip}
.legalHero__bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(700px 380px at 84% -8%,rgba(116,245,161,.24),transparent 62%)}
.legalHero .wrap{position:relative}
.legalHero h1{font-size:clamp(2.1rem,5.4vw,3.4rem);margin-top:.3em}
.legalHero .updated{margin-top:16px;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}
html[lang="km"] .legalHero .updated{letter-spacing:.02em;text-transform:none;font-family:var(--font-body)}

.legalNote{margin-top:22px;border:1.5px dashed rgba(33,33,33,.22);background:var(--mint-wash);
  border-radius:var(--r-lg);padding:16px 20px;font-size:.94rem;line-height:1.55;max-width:70ch;color:var(--ink)}
.legalNote b{font-family:var(--font-display)}

.legalBody{padding-bottom:clamp(60px,9vw,110px)}
.legalGrid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:900px){.legalGrid{grid-template-columns:1fr;gap:26px}}

.legalToc{position:sticky;top:104px;font-size:.9rem}
@media(max-width:900px){.legalToc{position:static;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;background:var(--white)}}
.legalToc h2{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px;font-weight:500}
html[lang="km"] .legalToc h2{letter-spacing:.02em;text-transform:none;font-family:var(--font-body);font-size:.85rem}
.legalToc ol{list-style:none;margin:0;padding:0;display:grid;gap:7px;counter-reset:toc}
.legalToc a{color:var(--muted);line-height:1.35;display:flex;align-items:center;
  min-height:24px;padding-block:2px;transition:color .2s}   /* WCAG 2.5.8 target size */
.legalToc a:hover,.legalToc a:focus-visible{color:var(--ink)}

.legalDoc{max-width:70ch}
.legalDoc section{scroll-margin-top:100px}
.legalDoc h2{font-size:clamp(1.15rem,2.2vw,1.45rem);margin:38px 0 10px;letter-spacing:-.02em}
.legalDoc section:first-of-type h2{margin-top:0}
.legalDoc h3{font-size:1.02rem;margin:22px 0 6px;font-family:var(--font-display);letter-spacing:-.01em}
.legalDoc p{margin:10px 0;line-height:1.65;color:#3c3c3c}
.legalDoc ul{margin:10px 0;padding-left:1.15rem;display:grid;gap:7px;line-height:1.6;color:#3c3c3c}
.legalDoc li::marker{color:var(--mint-deep)}
.legalDoc a{color:var(--mint-text);text-decoration:underline;text-underline-offset:3px}
.legalDoc a:hover{color:var(--ink)}
.legalDoc strong{color:var(--ink)}
.legalDoc hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.legalDoc .num{font-family:var(--font-mono);font-size:.74rem;color:var(--muted);letter-spacing:.1em}
html[lang="km"] .legalDoc .num{letter-spacing:0;font-family:var(--font-body)}
.legalFootNote{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted);line-height:1.6}
