/* Prozess-Check-Bausteine auf / und /coaches.
   Nutzt nur die Token der Seite (--bg, --sf, --sf2, --ln, --ln2, --ln3, --tx,
   --tx2, --mu, --ac, --acx, --acink). Hell und dunkel kommen dadurch mit.
   style.css bleibt unangetastet; alles Neue steht hier. */

/* --- Hero: Kleingedrucktes unter dem Knopf ------------------------------- */
.hero .unter{
  margin-top:14px; font-family:"Space Mono",ui-monospace,Menlo,monospace;
  font-size:13px; letter-spacing:.03em; color:var(--mu);
}
.hero .satz-stark{
  margin-top:clamp(28px,3.5vw,44px); padding-left:16px; border-left:2px solid var(--ac);
  font-size:clamp(17px,1.5vw,20px); font-weight:600; line-height:1.4; color:var(--tx); max-width:32em;
}

/* --- Wiedererkennen: nummerierte Situationen als typografische Liste ------ */
.erkennen .zeilen{
  list-style:none; margin:0; padding:0; display:grid; gap:0; max-width:52em;
  border-top:1px solid var(--ln);
}
.erkennen .zeilen li{
  display:grid; grid-template-columns:2.4em 1fr; column-gap:10px;
  padding:clamp(14px,1.8vw,20px) 0; border-bottom:1px solid var(--ln);
}
.erkennen .zeilen .nr{
  grid-row:span 2; padding-top:.35em;
  font-family:"Space Mono",ui-monospace,Menlo,monospace; font-size:13px; color:var(--acx);
}
.erkennen .zeilen .sit{
  font-size:clamp(18px,1.7vw,22px); font-weight:700; line-height:1.3; letter-spacing:-.012em; color:var(--tx);
}
.erkennen .zeilen .folge{
  margin-top:2px; font-size:clamp(16px,1.4vw,18px); font-weight:500; line-height:1.4; color:var(--mu);
}
@media (min-width:900px){
  .erkennen .zeilen{ grid-template-columns:1fr 1fr; column-gap:clamp(32px,4vw,64px); max-width:none; }
}
.erkennen .mitte-du{ margin-top:clamp(18px,2.4vw,28px); font-size:16px; color:var(--mu); }
.erkennen .hero-zahl{ margin-top:clamp(24px,3vw,36px); }

/* --- Kachel: Kette HEUTE / AUTOMATISCH ----------------------------------- */
/* In einem <button> sind nur Inline-Elemente erlaubt, deshalb spans. */
.ka-kette{ display:grid; gap:8px; margin-top:12px; }
.ka-kette .zeile{ display:flex; flex-wrap:wrap; align-items:center; gap:5px 4px; }
.ka-kette .wo{
  flex:0 0 100%; font-family:"Space Mono",ui-monospace,Menlo,monospace;
  font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--mu);
}
.ka-kette .zeile.auto .wo{ color:var(--acx); }
.kc{
  display:inline-block; padding:3px 8px; border-radius:5px; border:1px solid var(--ln2);
  background:var(--bg); font-size:13px; font-weight:600; line-height:1.35; color:var(--tx);
}
.kc.hand{ border-style:dashed; border-color:var(--ui); background:transparent; color:var(--tx2); font-weight:500; }
.kc.blitz-kc{ border-color:var(--ac); background:var(--ac); color:var(--acink); }
.zeile.auto .kc:not(.blitz-kc){ border-color:var(--ac); }
.kp{ font-size:12px; color:var(--mu); }
/* Der Loesungssatz wird nur noch fuer das grosse Fenster (Lupe) gelesen. */
.ka-fenster .ka-loesung{
  position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important;
  clip:rect(0 0 0 0); white-space:nowrap; margin:0 !important; padding:0 !important; border:0 !important;
}
.ka-fenster .ka-pain{ font-style:normal; }

