/* Case Studies (tools/inhalte/cases.py): baut auf den ds-/sp-/sx-Bausteinen in site.css auf, hier nur das Eigene (Präfix cs-) */
.ds .cs-list{padding-top:32px}
/* Karten: Bild 16:9, Branche, Firma, Kurzfassung, vier Kennzahlen */
.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1200px;margin:0 auto}
.cs-grid2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.cs-card{display:flex;flex-direction:column;border:1px solid rgba(207,198,240,.14);border-radius:16px;background:rgba(24,14,58,.7);overflow:hidden;color:inherit;text-decoration:none;transition:transform .35s,border-color .35s,box-shadow .35s,opacity .7s}
.cs-card:hover,.cs-card:focus-visible{border-color:color-mix(in srgb,var(--sp-acc) 60%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--sp-acc) 22%,transparent);outline:none}
.cs-cover{display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid rgba(207,198,240,.14)}
.cs-cover img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .6s}
.cs-card:hover .cs-cover img{transform:scale(1.04)}
.cs-cbody{flex:1;display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px}
.cs-ind{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sp-cya)}
.cs-card h3{margin:0;font-family:var(--head);font-weight:400;font-size:20px;line-height:1.3;color:#fff}
.cs-sub{font-size:13px;line-height:1.55;color:#fff;font-weight:600}
.cs-ex{font-size:14px;line-height:1.7;color:var(--sp-muted)}
.cs-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0 0}
.cs-kpis div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px;padding:10px 12px;border-radius:8px;border:1px solid rgba(207,198,240,.12);background:rgba(12,6,32,.5)}
.cs-kpis dt{font-size:11px;line-height:1.4;color:rgba(255,255,255,.65);letter-spacing:.5px}
.cs-kpis dd{margin:0;font-family:var(--head);font-size:19px;color:#fff;text-shadow:0 0 14px rgba(63,216,232,.5);white-space:nowrap}
.cs-go{margin-top:auto;padding-top:8px;font-size:13px;font-weight:700;color:var(--cyan)}
/* Detailseite: Kopf mit Kennzahlen, Bild, Bericht */
.cs-hero .sx-stats{justify-content:center;text-align:center;margin-bottom:8px}
.cs-hero .sx-stats div{align-items:center}
.cs-figure{margin:0;padding:24px 0 0}
.cs-figure img{display:block;width:100%;max-width:1060px;height:auto;aspect-ratio:16/9;margin:0 auto;object-fit:cover;border-radius:18px;border:1px solid rgba(207,198,240,.18);box-shadow:0 30px 60px rgba(0,0,0,.4),0 0 40px rgba(160,120,255,.18)}
.sp .cs-body{padding-top:56px}
.cs-prose{max-width:780px;margin:0 auto;font-size:15.5px;line-height:1.8;color:var(--sp-muted)}
.cs-prose h2{margin:56px 0 18px;font-size:clamp(22px,2.6vw,30px);line-height:1.3;color:#fff}
.cs-prose h2:first-child{margin-top:0}
.cs-prose h3{margin:30px 0 10px;font-family:var(--head);font-weight:400;font-size:17px;color:var(--sp-cya)}
.cs-prose p{margin:0 0 16px}
.cs-prose strong{color:#fff}
.cs-prose ul{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.cs-prose ul li{position:relative;padding-left:24px}
.cs-prose ol{margin:0 0 18px;padding-left:24px;display:flex;flex-direction:column;gap:10px}
.cs-prose ol li{padding-left:6px}
.cs-prose ol li::marker{color:var(--sp-grn);font-weight:700}
.cs-prose ul li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--sp-grn);box-shadow:0 0 8px var(--sp-grn)}
.cs-table{overflow-x:auto;margin:8px 0 22px;border:1px solid rgba(207,198,240,.14);border-radius:12px}
.cs-prose table{width:100%;border-collapse:collapse;font-size:14px}
.cs-prose th,.cs-prose td{padding:13px 16px;text-align:left;border-bottom:1px solid rgba(207,198,240,.1);white-space:nowrap}
.cs-prose td:first-child{white-space:normal;width:44%;color:#fff}
.cs-prose thead th{background:#1a0f42;font-family:var(--head);font-weight:400;color:#fff}
.cs-prose td:last-child{background:rgba(92,242,160,.06)}
.cs-prose thead th:last-child{color:var(--sp-grn)}
.cs-prose td strong{color:var(--sp-grn)}
.cs-prose tbody tr:last-child td{border-bottom:0}
.cs-prose blockquote{position:relative;margin:8px 0 0;padding:30px 30px 26px 34px;border:1px solid rgba(167,107,255,.45);border-radius:16px;background:radial-gradient(120% 120% at 0% 0%,rgba(167,107,255,.16),transparent 60%),rgba(24,14,58,.7);box-shadow:0 0 30px rgba(167,107,255,.16)}
.cs-prose blockquote::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:3px;border-radius:2px;background:var(--sp-mag);box-shadow:0 0 12px var(--sp-mag)}
.cs-prose blockquote p{margin:0;font-family:var(--head);font-size:18px;line-height:1.6;color:#fff}
.cs-prose blockquote footer{margin-top:14px;padding:0;border:0;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sp-cya)}
@media(max-width:1000px){.cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cs-grid,.cs-grid2{grid-template-columns:minmax(0,1fr)}.cs-hero .sx-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;width:100%}.cs-figure img{border-radius:12px}.cs-prose{font-size:15px}.cs-prose blockquote{padding:24px 20px 22px 24px}.cs-prose blockquote p{font-size:16px}.cs-prose th,.cs-prose td{padding:11px 12px}}
