/* Adeo Solutions – Fallstudien und Kundenlogos (gen/p_cases.py). Eigene Datei, um pages.css nicht zu berühren. */

/* ---------- Kundenlogo: Ink, beim Hover in Markenfarbe ---------- */
.clogo{position:relative;display:inline-block;vertical-align:middle;height:calc(var(--h) * 1px);width:calc(var(--w) * 1px);max-width:100%;flex:none}
.clogo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.clogo.swap img,.clogo.swap .m{transition:opacity .5s var(--ease)}
.clogo.swap .m{position:absolute;inset:0;opacity:.78;background:var(--ink);-webkit-mask:var(--mk) var(--mp,left) center/contain no-repeat;mask:var(--mk) var(--mp,left) center/contain no-repeat}
.clogo.swap .c{opacity:0}
a:hover .clogo.swap .m,a:focus-visible .clogo.swap .m,.cs-tile:hover .clogo.swap .m,.case:hover .clogo.swap .m{opacity:0}
a:hover .clogo.swap .c,a:focus-visible .clogo.swap .c,.cs-tile:hover .clogo.swap .c,.case:hover .clogo.swap .c{opacity:1}
.clogo.cword{width:auto;display:inline-flex;align-items:center}
.clogo.cword span{font-weight:600;font-size:calc(var(--h) * 1.02px);line-height:1;letter-spacing:-.035em;color:var(--ink);opacity:.74;transition:opacity .5s var(--ease),color .5s var(--ease);white-space:nowrap}
a:hover .clogo.cword span,.cs-tile:hover .clogo.cword span,a:focus-visible .clogo.cword span{opacity:1;color:var(--violet)}
@media(prefers-reduced-motion:reduce){.clogo.swap .m,.clogo.swap img,.clogo.cword span{transition:none}}

/* Kundenzeile Startseite: Logos statt Schrift */
.clients ul{grid-template-columns:repeat(6,minmax(0,1fr))}
.clients li{padding:0;display:flex;min-width:0}
.clients .clink{display:flex;align-items:center;justify-content:center;width:100%;min-height:92px;padding:18px 16px;text-decoration:none;color:inherit}
.clients .clogo{--mp:center}.clients .clogo img{object-position:center}
.clients .clink:focus-visible{outline:2px solid var(--violet);outline-offset:-4px;border-radius:6px}
@media(max-width:900px){.clients ul{grid-template-columns:repeat(3,minmax(0,1fr))}.clients .clink{min-height:80px;padding:14px 12px}}

/* Fallstudien-Karte (Startseite, Märkte) */
.case .cname{margin:26px 0 18px;line-height:0}
.case .cname .clogo img{object-position:left center}

/* ---------- Detailseite ---------- */
.cs-hero{padding:88px 0 72px}
.cs-hero .mono a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.cs-hero .mono a:hover{color:var(--ink);border-color:var(--ink)}
.cs-logo{margin:28px 0 44px;line-height:0}
.cs-hero .h1{max-width:17ch;font-size:clamp(40px,5.6vw,84px)}
.cs-hgrid{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:end;margin-top:44px}
.cs-hgrid .lead{margin-top:0}
.cs-meta{border-top:1px solid var(--ink)}
.cs-meta div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.cs-meta .mono{margin:0}
.cs-meta dd{font-size:15.5px;color:var(--ink)}
.cs-meta dd a{color:var(--violet);text-decoration:none;border-bottom:1px solid currentColor}

.cs-kpis{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:72px}
.cs-kpis ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr)}
.cs-kpis li{padding:52px 0 56px}
.cs-kpis li+li{border-left:1px solid var(--line);padding-left:48px}
.cs-kpis .num{font-size:clamp(84px,11vw,168px);line-height:.9;letter-spacing:-.06em;font-weight:500;color:var(--violet)}
.cs-kpis li p:last-child{margin-top:18px;color:var(--mute);font-size:15.5px;max-width:22ch}

