/* ==========================================================================
   The Zone Media, Seitentyp «case» (Referenz /case/marechaux-elektro)
   Wird nach /css/site.css geladen. Nur Tokens aus site.css, Präfix case-.
   site.css belegt bereits .case-logo, .case-label, .case-meta, .case-top,
   .case-text, .case-feature, .case-pair, .case-small, .case-chip (Startseite);
   diese Namen werden hier nicht verwendet.

   Aufbau
     1  Bühne: Navy-Hero unter der Nav-Pill
     2  Hero: Brotkrumen, Kunde, H1, Kennzahl, Messzeilen, Beweisschema, Fuss
     3  Variante «in Aufbereitung» (ohne Zahl)
     4  Helle Sektionen: Raster, Fliesstext
     5  Ausgangslage und Aufgabe
     6  Vorgehen: Schrittliste, Schema-Objekt, Messkette
     7  Ergebnis: Faktenleiste, Lernpunkt, Zitat mit Portrait
     8  Weitere Cases: drei Karten
     9  Abschluss: Peach-Panel mit Person
     10 Responsive
   ========================================================================== */


/* ==========================================================================
   1 Bühne: der Navy-Hero beginnt hinter der Nav-Pill (gleicher Randabstand
   wie die Grossflächen der Startseite). --case-nav-h = Höhe von .nav.
   ========================================================================== */

:root { --case-nav-h: 86px; }

.case-stage { margin-top: calc(var(--tz-inset) - var(--case-nav-h)); }
.case-hero {
  padding-top: calc(var(--case-nav-h) - var(--tz-inset) + var(--tz-hero-top));
  padding-bottom: clamp(44px, 5vw, 72px);
}
/* Orange-Blob aus Verlauf 4 wie im Cases-Block der Startseite */
.case-hero::after {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: 760px; height: 760px; left: -240px; top: 260px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--tz-g4-light), var(--tz-g1-orange));
  opacity: .3;
  filter: blur(120px);
}


/* ==========================================================================
   2 Hero
   ========================================================================== */

/* Brotkrumen: Bauteil in site.css (Audit B2), auf Navy über .on-dark */

/* Desktop: links Kunde und H1, rechts Kennzahl mit Messzeilen, darunter
   links Werkzeuge und Einstieg. Mobil in DOM-Reihenfolge: Kopf, Zahl, Rest. */
.case-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  grid-template-rows: auto 1fr;
  grid-template-areas: "copy kpi" "aside kpi";
  gap: 32px clamp(40px, 6vw, 96px);
}
/* Eyebrow und H1 zuerst, damit die Eyebrow auf der Hero-Oberkante aller
   Seiten mit Brotkrume steht (Audit B1); Kundenlogo mit Branche darunter */
.case-hero-copy { grid-area: copy; min-width: 0; display: flex; flex-direction: column; }
.case-hero-copy > .eyebrow { order: -2; }
.case-hero-copy > .case-h1 { order: -1; }
.case-hero-copy > .case-status { order: -3; }        /* «in Aufbereitung»: Status bleibt über der H1 */
.case-hero-kpi { grid-area: kpi; min-width: 0; }
.case-hero-aside { grid-area: aside; align-self: end; display: grid; gap: 18px; justify-items: start; }

/* Kunde: Logo hell, Branche daneben */
.case-client { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; min-height: 60px; margin-top: clamp(24px, 3vw, 40px); }
.case-mark { flex: none; height: auto; color: inherit; }
.case-hero .case-mark { color: var(--tz-stage-ink); }
.case-mark--marechaux { width: 150px; }
.case-mark--ig-arbeit { width: 150px; }
.case-mark--echojazz { width: 60px; }
.case-mark--match-maison { width: 112px; }
.case-mark--card-service { width: 112px; }
.case-mark--schuhe-blaettler { width: 150px; }
.case-client-sector { padding-left: 20px; border-left: 1px solid var(--tz-stage-line); font: 500 12px/1.4 var(--tz-font-display); letter-spacing: .16em; text-transform: uppercase; color: var(--tz-stage-ink-muted); }