/* --- Prozess-Check-Block: Recherche + Angaben = Check -------------------- */
.pc .gleichung{
  display:grid; gap:14px; align-items:stretch; margin-top:clamp(8px,1.5vw,16px);
  grid-template-columns:1fr;
}
.pc .karte{
  border:1px solid var(--ln2); border-radius:10px; background:var(--sf); padding:clamp(20px,2.4vw,28px);
}
.pc .karte .marke{ display:block; margin-bottom:10px; }
.pc .karte .t{ font-size:clamp(19px,1.8vw,23px); font-weight:800; letter-spacing:-.015em; line-height:1.2; margin-bottom:12px; }
.pc .chips{ display:flex; flex-wrap:wrap; gap:6px; }
.pc .ergebnis{ border-color:var(--ac); background:var(--sf2); }
.pc .ergebnis .gross{ font-size:clamp(22px,2.2vw,30px); font-weight:800; letter-spacing:-.02em; line-height:1.15; color:var(--tx); }
.pc .ergebnis .gross b{ color:var(--acx); }
.pc .op{
  display:flex; align-items:center; justify-content:center;
  font-family:"Space Mono",ui-monospace,Menlo,monospace; font-size:24px; font-weight:700; color:var(--acx);
}
.pc .ehrlich{ margin-top:18px; font-size:15px; color:var(--mu); max-width:62ch; }
.pc .actions{ margin-top:clamp(22px,3vw,32px); }
@media (min-width:900px){
  .pc .gleichung{ grid-template-columns:1fr 40px 1fr 40px 1.1fr; }
}

/* --- Beispielreport ------------------------------------------------------ */
.rp{
  margin-top:clamp(8px,1.5vw,16px); max-width:920px;
  border:1px solid var(--ln2); border-radius:12px; background:var(--sf); overflow:hidden;
  box-shadow:0 1px 0 var(--ln), 0 24px 48px -32px rgba(0,0,0,.45);
}
.rp-kopf{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; align-items:flex-end;
  padding:clamp(20px,3vw,32px); border-bottom:1px solid var(--ln);
}
.rp-kopf .marke{ display:block; margin-bottom:8px; }
.rp-kopf .name{ font-size:clamp(20px,2.2vw,28px); font-weight:800; letter-spacing:-.02em; line-height:1.15; }
.rp-kopf .bsp{
  font-family:"Space Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--mu); border:1px dashed var(--ln3); border-radius:5px; padding:4px 8px; white-space:nowrap;
}
.rp-zw{
  margin:0; padding:14px clamp(20px,3vw,32px) 0;
  font-family:"Space Mono",ui-monospace,Menlo,monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--mu);
}
.rp-liste{ list-style:none; margin:0; padding:0 clamp(20px,3vw,32px); }
.rp-p{ padding:clamp(18px,2.4vw,26px) 0; border-bottom:1px solid var(--ln); display:grid; gap:12px; }
.rp-p:last-child{ border-bottom:0; }
.rp-p .kopfz{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; }
.rp-p .nr{ font-family:"Space Mono",ui-monospace,Menlo,monospace; font-size:13px; color:var(--mu); }
.rp-p .titel{ font-size:clamp(17px,1.6vw,20px); font-weight:800; letter-spacing:-.01em; }
.rp-p .typ{
  font-size:12px; font-weight:700; padding:2px 8px; border-radius:999px; border:1px solid var(--ln3); color:var(--tx2);
}
.rp-p .typ.auto{ border-color:var(--ac); color:var(--acx); }
.rp-belege{ display:grid; gap:8px; grid-template-columns:1fr; }
@media (min-width:700px){ .rp-belege{ grid-template-columns:1fr 1fr; } }
.beleg{ border:1px solid var(--ln); border-radius:8px; background:var(--bg); padding:12px 14px; }
.beleg .wer{
  display:block; margin-bottom:4px; font-family:"Space Mono",ui-monospace,Menlo,monospace;
  font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--mu);
}
.beleg .was{ font-size:15px; line-height:1.45; color:var(--tx); }
.rp-daraus{ display:flex; gap:10px; align-items:flex-start; font-size:16px; line-height:1.45; color:var(--tx); font-weight:600; }
.rp-daraus .pf{ flex:none; color:var(--acx); font-weight:800; }
.rp-bau{
  margin:0 clamp(20px,3vw,32px) clamp(20px,3vw,32px); padding:clamp(16px,2.2vw,24px);
  border:1px solid var(--ac); border-radius:10px; background:var(--sf2);
}
.rp-bau .marke{ display:block; margin-bottom:10px; }
.rp-bau .kette{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 4px; margin-bottom:14px; }
.rp-bau dl{ margin:0; display:grid; gap:10px; grid-template-columns:1fr; }
@media (min-width:700px){ .rp-bau dl{ grid-template-columns:repeat(3,1fr); } }
.rp-bau dt{ font-size:12px; font-weight:700; color:var(--mu); margin-bottom:2px; }
.rp-bau dd{ margin:0; font-size:15px; line-height:1.45; color:var(--tx); }
.rp-bau .hinweis{ margin-top:12px; font-size:13px; color:var(--mu); }
.vorschau .actions{ margin-top:clamp(22px,3vw,32px); }

