.practice-page{max-width:1600px;margin:auto;padding:60px 4% 90px}
.practice-page button:focus-visible,.practice-page a:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
/* Einstieg: Lösungen statt Probleme. */
.cases-hero h1{font:700 clamp(48px,6vw,88px)/1.04 Georgia,serif;letter-spacing:-.04em;color:#111;margin:26px 0 30px}
.cases-hero h1 em,.practice-outro h2 em{position:relative;isolation:isolate}
.cases-hero h1 em:after,.practice-outro h2 em:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:8px;background:var(--pink);transform:rotate(-1.7deg);clip-path:polygon(0 65%,22% 20%,100% 0,96% 65%,40% 90%,1% 100%)}
.cases-intro{max-width:760px;margin:0 0 40px;font-size:21px;line-height:1.6}
.cases-index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cases-index a{display:flex;gap:14px;align-items:baseline;height:100%;padding:16px 18px;border:1px solid #d3dcd7;border-radius:10px;background:#fff;font-size:17px;font-weight:500;line-height:1.35;text-decoration:none;transition:border-color .2s,background-color .2s}
.cases-index a:hover{border-color:var(--pink);background:#fff6fb}
.cases-index span{flex:0 0 auto;font-size:13px;font-weight:700;letter-spacing:1px;color:#c3006d}
/* Kundenlaufband. */
.practice-references{margin:70px 0 20px;padding:30px 0;border-top:1px solid #dce4dd;border-bottom:1px solid #dce4dd}
.practice-reference-heading p{margin:0}.practice-reference-heading p:not(.eyebrow){margin-top:10px;font-size:16px}
.practice-marquee{overflow:hidden;margin:25px 0 5px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.practice-track{display:flex;width:max-content;animation:practice-roll 70s linear infinite}
.practice-logo-group{display:flex;align-items:center;gap:70px;padding-right:70px}
.practice-logo-group span{white-space:nowrap;font-size:21px;font-weight:600;letter-spacing:-.5px;color:#5c605e}
.practice-client-logo{display:block;flex:0 0 auto;width:auto;height:46px;max-width:200px;object-fit:contain;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.8}
.practice-client-logo.is-large{height:62px;max-width:240px}
@keyframes practice-roll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.practice-track{animation:none}.practice-marquee{overflow:auto;-webkit-mask-image:none;mask-image:none}.practice-logo-group[aria-hidden]{display:none}}
/* Die Fälle. */
.case{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;align-items:center;padding:80px 0;border-bottom:1px solid #e5ebe8;scroll-margin-top:calc(var(--header-h,var(--header)) + 10px)}
.case-flip .case-copy{order:2}
.case-kicker{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:13px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase}
.case-no{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pink);font-size:15px;letter-spacing:0}
.case-copy h2{font:700 clamp(32px,3.4vw,50px)/1.1 Georgia,serif;letter-spacing:-1.5px;color:#111;margin:0 0 20px}
.case-lead{margin:0 0 20px;font-size:19px;line-height:1.6}
.case-steps{list-style:none;margin:0;padding:0}
.case-steps li{position:relative;padding:12px 0 12px 34px;border-top:1px solid #092f2622;font-size:17px;line-height:1.55}
.case-steps li:before{content:'✓';position:absolute;left:0;top:13px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--lime);font-size:14px;font-weight:700}
.case-shots{position:relative;min-width:0;padding:18px 10px 34px}
.case-shots:before{content:'';position:absolute;inset:30px -6px 10px 24px;background:repeating-linear-gradient(5deg,#e7e7e4 0,#e7e7e4 3px,#e3e3e0 4px);transform:rotate(2.5deg);clip-path:polygon(0 2%,22% 0,49% 1.5%,76% 0,100% 2%,99% 30%,100% 62%,98.5% 100%,70% 98.5%,41% 100%,12% 98%,1% 100%,1.5% 64%,0 33%)}
.case-tabs{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.case-tabs button{padding:8px 15px;border:1px solid #c3cfc9;border-radius:20px;background:#fff;font-size:15px;font-weight:600;color:var(--ink)}
.case-tabs button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}
.case-frame{position:relative;z-index:1;display:grid;gap:18px;transform:rotate(-1deg)}
.case-shots.is-switchable .case-shot{display:none}
.case-shots.is-switchable .case-shot.is-current{display:block;animation:shot-in .35s ease-out}
.case-shot{margin:0;padding:8px;background:#fff;border:1px solid #c9d4ce;border-radius:12px;box-shadow:0 24px 45px -22px #092f2660,0 3px 8px #092f2612}
.case-shot img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:top;border-radius:6px;background:#fff}
.case-shot figcaption{padding:8px 4px 2px;font-size:13px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#52685c}
.case-note{position:absolute;z-index:2;right:-10px;bottom:-6px;max-width:300px;margin:0;padding:12px 18px 14px;background:var(--lime);font:600 clamp(23px,2vw,28px)/1.05 Caveat,cursive;transform:rotate(-3deg);filter:drop-shadow(2px 4px 3px #00000018)}
@keyframes shot-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.case-shots.is-switchable .case-shot.is-current{animation:none}}
/* Abschluss. */
.practice-outro{margin-top:80px;padding:45px;background:var(--lime);clip-path:polygon(0 2%,30% 0,70% 2%,100% 0,99% 99%,65% 98%,20% 100%,0 98%)}
.practice-outro h2{font:700 clamp(32px,4.5vw,58px)/1.12 Georgia,serif;margin:25px 0 35px}
.practice-outro a{text-decoration:none;display:inline-flex;gap:35px}
@media(max-width:1100px){.cases-index{grid-template-columns:repeat(2,minmax(0,1fr))}.case{grid-template-columns:minmax(0,1fr);gap:30px;padding:60px 0}.case-flip .case-copy{order:0}.case-shots{max-width:820px}}
@media(max-width:650px){
  .practice-page{padding:40px 24px 60px}.cases-intro{font-size:18px}.cases-index{grid-template-columns:minmax(0,1fr)}.cases-index a{font-size:16px;padding:13px 14px}
  .practice-references{margin:45px 0 10px}.practice-logo-group{gap:40px;padding-right:40px}.practice-client-logo{height:36px;max-width:150px}.practice-client-logo.is-large{height:48px;max-width:180px}.practice-logo-group span{font-size:18px}
  .case{padding:46px 0}.case-copy h2{letter-spacing:-1px}.case-lead{font-size:17px}.case-steps li{font-size:16px}
  .case-shots{padding:10px 0 40px}.case-shots:before{inset:22px -8px 18px 10px}.case-note{right:-4px;font-size:22px;max-width:240px}.case-shot img{max-height:480px}
  .practice-outro{padding:30px 24px}
}
/* Platzhalter, bis Andreas Bilder da sind. */
.case-placeholder{display:grid;place-items:center;aspect-ratio:4/3;max-height:460px;background:#fff repeating-linear-gradient(135deg,transparent 0 14px,#f1f3f0 14px 28px);border:2px dashed #c3cfc9;border-radius:12px}
.case-placeholder span{padding:6px 14px;border-radius:20px;background:#fff;font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#74847d}
.cases-index{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.cases-index{grid-template-columns:minmax(0,1fr)}}
/* Übersicht der Fälle: kleine Karten mit blasser Vorschau. */
.cases-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cases-index a{position:relative;overflow:hidden;isolation:isolate;flex-direction:column;justify-content:flex-end;gap:6px;min-height:118px;padding:14px 16px;border-color:#dfe6e2;font-size:16px;line-height:1.3;box-shadow:0 2px 3px #092f260a;transition:border-color .2s,transform .2s}
.cases-index img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:left top;opacity:.22;filter:grayscale(.6);transition:opacity .25s,transform .4s}
.cases-index a:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffff00 0%,#ffffffd9 62%,#fff 100%)}
.cases-index a.is-pending{background:#fff repeating-linear-gradient(135deg,transparent 0 12px,#f3f5f2 12px 24px)}
.cases-index a:hover{border-color:var(--pink);background-color:#fff;transform:translateY(-2px)}
.cases-index a:hover img{opacity:.38;transform:scale(1.04)}
.cases-index span{display:inline-block;width:fit-content;padding:2px 8px;border-radius:12px;background:var(--pink);color:#092219;font-size:12px}
.cases-index b{font-weight:600}
@media(max-width:1100px){.cases-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.cases-index{grid-template-columns:minmax(0,1fr)}.cases-index a{min-height:92px}}
@media(prefers-reduced-motion:reduce){.cases-index a,.cases-index img{transition:none}.cases-index a:hover{transform:none}.cases-index a:hover img{transform:none}}
.cases-index a{min-height:132px}
.cases-index img{opacity:.5;filter:grayscale(.35)}
.cases-index a:before{background:linear-gradient(180deg,#ffffff00 0%,#ffffff26 30%,#ffffffe6 66%,#fff 100%)}
.cases-index a:hover img{opacity:.7}
.cases-index a.is-pending{background:#fff repeating-linear-gradient(135deg,transparent 0 12px,#f6f8f5 12px 24px)}
@media(max-width:650px){.cases-index a{min-height:104px}}
/* Strukturvorschlag als aufgeklappter Baum. */
.tree-panel{padding:18px 20px 16px;border-radius:6px;background:#f8faf9;font-size:15px;line-height:1.35}
.tree-site{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;border-radius:6px;background:#036c70;color:#fff;font-size:14px}
.tree-site svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.tree,.tree ul{list-style:none;margin:0;padding:0}
.tree>li{position:relative;padding:5px 0 5px 22px}
.tree ul{margin:4px 0 2px 6px;padding-left:16px;border-left:2px solid #d3dcd7}
.tree ul li{position:relative;padding:3px 0 3px 22px}
.tree ul li:before{content:'';position:absolute;left:-16px;top:13px;width:14px;border-top:2px solid #d3dcd7}
.tree span{position:relative}
.tree li>span:before{content:'';position:absolute;left:-22px;top:2px;width:15px;height:12px;border-radius:2px 3px 2px 2px;background:#f2c94c;box-shadow:inset 0 3px 0 #e0b232}
.tree-bibliothek>span{font-weight:700}
.tree .tree-bibliothek>span:before{background:#038387;box-shadow:inset 0 3px 0 #02595c}
.tree-archiv>span{color:#74847d;font-style:italic}
.tree .tree-archiv>span:before{background:#c3cfc9;box-shadow:inset 0 3px 0 #a3afa9}
.tree-rules{margin-top:14px;padding:10px 12px;border-radius:6px;background:#fff;border:1px dashed #c3cfc9}
.tree-rules p{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.tree-rules ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.tree-rules li{padding:3px 9px;border-radius:12px;background:#e5ffa0;font-size:13px}
@media(max-width:650px){.tree-panel{padding:14px 12px;font-size:14px}}
.case{overflow-x:clip}
.cases-index img.is-photo{object-position:center 60%}
/* Unternehmensgröße, in den Farben der Referenzbögen auf der Startseite. */
.size-tag{display:inline-block;flex:0 0 auto;padding:3px 9px 3px;border-radius:3px;font-size:11.5px;font-style:normal;font-weight:700;letter-spacing:.8px;text-transform:uppercase;line-height:1.3;color:var(--ink);transform:rotate(-1deg)}
.size-klein{background:#ffcce6}
.size-mittel{background:#e5ffa0}
.size-konzern{background:#e5ebe7}
.cases-index-meta{display:flex;align-items:center;gap:8px}
.cases-index .cases-index-meta>span{display:inline-block;width:fit-content;padding:2px 8px;border-radius:12px;background:var(--pink);color:#092219;font-size:12px}
.cases-index .size-tag{font-size:10.5px;padding:2px 7px}
.case-kicker{flex-wrap:wrap;row-gap:8px}
.case-kicker .size-tag{letter-spacing:.8px}
.cases-index .cases-index-meta{display:flex;padding:0;border-radius:0;background:none}
.case-kicker .size-tag{font-size:12.5px;padding:4px 10px}