.case-hero .eyebrow { margin-top: 0; }
.case-h1 {
  margin-top: 14px; max-width: 17ch;
  font: 700 var(--tz-h1-display)/1.04 var(--tz-font-display);
  letter-spacing: -0.03em; color: var(--tz-stage-ink);
  text-wrap: balance;
}

/* Kennzahl: CHF 35 in 140 bis 180 px, orange */
.case-kpi { margin-top: 0; }
.case-kpi-label { font: 500 12px/1.4 var(--tz-font-display); letter-spacing: .16em; text-transform: uppercase; color: var(--tz-stage-ink-muted); }
.case-kpi-value {
  display: flex; align-items: baseline; gap: .08em;
  margin-top: 6px;
  font: 700 clamp(96px, 12.5vw, 180px)/.9 var(--tz-font-display);
  letter-spacing: -.045em; color: var(--tz-orange); white-space: nowrap;
}
.case-kpi-value .cur { font-size: .36em; letter-spacing: -.01em; }
.case-kpi-unit { margin-top: 12px; font: 500 clamp(20px, 2vw, 28px)/1.2 var(--tz-font-display); color: var(--tz-stage-ink); }
.case-kpi-extra { margin-top: 8px; font: 500 17px/1.4 var(--tz-font-display); color: var(--tz-stage-ink-muted); }
/* lange Werte («25 bis 40», «4.85») */
.case-kpi--long .case-kpi-value { font-size: clamp(64px, 8.6vw, 128px); }

/* Messzeilen direkt unter der Zahl: Zeitraum, Kostenbasis, Limitation */
.case-rows { max-width: 640px; margin-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--tz-stage-line); }
.case-rows > div { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 4px 20px; padding: 14px 0; border-bottom: 1px solid var(--tz-stage-line); }
.case-rows dt { padding-top: 3px; font: 500 12px/1.4 var(--tz-font-display); letter-spacing: .16em; text-transform: uppercase; color: var(--tz-orange); }
.case-rows dd { font-size: 16px; line-height: 1.55; color: var(--tz-stage-ink); }

/* Beweisschema als Band unter dem Hero-Raster */
.case-proof {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 24px clamp(32px, 5vw, 72px);
  margin-top: clamp(40px, 5vw, 72px);
  padding: clamp(24px, 3vw, 40px);
  background: rgb(2 10 24 / 55%);
  border: 1px solid var(--tz-stage-line);
  border-radius: var(--tz-radius-panel);
  box-shadow: 0 24px 60px rgb(0 0 0 / 30%);
}
.case-proof .eyebrow { margin-top: 0; }
.case-proof h2 { margin-top: 12px; max-width: 16ch; font: 700 clamp(22px, 2vw, 30px)/1.2 var(--tz-font-display); letter-spacing: -0.015em; color: var(--tz-stage-ink); text-wrap: balance; }
.case-proof-link { margin-top: 14px; }
.case-proof-link .tlink { display: inline-block; }
.case-proof dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; }
.case-proof dl > div { padding-top: 16px; border-top: 1px solid var(--tz-stage-line); }
.case-proof dt { font: 500 12px/1.4 var(--tz-font-display); letter-spacing: .16em; text-transform: uppercase; color: var(--tz-stage-ink-muted); }
.case-proof dd { margin-top: 8px; font-size: 16px; line-height: 1.55; color: var(--tz-stage-ink); }
.case-proof dd + dd { margin-top: 6px; font-size: 15px; color: var(--tz-stage-ink-muted); }
.case-proof-note { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--tz-stage-line); font-size: 14px; line-height: 1.5; color: var(--tz-stage-ink-muted); }

/* Werkzeuge und Einstieg (links unten im Hero) */
.case-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.case-tags li {
  padding: 7px 14px;
  background: var(--tz-stage-fill); border: 1px solid var(--tz-stage-line); border-radius: var(--tz-radius-pill);
  font: 500 14px/1.2 var(--tz-font-display); letter-spacing: .02em; color: var(--tz-stage-ink);
}
.case-hero-cta { font-size: 16px; color: var(--tz-stage-ink-muted); }
.case-hero-cta .tlink { margin-left: 6px; }


