/* IRMÖ IT v2 | Energie und Solar. Sonnengelb ist nur für Energie reserviert, Cyan bleibt der IT. */
:root{--sun:#F5B400;--sun-soft:#FFF6D6;--sun-line:#E9D38A;--sun-ink:#8A6400;--heat:#F08A24}

/* Abschnitt auf der Startseite */
.energy{background-color:var(--white);position:relative;overflow:hidden}
.en-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,64px);align-items:end}
.en-head h2{max-width:15ch}
.en-stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);gap:clamp(24px,3.6vw,56px);align-items:start;margin-top:clamp(36px,5vw,64px)}
.en-fig{margin:0}
.en-flow{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:clamp(8px,1.2vw,14px);overflow:hidden}
.en-cap{margin-top:16px;display:grid;gap:10px}
.en-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.en-phases span{font-size:.86rem;font-weight:600;padding-top:8px;border-top:2px solid var(--line);color:var(--fog);transition:color .35s,border-color .35s}
.en-phases span.on{border-color:var(--ink);color:var(--ink)}
.en-txt{font-size:1rem;color:var(--ink);min-height:3em;max-width:62ch}
.en-note{font-size:.8rem;color:var(--fog)}
.en-side{display:flex;flex-direction:column;gap:0}
.en-side ul{list-style:none;border-top:1px solid var(--line)}
.en-side li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.en-side li svg{width:28px;height:28px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.en-side li b{display:block;font-weight:650;font-size:1.02rem;letter-spacing:-.01em}
.en-side li span{display:block;color:var(--steel);font-size:.94rem;margin-top:2px}
.en-side .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

/* SVG des Energieflusses */
.en-svg{width:100%;height:auto;display:block;overflow:visible}
.en-svg text{font-family:var(--font);letter-spacing:0}
.en-svg .en-arc{fill:none;stroke:#E9D38A;stroke-width:1;stroke-dasharray:2 5}
.en-svg .en-hz{stroke:var(--line);stroke-width:1}
.en-svg .en-stars circle{fill:#FFFFFF}
.en-svg .en-sun circle{fill:var(--sun-soft);stroke:var(--sun);stroke-width:2}
.en-svg .en-rays line{stroke:var(--sun);stroke-width:2;stroke-linecap:round}
.en-svg .en-rays{animation:enspin 18s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes enspin{to{transform:rotate(360deg)}}
.en-svg .en-ray{stroke:var(--sun);stroke-width:1;stroke-dasharray:3 6;transition:opacity .4s}
.en-svg .en-clock{font-family:var(--mono);font-size:15px;font-weight:500}
.en-svg .en-line{fill:none;stroke:var(--line);stroke-width:1.5}
.en-svg .en-glow{fill:none;stroke:var(--sun);stroke-width:2.5;opacity:0;stroke-linecap:round;transition:opacity .4s}
.en-svg .en-heat{fill:none;stroke:var(--heat);stroke-width:1.5;stroke-dasharray:3 4}
.en-svg .en-heat-t{font-size:11px;font-weight:600;fill:#B45309}
.en-svg .en-card{fill:#FFFFFF;stroke:var(--line);stroke-width:1;transition:stroke .3s}
.en-svg .en-node.on .en-card{stroke:#C9CFD8}
.en-svg .en-ic{fill:none;stroke:#0F1419;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.en-svg .en-node.on .en-ic path:last-child{stroke:#0F1419}
.en-svg .en-t{font-size:14px;font-weight:650;fill:#0F1419}
.en-svg .en-s{font-size:12px;font-weight:500;fill:var(--steel)}
.en-svg .en-node.on .en-s{fill:#0F1419}
.en-svg .en-bar-b{fill:var(--nebelgrau)}
.en-svg .en-bar{fill:var(--sun);transition:width .25s linear}
.en-svg .en-hub .en-card{fill:#0F1419;stroke:#0F1419}
.en-svg .en-hub .en-ic{stroke:#FFFFFF}
.en-svg .en-hub .en-t{fill:#FFFFFF}
.en-svg .en-hub .en-s{fill:#9CA3AF}
.en-svg .en-ring-b{fill:none;stroke:#374151;stroke-width:4}
.en-svg .en-ring{fill:none;stroke:var(--sun);stroke-width:4;stroke-linecap:round}
.en-svg .en-pct{font-size:11px;font-weight:700;fill:#FFFFFF}
.en-svg .en-pl{font-size:9.5px;font-weight:600;fill:#9CA3AF}
.en-svg .en-hub .en-pl{display:none}

/* Lastverschiebung */
.sh{color:var(--ink)}
.sh svg{width:100%;height:100%;overflow:visible}
.sh text{font-family:var(--font)}
.sh .sh-ttl{font-size:16px;font-weight:650;fill:#0F1419}
.sh .sh-sub{font-size:13.5px;font-weight:500;fill:var(--steel)}
.sh .sh-grid{stroke:var(--nebelgrau);stroke-width:1}
.sh .sh-base{stroke:#0F1419;stroke-width:1}
.sh .sh-ax{font-family:var(--mono);font-size:11px;fill:var(--steel)}
.sh .sh-sun{fill:var(--sun-soft);stroke:var(--sun);stroke-width:1.5}
.sh .sh-lab{font-size:12px;font-weight:600;fill:var(--steel)}
.sh .sh-lab-s{fill:var(--sun-ink)}
.sh .sh-baseload{fill:var(--nebelgrau)}
.sh .sh-jobr{fill:#FFFFFF;stroke:#0F1419;stroke-width:1.5;transition:fill .4s,stroke .4s}
.sh .sh-jobr.sun{fill:var(--sun);stroke:var(--sun)}
.sh .sh-jobt{font-size:12.5px;font-weight:650;fill:#0F1419}
.sh .sh-kl{font-size:13px;font-weight:600;fill:#0F1419}
.sh .sh-kb{fill:var(--nebelgrau)}
.sh .sh-kf{fill:#6B7280;transition:fill .4s}
.sh .sh-kf.ok{fill:var(--sun)}
.sh .sh-kv{font-size:13px;font-weight:650;fill:#0F1419}

/* Unterseite Energie */
.en-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);margin-top:clamp(32px,4vw,56px)}
.en-why article{background:var(--graphite);border:1px solid var(--line-dk);border-radius:16px;padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:12px}
.en-why .n{font-family:var(--mono);font-size:.85rem;color:var(--sun)}
.en-why h3{font-size:1.25rem;font-weight:650;letter-spacing:-.02em}
.en-why p{color:var(--fog);font-size:.98rem}
.en-flow-sec .en-flow{max-width:980px;margin-inline:auto}
.en-flow-sec .en-cap{max-width:980px;margin-inline:auto}


@media (max-width:980px){
  .en-head,.en-stage{grid-template-columns:1fr}
  .en-why{grid-template-columns:1fr}
}
@media (max-width:640px){.en-flow{padding:6px}}
@media (max-width:560px){
  .sh .sh-ttl{font-size:21px}.sh .sh-sub{font-size:16px}.sh .sh-ax{font-size:14px}
  .sh .sh-lab{font-size:15px}.sh .sh-jobt{font-size:14px}.sh .sh-kl,.sh .sh-kv{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.en-svg .en-rays{animation:none}}

/* Startseite: achtes Geschäftsfeld */
.fz .p8-sf{fill:#FFF6D6;stroke:#F5B400;stroke-width:1.5}
.fz .p8-sr{fill:none;stroke:#F5B400;stroke-width:1.5;stroke-linecap:round}
.fz .p8-lv{fill:#F5B400}
.fz .p8-pk{fill:#F5B400}
.fz .p8-chip{fill:#FFF6D6;stroke:#F5B400;stroke-width:1}
