/* Shared style for the topic pages (/voice-journal, /shadow-work-app, /somatic-movement). Same look as /get. */
:root { --bg:#000; --ink:#fff; --muted:rgba(255,255,255,.68); --faint:rgba(255,255,255,.45); --line:rgba(255,255,255,.12); --surface:rgba(255,255,255,.04); --accent:#7CE3E1; --accent-ink:#032322; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace; color-scheme:dark; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,system-ui,-apple-system,sans-serif; font-size:17px; line-height:1.6; overflow-x:clip; }
a { color:var(--accent); }
.glow { position:fixed; inset:-20% -30% auto; height:70vh; background:radial-gradient(closest-side, rgba(63,175,172,.24), transparent 70%); pointer-events:none; z-index:0; }
header, main, footer { position:relative; z-index:1; max-width:720px; margin:0 auto; padding-inline:20px; }
header { display:flex; align-items:center; justify-content:space-between; padding-top:max(18px, env(safe-area-inset-top)); padding-bottom:10px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-weight:600; letter-spacing:.28em; text-transform:uppercase; font-size:13px; }
.brand img { width:28px; height:28px; }
header nav a { color:var(--muted); font-size:14px; text-decoration:none; margin-left:16px; }
main { padding-bottom:36px; }
.eyebrow { font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin:36px 0 10px; }
h1 { font-size:clamp(32px, 7.5vw, 48px); line-height:1.08; letter-spacing:-.02em; font-weight:600; margin:0 0 16px; }
h2 { font-size:clamp(23px, 5vw, 28px); line-height:1.2; letter-spacing:-.01em; font-weight:600; margin:44px 0 12px; }
h3 { font-size:18px; margin:22px 0 6px; font-weight:600; }
p, li { color:var(--muted); }
p strong, li strong { color:var(--ink); font-weight:600; }
.lede { font-size:19px; color:rgba(255,255,255,.8); margin:0 0 24px; }
.cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 26px; border-radius:999px; background:var(--accent); color:var(--accent-ink); font-weight:600; font-size:17px; text-decoration:none; box-shadow:0 10px 40px rgba(124,227,225,.22); }
.cta svg { width:20px; height:20px; flex:none; }
.fine { color:var(--faint); font-size:14px; margin:10px 0 0; }
.card { border:1px solid var(--line); background:var(--surface); border-radius:20px; padding:18px 20px; margin:18px 0; }
.steps { padding-left:20px; }
.steps li { margin:6px 0; }
.table { overflow-x:auto; margin:14px -20px 6px; padding:0 20px; }
table { border-collapse:collapse; width:100%; min-width:560px; font-size:14.5px; }
th, td { text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--line); color:var(--muted); }
th { color:var(--ink); font-weight:600; }
td:first-child, th:first-child { color:var(--ink); padding-left:0; }
.note { font-size:13.5px; color:var(--faint); }
.reviews { display:grid; gap:12px; margin:14px 0; }
.reviews blockquote { margin:0; border:1px solid var(--line); background:var(--surface); border-radius:18px; padding:16px 18px; }
.reviews blockquote p { margin:0 0 8px; color:rgba(255,255,255,.85); }
.reviews cite { font-style:normal; font-size:13.5px; color:var(--faint); }
details { border-top:1px solid var(--line); padding:14px 0; }
details:last-of-type { border-bottom:1px solid var(--line); }
summary { cursor:pointer; color:var(--ink); font-weight:600; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; float:right; color:var(--accent); font-family:var(--mono); }
details[open] summary::after { content:"–"; }
details p { margin:10px 0 0; }
footer { padding-bottom:calc(36px + env(safe-area-inset-bottom)); font-size:13.5px; color:var(--faint); border-top:1px solid var(--line); padding-top:18px; }
footer a { color:var(--muted); }
footer p { color:var(--faint); margin:6px 0; }
.pains { display:grid; gap:12px; margin:30px 0 8px; }
@media (min-width:640px) { .pains { grid-template-columns:1fr 1fr; } }
.pains .card { margin:0; }
.pains h3 { margin:0 0 8px; }
.pains ul { margin:0; padding-left:18px; }
.pains li { margin:6px 0; }
.pains .gain { border-color:rgba(124,227,225,.32); background:rgba(124,227,225,.06); }
.pains .gain li { color:rgba(255,255,255,.85); }
.pains p { margin:0; font-size:16.5px; line-height:1.6; }
.pains .gain p { color:rgba(255,255,255,.88); }
.review { margin:0; border:1px solid var(--line); background:var(--surface); border-radius:18px; padding:16px 18px; }
.review .stars { color:#FFB940; letter-spacing:2px; font-size:15px; }
.review h3 { margin:4px 0 6px; font-size:17px; }
.review blockquote { margin:0; padding:0; border:0; background:none; border-radius:0; }
.review blockquote p { margin:0 0 10px; color:rgba(255,255,255,.85); }
.review figcaption { font-size:13.5px; color:var(--faint); }
