/* Halaman legal — dipakai bersama css/site.css */
.page-head{background:var(--mist);border-bottom:1px solid var(--line);padding:64px 0 48px}
.page-head h1{font-size:clamp(2rem,4.5vw,2.9rem);line-height:1.1;font-weight:750;letter-spacing:-.03em;margin-bottom:10px}
.page-head p{color:var(--muted);font-size:.95rem}
.legal-body{padding:56px 0 96px}
.legal-body .wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.toc{position:sticky;top:100px;font-size:.9rem}
.toc b{display:block;font-weight:700;margin-bottom:12px}
.toc ol{list-style:none;counter-reset:t;border-left:2px solid var(--line)}
.toc li{counter-increment:t}
.toc a{display:block;padding:5px 0 5px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;line-height:1.4}
.toc a::before{content:counter(t) ". "}
.toc a:hover{color:var(--forest);border-left-color:var(--forest)}
.doc{max-width:68ch}
.doc .intro{font-size:1.1rem;color:var(--ink);padding-bottom:28px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.doc h2{font-size:1.3rem;font-weight:700;letter-spacing:-.015em;margin:44px 0 12px;scroll-margin-top:96px}
.doc p{margin-bottom:14px}
.doc ul{margin:0 0 16px 1.2em}
.doc li{margin-bottom:8px;padding-left:4px}
.doc li::marker{color:var(--forest)}
.doc .box{background:var(--mist);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;margin-top:8px}
@media(max-width:980px){
  .legal-body .wrap{grid-template-columns:1fr;gap:32px}
  .toc{position:static;background:var(--mist);border-radius:var(--radius);padding:20px 22px}
  .toc ol{columns:2;column-gap:24px}
}
@media(max-width:560px){.toc ol{columns:1}}
@media print{.site-header,.site-footer,.toc{display:none}.page-head{background:none;border:0;padding:0 0 16px}.legal-body .wrap{display:block}}
