/* IRMÖ IT v2 | Erklär-Motive (Unterseiten und Startseite)
   Ruhig, präzise, kurz. Flächen statt Schatten, Linien 1 bis 1,5 px, Radien 4 bis 12. */
.mo{--m-ink:#0F1419;--m-steel:#4B5563;--m-fog:#9CA3AF;--m-line:#D1D7E0;--m-soft:#E8ECF1;--m-card:#FFFFFF;--m-cy:#00E5E2;--m-cy-soft:#E6FCFC;--m-vi:#8B9DFF;--m-vi-soft:#EEF1FF;--m-t:#0F1419}
.dark .mo,.mo.mo-dark{--m-ink:#E8ECF1;--m-steel:#9CA3AF;--m-fog:#6B7280;--m-line:#374151;--m-soft:#1F2937;--m-card:#161D26;--m-cy-soft:#0E2C30;--m-vi-soft:#20253F;--m-t:#FAFBFC}
.mo svg{width:100%;height:100%;overflow:visible;display:block}
.mo text{font-family:Manrope,system-ui,sans-serif;font-size:13px;fill:var(--m-t);font-weight:500;letter-spacing:0}
.mo .t-s{font-size:12.5px;fill:var(--m-steel);font-weight:500}
.mo .t-b{font-size:15px;font-weight:650;letter-spacing:-.01em}
.mo .t-h{font-weight:650}
.mo .t-w{fill:#FFFFFF}
.mo .t-f{fill:#A9B1BC}
.mo .t-m{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;fill:var(--m-steel);font-weight:400}
.mo .t-c{text-anchor:middle}
.mo .t-e{text-anchor:end}
/* Flächen */
.mo .card{fill:var(--m-card);stroke:var(--m-line);stroke-width:1}
.mo .card-k{fill:#0F1419;stroke:none}
.dark .mo .card-k,.mo.mo-dark .card-k{fill:#E8ECF1}
.mo .soft{fill:var(--m-soft);stroke:none}
.mo .acc{fill:var(--m-cy);stroke:none}
.mo .acc-soft{fill:var(--m-cy-soft);stroke:var(--m-cy);stroke-width:1}
.mo .vi{fill:var(--m-vi);stroke:none}
.mo .vi-soft{fill:var(--m-vi-soft);stroke:var(--m-vi);stroke-width:1}
.mo .ink{fill:var(--m-ink);stroke:none}
.mo .hl{fill:none;stroke:var(--m-cy);stroke-width:1.5}
.mo .mute{fill:var(--m-line);stroke:none}
.mo .bar{fill:var(--m-line);stroke:none}
.mo .ms{fill:var(--m-card);stroke:var(--m-steel);stroke-width:1}
.mo .ring{fill:none;stroke:var(--m-vi);stroke-width:1}
.mo .chk{fill:none;stroke:#0F1419;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* Linien */
.mo .ln{fill:none;stroke:var(--m-line);stroke-width:1}
.mo .ln-k{fill:none;stroke:var(--m-ink);stroke-width:1}
.mo .ln-a{fill:none;stroke:var(--m-cy);stroke-width:1.5}
.mo .ln-d{fill:none;stroke:var(--m-line);stroke-width:1;stroke-dasharray:3 4}
.mo .pk{fill:var(--m-cy)}
/* Kopfzeile: aktueller Schritt */
.mo .m-seg-b{fill:var(--m-line)}
.mo .m-seg-f{fill:var(--m-ink)}
.mo .m-seg-f.cur{fill:var(--m-cy)}
.mo .m-cnt{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;fill:var(--m-steel);font-weight:400}
.mo .m-ttl{font-size:15px;font-weight:650;fill:var(--m-t)}
.mo .m-cap{font-size:13px;fill:var(--m-steel);font-weight:500}
@media (max-width:980px){.mo .m-cap{font-size:14px}}

/* Startseite: Erklärer der Geschäftsfelder, ein gemeinsames Bewegungssystem.
   1 px Linien (Graphit, Stahlgrau, Silber), Flächen Nebelgrau, Cyan nur für das aktive Element. */
.f-pane .viz.fz{order:-1;flex:1 1 0;min-height:150px;max-height:380px;margin:0 0 clamp(12px,2svh,22px);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:clamp(8px,1.4svh,14px) 14px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.viz.fz svg{width:100%;height:100%;display:block;overflow:visible}
.fz *{vector-effect:non-scaling-stroke}
.fz text{font-family:Manrope,system-ui,sans-serif;font-size:12px;font-weight:500;fill:#0F1419;letter-spacing:0}
.fz .t{font-size:12px}
.fz .tb{font-size:12px;font-weight:650}
.fz .ts{font-size:11px;fill:#4B5563}
.fz .tm{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:11px;fill:#4B5563}
.fz .tv{font-size:20px;font-weight:650;letter-spacing:-.01em}
.fz .tc{text-anchor:middle}.fz .te{text-anchor:end}
.fz .c{fill:#FFFFFF;stroke:#D1D7E0;stroke-width:1}
.fz .cw{fill:#FFFFFF;stroke:#4B5563;stroke-width:1}
.fz .sw{fill:#E8ECF1;stroke:#4B5563;stroke-width:1}
.fz .s{fill:#E8ECF1;stroke:none}
.fz .sf{fill:#9CA3AF}
.fz .kf{fill:#0F1419}
.fz .stf{fill:#4B5563}
.fz .af{fill:#00E5E2}
.fz .ac{fill:#FFFFFF;stroke:#00E5E2;stroke-width:1}
.fz .al{fill:none;stroke:#00E5E2;stroke-width:1.5}
.fz .k,.fz .k *{fill:none;stroke:#0F1419;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.fz .k .cw{fill:#FFFFFF}.fz .k .sw{fill:#E8ECF1}
.fz .l{fill:none;stroke:#D1D7E0;stroke-width:1}
.fz .kl{fill:none;stroke:#0F1419;stroke-width:1}
.fz .ok{fill:#0F1419}
.fz .okc{fill:none;stroke:#FFFFFF;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fz .okk{fill:none;stroke:#0F1419;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fz .okd{fill:#4B5563}
.fz .led{fill:#D1D7E0}
.fz .p2-g{fill:#00E5E2}
.fz .trk{fill:none;stroke:#E8ECF1;stroke-width:6;stroke-linecap:butt}
.fz .arc{fill:none;stroke:#00E5E2;stroke-width:6;stroke-linecap:butt}
.fz .p5-tile{fill:#EEF1FF;stroke:#8B9DFF;stroke-width:1}
.fz .p4-c.on{stroke:#00E5E2}
.fz .p3-bd{fill:#00E5E2}
@media (max-width:980px){
  .f-card{padding:16px}
  .f-pane{position:relative;inset:auto;display:none}
  .f-pane.on{display:flex}
  .f-pane .viz.fz{flex:none;height:auto;min-height:0;max-height:none;aspect-ratio:360/200;padding:6px 4px}
  .f-stage>*,.f-card,.f-pane{min-width:0}
  .f-pane ul{grid-template-columns:1fr}
}
/* Telefone: SVG-Schrift mindestens 11 px auf dem Bildschirm */
@media (max-width:640px){
  .f-card{padding:10px}
  .f-pane .viz.fz{margin-inline:-4px;padding:2px 0;border-radius:10px}
  .fz text,.fz .t,.fz .tb{font-size:13px}
  .fz .ts,.fz .tm{font-size:12.5px}
  .fz .tv{font-size:22px}
}
@media (prefers-reduced-motion:reduce){.fz *{transition:none!important}}

/* Startseite: Kreislauf, gepinnt bis alle sechs Schritte durchlaufen sind */
.loop.is-pin{padding-block:0;text-align:left}
.loop.is-pin .wrap{height:100svh;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:center;padding-top:64px}
.loop.is-pin h2{margin:0!important;max-width:13ch!important;text-align:left;font-size:clamp(2rem,3.3vw,3.4rem)}
.loop.is-pin .loop-ring{width:min(calc(100svh - 230px),50vw,660px);margin:0 24px 0 0}
.loop-ring .track{stroke:var(--line);stroke-width:1.5}
.loop-ring .prog{stroke-width:2.5;stroke-linecap:butt}
.loop-ring .st .cr{fill:none;stroke:var(--signal);stroke-width:1.5;opacity:0;transition:opacity .4s}
.loop-ring .st .nd{transform-box:fill-box;transform-origin:center;transition:transform .45s var(--ease-out)}
.loop-ring .st .nd .bg{fill:var(--white);stroke:var(--line);stroke-width:1.5;transition:stroke .35s,fill .35s}
.loop-ring .st .ico{fill:none;stroke:var(--fog);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.loop-ring .st text{font-family:var(--font);font-size:20px;font-weight:600;fill:var(--fog);transition:fill .35s}
.loop-ring .st.on .nd .bg{stroke:var(--ink)}
.loop-ring .st.on .ico{stroke:var(--ink)}
.loop-ring .st.on text{fill:var(--ink)}
.loop-ring .st.cur .nd{transform:scale(1.22)}
.loop-ring .st.cur .nd .bg{fill:var(--signal-soft)}
.loop-ring .st.cur .cr{opacity:1}
.loop-ring .head .hd{fill:var(--signal);stroke:var(--white);stroke-width:2}
.loop-ring .head .hd-r{fill:none;stroke:var(--signal);stroke-width:1.2;stroke-dasharray:3 4}
.loop-center{inset:21%;gap:8px;text-align:center}
.loop-center .lc-k{font-family:var(--mono);font-size:.78rem;color:var(--steel)}
.loop-center .t-body{font-size:.95rem;max-width:26ch}
.lc-t{list-style:none;display:grid;gap:4px;margin-top:6px;font-size:.88rem;color:var(--ink)}
.lc-t li{display:flex;align-items:center;gap:8px;justify-content:center}
.lc-t li::before{content:"";width:8px;height:1.5px;background:var(--signal);flex:none}
.loop-list{list-style:none;display:grid;gap:0;margin:40px auto 0;max-width:640px;text-align:left;border-top:1px solid var(--line)}
.loop-list li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.loop-list svg{width:36px;height:36px;border:1.5px solid var(--ink);border-radius:50%;padding:4px;background:var(--white)}
.loop-list .ico{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.loop-list b{display:block;font-weight:600}
.loop-list span{display:block;color:var(--steel);font-size:.95rem}
.loop-list small{display:block;color:var(--steel);font-size:.85rem;margin-top:4px}
@media (max-width:980px){.loop.is-static .loop-ring{display:none}}

.loop.is-pin h2 *{text-align:left!important}

/* Kreislauf bei niedrigen Viewports (1280x720, 1024x768) */
.loop.is-pin .loop-ring{width:min(calc(100svh - 200px),46vw,640px);margin:0 clamp(24px,4vw,64px) 0 0}
.loop.is-pin .wrap{padding-top:72px}
.hero h1.done .ln{overflow:visible}
