/* ============================================================
   BusinessInsight — Business Intelligence & Datenanalyse
   Modern analytical theme · light · navy/sky/blue
   (works with Tailwind browser CDN; tokens + components)
   ============================================================ */
:root{
  --bi-bg:#f8fafc; --bi-white:#ffffff; --bi-navy:#0f172a; --bi-navy2:#1e293b;
  --bi-slate:#64748b; --bi-slate2:#94a3b8; --bi-line:#e2e8f0;
  --bi-sky:#38bdf8; --bi-blue:#0284c7; --bi-sky-l:#bae6fd;
}
*{ -webkit-font-smoothing:antialiased; }
.font-display{ font-family:'Plus Jakarta Sans','Inter',sans-serif; letter-spacing:-0.02em; }
.font-label{ font-family:'Plus Jakarta Sans','Inter',sans-serif; letter-spacing:.18em; text-transform:uppercase; }
body.bi-body{ font-family:'Inter',system-ui,sans-serif; color:var(--bi-navy); background:var(--bi-bg); }

.bi-navy-bg{ background:var(--bi-navy); color:var(--bi-bg); }
.bi-soft{ background:var(--bi-bg); }
.text-blue{ color:var(--bi-blue); } .text-sky{ color:var(--bi-sky); } .text-slate{ color:var(--bi-slate); }
.text-grad{ background:linear-gradient(100deg,var(--bi-sky),var(--bi-blue)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* subtle grid backdrop */
.bi-grid{ position:relative; }
.bi-grid::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:linear-gradient(var(--bi-line) 1px,transparent 1px),linear-gradient(90deg,var(--bi-line) 1px,transparent 1px);
  background-size:40px 40px; opacity:.5; mask-image:linear-gradient(to bottom, black, transparent 75%); }

/* cards */
.bi-card{ background:var(--bi-white); border:1px solid var(--bi-line); border-radius:1rem;
  box-shadow:0 1px 2px rgba(15,23,42,.04); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.bi-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -22px rgba(2,132,199,.45); border-color:#bfdbfe; }
.bi-card-navy{ background:var(--bi-navy); border:1px solid #1e293b; border-radius:1rem; }

.bi-icon{ width:48px; height:48px; border-radius:.75rem; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(56,189,248,.15), rgba(2,132,199,.15)); color:var(--bi-blue); }

/* badges / chips */
.bi-badge{ display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .8rem; border-radius:999px;
  background:rgba(56,189,248,.12); color:var(--bi-blue); font-size:.72rem; font-weight:600; letter-spacing:.06em; }
.bi-badge-up{ background:rgba(34,197,94,.12); color:#16a34a; }

/* buttons */
.btn-primary{ background:linear-gradient(100deg,var(--bi-blue),var(--bi-sky)); color:#fff; font-weight:600;
  transition:transform .2s ease, box-shadow .3s ease, filter .2s ease; }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -12px rgba(2,132,199,.6); filter:brightness(1.04); }
.btn-dark{ background:var(--bi-navy); color:#fff; font-weight:600; transition:transform .2s ease,background .2s ease; }
.btn-dark:hover{ transform:translateY(-2px); background:#1e293b; }
.btn-ghost{ border:1px solid var(--bi-line); color:var(--bi-navy); font-weight:600; transition:background .2s ease,border-color .2s ease; }
.btn-ghost:hover{ background:#fff; border-color:var(--bi-blue); color:var(--bi-blue); }
.btn-ghost-light{ border:1px solid rgba(255,255,255,.25); color:#fff; font-weight:600; transition:background .2s ease; }
.btn-ghost-light:hover{ background:rgba(255,255,255,.1); }

/* section label */
.bi-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; font-family:'Plus Jakarta Sans',sans-serif;
  text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:700; color:var(--bi-blue); }
.bi-eyebrow::before{ content:""; width:22px; height:2px; background:var(--bi-blue); display:inline-block; }

/* numbered process */
.bi-step-num{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; color:var(--bi-sky-l); font-size:2.4rem; line-height:1; }

/* prose for legal */
.bi-prose h2{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--bi-navy); font-size:1.5rem; margin:2rem 0 .6rem; }
.bi-prose h3{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--bi-navy); font-size:1.12rem; margin:1.4rem 0 .4rem; }
.bi-prose p,.bi-prose li{ color:var(--bi-slate); line-height:1.85; }
.bi-prose ul{ list-style:disc; padding-left:1.25rem; }
.bi-prose a{ color:var(--bi-blue); text-decoration:underline; }

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