/* Customer Lifecycle: Zeitachse mit Kundenwert-Kurve, Phasenpanel, Steuerung, Geschaeftsmodelle, Schnittstellen */
.lcm { margin-top:34px; }
.lcm-fig { max-width:1000px; margin-inline:auto; }
.lcm-svg { display:block; width:100%; height:auto; overflow:visible; }
.lcm-svg text { font-family:var(--body); pointer-events:none; }
.lc-band { fill:rgba(255,255,255,.03); cursor:pointer; transition:fill .2s; }
.lc-band:hover { fill:rgba(56,171,255,.09); }
.lc-band.sel { fill:rgba(56,171,255,.16); }
.lc-band:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.lc-hd { fill:var(--fg); font-size:12.5px; font-weight:600; transition:fill .25s; }
.lc-hd.on { fill:var(--accent); }
.lc-h { fill:var(--fg); font-size:12.5px; font-weight:600; }
.lc-s { fill:var(--muted); font-size:12px; }
.lc-a { fill:var(--accent); font-size:12px; }
.lc-sm { font-size:11px; }
.lc-grid { stroke:rgba(178,207,232,.2); stroke-width:1; }
.lc-axis { stroke:rgba(178,207,232,.4); stroke-width:1; }
.lc-curve { fill:none; stroke:var(--accent); stroke-width:3; }
.lc-base { fill:none; stroke:var(--muted); stroke-width:2; stroke-dasharray:5 4; }
.lc-gap { fill:rgba(56,171,255,.14); }
.lc-loop { fill:none; stroke:var(--accent); stroke-width:1.5; stroke-dasharray:5 4; }
.lc-mk { fill:var(--bg); stroke:var(--accent); stroke-width:2; transition:fill .1s; }
.lc-fl { fill:none; stroke:#d6f0ff; stroke-width:2; opacity:0; }
.lc-halo { fill:rgba(56,171,255,.28); }
.lc-dot { fill:var(--accent); stroke:var(--fg); stroke-width:2; }
.lc-bar-d { fill:none; stroke:var(--accent); stroke-dasharray:4 3; }
.lc-bar-s { fill:rgba(56,171,255,.2); stroke:var(--accent); }
.lcm-note { color:var(--muted); font-size:.85rem; margin:10px 0 0; text-align:center; }
.lcm-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:20px 0 0; padding:0; list-style:none; }
.lcm-tab { width:100%; display:flex; gap:10px; align-items:baseline; text-align:left; padding:12px 14px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:6px; background:var(--card); cursor:pointer; transition:background .2s, border-color .2s, transform .2s; }
.lcm-tab:hover { background:rgba(56,171,255,.09); transform:translateY(-2px); }
.lcm-tab span { font-family:var(--display); font-weight:700; color:var(--accent); }
.lcm-tab b { font-family:var(--display); font-size:1rem; line-height:1.2; }
.lcm-tab[aria-selected="true"] { background:linear-gradient(120deg,#1d8ee0,#0061B2); border-color:var(--accent); }
.lcm-tab[aria-selected="true"] span { color:#fff; }
.lcm-panel { margin-top:14px; border:1px solid var(--line); border-radius:10px; background:linear-gradient(160deg,rgba(56,171,255,.07),rgba(255,255,255,.02)); padding:clamp(22px,3vw,36px); }
.lcm-pane[hidden] { display:none; }
.lcm-pane .cnt { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.lcm-pane h3 { font-size:clamp(1.4rem,2.4vw,1.9rem); margin:6px 0 12px; }
.lcm-pane .kc-q { color:var(--fg); font-size:1.1rem; margin:0 0 .7em; max-width:62ch; }
.lcm-pane p { color:var(--muted); max-width:70ch; }
.lcm-cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 40px; margin-top:6px; }
.lcm-pane .kc-res-l { font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--soft); margin:14px 0 8px; }
.lcm-pane .kc-res { list-style:none; margin:0 0 6px; padding:0; display:grid; gap:7px; }
.lcm-pane .kc-res li { position:relative; padding-left:24px; color:var(--fg); font-size:.97rem; }
.lcm-pane .kc-res li::before { content:""; position:absolute; left:2px; top:.62em; width:10px; height:10px; border-radius:50%; border:1.6px solid var(--accent); background:radial-gradient(circle,var(--accent) 0 36%,transparent 40%); }
.lc-ov { margin:20px 0 16px; border:1px dashed var(--accent); border-radius:6px; padding:12px 16px; font-size:.95rem; color:var(--muted); max-width:78ch; }
.lc-ov b { display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--accent); margin-bottom:4px; }
.lc-ov a { color:var(--fg); font-weight:600; }
.lcm-pane .kc-more { margin-top:4px; }

/* Steuerung: drei Karten */
.lc-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
.lc-steps .step::after { display:none !important; }
.lc-steps .step { display:flex; flex-direction:column; transition:border-color .25s, background .25s, transform .25s; }
.lc-steps .step p { flex:1 1 auto; }
.lc-steps .step .more-l { display:inline-block; margin-top:14px; font-weight:600; font-size:.92rem; align-self:flex-start; position:static; }
.lc-steps .step .more-l::after { content:""; position:absolute; inset:0; z-index:1; }
.lc-steps .step:hover, .lc-steps .step:focus-within { border-color:var(--accent); background:rgba(56,171,255,.09); transform:translateY(-3px); }
.lc-x { display:block; margin-top:14px; border:1px dashed var(--accent); border-radius:6px; padding:6px 10px; font-size:.82rem; line-height:1.4; color:var(--muted); }
.lc-x b { color:var(--accent); font-weight:600; }

/* Geschaeftsmodelle */
.lc-gm .card { cursor:default; }
.lc-gm .kc-tag { display:block; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--accent); margin-bottom:2px; }
.lc-gm-cta { margin-top:26px; }

