/* Legal / content pages — light surface */
.legal-hero { background:#fff; border-bottom:1px solid var(--light-border); padding:48px 0 36px; }
.legal-hero .crumbs { font-size:.82rem; color:var(--ink-text-2); margin-bottom:14px; }
.legal-hero .crumbs a { color:var(--blue-700); }
.legal-hero h1 { font-size:clamp(1.9rem,3.5vw,2.6rem); color:var(--ink-text); }
.legal-meta { display:flex; gap:18px; flex-wrap:wrap; margin-top:16px; font-size:.84rem; color:var(--ink-text-2); }
.legal-meta b { color:var(--ink-text); }
.legal-wrap { display:grid; grid-template-columns:250px 1fr; gap:48px; align-items:start; padding:44px 0 72px; }
@media (max-width:900px){ .legal-wrap { grid-template-columns:1fr; gap:24px; } .legal-toc { position:static !important; } }
.legal-toc { position:sticky; top:84px; }
.legal-toc h4 { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:var(--ink-text-2); font-family:var(--mono); margin-bottom:10px; }
.legal-toc a { display:block; padding:5px 11px; border-left:2px solid var(--light-border); color:var(--ink-text-2); font-size:.82rem; line-height:1.4; }
.legal-toc a:hover { color:var(--ink-text); border-left-color:var(--blue); }
.legal-toc a.active { color:var(--blue-700); border-left-color:var(--blue-700); font-weight:500; }
.legal-body { max-width:760px; }
.legal-body section { scroll-margin-top:84px; padding-bottom:30px; }
.legal-body h2 { font-size:1.3rem; color:var(--ink-text); margin-bottom:10px; }
.legal-body h3 { font-size:1.02rem; color:var(--ink-text); margin:22px 0 8px; }
.legal-body p { color:var(--ink-text-2); margin-bottom:12px; font-size:.95rem; line-height:1.75; }
.legal-body ul.bul { list-style:disc; padding-left:22px; margin:0 0 14px; }
.legal-body ul.bul li { color:var(--ink-text-2); font-size:.95rem; margin-bottom:6px; }
.legal-body a { color:var(--blue-700); }
.legal-card { background:#fff; border:1px solid var(--light-border); border-radius:12px; padding:20px 24px; margin-bottom:18px; box-shadow:0 1px 2px rgba(16,32,52,.04); }
.legal-contact { background:#fff; border:1px solid var(--light-border); border-radius:12px; padding:20px 24px; font-size:.9rem; line-height:1.8; color:var(--ink-text-2); }
.legal-contact b { color:var(--ink-text); }
.legal-contact .mono { color:var(--ink-text); }
.price-tag { font-family:var(--mono); color:var(--blue-700); }
.legal-note { background:#eef3f9; border:1px solid var(--light-border); border-radius:10px; padding:13px 16px; font-size:.86rem; color:var(--ink-text-2); margin:14px 0; }