.cs-steps{display:grid;grid-template-columns:1fr 1fr;gap:64px 72px}
.cs-step{border-top:1px solid var(--ink);padding-top:22px}
.cs-step .mono{margin-bottom:22px}
.cs-p{font-size:clamp(18px,1.55vw,22px);line-height:1.5;letter-spacing:-.012em;color:#12292E}
.cs-team{list-style:none;margin-top:28px;border-top:1px solid var(--line)}
.cs-team li{display:grid;grid-template-columns:72px 1fr;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cs-team .num{font-size:44px;line-height:1;letter-spacing:-.04em;font-weight:500;color:var(--violet)}
.cs-team li span:last-child{font-size:16px}

/* Entwicklungslinie: Damals / Heute / Als Nächstes */
.cs-evo{background:var(--white)}
.cs-evl{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.cs-ev{position:relative;padding-right:48px}
.cs-ev+.cs-ev{padding-left:0}
.cs-evh{display:flex;align-items:center;gap:0;position:relative;margin-bottom:30px}
.cs-evh .mono{margin:0;padding:0 14px;background:var(--white);position:relative;z-index:1}
.cs-evh::after{content:"";position:absolute;left:0;right:-48px;top:50%;height:1px;background:var(--ink)}
.cs-ev-c .cs-evh::after{background:none;border-top:1px dashed var(--lilac);right:0}
.cs-ev-b .cs-evh::after{background:linear-gradient(90deg,var(--ink),var(--lilac))}
.cs-evd{width:13px;height:13px;border-radius:50%;flex:none;position:relative;z-index:1;background:var(--ink);box-shadow:0 0 0 6px var(--white)}
.cs-ev-b .cs-evd{background:var(--violet)}
.cs-ev-b .cs-evd::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--violet);opacity:.35;animation:csevp 2.6s var(--ease) infinite}
.cs-ev-c .cs-evd{background:var(--white);border:1.5px solid var(--lilac)}
.cs-ev-b .mono{color:var(--violet)}
.cs-ev-c .mono{color:#4A8710}
@keyframes csevp{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.9);opacity:0}}
@media(prefers-reduced-motion:reduce){.cs-ev-b .cs-evd::after{animation:none}}
.cs-ev h3{font-size:clamp(28px,2.6vw,40px);line-height:1.05;letter-spacing:-.035em;font-weight:500;margin-bottom:22px}
.cs-ev-c h3{color:var(--violet)}
.cs-ev ul{list-style:none;border-top:1px solid var(--line)}
.cs-ev ul li{padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.45;color:#2B3D42}
.cs-evn{margin-top:22px;font-size:15px;line-height:1.5;color:var(--ink);padding-left:14px;border-left:2px solid var(--lilac)}
.cs-evn .mono{display:block;margin:0 0 6px;font-size:10.5px}
.cs-evo .src{margin-top:40px}

/* Referenz */
.cs-ref{padding-top:96px}
.cs-refg{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:end}
.cs-refn{display:flex;flex-direction:column;gap:8px}
.cs-refn .mono{margin-bottom:10px}
.cs-refn b{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-.035em;line-height:1.05}
.cs-refn span:last-child{color:var(--mute);font-size:16px}
.cs-ref .lead{margin-top:0}

/* Nächste Fallstudie */
.cs-next{border-top:1px solid var(--line)}
.cs-next a{display:grid;grid-template-columns:3fr 9fr;gap:24px;align-items:center;padding:56px 0;text-decoration:none;color:var(--ink)}
.cs-next a>.mono{margin:0}
.cs-next .clogo{grid-column:2}
.cs-next .arrow{grid-column:2;margin-top:4px;font-size:clamp(18px,1.6vw,22px)}

/* ---------- Übersicht ---------- */
.cs-hero.ov{padding-bottom:96px}
.cs-hero.ov .h1{max-width:13ch;font-size:clamp(44px,7vw,104px);margin-top:4px}
.cs-hero.ov .lead{margin-top:28px}
.cs-strip{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cs-strip li+li{border-left:1px solid var(--line)}
.cs-strip li{min-width:0}
.cs-strip a{text-decoration:none;display:flex;align-items:center;justify-content:center;min-height:112px;padding:20px 14px}
.cs-strip .clogo{--mp:center}.cs-strip .clogo img{object-position:center}
.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cs-tile{position:relative;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:40px;display:flex;flex-direction:column;min-height:300px;transition:border-color .35s var(--ease),transform .5s var(--ease)}
.cs-tile:hover{border-color:var(--ink)}
.cs-tl{height:64px;display:flex;align-items:center;margin-bottom:34px;line-height:0}
.cs-tile .mono{margin-bottom:14px}
.cs-tile h3{font-size:clamp(21px,1.8vw,26px);line-height:1.25;letter-spacing:-.02em;font-weight:500;max-width:28ch}
.cs-tile.big{min-height:460px;padding:48px}
.cs-tile.big .cs-tl{height:84px}
.cs-tk{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;border-top:1px solid var(--line);padding-top:28px}
.cs-tk dt{font-size:clamp(56px,6vw,92px);line-height:.95;letter-spacing:-.05em;color:var(--violet)}
.cs-tk dd{margin-top:10px;color:var(--mute);font-size:14.5px;max-width:20ch}

@media(max-width:1000px){
 .cs-hgrid{grid-template-columns:1fr;gap:36px}
 .cs-steps{grid-template-columns:1fr;gap:44px}
 .cs-refg{grid-template-columns:1fr;gap:32px}
 .cs-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cs-strip li:nth-child(4){border-left:0}
 .cs-strip li:nth-child(n+4){border-top:1px solid var(--line)}
}
@media(max-width:900px){
 .cs-evl{grid-template-columns:1fr;gap:0;padding-left:6px}
 .cs-ev,.cs-ev+.cs-ev{padding:0 0 44px 34px;border-left:1px solid var(--ink)}
 .cs-ev-c,.cs-ev+.cs-ev-c{border-left:1px dashed var(--lilac);padding-bottom:8px}
 .cs-evh{margin-left:-41px;margin-bottom:20px}
 .cs-evh::after{display:none}
 .cs-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
 .cs-hero{padding:56px 0 48px}
 .cs-logo{margin:20px 0 32px}
 .cs-kpis{margin-bottom:48px}
 .cs-kpis ul{grid-template-columns:1fr}
 .cs-kpis li,.cs-kpis li+li{padding:30px 0 32px;border-left:0}
 .cs-kpis li+li{border-top:1px solid var(--line)}
 .cs-kpis .num{font-size:clamp(76px,22vw,112px)}
 .cs-next a{grid-template-columns:1fr;gap:18px;padding:40px 0}
 .cs-next .clogo,.cs-next .arrow{grid-column:1}
 .cs-tile,.cs-tile.big{padding:28px;min-height:0}
 .cs-tl,.cs-tile.big .cs-tl{height:60px;margin-bottom:24px}
 .cs-hero.ov{padding-bottom:56px}
 .cs-strip{margin-top:48px}
 .cs-strip a{min-height:84px;padding:14px 10px}
}
