/* Kundenstimmen zwischen „Über Max“ und „Dein Einstieg“. Karten nutzen den bestehenden Player-Look aus
   positioning.css (.video-player, .video-play); abgespielt wird groß im Dialog, damit die Untertitel lesbar sind. */
.kundenstimmen[hidden]{display:none}
/* Flex statt Grid, damit eine einzelne oder umbrechende Restkarte mittig steht */
.ks-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.ks-karte{flex:1 1 280px;max-width:358px;display:flex;flex-direction:column;padding:12px 12px 26px;border:1px solid #131313;border-radius:28px;background:#131313b8;box-shadow:var(--shadow)}
.ks-karte .video-player{border-radius:16px}
.ks-poster{position:absolute;inset:0;display:block;border-radius:inherit}
.ks-poster img{display:block;width:100%;height:100%;object-fit:cover}
.ks-poster:focus-visible{outline:3px solid var(--pink);outline-offset:-3px}
.ks-poster:hover .video-play,.ks-poster:focus-visible .video-play{transform:scale(1.08)}
.ks-karte .video-play{--d:clamp(48px,17cqw,64px)}
.ks-dauer{position:absolute;right:10px;bottom:10px;z-index:1;padding:3px 9px;border-radius:12px;background:#131313d9;color:#fff;font:600 12px/1.4 var(--body)}
/* Zitat füllt die Höhe, damit die Namen in einer Reihe unten bündig stehen */
.ks-zitat{flex:1 0 auto;margin:22px 12px 0;font-size:15px;line-height:1.6;color:var(--ink)}
.ks-zitat p{margin:0}
.ks-person{margin:18px 12px 0;font-weight:650;color:var(--ink)}
/* Breite an die Höhe koppeln, sonst schneidet max-height:85vh die Steuerleiste ab */
#ks-dialog{width:min(1100px,calc(100% - 28px),calc((85vh - 2px)*16/9));padding:0;border:0;border-radius:20px;background:#0d0d0e;overflow:hidden}
@supports(height:1dvh){#ks-dialog{width:min(1100px,calc(100% - 28px),calc((85dvh - 2px)*16/9))}}
#ks-dialog video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.ks-fehler{margin:0;padding:14px 64px 16px 20px;font-size:14px;color:#e4e4e7;background:#131313}
.ks-fehler a{color:var(--pink);font-weight:650}
.ks-schliessen{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#131313d9;box-shadow:0 3px 14px #00000070;color:#e4e4e7;font-size:24px;line-height:1;cursor:pointer}
.ks-schliessen:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
[data-theme=light] .ks-karte{border-color:#e6dfd4;background:rgba(255,253,250,.88)}
@media(prefers-reduced-motion:reduce){.ks-poster:hover .video-play,.ks-poster:focus-visible .video-play{transform:none}}
@media(max-width:560px){.ks-karte{flex-basis:100%;max-width:none;border-radius:22px}.ks-karte .video-player{border-radius:10px}#ks-dialog{border-radius:14px}}

/* Trust 01.11.2026: drei gleichwertige Karten (Zitat, dann Name und Projekt), Kurzstimme im Hero, Block auf /team/.
   Player-Grundregeln hier wiederholt, weil /team/ positioning.css nicht lädt. Farben über theme.css-Tokens. */
.ks-liste .video-player{position:relative;container-type:inline-size;aspect-ratio:16/9;overflow:hidden;background:#0d0d0e}
.ks-liste .video-play{--d:clamp(48px,17cqw,64px);position:absolute;left:50%;top:50%;width:var(--d);height:var(--d);margin:calc(var(--d)/-2) 0 0 calc(var(--d)/-2);border-radius:50%;display:grid;place-items:center;background:linear-gradient(160deg,#f19d54,#ef8e39);box-shadow:0 14px 34px #0000008c,0 0 0 6px #0000005c;transition:transform .25s cubic-bezier(.2,.7,.2,1);z-index:1}
.ks-liste .video-play svg{width:42%;height:42%;fill:#131313;margin-left:4px}
.ks-poster:focus-visible{outline:3px solid var(--aimx-focus)}
.ks-schliessen:focus-visible{outline-color:var(--aimx-focus)}
.ks-kopf{margin:16px 12px 0}
.ks-kopf .ks-person{margin:0;font-size:15px}
.ks-projekt{margin:3px 0 0;font-size:13px;line-height:1.45;color:var(--aimx-muted)}
:root:not([data-theme=light]) .ks-karte{border-color:#ffffff14}
#ks-dialog video[hidden]{display:none}
.ks-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Hero: drei Gesichter als Sprunglink zu den Kundenstimmen, kein Abspielen, kein zweiter Knopf */
.ks-leiste{display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:100%;margin:22px auto 0;padding:6px 16px 6px 6px;border:1px solid var(--aimx-line);border-radius:999px;color:var(--ink);font-size:14px;font-weight:600;line-height:1.3;text-decoration:none}
[data-theme=light] .ks-leiste{border-color:var(--aimx-line-strong)}
.ks-leiste:hover{border-color:var(--aimx-accent)}
.ks-leiste:focus-visible{outline:3px solid var(--aimx-focus);outline-offset:2px}
.ks-gesichter{display:flex;gap:4px}
.ks-gesichter img{display:block;width:32px;height:32px;border-radius:50%;object-fit:cover}
.ks-leiste > span:last-child{white-space:nowrap}
@media(max-width:560px){.ks-leiste{gap:10px;padding-right:14px}.ks-gesichter img{width:28px;height:28px}}
/* /team/: über die volle Inhaltsbreite wie die übrigen Team-Abschnitte */
.t-stimmen .ks-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:44px}
.t-stimmen .ks-karte{max-width:none}
@media(max-width:900px){.t-stimmen .ks-liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.t-stimmen .ks-liste{grid-template-columns:1fr}}