/* ==========================================================================
   3 Variante «in Aufbereitung»: Navy-Hero ohne Zahl (/case/card-service-ag)
   ========================================================================== */

.case-hero--pending { padding-bottom: clamp(56px, 7vw, 104px); }
.case-hero--pending .case-hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "aside"; grid-template-rows: auto; }
.case-hero--pending .case-h1 { max-width: 20ch; }
.case-status {
  display: inline-flex; align-items: center; gap: 10px;
  align-self: flex-start; padding: 8px 16px;
  background: var(--tz-stage-fill); border: 1px solid var(--tz-stage-line); border-radius: var(--tz-radius-pill);
  font: 500 13px/1.2 var(--tz-font-display); letter-spacing: .12em; text-transform: uppercase; color: var(--tz-stage-ink);
}
.case-status::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--tz-orange); box-shadow: 0 0 0 4px rgb(252 76 1 / 22%); }
.case-lead { max-width: 34em; margin-top: 22px; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.6; color: var(--tz-stage-ink-muted); text-wrap: pretty; }
.case-hero-back { margin-top: 20px; }


/* ==========================================================================
   4 Helle Sektionen
   ========================================================================== */

.case-section { padding-top: var(--tz-section); }
.case-stack { margin-top: var(--tz-section); }
.case-split { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 32px; }
.case-split > .eyebrow { padding-top: 16px; }
.case-split .h2 { max-width: 20ch; }
.case-prose { max-width: 34em; margin-top: 24px; }
.case-prose p { font-size: 18px; line-height: 1.7; color: var(--tz-muted); text-wrap: pretty; }
.case-prose p + p { margin-top: 16px; }
.case-prose p:first-child { color: var(--tz-navy); }


/* ==========================================================================
   5 Ausgangslage und Aufgabe
   ========================================================================== */

.case-task {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 32px;
  margin-top: var(--tz-section);          /* Audit B5: gleicher Abstand wie zwischen Sektionen */
  padding: clamp(32px, 4vw, 56px) clamp(24px, 4vw, 56px);
  background: var(--tz-gradient-peach-glow);
  border-radius: var(--tz-radius-panel);
  box-shadow: var(--tz-shadow-peach), inset 0 0 0 1px var(--tz-peach-line);
}
.case-task > .eyebrow { padding-top: 10px; color: var(--tz-navy); }
.case-task-text {
  display: flex; gap: 20px;
  max-width: 30em;
  font: 400 clamp(21px, 2.1vw, 29px)/1.42 var(--tz-font-body);
  text-wrap: pretty;
}
.case-task-text::before { content: ""; flex: none; width: 4px; border-radius: 2px; background: var(--tz-orange); }


/* ==========================================================================
   6 Vorgehen (Stone-Fläche)
   ========================================================================== */

.case-approach-head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 20px 48px; align-items: end; margin-bottom: clamp(36px, 4.4vw, 56px); }
.case-approach-head .h2 { margin-top: 16px; max-width: 16ch; }
.case-approach-head .lead { color: var(--tz-muted); }
.case-approach-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(40px, 6vw, 96px); align-items: center; }

/* Schrittliste: nutzt .steps aus site.css, Text in Navy statt Muted */
.case-steps > li { padding: 24px 0; }
.case-steps h3 { margin-top: 0; }
.case-steps p { max-width: 34em; }

