/* Shared styles for the legal pages (terms, privacy, imprint).
   Tokens mirror the landing page in index.html. */
:root{
  --ink:#0B0C0E; --ink-2:#33383F; --muted:#666D78; --muted-2:#9096A0;
  --line:#E2E4E9; --line-2:#EDEEF2;
  --bg:#F6F7F9; --card:#FFFFFF; --shade:#EFF0F4;
  --blue:#0B7BFF; --blue-dark:#0062DB;
  --r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;line-height:1.55;
}
h1,h2,h3,h4{margin:0;line-height:1.15;letter-spacing:-0.03em;font-weight:500}
p{margin:0}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* ---- nav (matches index.html) ---- */
.nav{position:sticky;top:0;z-index:60;background:rgba(246,247,249,.86);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line-2)}
.nav-in{display:flex;align-items:center;gap:34px;height:68px}
.logo{font-family:'Geologica',sans-serif;font-weight:500;font-size:19px;line-height:1;letter-spacing:-0.021em}
.nav-links{display:flex;gap:26px;margin-left:auto}
.nav-links a{font-size:14px;color:var(--ink-2);font-weight:500;transition:color .15s}
.nav-links a:hover{color:var(--ink);text-decoration:underline}

/* ---- document ---- */
.doc{padding:56px 0 86px}
.doc-head{max-width:78ch;margin-bottom:38px}
.back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--muted);margin-bottom:22px}
.back:hover{color:var(--ink)}
.doc-head h1{font-size:clamp(28px,3.4vw,40px);letter-spacing:-0.042em}
.updated{margin-top:12px;font-size:13.5px;color:var(--muted-2);font-weight:500}
.doc-body{
  max-width:78ch;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);padding:clamp(24px,3.4vw,50px);
  font-size:15.5px;color:var(--ink-2);
}
.doc-body > .lead{font-size:16.5px;color:var(--ink);line-height:1.55}
.doc-body h2{
  font-size:20px;margin:44px 0 14px;color:var(--ink);
  letter-spacing:-0.032em;
}
.doc-body h2:first-child{margin-top:0}
.doc-body h3{font-size:16.5px;margin:30px 0 10px;color:var(--ink);font-weight:600;letter-spacing:-0.02em}
.doc-body p + p{margin-top:13px}
.doc-body h2 + p, .doc-body h3 + p{margin-top:0}
.doc-body ul{margin:13px 0 0;padding-left:22px}
.doc-body li{margin-top:8px}
.doc-body a{color:var(--blue);font-weight:500;overflow-wrap:anywhere}
.doc-body a:hover{text-decoration:underline}
.doc-body strong{font-weight:600;color:var(--ink)}
.doc-body hr{border:0;border-top:1px solid var(--line-2);margin:48px 0}
.caps{text-transform:uppercase;font-size:13.5px;letter-spacing:.01em}
.rule{
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2);
}

/* definition-style table used by the privacy policy and imprint */
.dl{margin:16px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dl-row{display:grid;grid-template-columns:225px 1fr;gap:0;align-items:start}
.dl-row + .dl-row{border-top:1px solid var(--line-2)}
.dl-k{padding:14px 18px;font-weight:600;color:var(--ink);background:var(--shade);font-size:14.5px}
.dl-v{padding:14px 18px;font-size:14.5px}
@media (max-width:640px){
  .dl-row{grid-template-columns:1fr}
  .dl-k{background:var(--shade);padding-bottom:10px}
  .dl-v{padding-top:10px}
}

/* ---- footer (matches index.html) ---- */
footer{border-top:1px solid var(--line-2);padding:34px 0;background:#fff}
.foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.foot p{font-size:13.5px;color:var(--muted-2)}
.foot-links{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{font-size:13.5px;color:var(--muted);font-weight:500}
.foot-links a:hover{color:var(--ink)}

@media (max-width:980px){
  .doc{padding:32px 0 64px}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .nav-in{gap:0;height:60px}
  .logo{font-size:17px}
  .nav-links{gap:16px}
  .nav-links a{font-size:13px;white-space:nowrap}
}
