/* legal.css — shared layout for Embr legal & data pages */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');
:root{
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --sans:"Hanken Grotesk",system-ui,sans-serif;
  --cream:#F4F1E3; --paper:#FFFEF8; --ink:#15100D; --ink70:rgba(27,23,20,0.66); --ink40:rgba(27,23,20,0.36);
  --ember:#FF5A36; --line:rgba(27,23,20,0.1);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:var(--sans); color:var(--ink); background:var(--cream);
  background-image:linear-gradient(rgba(27,23,20,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(27,23,20,0.04) 1px,transparent 1px);
  background-size:30px 30px; -webkit-font-smoothing:antialiased; line-height:1.6; }
a{ color:var(--ember); text-decoration:none; }
a:hover{ text-decoration:underline; }

.topbar{ position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px; background:rgba(244,241,227,0.85); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.topbar .logo{ display:flex; align-items:center; gap:9px; font:800 21px var(--display); letter-spacing:-0.03em; color:var(--ink); }
.topbar .home{ font:700 14px var(--sans); color:var(--ink70); }

.legal-wrap{ max-width:820px; margin:0 auto; padding:60px 28px 100px; }
.legal-wrap .eyebrow{ font:800 13px var(--sans); letter-spacing:0.16em; text-transform:uppercase; color:var(--ember); }
.legal-wrap h1{ font:800 clamp(36px,6vw,60px) var(--display); letter-spacing:-0.03em; margin:10px 0 8px; line-height:1; }
.legal-wrap .updated{ font:500 14px var(--sans); color:var(--ink40); margin-bottom:14px; }
.legal-wrap .lede{ font:500 19px var(--sans); color:var(--ink70); margin:0 0 22px; line-height:1.5; }

.tldr{ background:var(--paper); border:2px solid var(--ink); border-radius:18px; padding:20px 22px; margin:24px 0 40px; box-shadow:3px 4px 0 rgba(27,23,20,0.12); }
.tldr h3{ font:800 15px var(--sans); letter-spacing:0.08em; text-transform:uppercase; margin:0 0 12px; color:var(--ink); }
.tldr ul{ margin:0; padding-left:18px; }
.tldr li{ font:500 15.5px var(--sans); color:var(--ink); margin-bottom:7px; }
.tldr li::marker{ color:var(--ember); }

.legal-wrap h2{ font:800 26px var(--display); letter-spacing:-0.02em; margin:42px 0 6px; }
.legal-wrap h2 .n{ color:var(--ember); margin-right:10px; }
.legal-wrap h3.sub{ font:800 18px var(--display); margin:24px 0 4px; }
.legal-wrap p{ font:400 16.5px var(--sans); color:var(--ink); margin:10px 0; }
.legal-wrap ul.body{ margin:10px 0; padding-left:20px; }
.legal-wrap ul.body li{ font:400 16.5px var(--sans); margin-bottom:8px; }
.legal-wrap ul.body li::marker{ color:var(--ember); }
.legal-wrap strong{ font-weight:700; }
.muted{ color:var(--ink70); }

.callout{ background:#FFF1EC; border:1.5px solid var(--ember); border-radius:14px; padding:16px 18px; margin:20px 0; }
.callout p{ margin:0; font-size:15.5px; }
.callout b{ color:var(--ember); }

.toc{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 30px; }
.toc a{ font:700 13px var(--sans); color:var(--ink70); background:rgba(27,23,20,0.05); padding:7px 13px; border-radius:999px; }
.toc a:hover{ background:var(--ink); color:#fff; text-decoration:none; }

.rights-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.rights-grid .r{ background:var(--paper); border:1.5px solid var(--line); border-radius:14px; padding:14px 16px; }
.rights-grid .r b{ display:block; font:800 15px var(--display); margin-bottom:3px; }
.rights-grid .r span{ font:400 14px var(--sans); color:var(--ink70); }

.btn{ display:inline-flex; align-items:center; gap:8px; background:var(--ember); color:#fff; font:800 16px var(--sans); padding:14px 26px; border-radius:999px; border:none; cursor:pointer; }
.btn:hover{ text-decoration:none; transform:translateY(-2px); }
.btn.ghost{ background:transparent; color:var(--ink); border:2px solid var(--ink); }
.btnrow{ display:flex; gap:12px; flex-wrap:wrap; margin:26px 0; }

.field{ margin:16px 0; }
.field label{ display:block; font:700 14px var(--sans); margin-bottom:6px; }
.field input,.field textarea,.field select{ width:100%; font:500 16px var(--sans); padding:13px 15px; border-radius:13px; border:2px solid var(--ink); background:var(--paper); color:var(--ink); outline:none; }
.field textarea{ min-height:96px; resize:vertical; }
.checkrow{ display:flex; gap:10px; align-items:flex-start; margin:14px 0; font:500 15px var(--sans); }
.checkrow input{ width:20px; height:20px; margin-top:2px; flex-shrink:0; accent-color:var(--ember); }
.formcard{ background:var(--paper); border:2px solid var(--ink); border-radius:22px; padding:26px; box-shadow:4px 5px 0 rgba(27,23,20,0.12); margin:26px 0; }
.ok-msg{ display:none; background:#E7F7EC; border:1.5px solid #54C97A; color:#1f7a44; border-radius:14px; padding:16px 18px; font:600 15px var(--sans); margin-top:16px; }

footer.legal-foot{ border-top:1px solid var(--line); padding:36px 28px; text-align:center; }
footer.legal-foot .fl{ display:flex; gap:20px; justify-content:center; flex-wrap:wrap; font:600 14px var(--sans); margin-bottom:10px; }
footer.legal-foot .fl a{ color:var(--ink70); }
footer.legal-foot small{ font:500 13px var(--sans); color:var(--ink40); }

.disclaimer{ font:500 13px var(--sans); color:var(--ink40); border-top:1px solid var(--line); margin-top:50px; padding-top:18px; }

@media(max-width:600px){ .rights-grid{ grid-template-columns:1fr; } }