/* Schema-Objekt: weiss, gekippt wie die Ledger-Tabelle */
.case-schema-scene { perspective: 1800px; }
.case-schema {
  padding: 26px 26px 22px;
  background: var(--tz-paper);
  border-radius: var(--tz-radius-panel);
  box-shadow: var(--tz-shadow-blue), 0 2px 6px rgb(37 73 120 / 6%);
  transform: rotateY(-7deg) rotateX(3deg) rotateZ(-1deg);
  transform-origin: 30% 50%;
}
.case-schema-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.case-schema-title { font: 500 22px/1.2 var(--tz-font-display); }
.case-tree { position: relative; display: grid; gap: 10px; margin-top: 20px; }
.case-tree li {
  display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 4px 16px;
  padding: 12px 16px;
  border: 1px solid var(--tz-line); border-radius: var(--tz-radius-compact);
}
.case-tree li:first-child { background: var(--tz-navy); border-color: var(--tz-navy); color: var(--tz-stage-ink); }
.case-tree li:nth-child(2), .case-tree li:nth-child(3) { margin-left: 24px; }
.case-tree li:last-child { background: var(--tz-peach-surface); border-color: var(--tz-peach-line); }
.case-tree-key { font: 500 11px/1.3 var(--tz-font-display); letter-spacing: .14em; text-transform: uppercase; color: var(--tz-muted); }
.case-tree li:first-child .case-tree-key { color: var(--tz-orange); }
.case-tree-val { font: 700 16px/1.3 var(--tz-font-display); }
.case-tree li:last-child .case-tree-val { color: var(--tz-orange-ink); }
.case-schema .ticks { margin-top: 18px; }
.case-schema .ticks li { font-size: 15px; }
.case-schema-note { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--tz-line); font-size: 14px; line-height: 1.5; color: var(--tz-muted); }

/* Messkette: weisses Panel mit Ablauf in Pills */
.case-measure {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(32px, 5vw, 72px); align-items: center;
  margin-top: clamp(40px, 5vw, 72px);
  padding: clamp(28px, 3.4vw, 48px);
  background: var(--tz-paper);
  border-radius: var(--tz-radius-panel);
  box-shadow: var(--tz-shadow-compact);
}
.case-measure h3 { font: 700 clamp(22px, 2vw, 28px)/1.2 var(--tz-font-display); letter-spacing: -0.01em; text-wrap: balance; }
.case-measure-text { margin-top: 12px; font-size: 16px; line-height: 1.65; color: var(--tz-muted); }
.case-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 0; }
.case-chain li { display: inline-flex; align-items: center; }
.case-chain li span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px;
  background: var(--tz-blue-surface); border: 1px solid var(--tz-blue-line); border-radius: var(--tz-radius-pill);
  font: 700 15px/1.2 var(--tz-font-display);
}
.case-chain li + li::before { content: "→"; margin: 0 10px; font: 700 18px/1 var(--tz-font-display); color: var(--tz-orange-ink); }
.case-chain li:last-child span { background: var(--tz-orange); border-color: var(--tz-orange); color: var(--tz-navy); }
.case-tools { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 18px; font: 500 14px/1.4 var(--tz-font-display); letter-spacing: .02em; color: var(--tz-navy); }
.case-tools li { display: inline-flex; align-items: center; gap: 8px; }
.case-tools li::before { content: ""; flex: none; width: 10px; height: 2px; background: var(--tz-orange); }


/* ==========================================================================
   7 Ergebnis
   ========================================================================== */

.case-factbar { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(32px, 4vw, 48px); }
.case-factbar > div:first-child dt { color: var(--tz-orange-ink); font-size: clamp(28px, 2.6vw, 36px); }
.case-factnote { margin-top: 14px; font-size: 15px; color: var(--tz-muted); }

.case-lesson {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 32px;
  margin-top: clamp(32px, 4vw, 48px);
  padding: clamp(28px, 3.4vw, 48px) clamp(24px, 3.4vw, 48px);
  background: var(--tz-blue-surface);
  border-radius: var(--tz-radius-panel);
  box-shadow: inset 0 0 0 1px var(--tz-blue-line);
}
.case-lesson h3 { font: 700 clamp(22px, 2vw, 28px)/1.2 var(--tz-font-display); letter-spacing: -0.01em; }
.case-lesson p { max-width: 34em; font-size: 17px; line-height: 1.7; color: var(--tz-muted); }

