/* =============================================================
   EM Launchpad — Case-study pagina
   Werkt bovenop de "v2" skin (home-redesign.css).
   ============================================================= */

body[data-page="case"] .cs-hero{position:relative;overflow:hidden;padding:76px 0 4px}
body[data-page="case"] .cs-hero .wrap{position:relative;z-index:2}
body[data-page="case"] .cs-intro{max-width:780px}
body[data-page="case"] .cs-crumb{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);display:flex;gap:10px;align-items:center;margin-bottom:22px;
}
body[data-page="case"] .cs-crumb a{color:var(--acc)}
body[data-page="case"] .cs-period{
  margin-top:20px;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:12px;color:var(--mid);
  border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:var(--glass-2);
}
body[data-page="case"] .cs-period .dot{width:7px;height:7px;border-radius:50%;background:var(--acc)}

/* ---- KPI-rij ---- */
body[data-page="case"] .cs-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:54px 0 0;
  position:relative;z-index:2;
}
body[data-page="case"] .cs-kpi{
  border:1px solid var(--line);border-radius:20px;background:var(--glass);
  padding:26px 24px;box-shadow:0 20px 50px rgba(0,0,0,.3);
}
body[data-page="case"] .cs-kpi .n{
  font-weight:800;letter-spacing:-.035em;line-height:1;
  font-size:clamp(32px,4.2vw,46px);color:var(--hi);
}
body[data-page="case"] .cs-kpi .l{
  margin-top:10px;font-family:var(--mono);font-size:11.5px;line-height:1.45;color:var(--mid);
}
body[data-page="case"] .cs-kpi .sub{margin-top:6px;font-size:12.5px;color:var(--dim)}