/* Schnittstellen */
.lc-sch { display:grid; gap:12px; margin-top:30px; }
.lc-sr { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.1fr); gap:8px 28px; padding:20px 22px; border:1px solid var(--line); border-radius:6px; background:var(--card); align-items:start; }
.lc-sr.hd { background:none; border:0; padding:0 22px; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--muted); }
.lc-sr h3 { font-size:1.15rem; margin:0 0 6px; }
.lc-sr h3 a { text-decoration:none; }
.lc-sr h3 a:hover { color:var(--accent); }
.lc-sr p { margin:0; color:var(--muted); font-size:.97rem; }
.lc-sr .lbl { display:none; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--accent); margin-bottom:2px; }
.lc-sr .go { display:inline-block; margin-top:6px; font-weight:600; font-size:.9rem; color:var(--accent); text-decoration:none; }
.lc-sr .go:hover { text-decoration:underline; }

@media (max-width:980px) {
  .lcm-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lc-steps { grid-template-columns:minmax(0,1fr); }
  .lcm-cols { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .lc-sr { grid-template-columns:minmax(0,1fr); }
  .lc-sr.hd { display:none; }
  .lc-sr .lbl { display:block; margin-top:8px; }
}
@media (max-width:640px) {
  .lc-w, .lc-lab { display:none; }
  .lc-hd { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .lcm-tab, .lc-band, .lc-steps .step { transition:none; }
}

/* v26: ganze Phasenflaeche verlinkt, Reaktivierung mit Richtung */
.lcm-svg path, .lcm-svg circle, .lcm-svg line, .lcm-svg g, .lcm-svg text { pointer-events:none; }
.lcm-svg .lc-band { pointer-events:all; }
.lc-lnk:focus-visible { outline:none; }
.lc-lnk:focus-visible .lc-band { fill:rgba(56,171,255,.16); stroke:var(--accent); stroke-width:2; }
.lc-arrh { fill:var(--accent); }
.lc-lstart { fill:var(--bg); stroke:var(--accent); stroke-width:1.5; }
.lc-loop { stroke-width:2; animation:lc-flow 1.1s linear infinite; }
@keyframes lc-flow { to { stroke-dashoffset:-18; } }
@media (prefers-reduced-motion:reduce) { .lc-loop { animation:none; } }