/* --- So laeuft der Check: drei Schritte, danach die Umsetzung getrennt ---- */
@media (min-width:860px){ .steps.drei{ grid-template-columns:repeat(3,1fr); } }
.umsetzung{
  margin-top:clamp(28px,4vw,48px); padding:clamp(20px,2.6vw,28px);
  border:1px dashed var(--ln3); border-radius:10px; max-width:760px;
}
.umsetzung .marke{ display:block; margin-bottom:8px; }
.umsetzung .t{ font-size:clamp(18px,1.7vw,22px); font-weight:800; letter-spacing:-.015em; margin-bottom:8px; }
.umsetzung p{ font-size:16px; color:var(--tx2); line-height:1.55; }

/* --- Schluss: zweiter Weg klar leiser ------------------------------------ */
.final .zweit{ margin-top:6px; font-size:15px; color:var(--tx2); }
.final .zweit a{ color:var(--tx2); }

/* Handy/Tablet: style.css loest .copy per display:contents auf und ordnet die
   Kinder mit order. Hier kommt der Knopf VOR die Zettel, damit Nutzen und
   Handlung ohne Scrollen sichtbar sind; die neuen Zeilen bekommen einen Platz. */
@media (max-width:899px){
  .zettel-hero .lead{ order:3; }
  .zettel-hero .actions{ order:4; }
  .zettel-hero .unter{ order:5; margin-bottom:clamp(24px,4vw,36px); }
  .zettel-hero>.aside{ order:6; }
  .zettel-hero .satz-stark{ order:7; margin-top:8px; }
}

/* Desktop: Der Knopf soll bei 900 px Fensterhoehe sicher sichtbar sein. */
@media (min-width:900px){
  .zettel-hero h1.long{ font-size:clamp(34px,4vw,60px); }
  .zettel-hero .kicker{ margin-bottom:clamp(16px,2vw,28px); }
}

/* --- Vertrauen: drei Punkte mit Titel ------------------------------------ */
.grid .vt{ font-size:18px; font-weight:800; letter-spacing:-.01em; line-height:1.3; color:var(--tx); margin-bottom:8px; }
.grid.vertrauen p:not(.vt){ font-size:16px; font-weight:400; color:var(--tx2); }