/* Zitat mit Portrait */
.case-quote {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 28px clamp(32px, 5vw, 80px); align-items: center;
  margin-top: clamp(56px, 6vw, 96px);
}
.case-quote-photo { margin: 0; overflow: hidden; border-radius: var(--tz-radius-panel); background: var(--tz-stone); box-shadow: var(--tz-shadow-blue); transform: rotate(-1.5deg); }
.case-quote-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.case-quote-mark { display: block; font: 700 72px/.7 var(--tz-font-display); color: var(--tz-orange); }
.case-quote blockquote { margin-top: 18px; }
.case-quote blockquote p { max-width: 34em; font: 400 clamp(20px, 1.9vw, 26px)/1.5 var(--tz-font-body); text-wrap: pretty; }
.case-quote-by { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; margin-top: 24px; }
.case-quote-name { display: block; font: 700 18px/1.3 var(--tz-font-display); }
.case-quote-role { display: block; font-size: 15px; line-height: 1.4; color: var(--tz-muted); }
.case-rating { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; background: var(--tz-stone); border-radius: var(--tz-radius-pill); font-size: 14px; color: var(--tz-muted); }
.case-rating img { width: 18px; height: 18px; flex: none; }
.case-stars { font-size: 16px; letter-spacing: .12em; color: var(--tz-orange-ink); }


/* ==========================================================================
   8 Weitere Cases: drei getönte Karten, ganze Karte klickbar
   ========================================================================== */

.case-more { padding-bottom: var(--tz-section); }
.case-more-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 16px 48px; margin-bottom: clamp(32px, 4vw, 48px); }
.case-more-head .h2 { margin-top: 16px; }
.case-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.case-cards > li { display: flex; }
.case-card {
  position: relative; flex: 1;
  display: flex; flex-direction: column;
  overflow: hidden;
  border-radius: var(--tz-radius-panel);
  transition: transform var(--tz-dur-base) var(--tz-ease), box-shadow var(--tz-dur-base) var(--tz-ease);
}
.case-card--blue { background: var(--tz-blue-surface); }
.case-card--stone { background: var(--tz-stone); }
.case-card--peach { background: var(--tz-peach-surface); }
.case-card:hover { transform: translateY(-4px); box-shadow: var(--tz-shadow-blue); }
.case-card:has(.panel-link:focus-visible) { outline: 3px solid var(--tz-orange); outline-offset: 4px; }
.case-card-img { margin: 12px 12px 0; overflow: hidden; border-radius: var(--tz-radius-compact); }
.case-card-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform var(--tz-dur-slow) var(--tz-ease); }
.case-card:hover .case-card-img img { transform: scale(1.03); }
.case-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px 28px 28px; }
.case-card-sector { font: 500 12px/1.4 var(--tz-font-display); letter-spacing: .16em; text-transform: uppercase; color: var(--tz-muted); }
.case-card h3 { margin-top: 8px; font: 700 22px/1.2 var(--tz-font-display); letter-spacing: .01em; }
.case-card-kpi { margin-top: 18px; font: 700 clamp(36px, 3.4vw, 48px)/1 var(--tz-font-display); letter-spacing: -.03em; color: var(--tz-orange); }
.case-card-kpi .cur { font-size: .5em; letter-spacing: 0; margin-right: .12em; color: var(--tz-orange-ink); }   /* «CHF» unter 24 px */
.case-card-unit { margin-top: 6px; font: 500 16px/1.35 var(--tz-font-display); }
.case-card-text { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--tz-muted); }
.case-card-meta { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--tz-muted); }
.case-card .panel-foot { padding-top: 22px; }


/* ==========================================================================
   9 Abschluss: Peach-Panel (site.css .final) mit Person rechts
   ========================================================================== */

.case-cta .final-panel { align-items: center; }
.case-person {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: 22px;
  justify-self: center; margin: clamp(0px, 2vw, 32px) clamp(28px, 4vw, 64px);
  padding: 14px 28px 14px 14px;
  background: var(--tz-paper); border-radius: var(--tz-radius-pill);
  box-shadow: var(--tz-shadow-peach), inset 0 0 0 1px var(--tz-peach-line);
  text-decoration: none; color: var(--tz-navy);
  transition: transform var(--tz-dur-base) var(--tz-ease), box-shadow var(--tz-dur-base) var(--tz-ease);
}
.case-person:hover { transform: translateY(-3px); box-shadow: var(--tz-shadow-blue), inset 0 0 0 1px var(--tz-peach-line); }
.case-person img { width: 104px; height: 104px; flex: none; border-radius: 50%; object-fit: cover; object-position: 55% 28%; box-shadow: 0 0 0 3px var(--tz-paper), 0 0 0 5px var(--tz-orange); }
.case-person-name { display: block; font: 700 19px/1.3 var(--tz-font-display); }
.case-person-role { display: block; font-size: 15px; line-height: 1.4; color: var(--tz-muted); }
.case-person-go { display: inline-block; margin-top: 8px; font: 700 15px/1.3 var(--tz-font-display); text-decoration: underline 2px var(--tz-line); text-underline-offset: 6px; }
.case-person:hover .case-person-go { color: var(--tz-orange-ink); text-decoration-color: var(--tz-orange); }
.case-person-go .arrow { margin-left: 6px; }


