/* ==========================================================================
   Nimbus IT – Final-Polish (Dokument 25)
   Signature-Peaks: Hero (räumliche Ebenen), Threat Center (Radar-Tiefe), Nimbus (Produktbühne).
   Dazu: Unternehmen (Editorial), Modelle (Journey), Leistungen (Verbindung), Unterseiten-Szenen.
   Alles progressive Verbesserung: ohne JS / bei prefers-reduced-motion bleibt ein vollständiger statischer Zustand.
   ========================================================================== */

/* ---------- A. HERO: räumliche Ebenen ---------- */
.sig-scene { position: absolute; right: 25%; top: 0; bottom: 0; width: 34%; z-index: 1; pointer-events: none; perspective: 1500px; perspective-origin: 50% 46%; --hs: .36; --mx: 0; --my: 0; }
.sig-scene__stage { position: absolute; left: 50%; top: 48%; width: 360px; height: 210px; margin: -105px 0 0 -180px; transform-style: preserve-3d; transform: rotateX(calc(66deg - 30deg * var(--hs))) rotateZ(calc(-40deg + 30deg * var(--hs) + var(--mx) * 3deg)) rotateY(calc(var(--my) * -3deg)) scale(calc(1.15 + .5 * var(--hs))); transition: transform .3s cubic-bezier(.2, .7, .2, 1); will-change: transform; }
.sig-plane { position: absolute; inset: 0; border: 1px solid rgba(53, 212, 255, calc(.22 + .3 * var(--hs))); border-radius: 14px; background: linear-gradient(145deg, rgba(9, 38, 56, .55), rgba(3, 14, 22, .3)); box-shadow: inset 0 0 40px rgba(53, 212, 255, .07), 0 0 28px rgba(53, 212, 255, calc(.05 + .12 * var(--hs))); transform: translateZ(calc((var(--k) - 1.5) * (14px + 150px * var(--hs)))); opacity: calc(.55 + .45 * var(--hs)); }
.sig-plane svg { display: block; width: 100%; height: 100%; }
.sig-plane .sp-ic { fill: none; stroke: #9fe7fb; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.sig-plane .sp-t { fill: #d3ecf4; font: 600 15px/1 "Segoe UI", system-ui, sans-serif; letter-spacing: .01em; }
.sig-plane .sp-line { stroke: rgba(53, 212, 255, .25); stroke-width: 1; fill: none; }
.sig-rod { position: absolute; width: 1px; background: linear-gradient(180deg, rgba(53, 212, 255, 0), rgba(53, 212, 255, .75), rgba(53, 212, 255, 0)); transform-origin: 0 0; height: calc(3 * (14px + 150px * var(--hs))); transform: translateZ(calc(-1.5 * (14px + 150px * var(--hs)))) rotateX(90deg); opacity: calc(.15 + .85 * var(--hs)); }
.sig-rod.r1 { left: 6%; top: 8%; } .sig-rod.r2 { left: 94%; top: 8%; } .sig-rod.r3 { left: 6%; top: 92%; } .sig-rod.r4 { left: 94%; top: 92%; }
@media (max-width: 1100px) { .sig-scene { right: -12%; width: 62%; } }
@media (max-width: 820px) { .sig-scene { display: none; } }
@media (prefers-reduced-motion: reduce) { .sig-scene__stage { transition: none; } }

/* ---------- B. UNTERNEHMEN: asymmetrische Editorial-Komposition ---------- */
.team-ed.section { padding-top: clamp(48px, 6vw, 96px) !important; }
.team-ed__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px); row-gap: clamp(28px, 3.5vw, 56px); align-items: start; }
.team-ed__lead { grid-column: 1 / 8; grid-row: 1; align-self: end; padding-bottom: 8px; }
.team-ed__lead .eyebrow { margin-bottom: 18px; }
html body.polaris-v8 .team-ed__lead h2 { font-size: clamp(38px, 4.6vw, 74px) !important; line-height: 1.03 !important; letter-spacing: -.045em; margin: 0 0 clamp(18px, 2vw, 30px); max-width: 19ch; text-wrap: balance; }
.team-ed__faces { grid-column: 8 / 13; grid-row: 1 / 3; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 1.2vw, 18px); align-items: start; position: relative; }
.team-ed__faces::before { content: ""; position: absolute; inset: -6% -8% -8% 12%; z-index: 0; background: radial-gradient(ellipse at 60% 40%, rgba(40, 207, 255, .14), transparent 62%); pointer-events: none; }
.team-ed__face { position: relative; z-index: 1; margin: 0; overflow: hidden; border: 1px solid #2c4a59; border-radius: 18px; aspect-ratio: 2 / 3; background: #07141d; box-shadow: 0 28px 70px rgba(0, 0, 0, .45); }
.team-ed__face--1 { margin-top: clamp(36px, 5vw, 80px); }
.team-ed__face img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.team-ed__face figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 2px; padding: 40px 14px 14px; background: linear-gradient(180deg, transparent, rgba(2, 10, 16, .92)); }
.team-ed__face figcaption span { color: #49d5f2; font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.team-ed__face figcaption strong { color: #fff; font-size: clamp(16px, 1.4vw, 20px); font-weight: 650; }
.team-ed__bios { grid-column: 1 / 8; grid-row: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(20px, 3vw, 44px); border-top: 1px solid rgba(76, 157, 190, .28); padding-top: clamp(18px, 2vw, 28px); }
.team-ed__bio h3 { margin: 0 0 12px; font-size: clamp(22px, 2vw, 30px); font-weight: 650; letter-spacing: -.02em; color: #f2f7f9; }
.team-ed__bio .team-v7-responsibility { display: grid; gap: 2px; margin: 0 0 14px; padding-left: 14px; border-left: 2px solid #35d4ff; }
.team-ed__bio .team-v7-responsibility small { color: #7f97a4; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.team-ed__bio .team-v7-responsibility strong { color: #fff; font-size: 15px; font-weight: 650; line-height: 1.4; }
.team-ed__bio p { margin: 0; color: #a9bcc6; font-size: 15px; line-height: 1.65; }
.team-ed__trust { margin-top: clamp(36px, 4vw, 64px); }
@media (max-width: 960px) {
  .team-ed__lead { grid-column: 1 / -1; }
  html body.polaris-v8 .team-ed__lead h2 { max-width: none; }
  .team-ed__faces { grid-column: 1 / -1; grid-row: 2; grid-template-columns: 1fr 1fr; max-width: 560px; }
  .team-ed__bios { grid-column: 1 / -1; grid-row: 3; grid-template-columns: 1fr; gap: 28px; }
}

/* ---------- C. MODELLE: kleine Journey (Betriebsmodus wird beim Scrollen/Hover/Fokus klar) ---------- */
@media (min-width: 900px) {
  html body.polaris-home-v5 .about .situation-paths { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(18px, 2.4vw, 40px); position: relative; padding-top: 34px; border: 0 !important; background: none !important; }
  html body.polaris-home-v5 .about .situation-paths::before { content: ""; position: absolute; left: 4%; right: 4%; top: 34px; height: 2px; background: linear-gradient(90deg, rgba(53, 212, 255, .15), rgba(53, 212, 255, .55), rgba(53, 212, 255, .15)); transform-origin: left; transform: scaleX(var(--jp, 1)); }
  html body.polaris-home-v5 .about .situation-path { display: grid !important; grid-template-columns: 1fr !important; grid-template-rows: auto 1fr auto; gap: 14px; position: relative; min-height: 0 !important; padding: 0 0 22px !important; border: 0 !important; background: none !important; box-shadow: none !important; transition: opacity .4s ease, transform .4s cubic-bezier(.2, .7, .2, 1); }
  html body.polaris-home-v5 .about .situation-path__icon { position: relative; top: -34px; margin-bottom: -34px; width: 56px !important; height: 56px !important; border-radius: 50% !important; border: 1.5px solid rgba(53, 212, 255, .5) !important; background: #04131c !important; box-shadow: 0 0 0 6px #020a11, 0 0 22px rgba(53, 212, 255, .2); transition: box-shadow .4s ease, border-color .4s ease; }
  html body.polaris-home-v5 .about .situation-path__arrow { position: static; justify-self: start; }
  html body.polaris-home-v5 .about .situation-path__copy { text-align: left; }
  html body.polaris-home-v5 .about .situation-paths.sig-journey .situation-path:not(.is-on) { opacity: .55; }
  html body.polaris-home-v5 .about .situation-paths.sig-journey .situation-path.is-on { opacity: 1; transform: translateY(-4px); }
  html body.polaris-home-v5 .about .situation-path.is-on .situation-path__icon { border-color: #35d4ff !important; box-shadow: 0 0 0 6px #020a11, 0 0 34px rgba(53, 212, 255, .55); }
  html body.polaris-home-v5 .about .situation-path.is-on .situation-path__arrow { transform: translateX(6px); }
}
@media (prefers-reduced-motion: reduce) { html body.polaris-home-v5 .about .situation-path { transition: none; } }

/* ---------- D. LEISTUNGEN: zusammenhängende Landschaft (Knoten in der Mitte, Rückgrat Beraten → Weiterentwickeln) ---------- */
.sig-hubwrap { position: relative; }
.sig-hubwrap::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: #35d4ff; box-shadow: 0 0 0 6px rgba(2, 10, 17, .9), 0 0 26px rgba(53, 212, 255, .9); z-index: 3; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  .sig-hubwrap.is-in::before { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; border: 1px solid rgba(53, 212, 255, .8); z-index: 2; pointer-events: none; animation: pol-hub 2.4s ease-out 1 both; }
}
@keyframes pol-hub { from { transform: scale(1); opacity: .9; } to { transform: scale(12); opacity: 0; } }
.responsibility-flow { position: relative; }
.responsibility-flow::before { content: ""; position: absolute; left: 4%; right: 4%; top: 50%; height: 2px; z-index: 0; background: linear-gradient(90deg, rgba(53, 212, 255, .1), rgba(53, 212, 255, .45), rgba(53, 212, 255, .1)); transform-origin: left; transform: scaleX(var(--fp, 1)); pointer-events: none; }
.responsibility-flow > article { position: relative; z-index: 1; }
@media (max-width: 760px) { .responsibility-flow::before { display: none; } }

/* ---------- E. THREAT CENTER: Radar mit Tiefe (anders als der Hero-Effekt: ein Radar-Teller, der sich aufrichtet) ---------- */
.threat-radar-real { --tp: 1; perspective: 1100px; }
.threat-radar-real .radar__plot { transform: rotateX(calc((1 - var(--tp)) * 52deg)) translateZ(0); transform-origin: 50% 80%; transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.threat-radar-real .radar__plot::after { content: ""; position: absolute; left: 6%; right: 6%; bottom: -14%; height: 18%; background: radial-gradient(ellipse at 50% 50%, rgba(255, 70, 80, calc(.25 * (1 - var(--tp)) + .08)), transparent 70%); pointer-events: none; z-index: -1; }
.threat__live[data-threat-state="ready"] .threat-live-list li { animation: pol-feed .6s cubic-bezier(.2, .7, .2, 1) both; }
.threat__live[data-threat-state="ready"] .threat-live-list li:nth-child(2) { animation-delay: .1s; } .threat__live[data-threat-state="ready"] .threat-live-list li:nth-child(3) { animation-delay: .2s; } .threat__live[data-threat-state="ready"] .threat-live-list li:nth-child(4) { animation-delay: .3s; }
@keyframes pol-feed { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .threat-radar-real .radar__plot { transform: none !important; transition: none; } .threat__live .threat-live-list li { animation: none !important; } }
@media (max-width: 820px) { .threat-radar-real .radar__plot { transform: none !important; } }

/* ---------- F. NIMBUS: Produktbühne – drei echte Ausschnitte, räumlich gestaffelt, einzelne Ebenen rücken in den Fokus ---------- */
.one67-home-launch .one67-shot-crops { gap: 0; padding: 18px 22px 22px; }
.one67-home-launch .one67-shot-crops img { position: relative; width: 100%; box-shadow: 0 16px 40px rgba(0, 0, 0, .35); }
.one67-home-launch .one67-shot-crops img:nth-child(1) { margin-left: -6px; }
.one67-home-launch .one67-shot-crops img:nth-child(2) { margin-top: -6px; margin-left: 22px; width: calc(100% - 22px); }
.one67-home-launch .one67-shot-crops img:nth-child(3) { margin-top: -6px; margin-left: 4px; width: calc(100% - 8px); }
html.sig-stage .one67-home-launch .one67-shot-crops { --nf: 0; }
html.sig-stage .one67-home-launch .one67-shot-crops img { transition: opacity .45s ease, filter .45s ease, transform .25s linear; }
html.sig-stage .one67-home-launch .one67-shot-crops img:nth-child(1) { transform: translateZ(calc((1 - var(--np)) * 46px)); opacity: calc(1 - .4 * clamp(0, var(--nf) - 0, 1)); }
html.sig-stage .one67-home-launch .one67-shot-crops img:nth-child(2) { transform: translateZ(calc((1 - var(--np)) * 22px)); opacity: calc(1 - .4 * clamp(0, var(--nf) - 1, 1) - .4 * clamp(0, 1 - var(--nf), 1)); }
html.sig-stage .one67-home-launch .one67-shot-crops img:nth-child(3) { transform: translateZ(calc((1 - var(--np)) * 4px)); opacity: calc(1 - .4 * clamp(0, 2 - var(--nf), 1)); }
html.sig-stage .one67-home-launch .one67-shot-crops img.is-focus { filter: drop-shadow(0 0 14px rgba(111, 231, 255, .35)); }

/* ---------- G. UNTERSEITEN: thematische Szenen (eine pro Seitentyp) ---------- */
.sig-sub-scene { position: relative; margin: clamp(10px, 2vw, 28px) auto clamp(18px, 3vw, 44px); width: min(1220px, calc(100% - 36px)); --sp: .85; }
.sig-sub-scene__inner { border: 1px solid #243e4c; border-radius: 22px; background: radial-gradient(ellipse at 50% 0%, rgba(40, 207, 255, .08), transparent 60%), linear-gradient(160deg, rgba(5, 21, 31, .85), rgba(2, 10, 16, .92)); padding: clamp(10px, 2vw, 26px); overflow: hidden; }
.sig-sub-scene svg { display: block; width: 100%; height: auto; max-height: 420px; overflow: visible; }
.sig-sub-scene text { font-family: inherit; paint-order: stroke; stroke: #04111a; stroke-width: 4px; stroke-linejoin: round; }
.sc-t { fill: #dbeef5; font-size: 17px; font-weight: 600; }
.sc-b { font-weight: 800; fill: #fff; } .sc-sub { fill: #8fa8b5; font-size: 15px; font-weight: 500; } .sc-in { font-size: 16px; }
.sc-ic { fill: none; stroke: #bfeaf6; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.sc-node circle, .sc-hub circle, .sc-sat circle, .sc-mon circle { fill: #06212f; stroke: #2f7690; stroke-width: 2; }
.sc-node rect:not(.sc-box), .sc-fw rect { fill: #06212f; stroke: #35d4ff; stroke-width: 2.2; }
.sc-box { fill: rgba(8, 36, 52, .8); stroke: #2f7690; stroke-width: 2; }
.sc-ok { stroke: #6fe39a; } .sc-b2, .sc-b3 { opacity: .55; }
.sc-hub circle { stroke: #35d4ff; stroke-width: 2.6; } .sc-mon circle { stroke: #35d4ff; }
.sc-l { fill: none; stroke: #35d4ff; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - clamp(0, var(--sp) * 3 - var(--i, 0) * .6, 1)); opacity: .85; }
.sc-l.sc-dash, .sc-ring .sc-dash, .sc-scan .sc-dash { stroke-dasharray: 5 7; stroke-dashoffset: 0; opacity: calc(clamp(0, var(--sp) * 2 - .3, 1) * .8); }
.sc-ring circle, .sc-scan circle { fill: none; stroke: rgba(53, 212, 255, .35); stroke-width: 1.5; opacity: clamp(0, calc(var(--sp) * 2 - .4), 1); }
.sc-sat { transform: translate(calc(var(--tx) * var(--sp)), calc(var(--ty) * var(--sp))); opacity: calc(.35 + .65 * var(--sp)); }
.sc-node { opacity: clamp(0, calc(var(--sp) * 4 - var(--i, 0) * .9 + .25), 1); }
.sc-zone { fill: rgba(53, 212, 255, .04); stroke: rgba(53, 212, 255, .28); stroke-dasharray: 6 8; stroke-width: 1.5; opacity: clamp(0, calc(var(--sp) * 2.4 - .5), 1); }
.sc-zone.z3 { stroke: rgba(255, 190, 90, .4); }
.sc-d { fill: #8fdcf5; transform: translate(calc((var(--x0) * (1 - var(--sp)) + var(--x1) * var(--sp)) * 1px), calc((var(--y0) * (1 - var(--sp)) + var(--y1) * var(--sp)) * 1px)); opacity: .9; }
.sc-lay { fill: rgba(53, 212, 255, .04); stroke: rgba(53, 212, 255, .45); stroke-width: 2; }
.sc-lay.l5 { opacity: clamp(0, calc(var(--sp) * 5 - 3.6), 1); } .sc-lay.l4 { opacity: clamp(0, calc(var(--sp) * 5 - 2.8), 1); } .sc-lay.l3 { opacity: clamp(0, calc(var(--sp) * 5 - 2), 1); } .sc-lay.l2 { opacity: clamp(0, calc(var(--sp) * 5 - 1.2), 1); } .sc-lay.l1 { opacity: clamp(0, calc(var(--sp) * 5 - .4), 1); stroke: #35d4ff; }
.sc-core { stroke: #35d4ff; }
.sc-chk { stroke: #6fe39a; stroke-dasharray: 1; }
.sc-t.sc-l1, .sc-t.sc-l2, .sc-t.sc-l3, .sc-t.sc-l4, .sc-t.sc-l5 { fill: #bfe3ef; font-size: 15px; }
@media (max-width: 760px) { .sc-t { font-size: 22px; } .sc-sub { font-size: 20px; } }
@media (prefers-reduced-motion: reduce) { .sig-sub-scene { --sp: 1 !important; } }
html:not(.sig-polish) .sig-sub-scene { --sp: 1; }

/* ---------- Überschriften mit zwei Sätzen: je Satz eine Zeilengruppe ---------- */
main :is(h2, h3) .hl { display: block; text-wrap: pretty; }
.sc-fade { opacity: calc(1 - var(--sp) * 1.4); }
.nw { white-space: nowrap; }
@media (min-width: 1101px) { html body.polaris-v8 .services .section-intro h2 { font-size: clamp(24px, 1.85vw, 27px) !important; } html body.polaris-v8 .services .section-intro h2 .hl { white-space: nowrap; } }
