/* DatenExpert — Expertenlösungen für Datenanalyse & Business Intelligence (dark cyan, modern professionell) */
:root{
  --dx-navy:#0f172a; --dx-navy2:#111c32; --dx-panel:#13203a; --dx-line:#1e293b; --dx-grid:#1f2a44;
  --dx-cyan:#22d3ee; --dx-cyan2:#06b6d4; --dx-cyan-d:#0e7490;
  --dx-light:#f8fafc; --dx-slate:#94a3b8; --dx-slate2:#64748b; --dx-mute:#475569;
}
*{ -webkit-font-smoothing:antialiased; }
.font-display{ font-family:'Space Grotesk','Inter',sans-serif; letter-spacing:-0.02em; }
.font-mono{ font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,monospace; }
body.dx-body{ font-family:'Inter',system-ui,sans-serif; color:var(--dx-light); background:var(--dx-navy); }

/* surfaces */
.dx-navy{ background:var(--dx-navy); } .dx-navy2{ background:var(--dx-navy2); }
.dx-light{ background:var(--dx-light); color:var(--dx-navy); }
.dx-panel{ background:var(--dx-panel); border:1px solid var(--dx-line); border-radius:1rem; }
.text-cyan{ color:var(--dx-cyan); } .text-cyan2{ color:var(--dx-cyan2); } .text-slate{ color:var(--dx-slate); } .text-slate2{ color:var(--dx-slate2); }
.text-grad{ background:linear-gradient(100deg,var(--dx-cyan),var(--dx-cyan2)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* grid backdrop */
.dx-grid{ position:relative; }
.dx-grid::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:linear-gradient(var(--dx-grid) 1px,transparent 1px),linear-gradient(90deg,var(--dx-grid) 1px,transparent 1px);
  background-size:42px 42px; opacity:.4; mask-image:radial-gradient(ellipse at 50% 0%, black, transparent 72%); }
.dx-glow{ position:relative; }
.dx-glow::after{ content:""; position:absolute; z-index:0; width:560px; height:560px; left:50%; top:-120px; transform:translateX(-50%);
  background:radial-gradient(circle, rgba(34,211,238,.16), transparent 60%); pointer-events:none; }

/* cards */
.dx-card{ background:var(--dx-panel); border:1px solid var(--dx-line); border-radius:1rem; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.dx-card:hover{ transform:translateY(-4px); border-color:var(--dx-cyan2); box-shadow:0 24px 50px -28px rgba(34,211,238,.45); }
.dx-card-light{ background:#fff; border:1px solid #e2e8f0; border-radius:1rem; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.dx-card-light:hover{ transform:translateY(-4px); border-color:var(--dx-cyan2); box-shadow:0 24px 50px -30px rgba(6,182,212,.4); }

/* bento spans (used on home) */
.dx-bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; }
.dx-bento>*{ grid-column:span 2; }
.col-3{ grid-column:span 3 !important; } .col-4{ grid-column:span 4 !important; } .col-6{ grid-column:span 6 !important; }
@media (max-width:880px){ .dx-bento>*{ grid-column:span 6 !important; } }

.dx-icon{ width:48px; height:48px; border-radius:.7rem; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(34,211,238,.18), rgba(6,182,212,.18)); color:var(--dx-cyan); border:1px solid rgba(34,211,238,.25); }
.dx-icon-light{ background:linear-gradient(135deg, rgba(34,211,238,.12), rgba(6,182,212,.12)); color:var(--dx-cyan2); border:1px solid rgba(6,182,212,.25); }
.dx-badge{ display:inline-flex; align-items:center; gap:.45rem; padding:.34rem .8rem; border-radius:999px;
  background:rgba(34,211,238,.12); color:var(--dx-cyan); font-size:.72rem; font-weight:600; border:1px solid rgba(34,211,238,.22); }
.dx-chip{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--dx-cyan); background:rgba(34,211,238,.08); border:1px solid rgba(34,211,238,.2); padding:.18rem .6rem; border-radius:.4rem; }
.dx-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:600; color:var(--dx-cyan); }
.dx-eyebrow::before{ content:""; width:20px; height:2px; background:var(--dx-cyan); display:inline-block; }
.dx-stat{ font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.03em; }
.dx-num{ font-family:'JetBrains Mono',monospace; color:var(--dx-cyan); font-weight:700; }

/* terminal frame for content blocks */
.dx-term{ background:var(--dx-navy2); border:1px solid var(--dx-line); border-radius:.9rem; overflow:hidden; }
.dx-term-bar{ display:flex; align-items:center; gap:.4rem; padding:.6rem .9rem; background:var(--dx-panel); border-bottom:1px solid var(--dx-line); }
.dx-term-bar i{ width:10px; height:10px; border-radius:50%; display:inline-block; }

/* buttons */
.btn-cyan{ background:linear-gradient(100deg,var(--dx-cyan),var(--dx-cyan2)); color:#06212b; font-weight:700; transition:transform .2s ease, box-shadow .3s ease, filter .2s ease; }
.btn-cyan:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(34,211,238,.6); filter:brightness(1.05); }
.btn-outline{ border:1px solid rgba(148,163,184,.35); color:var(--dx-light); font-weight:600; transition:border-color .2s ease,background .2s ease; }
.btn-outline:hover{ border-color:var(--dx-cyan); background:rgba(34,211,238,.08); color:var(--dx-cyan); }
.btn-dark{ background:var(--dx-navy); color:var(--dx-light); font-weight:600; border:1px solid var(--dx-line); transition:transform .2s ease,border-color .2s ease; }
.btn-dark:hover{ transform:translateY(-2px); border-color:var(--dx-cyan2); }

/* prose for legal pages (dark) */
.dx-prose h2{ font-family:'Space Grotesk',sans-serif; color:var(--dx-light); font-size:1.45rem; margin:2rem 0 .6rem; }
.dx-prose h3{ font-family:'Space Grotesk',sans-serif; color:var(--dx-light); font-size:1.1rem; margin:1.4rem 0 .4rem; }
.dx-prose p,.dx-prose li{ color:var(--dx-slate); line-height:1.85; }
.dx-prose ul{ list-style:disc; padding-left:1.25rem; }
.dx-prose a{ color:var(--dx-cyan); text-decoration:underline; }
.dx-prose table{ width:100%; border-collapse:collapse; margin:1rem 0; }
.dx-prose th,.dx-prose td{ border:1px solid var(--dx-line); padding:.7rem .9rem; text-align:left; font-size:.9rem; color:var(--dx-slate); }
.dx-prose th{ color:var(--dx-light); font-family:'JetBrains Mono',monospace; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }

/* form */
.dx-input{ width:100%; padding:.75rem 1rem; border-radius:.6rem; background:var(--dx-navy); border:1px solid var(--dx-line); color:var(--dx-light); }
.dx-input:focus{ outline:none; border-color:var(--dx-cyan); box-shadow:0 0 0 3px rgba(34,211,238,.15); }
.dx-input::placeholder{ color:var(--dx-slate2); }

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