/* --- Ueber mich: ein Satz, vier Stationen -------------------------------- */
.split .txt .ich-satz{ font-size:clamp(20px,2vw,26px); font-weight:800; letter-spacing:-.015em; line-height:1.25; color:var(--tx); }
.split .txt .stationen{ margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.split .txt .stationen li{
  position:relative; padding-left:22px; font-size:clamp(16px,1.3vw,18px); line-height:1.45; color:var(--tx2);
}
.split .txt .stationen li::before{
  content:""; position:absolute; left:0; top:.6em; width:8px; height:8px; border-radius:2px; background:var(--ac);
}

/* --- Zwei grosse Ablaeufe statt sechs Kacheln ---------------------------- */
.wf-liste{ display:grid; gap:clamp(20px,2.6vw,32px); margin-top:clamp(20px,3vw,30px); }
.wf{
  border:1px solid var(--ln2); border-radius:12px; background:var(--sf); overflow:hidden;
}
.wf-kopf{
  display:grid; gap:14px 40px; padding:clamp(18px,2.4vw,28px) clamp(18px,2.4vw,28px) clamp(14px,1.8vw,20px);
}
@media (min-width:900px){ .wf-kopf{ grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:start; } }
.wf-kopf .ka-kette{ margin-top:0; }
.wf-titel{ margin:4px 0 0; font-size:clamp(20px,2vw,26px); font-weight:800; letter-spacing:-.015em; line-height:1.2; }
.wf-kopf .ab-kennz{ margin-top:8px; }
/* Das Band: Originalgroesse, links oben verankert, per transform skaliert
   (site.js: wfSkalieren + Kamera). Desktop: Hoehe folgt der Breite, das
   ganze Band passt hinein. Handy: feste Hoehe, die Kamera zieht mit. */
/* Dieselben Diagramm-Variablen wie .ab-rahmen/.ka-bild/.lupe-inhalt in style.css. */
.wf-bild{
  --acc:var(--ac); --acc-ink:var(--acink);
  --bg:var(--sf2); --surface:var(--sf); --fg:var(--tx); --muted:var(--mu);
  --line:var(--ui); --grid:var(--ln2);
  --comp-fill:var(--sf); --comp-stroke:var(--ln3);
  --ki-fill:var(--d-ki-fill); --ki-stroke:var(--d-ki-stroke); --ki-text:var(--d-ki-text);
  --dot:block;
  position:relative; overflow:hidden; border-top:1px solid var(--ln);
  aspect-ratio:var(--w) / 462; width:100%;
}
.wf-bild svg.ablauf{
  position:absolute; left:0; top:0; max-width:none; transform-origin:0 0;
}
@media (max-width:699px){
  .wf-bild{ aspect-ratio:auto; height:280px; }
}
@media (prefers-reduced-motion:reduce){ .wf-bild{ --dot:none; } }
.ablaeufe > .ab-legende{ margin-top:18px; }

/* Die vier weiteren Bereiche: kompakte typografische Liste, keine Karten. */
.wf-weitere{ margin-top:clamp(28px,3.5vw,44px); }
.wf-weitere .marke{ display:block; margin-bottom:12px; }
.wf-weitere ul{
  list-style:none; margin:0; padding:0; display:grid; gap:0; border-top:1px solid var(--ln);
}
@media (min-width:900px){ .wf-weitere ul{ grid-template-columns:1fr 1fr; column-gap:clamp(32px,4vw,64px); } }
.wf-weitere li{
  display:flex; flex-wrap:wrap; gap:2px 12px; align-items:baseline;
  padding:12px 0; border-bottom:1px solid var(--ln);
}
.wf-weitere li b{
  font-family:"Space Mono",ui-monospace,Menlo,monospace; font-size:12px; font-weight:400;
  letter-spacing:.06em; text-transform:uppercase; color:var(--acx); min-width:9.5em;
}
.wf-weitere li span{ font-size:16px; font-weight:600; color:var(--tx); }

/* --- Chat-Knopf: sekundaer, nicht in Akzentfarbe -------------------------- */
body .ab-chat-knopf{
  background:var(--sf); color:var(--tx2); border:1px solid var(--ln3);
  font-weight:600; font-size:14px; padding:10px 14px; box-shadow:0 6px 18px rgba(0,0,0,.18);
}
body .ab-chat-knopf:hover{ color:var(--tx); filter:none; border-color:var(--ui); }

/* --- Entstehung des Checks: Transparenz vor dem Formular ----------------- */
.pc .entstehung{
  margin-top:clamp(22px,3vw,32px); padding:clamp(18px,2.2vw,24px);
  border:1px solid var(--ln2); border-radius:10px; background:var(--sf); max-width:62em;
}
.pc .entstehung .marke{ display:block; margin-bottom:10px; }
.pc .entstehung p{ font-size:16px; line-height:1.55; color:var(--tx2); }
.pc .entstehung-punkte{ margin:14px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
.pc .entstehung-punkte li{
  position:relative; padding-left:22px; font-size:15.5px; line-height:1.45; color:var(--tx2);
}
.pc .entstehung-punkte li::before{
  content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:2px; background:var(--ac);
}
.pc .entstehung-punkte b{ color:var(--tx); }

/* Beschreibungszeile unter der Kartenueberschrift (Startseite: So arbeite ich) */
.pc .karte p:not(.t):not(.gross){ font-size:15px; line-height:1.5; color:var(--tx2); }
.pc .ergebnis .gross + p{ margin-top:10px; }
.check .intro p + p{ margin-top:12px; }

/* --- Fiktiver Beispielreport: Aufbau des Checks auf /coaches -------------- */
.beispiel .beispiel-unter{ margin-top:8px; font-size:clamp(16px,1.3vw,18px); color:var(--tx2); max-width:52ch; }
.beispiel .beispiel-liste{ margin:clamp(18px,2.4vw,28px) 0 0; padding:0; list-style:none; display:grid; gap:12px; max-width:62ch; counter-reset:bsp; }
.beispiel .beispiel-liste li{
  position:relative; padding-left:38px; font-size:clamp(15.5px,1.25vw,17px); line-height:1.5; color:var(--tx2); counter-increment:bsp;
}
.beispiel .beispiel-liste li::before{
  content:counter(bsp,decimal-leading-zero); position:absolute; left:0; top:.2em;
  font-family:"Space Mono",ui-monospace,Menlo,monospace; font-size:12.5px; color:var(--acx);
}
.beispiel .beispiel-liste b{ color:var(--tx); }
.beispiel .actions{ margin-top:clamp(20px,2.6vw,28px); }
.beispiel .beispiel-hinweis{ margin-top:12px; font-size:14px; color:var(--mu); max-width:62ch; }

/* --- Portraet im runden Ausschnitt: Haare nicht mehr anschneiden ----------- */
/* Das Bild ist 4:5 (880x1100), der Kreis quadratisch. Mit 50 % fehlt oben das
   Haar; 25 % zeigt es vollstaendig und laesst das Gesicht mittig (geprueft an
   der echten Darstellung, 30.09.2026). Gilt fuer / und /coaches. */
.about .rund img{ object-position:50% 25%; }
