/* Shared styles for Wellmet Labs legal / compliance pages */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:        oklch(0.985 0.004 230);
  --panel:     oklch(1 0 0);
  --ink:       oklch(0.24 0.018 240);
  --ink-soft:  oklch(0.42 0.018 240);
  --muted:     oklch(0.55 0.018 240);
  --line:      oklch(0.9 0.01 235);
  --accent:    oklch(0.5 0.09 195);
  --accent-soft: oklch(0.5 0.09 195 / 0.1);
  --maxw:      1000px;
  --font-display:"Sora", system-ui, sans-serif;
  --font-body:"Instrument Sans", system-ui, sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, monospace;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased; }
a{ color:var(--accent); text-decoration:none; }
a:hover{ text-decoration:underline; }

/* NAV */
header.nav{ position:sticky; top:0; z-index:40; background:oklch(0.985 0.004 230 / 0.88); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.nav-inner{ max-width:var(--maxw); margin:0 auto; padding:0 28px; height:66px; display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:700; font-size:19px; letter-spacing:-0.02em; color:var(--ink); }
.brand .mk{ width:24px; height:24px; border-radius:7px; background:var(--accent); display:grid; place-items:center; }
.brand .mk svg{ width:14px; height:14px; stroke:#fff; stroke-width:2.6; fill:none; }
.nav-back{ font-size:14.5px; color:var(--ink-soft); font-family:var(--font-body); }
.nav-back:hover{ color:var(--accent); }

/* DOC LAYOUT */
.doc{ max-width:var(--maxw); margin:0 auto; padding:64px 28px 40px; }
.doc-head{ border-bottom:1px solid var(--line); padding-bottom:34px; margin-bottom:14px; }
.kicker{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent); }
.doc-head h1{ font-family:var(--font-display); font-weight:600; font-size:clamp(34px,5vw,52px); letter-spacing:-0.025em; line-height:1.05; margin:14px 0 0; }
.doc-meta{ display:flex; gap:24px; flex-wrap:wrap; margin-top:20px; font-family:var(--font-mono); font-size:13px; color:var(--muted); }
.doc-meta b{ color:var(--ink-soft); font-weight:500; }
.lede{ font-size:19px; color:var(--ink-soft); margin-top:24px; max-width:70ch; }

/* LAYOUT WITH TOC */
.doc-body{ display:grid; grid-template-columns:230px 1fr; gap:48px; margin-top:48px; align-items:start; }
.toc{ position:sticky; top:90px; }
.toc h4{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.13em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.toc ol{ list-style:none; counter-reset:toc; display:flex; flex-direction:column; gap:3px; }
.toc li{ counter-increment:toc; }
.toc a{ display:block; font-size:14px; color:var(--ink-soft); padding:5px 0 5px 26px; position:relative; line-height:1.35; }
.toc a::before{ content:counter(toc,decimal-leading-zero); position:absolute; left:0; font-family:var(--font-mono); font-size:11px; color:var(--muted); top:7px; }
.toc a:hover{ color:var(--accent); text-decoration:none; }
@media(max-width:840px){ .doc-body{ grid-template-columns:1fr; } .toc{ position:static; display:none; } }

/* CONTENT */
.content section{ scroll-margin-top:88px; padding-bottom:38px; margin-bottom:38px; border-bottom:1px solid var(--line); }
.content section:last-child{ border-bottom:none; }
.content h2{ font-family:var(--font-display); font-weight:600; font-size:24px; letter-spacing:-0.015em; display:flex; gap:14px; align-items:baseline; }
.content h2 .n{ font-family:var(--font-mono); font-size:14px; color:var(--accent); font-weight:500; }
.content h3{ font-family:var(--font-display); font-weight:600; font-size:17px; margin:26px 0 6px; }
.content p{ margin-top:14px; color:var(--ink-soft); }
.content ul{ margin:14px 0 0 2px; padding-left:22px; color:var(--ink-soft); }
.content li{ margin-top:9px; }
.content li::marker{ color:var(--accent); }
.content strong{ color:var(--ink); font-weight:600; }
.callout{ background:var(--accent-soft); border:1px solid oklch(0.5 0.09 195 / 0.28); border-radius:14px; padding:22px 24px; margin-top:18px; }
.callout p{ margin-top:0; color:var(--ink); }
.contact-card{ background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:24px; margin-top:18px; font-family:var(--font-mono); font-size:14.5px; line-height:1.9; }
.contact-card .lab{ color:var(--muted); }
table.dt{ width:100%; border-collapse:collapse; margin-top:18px; font-size:15px; }
table.dt th, table.dt td{ text-align:left; padding:12px 14px; border:1px solid var(--line); vertical-align:top; }
table.dt th{ background:oklch(0.96 0.006 235); font-family:var(--font-mono); font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft); font-weight:500; }
table.dt td{ color:var(--ink-soft); }

/* FOOTER */
footer{ border-top:1px solid var(--line); background:oklch(0.97 0.005 235); margin-top:30px; }
.foot-inner{ max-width:var(--maxw); margin:0 auto; padding:40px 28px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:center; }
.foot-links{ display:flex; gap:22px; flex-wrap:wrap; }
.foot-links a{ font-size:14px; color:var(--ink-soft); }
.foot-note{ font-family:var(--font-mono); font-size:12.5px; color:var(--muted); width:100%; }