/* ---- secties ---- */
body[data-page="case"] .cs-sec{padding:84px 0;overflow-x:clip}
body[data-page="case"] .cs-sec.alt{background:var(--ink-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body[data-page="case"] .cs-head{max-width:720px;margin-bottom:40px}

/* ---- metriekkaarten ---- */
body[data-page="case"] .cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body[data-page="case"] .cs-card{
  border:1px solid var(--line);border-radius:18px;background:var(--glass);padding:24px;
}
body[data-page="case"] .cs-card .n{font-weight:800;font-size:clamp(24px,2.8vw,32px);letter-spacing:-.03em;color:var(--hi);line-height:1}
body[data-page="case"] .cs-card .l{margin-top:9px;font-family:var(--mono);font-size:11.5px;color:var(--mid);line-height:1.45}
body[data-page="case"] .cs-card .s{margin-top:8px;font-size:12.5px;color:var(--dim);line-height:1.5}

/* ---- staafdiagram ---- */
body[data-page="case"] .cs-bars{display:flex;flex-direction:column;gap:14px;margin-top:8px}
body[data-page="case"] .cs-bar{display:grid;grid-template-columns:190px 1fr 54px;gap:16px;align-items:center}
body[data-page="case"] .cs-bar .bl{font-size:14px;color:var(--mid)}
body[data-page="case"] .cs-bar .bt{height:10px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
body[data-page="case"] .cs-bar .bf{
  display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#2f74e0,#2fbf86);
}
body[data-page="case"] .cs-bar .bv{font-family:var(--mono);font-size:13px;color:var(--hi);text-align:right}

/* ---- split: tekst + media ---- */
body[data-page="case"] .cs-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
body[data-page="case"] .cs-video{
  position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);
  box-shadow:0 26px 60px rgba(0,0,0,.45);aspect-ratio:16/10;background:var(--ink-2);
}
body[data-page="case"] .cs-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body[data-page="case"] .cs-quote{
  margin:0;padding:24px 26px;border-left:2px solid var(--acc);
  background:rgba(255,255,255,.025);border-radius:0 14px 14px 0;
  font-size:clamp(16px,1.9vw,19px);line-height:1.55;color:var(--hi);
}
body[data-page="case"] .cs-quote cite{
  display:block;margin-top:14px;font-style:normal;
  font-family:var(--mono);font-size:12px;color:var(--dim);
}

/* ---- lijst met wat er gebouwd is ---- */
body[data-page="case"] .cs-build{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
body[data-page="case"] .cs-item{
  display:flex;gap:14px;align-items:flex-start;
  border:1px solid var(--line);border-radius:16px;background:var(--glass-2);padding:20px 22px;
}
body[data-page="case"] .cs-item .ic{
  flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:var(--acc-soft);border:1px solid rgba(31,158,95,.3);color:var(--acc);
}
body[data-page="case"] .cs-item .ic svg{width:17px;height:17px}
body[data-page="case"] .cs-item h3,body[data-page="case"] .cs-item h4{margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--hi)}
body[data-page="case"] .cs-item p{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--mid)}

body[data-page="case"] .cs-note{
  margin-top:34px;font-size:12.5px;color:var(--dim);line-height:1.6;max-width:70ch;
  border-top:1px solid var(--line);padding-top:18px;
}

/* ═══════════════════════════════════════════════════════════════
   ACHTERGROND — geen sterren hier; een rustig rasterveld past beter
   bij een rapportage.
   ═══════════════════════════════════════════════════════════════ */
body[data-page="case"] .cs-hero{
  background:
    radial-gradient(72% 62% at 80% 4%,rgba(47,116,224,.14),transparent 68%),
    radial-gradient(62% 58% at 10% 34%,rgba(47,191,134,.11),transparent 70%);
}
body[data-page="case"] .cs-hero::before,
body[data-page="case"] .cta-band::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background-image:
    linear-gradient(rgba(196,188,170,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(196,188,170,.07) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 26%,#000 8%,transparent 72%);
  mask-image:radial-gradient(ellipse 72% 72% at 50% 26%,#000 8%,transparent 72%);
}
body[data-page="case"] .cta-band{
  background:
    radial-gradient(64% 70% at 50% 6%,rgba(47,116,224,.13),transparent 70%),
    var(--ink-1);
}
body[data-page="case"] .cta-band::before{
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000 6%,transparent 74%);
  mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000 6%,transparent 74%);
}
body[data-page="case"] .cta-band .wrap{position:relative;z-index:2}

/* KPI-kaarten reageren nu op de muis */
body[data-page="case"] .cs-kpi{
  transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .35s ease;
}
body[data-page="case"] .cs-kpi:hover{
  transform:translateY(-5px);border-color:var(--line-2);
  box-shadow:0 28px 62px rgba(0,0,0,.42);
}
body[data-page="case"] .cs-card{
  transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s ease;
}
body[data-page="case"] .cs-card:hover{transform:translateY(-4px);border-color:var(--line-2)}

/* ═══════════════════════════════════════════════════════════════
   RINGDIAGRAM
   ═══════════════════════════════════════════════════════════════ */
body[data-page="case"] .cs-ringwrap{
  display:grid;grid-template-columns:248px 1fr;gap:44px;align-items:center;
  margin-top:34px;padding:30px 34px;
  border:1px solid var(--line);border-radius:22px;background:var(--glass-2);
}
body[data-page="case"] .cs-ring{position:relative;width:248px;height:248px}
body[data-page="case"] .cs-ring svg{width:100%;height:100%;display:block}
body[data-page="case"] .rg-bg{fill:none;stroke:rgba(255,255,255,.07);stroke-width:20}
body[data-page="case"] .rg-seg{
  fill:none;stroke-width:20;stroke-linecap:butt;
  transform:rotate(-90deg);transform-origin:110px 110px;
  transition:opacity .3s ease,stroke-width .3s ease;cursor:pointer;
}
body[data-page="case"] .rg-seg.s1{stroke:#2fbf86}
body[data-page="case"] .rg-seg.s2{stroke:#2f74e0}
body[data-page="case"] .rg-seg.s3{stroke:#e2604a}
body[data-page="case"] .rg-seg.dim{opacity:.22}
body[data-page="case"] .rg-mid{
  position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;
}
body[data-page="case"] .rg-n{
  font-weight:800;font-size:44px;letter-spacing:-.04em;color:var(--hi);line-height:1;
  font-variant-numeric:tabular-nums;
}
body[data-page="case"] .rg-l{
  display:block;margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--mid);
  max-width:150px;line-height:1.4;
}
body[data-page="case"] .rg-key{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
body[data-page="case"] .rg-key li{
  display:grid;grid-template-columns:14px 1fr auto;gap:14px;align-items:center;
  padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--glass);
  cursor:pointer;transition:border-color .25s ease,background .25s ease,transform .25s ease;
}
body[data-page="case"] .rg-key li:hover,
body[data-page="case"] .rg-key li.on,
body[data-page="case"] .rg-key li:focus-visible{
  border-color:var(--line-2);transform:translateX(3px);background:rgba(255,255,255,.04);
}
body[data-page="case"] .rg-key li:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
body[data-page="case"] .rg-key i{width:14px;height:14px;border-radius:4px;display:block}
body[data-page="case"] .rg-key li:nth-child(1) i{background:#2fbf86}
body[data-page="case"] .rg-key li:nth-child(2) i{background:#2f74e0}
body[data-page="case"] .rg-key li:nth-child(3) i{background:#e2604a}
body[data-page="case"] .rg-key span{font-size:15px;color:var(--hi)}
body[data-page="case"] .rg-key em{display:block;font-style:normal;font-size:12.5px;color:var(--dim);margin-top:3px}
body[data-page="case"] .rg-key b{font-weight:800;font-size:20px;color:var(--hi);letter-spacing:-.02em}

/* ═══════════════════════════════════════════════════════════════
   STAVEN — met schakelaar aantal / aandeel
   ═══════════════════════════════════════════════════════════════ */
body[data-page="case"] .cs-barsbox{margin-top:8px}
body[data-page="case"] .cs-toggle{
  display:inline-flex;gap:3px;padding:3px;margin-bottom:22px;
  border:1px solid var(--line);border-radius:999px;background:var(--glass-2);
}
body[data-page="case"] .cs-toggle button{
  cursor:pointer;border:0;background:transparent;color:var(--mid);
  font-family:var(--mono);font-size:12px;padding:8px 16px;border-radius:999px;
  transition:background .25s ease,color .25s ease;
}
body[data-page="case"] .cs-toggle button:hover{color:var(--hi)}
body[data-page="case"] .cs-toggle button.on{background:var(--acc);color:#06130d;font-weight:600}
body[data-page="case"] .cs-bar{transition:transform .2s ease}
body[data-page="case"] .cs-bar:hover{transform:translateX(3px)}
body[data-page="case"] .cs-bar:hover .bl{color:var(--hi)}
body[data-page="case"] .cs-bar .bl{transition:color .25s ease}
body[data-page="case"] .cs-bar .bf{transition:width .1s linear}
body[data-page="case"] .cs-bar .bv{font-variant-numeric:tabular-nums}

/* ═══════════════════════════════════════════════════════════════
   FUNNEL
   ═══════════════════════════════════════════════════════════════ */
body[data-page="case"] .cs-funnel{
  margin-top:34px;padding:28px 32px;
  border:1px solid var(--line);border-radius:22px;background:var(--glass-2);
  display:flex;flex-direction:column;gap:18px;
}
body[data-page="case"] .fn-row{
  display:grid;grid-template-columns:168px 1fr 76px 64px;gap:16px;align-items:center;
}
body[data-page="case"] .fn-l{font-size:14.5px;color:var(--mid)}
body[data-page="case"] .fn-b{height:22px;border-radius:7px;background:rgba(255,255,255,.05);overflow:hidden}
body[data-page="case"] .fn-fill{
  display:block;height:100%;border-radius:7px;
  background:linear-gradient(90deg,#2f74e0,#2fbf86);
}
body[data-page="case"] .fn-row:nth-child(2) .fn-fill{background:linear-gradient(90deg,#2f74e0,#22c4e0)}
body[data-page="case"] .fn-row:nth-child(3) .fn-fill{background:linear-gradient(90deg,#22c4e0,#2fbf86)}
body[data-page="case"] .fn-v{
  font-weight:800;font-size:18px;color:var(--hi);text-align:right;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
body[data-page="case"] .fn-pc{
  font-family:var(--mono);font-size:12px;color:var(--acc);text-align:right;
  font-variant-numeric:tabular-nums;
}

@media (max-width:980px){
  body[data-page="case"] .cs-ringwrap{grid-template-columns:1fr;gap:28px;justify-items:center;padding:26px 20px}
  body[data-page="case"] .rg-key{width:100%}
  body[data-page="case"] .fn-row{grid-template-columns:120px 1fr 66px 56px;gap:12px}
  body[data-page="case"] .fn-l{font-size:13.5px}
}
@media (max-width:640px){
  body[data-page="case"] .cs-ring{width:210px;height:210px}
  body[data-page="case"] .cs-funnel{padding:22px 18px}
  body[data-page="case"] .fn-row{grid-template-columns:1fr 60px 52px;gap:10px}
  body[data-page="case"] .fn-l{grid-column:1 / -1;margin-bottom:-8px}
}

@media (max-width:980px){
  body[data-page="case"] .cs-kpis{grid-template-columns:1fr 1fr}
  body[data-page="case"] .cs-grid{grid-template-columns:1fr 1fr}
  body[data-page="case"] .cs-split{grid-template-columns:1fr;gap:28px}
  body[data-page="case"] .cs-build{grid-template-columns:1fr}
}
@media (max-width:640px){
  body[data-page="case"] .cs-grid{grid-template-columns:1fr}
  body[data-page="case"] .cs-bar{grid-template-columns:130px 1fr 44px;gap:10px}
  body[data-page="case"] .cs-bar .bl{font-size:13px}
  body[data-page="case"] .cs-sec{padding:58px 0}
}