/* ==========================================================================
   10 Responsive
   ========================================================================== */

@media (max-width: 1080px) {
  :root { --case-nav-h: 82px; }
  .case-hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "kpi" "aside"; grid-template-rows: auto; }
  .case-hero-kpi { max-width: 640px; }
  .case-proof { grid-template-columns: minmax(0, 1fr); }
  .case-approach-grid { grid-template-columns: minmax(0, 1fr); }
  .case-schema-scene { max-width: 620px; }
  .case-schema { transform: none; }
}

@media (max-width: 1023px) {
  .case-split, .case-task, .case-lesson { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
  .case-split > .eyebrow, .case-task > .eyebrow { padding-top: 0; }
  .case-approach-head { grid-template-columns: minmax(0, 1fr); }
  .case-measure { grid-template-columns: minmax(0, 1fr); }
  .case-quote { grid-template-columns: minmax(0, 1fr); }
  .case-quote-photo { max-width: 420px; }
  .case-cards { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .case-card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .case-card-img { margin: 12px 0 12px 12px; }
  .case-card-img img { height: 100%; aspect-ratio: auto; }
  .case-cta .final-panel { padding-bottom: 32px; }
  .case-person { justify-self: start; margin-top: 0; }
}

@media (max-width: 900px) {
  .case-proof dl { grid-template-columns: minmax(0, 1fr); }
  .case-proof dl > div { padding-bottom: 14px; }
  .case-factbar { grid-template-columns: minmax(0, 1fr); }
  .case-factbar > div + div { border-left: 0; border-top: 1px solid var(--tz-line); }
}

@media (max-width: 767px) {
  :root { --case-nav-h: 74px; }
  .case-hero { padding-bottom: 40px; }
  .case-hero::after { width: 460px; height: 460px; left: -220px; top: 300px; filter: blur(90px); }
  .case-mark--marechaux { width: 112px; }
  .case-mark--schuhe-blaettler { width: 112px; }
  .case-client { flex-wrap: nowrap; gap: 14px; }
  .case-client-sector { padding-left: 14px; font-size: 11px; letter-spacing: .12em; }
  .case-client { margin-top: 20px; }
  .case-h1 { margin-top: 10px; line-height: 1.08; }
  .case-hero-grid { row-gap: 22px; }
  .case-kpi-value { font-size: clamp(84px, 27vw, 120px); }
  .case-kpi--long .case-kpi-value { font-size: clamp(52px, 15vw, 72px); }
  .case-kpi-unit { margin-top: 8px; font-size: 20px; }
  .case-rows { margin-top: 18px; }
  .case-rows > div { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 10px 0; }
  .case-rows dt { padding-top: 0; font-size: 11px; }
  .case-rows dd { font-size: 16px; line-height: 1.45; }
  .case-proof { padding: 22px 20px; border-radius: 20px; }
  .case-proof dl > div { padding: 12px 0; }
  .case-proof-note { margin-top: 8px; }
  .case-tags li { padding: 6px 12px; font-size: 14px; }
  .case-hero-cta .tlink { margin-left: 0; }

  .case-prose p { font-size: 16px; line-height: 1.6; }
  .case-task { padding: 26px 20px; border-radius: 20px; }
  .case-task-text { gap: 14px; font-size: 19px; }

  .case-steps > li { padding: 16px 0; }
  .case-schema { padding: 20px 16px 18px; }
  .case-schema-title { font-size: 19px; }
  .case-tree li { grid-template-columns: minmax(0, 1fr); padding: 10px 14px; }
  .case-tree li:nth-child(2), .case-tree li:nth-child(3) { margin-left: 14px; }
  .case-measure { padding: 24px 20px; border-radius: 20px; }
  .case-chain li span { padding: 8px 14px; font-size: 14px; }
  .case-chain li + li::before { margin: 0 8px; }
  .case-tools { font-size: 14px; }

  .case-lesson { padding: 24px 20px; border-radius: 20px; }
  .case-lesson p { font-size: 16px; line-height: 1.6; }
  .case-quote { gap: 20px; }
  .case-quote-photo { max-width: 240px; transform: rotate(-1deg); }
  .case-quote-mark { font-size: 52px; }
  .case-quote blockquote { margin-top: 12px; }
  .case-quote blockquote p { font-size: 18px; line-height: 1.55; }
  .case-quote-by { flex-direction: column; align-items: flex-start; gap: 12px; }

  .case-card { display: flex; }
  .case-card-img { margin: 10px 10px 0; }
  .case-card-img img { height: auto; aspect-ratio: 16 / 9; }
  .case-card-body { padding: 20px 20px 22px; }
  .case-card:hover { transform: none; box-shadow: none; }

  .case-person { gap: 16px; margin: 0 22px; padding: 10px 20px 10px 10px; }
  .case-person img { width: 76px; height: 76px; }
  .case-person-name { font-size: 17px; }
  .case-person-role { font-size: 14px; }
}

@media (max-width: 359px) {
  .case-client { flex-wrap: wrap; }
  .case-client-sector { padding-left: 0; border-left: 0; }
  .case-kpi-value { font-size: 80px; }
  .case-chain li span { padding: 8px 14px; font-size: 14px; }
  .case-person { border-radius: 24px; }
}

/* ==========================================================================
   11 Responsive-Feinschliff (2026-09-23, Bericht _berichte/responsive-b.md)
   ========================================================================== */

/* Kennzahl an die Spaltenbreite koppeln: «CHF 25 bis 40» war ab 1280 px
   522 px breit in einer 448-px-Spalte und lief über den Bühnenrand.
   Die Zahl bricht nie (nowrap), sie wird kleiner. 20cqi entspricht bei
   «CHF 25 bis 40» rund 95 % der Spalte, 38cqi bei «CHF 35». */
.case-hero-kpi { container-type: inline-size; }
.case-kpi-value { font-size: min(clamp(96px, 12.5vw, 180px), 38cqi); }
.case-kpi--long .case-kpi-value { font-size: min(clamp(64px, 8.6vw, 128px), 20cqi); }

/* Brotkrumen: «Home» war 40 px breit, Touch-Ziel mindestens 44 px. */
.case-crumbs a { min-width: 44px; }

/* Kundenzeile: bei knapper Breite fiel die Branche samt Trennstrich eingerückt
   unter das Logo (Maréchaux 1024 bis 1180). Jetzt bleibt sie daneben und bricht. */
.case-client { flex-wrap: nowrap; }
.case-client-sector { min-width: 0; }

/* Gekipptes Schema ragte 8 bis 11 px über die Spalte hinaus. */
.case-schema-scene > .case-schema { margin-inline-end: 14px; }

@media (max-width: 1080px) {
  .case-schema-scene > .case-schema { margin-inline-end: 0; }
}

@media (max-width: 767px) {
  .case-kpi-value { font-size: min(clamp(84px, 27vw, 120px), 38cqi); }
  .case-kpi--long .case-kpi-value { font-size: min(clamp(52px, 15vw, 72px), 20cqi); }
  /* Schema-Kopf: Titel und Pill untereinander statt nebeneinander gequetscht */
  .case-schema-top { flex-wrap: wrap; gap: 8px 12px; }
  main :is(h2, h3) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 14 6 6; }
  main h1 { -webkit-hyphens: manual; hyphens: manual; }
}

@media (max-width: 359px) {
  .case-kpi-value { font-size: min(80px, 38cqi); }
  .case-client { flex-wrap: wrap; }
}
