/* Legal pages (privacy policy, terms). Loaded after main.css. Rules copied from privacy.html. */
/* The design wraps this in section.section.legal-sec; set the full padding here so it matches
   whether or not the template adds the .section class. */
.legal-sec{padding:72px 0 96px}
.legal{max-width:820px}
.legal h1{font-size:clamp(32px,4.5vw,44px);margin:6px 0 8px}
.legal .updated{color:var(--muted);margin-bottom:32px}
.legal mark{background:#fff3c4;color:var(--ink);border-radius:4px;padding:0 4px}
.summary{background:var(--green-50);border:1px solid var(--green-100);border-radius:18px;padding:24px 28px;margin-bottom:24px}
.summary h2{font-size:18px;margin-bottom:12px}
.summary ul{list-style:none;display:grid;gap:10px}
.summary li{position:relative;padding-left:22px;font-size:15px}
.summary li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.toc{border:1px solid var(--line);border-radius:18px;padding:20px 28px;margin-bottom:48px}
.toc b{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc ol{columns:2;column-gap:32px;padding-left:20px;font-size:14.5px;font-weight:600}
.toc li{margin-bottom:6px;break-inside:avoid;color:var(--muted)}
.toc a{color:var(--ink)}
.toc a:hover{color:var(--green)}
.legal-body{display:flex;flex-direction:column;gap:40px;font-size:15.5px;line-height:1.7}
.legal-body section{scroll-margin-top:90px}
.legal-body h2{font-size:21px;margin-bottom:10px}
.legal-body p+p,.legal-body p+ul,.legal-body ul+p,.legal-body .tbl+p,.legal-body p+.tbl{margin-top:12px}
.legal-body ul{margin-left:20px;display:grid;gap:6px}
.legal-body h3{font-size:16.5px;margin:22px 0 8px}
.legal-body h2+h3{margin-top:4px}
.legal-body ul+.tbl,.legal-body .tbl+ul{margin-top:12px}
.legal-body p a,.legal-body li a,.legal-body dd a{color:var(--green);font-weight:600}
.legal-body p a:hover,.legal-body li a:hover,.legal-body dd a:hover{text-decoration:underline}
.legal-body td a{color:var(--green);font-weight:600}
.legal-body code{font-size:.9em;background:var(--green-50);border-radius:4px;padding:1px 5px}
.defs{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.defs div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.55}
.defs div:last-child{border-bottom:0}
.defs dt{font-weight:700;color:var(--ink)}
.legal-body b{color:var(--ink)}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.tbl table{width:100%;min-width:520px;border-collapse:collapse;font-size:14.5px;line-height:1.55}
.tbl th{text-align:left;background:var(--bg-soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
@media (max-width:680px){
.toc ol{columns:1}
.summary,.toc{padding:20px}
.legal-sec{padding:48px 0 72px}
.tbl table{min-width:0;font-size:13.5px}
.tbl th,.tbl td{padding:10px 12px}
.defs div{grid-template-columns:1fr;gap:2px;padding:10px 12px}
}
