/* ============================================================
   THE HEALING LOUNGE — legal / content pages (privacy, terms,
   contra-indications, aftercare). Builds on healing.css.
   ============================================================ */
.legal-hero{ background:var(--espresso); color:var(--cream); padding:150px 0 60px; position:relative; overflow:hidden; }
.legal-hero .glow{ position:absolute; right:-8%; top:-50%; width:46%; height:200%; background:radial-gradient(circle, rgba(188,129,58,.30), transparent 62%); filter:blur(12px); }
.legal-hero .crumb{ font-size:13px; letter-spacing:.05em; color:rgba(243,236,222,.7); margin-bottom:14px; position:relative; z-index:2; }
.legal-hero .crumb a:hover{ color:var(--gold); }
.legal-hero h1{ color:var(--cream); font-size:clamp(34px,5vw,58px); position:relative; z-index:2; margin:0; }
.legal-hero p.intro{ color:rgba(243,236,222,.82); max-width:62ch; margin:16px 0 0; position:relative; z-index:2; }
.legal-hero .updated{ font-size:13px; color:var(--gold-soft); letter-spacing:.04em; margin-top:18px; position:relative; z-index:2; }

.legal-body{ padding-block:clamp(48px,7vw,90px); }
.prose{ max-width:760px; }
.prose h2{ font-size:clamp(22px,2.6vw,30px); margin:42px 0 14px; }
.prose h2:first-child{ margin-top:0; }
.prose h3{ font-size:19px; margin:28px 0 10px; }
.prose p{ color:var(--ink); font-size:16.5px; line-height:1.75; margin:0 0 16px; }
.prose ul{ margin:0 0 18px; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.prose ul li{ position:relative; padding-left:26px; color:var(--ink); font-size:16px; line-height:1.6; }
.prose ul li::before{ content:''; position:absolute; left:4px; top:11px; width:7px; height:7px; border-radius:50%; background:var(--honey); }
.prose ul.danger li::before{ background:var(--rood); }
.prose .lead{ font-size:18px; color:var(--ink-soft); }
.prose a{ color:var(--honey); border-bottom:1px solid rgba(188,129,58,.4); }
.prose a:hover{ color:var(--ink); }
.prose strong{ font-weight:700; }

.legal-toc{ background:var(--linen); border:1px solid var(--linen-deep); border-radius:var(--r-md); padding:22px 26px; margin-bottom:40px; max-width:760px; }
.legal-toc h4{ font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 14px; }
.legal-toc ol{ margin:0; padding-left:20px; columns:2; column-gap:30px; }
.legal-toc li{ margin-bottom:8px; font-size:14.5px; }
.legal-toc a{ color:var(--ink); }
.legal-toc a:hover{ color:var(--honey); }

.callout{ display:flex; gap:16px; align-items:flex-start; background:var(--linen); border-left:3px solid var(--honey); border-radius:var(--r-sm); padding:18px 22px; margin:24px 0; max-width:760px; }
.callout.warn{ border-left-color:var(--rood); background:#fbf2ee; }
.callout .ic{ flex:none; font-size:18px; color:var(--honey); }
.callout.warn .ic{ color:var(--rood); }
.callout p{ margin:0; font-size:15.5px; }

.safety-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:900px; margin-top:10px; }
.safety-card{ background:var(--paper); border:1px solid var(--linen-deep); border-radius:var(--r-md); padding:24px 26px; }
.safety-card.danger{ border-top:3px solid var(--rood); }
.safety-card.attention{ border-top:3px solid var(--honey); }
.safety-card h3{ margin:0 0 14px; font-size:18px; }
@media (max-width:720px){ .safety-grid{ grid-template-columns:1fr; } .legal-toc ol{ columns:1; } }
