/* ============================================================
   Datenfokus — Fokus auf Datenqualität & analytische Auswertungen
   Minimalist analytical · deep navy + single cyan accent · hairlines, mono labels
   ============================================================ */
:root{
  --df-bg:#020617; --df-ink:#f1f5f9; --df-cyan:#22d3ee; --df-teal:#0891b2;
  --df-line:#1e293b; --df-muted:#64748b; --df-slate:#94a3b8;
}
*{ -webkit-font-smoothing:antialiased; }
.font-display{ font-family:'Inter','Helvetica Neue',sans-serif; letter-spacing:-0.03em; }
.font-mono{ font-family:'Space Mono','Courier New',monospace; }
.font-label{ font-family:'Space Mono','Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; }
body.df-body{ font-family:'Inter',system-ui,sans-serif; color:var(--df-ink); background:var(--df-bg); }

.text-cyan{ color:var(--df-cyan); } .text-slate{ color:var(--df-slate); } .text-muted{ color:var(--df-muted); }

/* hairline + section numbers */
.df-rule{ border:0; border-top:1px solid var(--df-line); }
.df-num{ font-family:'Space Mono',monospace; color:var(--df-cyan); font-size:.8rem; letter-spacing:.1em; }
.df-eyebrow{ font-family:'Space Mono',monospace; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; color:var(--df-cyan); }

/* definition list (Leistungen) */
.df-dl > div{ display:grid; grid-template-columns:1fr; gap:.4rem; padding:1.6rem 0; border-top:1px solid var(--df-line); }
@media(min-width:768px){ .df-dl > div{ grid-template-columns:320px 1fr; gap:2.5rem; } }
.df-dl > div:last-child{ border-bottom:1px solid var(--df-line); }
.df-dl dt{ font-family:'Inter',sans-serif; font-weight:600; font-size:1.2rem; color:var(--df-ink); }
.df-dl dd{ color:var(--df-slate); line-height:1.7; }

/* thin quality meter */
.df-meter{ height:6px; border-radius:99px; background:var(--df-line); overflow:hidden; }
.df-meter > span{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--df-teal),var(--df-cyan)); }

/* huge stat */
.df-stat{ font-family:'Inter',sans-serif; font-weight:700; letter-spacing:-0.04em; line-height:1; }

/* buttons (minimal) */
.btn-cyan{ background:var(--df-cyan); color:#02121d; font-weight:600; transition:transform .2s ease, filter .2s ease; }
.btn-cyan:hover{ transform:translateY(-2px); filter:brightness(1.08); }
.btn-line{ border:1px solid var(--df-line); color:var(--df-ink); font-weight:600; transition:border-color .2s ease,color .2s ease; }
.btn-line:hover{ border-color:var(--df-cyan); color:var(--df-cyan); }

/* link */
.df-link{ font-family:'Space Mono',monospace; font-size:.8rem; color:var(--df-cyan); text-decoration:none; border-bottom:1px solid rgba(34,211,238,.4); transition:border-color .2s ease; }
.df-link:hover{ border-color:var(--df-cyan); }

/* nav */
.df-navlink{ color:var(--df-slate); transition:color .2s ease; }
.df-navlink:hover, .df-navlink[aria-current="page"]{ color:var(--df-ink); }

/* prose */
.df-prose h2{ font-family:'Inter',sans-serif; color:var(--df-ink); font-size:1.4rem; margin:2rem 0 .6rem; letter-spacing:-0.02em; }
.df-prose h3{ font-family:'Inter',sans-serif; color:var(--df-ink); font-size:1.1rem; margin:1.4rem 0 .4rem; }
.df-prose p,.df-prose li{ color:var(--df-slate); line-height:1.85; }
.df-prose ul{ list-style:none; padding-left:0; }
.df-prose ul li{ padding-left:1.2rem; position:relative; }
.df-prose ul li::before{ content:"—"; position:absolute; left:0; color:var(--df-cyan); }
.df-prose a{ color:var(--df-cyan); text-decoration:underline; }
.df-prose table{ width:100%; border-collapse:collapse; margin:1rem 0; }
.df-prose th,.df-prose td{ border:1px solid var(--df-line); padding:.7rem .9rem; text-align:left; font-size:.9rem; color:var(--df-slate); }
.df-prose th{ color:var(--df-ink); font-family:'Space Mono',monospace; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }

.cookie-banner-hover-effect:hover{ filter:brightness(1.08); }
