/* RESnipe legal pages — readable long-form on the brand's dark theme */
:root {
  --bg: #0b0e13; --panel: #11161f; --border: #222b3a; --border2: #2e3a4f;
  --text: #f2f5fa; --text2: #a8b3c4; --text3: #67748a; --accent: #3b82f6;
  --font: "IBM Plex Sans", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; }
body {
  background: var(--bg); color: var(--text2);
  font-family: var(--font); font-size: 15.5px; line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-decoration: none; }
a:hover { color: #6ea8ff; }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 28px; }

.legal-nav {
  position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px);
  background: rgba(11, 14, 19, 0.8); border-bottom: 1px solid var(--border);
}
.legal-nav .wrap { display: flex; align-items: center; gap: 12px; height: 60px; }
.logo { display: flex; align-items: center; gap: 10px; }
.logo-word { font-size: 18px; font-weight: 700; letter-spacing: -0.02em; color: var(--text); }
.logo-word b { color: var(--accent); }
.legal-nav .spacer { flex: 1; }
.legal-nav a.back { color: var(--text2); font-size: 13.5px; font-weight: 500; }

header.doc { padding: 56px 0 26px; border-bottom: 1px solid var(--border); }
header.doc h1 { margin: 0; font-size: 34px; font-weight: 700; letter-spacing: -0.03em; color: var(--text); }
header.doc .eff { margin-top: 10px; font-family: var(--mono); font-size: 12.5px; color: var(--text3); letter-spacing: 0.04em; }

main { padding: 30px 0 70px; }
main h2 {
  margin: 38px 0 12px; font-size: 19px; font-weight: 650; letter-spacing: -0.015em; color: var(--text);
}
main h2 .n { font-family: var(--mono); font-size: 13px; color: var(--accent); margin-right: 10px; }
main h3 { margin: 22px 0 8px; font-size: 15.5px; font-weight: 650; color: var(--text); }
main p { margin: 12px 0; }
main ul { margin: 12px 0; padding-left: 22px; }
main li { margin: 7px 0; }
main strong, main b { color: var(--text); font-weight: 600; }
main a { text-decoration: underline; text-underline-offset: 2px; }
.lead { font-size: 16.5px; color: var(--text); }

.callout {
  margin: 22px 0; padding: 16px 18px; border-radius: 12px;
  background: rgba(59, 130, 246, 0.08); border: 1px solid rgba(59, 130, 246, 0.35);
  font-size: 14px; color: var(--text2);
}
.callout b { color: var(--text); }

footer.doc { border-top: 1px solid var(--border); padding: 28px 0 60px; }
footer.doc .wrap { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
footer.doc a { font-size: 13.5px; color: var(--text3); }
footer.doc .spacer { flex: 1; }
footer.doc .cr { font-family: var(--mono); font-size: 12px; color: var(--text3); }

@media (max-width: 640px) { header.doc h1 { font-size: 27px; } }
