/* Carma Performance — shared legal/policy page styles.
   Reading layout that matches the site's tokens (Inter + Fraunces, dark palette). */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
:root { --bg:#050606; --bg2:#0e0f12; --bg3:#16181c; --border:#2a2c33; --border-soft:#1c1e23; --text:#fff; --text-2:#d8dde6; --text-3:#a8aebb; --text-4:#868d9c; --accent:#e62828; --r:14px; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text-3); font-family:'Inter',system-ui,sans-serif; font-size:16px; line-height:1.7; letter-spacing:-0.011em; -webkit-font-smoothing:antialiased; min-height:100%; }
h1, h2, h3 { color:var(--text); font-weight:500; letter-spacing:-0.025em; line-height:1.15; }
.serif { font-family:'Fraunces',serif; font-style:italic; font-weight:400; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
img { display:block; }

/* top bar */
.legal-top { border-bottom:1px solid var(--border-soft); padding:16px 20px; display:flex; justify-content:center; position:sticky; top:0; background:rgba(5,6,6,0.82); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); z-index:10; }
.legal-top img { width:140px; }

/* container */
.legal-wrap { max-width:760px; margin:0 auto; padding:46px 22px 64px; }
.legal-head { margin-bottom:38px; padding-bottom:26px; border-bottom:1px solid var(--border-soft); }
.legal-head .eyebrow { display:block; font-size:12px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.legal-head h1 { font-size:clamp(34px,7vw,52px); margin-bottom:14px; }
.legal-head .updated { font-size:13px; color:var(--text-4); }

/* document body */
.legal-body h2 { font-size:clamp(20px,4.5vw,26px); margin:42px 0 14px; }
.legal-body h3 { font-size:17px; color:var(--text-2); margin:26px 0 8px; }
.legal-body p { margin-bottom:16px; }
.legal-body ul, .legal-body ol { margin:0 0 16px 22px; }
.legal-body li { margin-bottom:8px; }
.legal-body strong { color:var(--text-2); font-weight:600; }
.legal-body .lead { font-size:17px; color:var(--text-2); margin-bottom:24px; }
.callout { background:var(--bg2); border:1px solid var(--border-soft); border-left:3px solid var(--accent); border-radius:var(--r); padding:18px 20px; margin:24px 0; font-size:15px; color:var(--text-3); }
.callout strong { color:var(--text); }

/* cross-links + footer */
.legal-cross { margin-top:54px; padding-top:26px; border-top:1px solid var(--border-soft); display:flex; flex-wrap:wrap; gap:10px 18px; }
.legal-cross a { font-size:14px; color:var(--text-3); }
.legal-cross a:hover { color:var(--text); }
.legal-foot { text-align:center; padding:30px 20px calc(34px + env(safe-area-inset-bottom)); border-top:1px solid var(--border-soft); font-size:13px; color:var(--text-4); }
.legal-foot a { color:var(--text-3); }
.legal-foot .row { margin-top:8px; display:flex; flex-wrap:wrap; justify-content:center; gap:6px 14px; }
