/* ==========================================================================
   Nimbus IT – Live-DNA-Ergänzungen (Preview 02.10.2026)
   Der Original-Stack (nimbus-polaris-production.css, -home-positioning-polish, -nav-polish, -v6-polish)
   bleibt unverändert. Diese Datei enthält nur NEUE Bausteine mit eigenen Klassennamen.
   Kein !important, keine Überschreibung bestehender Komponenten.
   ========================================================================== */

/* ---------- Hero: Gründerfoto an der Stelle der früheren Statuskarte ---------- */
.hero h1 em.mark { font-style: normal; font-weight: inherit; background-image: linear-gradient(#28cfff, #28cfff); background-repeat: no-repeat; background-position: 0 98%; background-size: 100% 2px; padding-bottom: .05em; }
.hero-text--stack { margin-top: -10px; color: #b4c4cd; }
.hero-note { margin: 16px 0 0; max-width: 560px; color: #9fb0ba; font-size: 13px; line-height: 1.55; }
.hero-photo-card { position: absolute; z-index: 3; top: 70px; right: 24px; bottom: 124px; width: min(400px, 31vw); margin: 0; display: flex; flex-direction: column; overflow: hidden; background: rgba(2, 15, 24, .92); border: 1px solid #315063; border-radius: 20px; box-shadow: 0 24px 70px rgba(0, 0, 0, .45); }
.hero-photo-card picture { flex: 1 1 auto; min-height: 0; display: block; }
.hero-photo-card img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.hero-photo-card figcaption { display: grid; gap: 2px; padding: 13px 18px 15px; border-top: 1px solid #2e4d5d; background: rgba(2, 15, 23, .96); color: #9fb0ba; font-size: 12px; line-height: 1.4; }
.hero-photo-card figcaption span { color: #49d5f2; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-photo-card figcaption strong { color: #fff; font-size: 15px; font-weight: 650; }
.trust-strip .trust-ms-wrap { flex: 0 0 auto; display: grid; place-items: center; width: 92px; height: 50px; overflow: hidden; background: #fff; border-radius: 6px; }
.trust-strip .trust-ms { width: 150%; max-width: none; height: auto; }
.nav-cta { min-height: 40px; margin-left: 10px; padding: 0 16px; font-size: 13px; }
.nav-menu-cta { display: none; }
@media (max-width: 1100px) {
  .hero-photo-card { position: relative; top: auto; right: auto; bottom: auto; width: min(100%, 560px); margin: 8px 0 26px; }
  .hero-photo-card picture, .hero-photo-card img { height: auto; aspect-ratio: 16 / 11; }
  body .trust-strip { height: auto !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body .trust-strip article { min-height: 84px; }
}
@media (max-width: 820px) {
  .hero-photo-card { width: 100%; }
  .nav-cta { display: none; }
  .nav-links.open .nav-menu-cta, .nav-links.is-open .nav-menu-cta { display: flex; justify-content: center; margin-top: 14px; padding: 14px 18px; border-radius: 10px; background: linear-gradient(135deg, #35d1f1, #009deb); color: #00131c; font-weight: 700; text-decoration: none; }
}

/* ---------- Betreuungsmodelle: Situationszeile ---------- */
body.polaris-home-v5 .situation-path__copy > em { display: block; margin: 0 0 6px; color: #d3e3ea; font-style: normal; font-weight: 600; font-size: 15px; line-height: 1.5; text-align: left; }
@media (max-width: 760px) { body.polaris-home-v5 .situation-path__copy > em { font-size: 13px; } }

/* ---------- Ablauf: häufige Fragen ---------- */
.faq-block { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); margin-top: clamp(36px, 5vw, 64px); padding-top: clamp(30px, 4vw, 52px); border-top: 1px solid rgba(76, 157, 190, .22); }
.faq-block__head { display: grid; gap: 14px; align-content: start; justify-items: start; }
.faq-block__head h3 { font-size: clamp(24px, 2.2vw, 34px); line-height: 1.1; letter-spacing: -.03em; font-weight: 600; color: #f2f7f9; }
.faq-block__head p { color: #9fb0ba; font-size: 15px; }
.faq-block__head a:not(.btn) { color: #fff; text-underline-offset: 4px; text-decoration-color: #28cfff; }
.faq-list { display: grid; gap: 10px; }
.faq-list details { border: 1px solid #294754; border-radius: 12px; background: linear-gradient(145deg, rgba(7, 25, 36, .88), rgba(3, 14, 22, .94)); }
.faq-list details[open] { border-color: rgba(53, 212, 255, .45); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 18px; color: #f2f7f9; font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: ""; flex: none; width: 9px; height: 9px; border: solid #28cfff; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .2s ease; }
.faq-list details[open] summary::after { transform: rotate(225deg); }
.faq-list details p { margin: 0; padding: 0 18px 16px; color: #9fb0ba; font-size: 14px; line-height: 1.65; }
.faq-list details a { color: #fff; text-underline-offset: 3px; text-decoration-color: #28cfff; }
@media (max-width: 900px) { .faq-block { grid-template-columns: 1fr; } }

/* ---------- Referenzen: fünf Stimmen im Original-Kartenstil ---------- */
.case-grid--five { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.case-grid--five .case-card { grid-column: span 2; min-height: 0; }
.case-grid--five .case-card--lead { grid-column: span 3; }
.case-grid--five .case-card--lead p { font-size: 15px; line-height: 1.72; }
@media (max-width: 1100px) { .case-grid--five .case-card, .case-grid--five .case-card--lead { grid-column: span 3; } .case-grid--five .case-card:last-child { grid-column: span 6; } }
@media (max-width: 760px) { .case-grid--five { grid-template-columns: 1fr; } .case-grid--five .case-card, .case-grid--five .case-card--lead, .case-grid--five .case-card:last-child { grid-column: auto; } }

/* ---------- Team: Verlässlichkeit ---------- */
.team-continuity { margin-top: 14px; padding: 24px 26px; border: 1px solid #263f4d; border-radius: 12px; background: linear-gradient(145deg, rgba(5, 22, 33, .9), rgba(2, 12, 19, .94)); }
.team-continuity h3 { margin: 0 0 18px; color: #f2f7f9; font-size: 22px; letter-spacing: -.02em; font-weight: 600; }
.team-continuity__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.team-continuity__items > div { display: grid; grid-template-columns: 38px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-content: start; }
.team-continuity__items svg { grid-row: 1 / span 2; width: 36px; height: 36px; fill: none; stroke: #35d4ff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.team-continuity dt { margin: 0; color: #f2f7f9; font-size: 15px; font-weight: 650; }
.team-continuity dd { margin: 0; color: #9fb0ba; font-size: 13px; line-height: 1.6; text-align: left; }
.team-continuity dd a { color: #fff; text-underline-offset: 3px; text-decoration-color: #28cfff; }
@media (max-width: 900px) { .team-continuity__items { grid-template-columns: 1fr; } }

/* ---------- Bedrohungslage: echter Radar mit Feed-Punkten ---------- */
.threat-radar-real { width: min(100%, 400px); margin: 0; justify-self: center; }
.threat-radar-real .radar__plot { position: relative; }
.threat-radar-real .radar__svg { display: block; width: 100%; height: auto; aspect-ratio: 1; overflow: visible; }
.threat-radar-real .radar__grid circle, .threat-radar-real .radar__grid path { fill: none; stroke: rgba(255, 110, 120, .24); stroke-width: 1; }
.threat-radar-real .radar__grid circle:first-child { stroke: rgba(255, 110, 120, .4); }
.threat-radar-real .radar__ticks line { stroke: rgba(255, 140, 150, .3); stroke-width: 1; }
.threat-radar-real .radar__labels text { fill: #d8aeb3; font-size: 13px; font-weight: 600; }
.threat-radar-real .radar__core { fill: #fff; }
.threat-radar-real .radar__beam { stroke: #ff6d77; stroke-width: 1.4; stroke-opacity: .85; }
.threat-radar-real .radar__sweep { transform-origin: 200px 200px; opacity: 0; }
.threat-radar-real #radarSweepFade stop { stop-color: #ff4650; }
.threat-radar-real .radar__blip { fill: #35d4ff; filter: drop-shadow(0 0 4px rgba(53, 212, 255, .85)); }
.threat-radar-real .radar__blip.is-critical { fill: #ff5965; filter: drop-shadow(0 0 5px rgba(255, 89, 101, .95)); }
.threat-radar-real .radar__blip.is-selected { stroke: #fff; stroke-width: 1.6; }
.threat-radar-real .radar__halo { fill: none; stroke: #ff5965; stroke-opacity: .55; }
.threat-radar-real .radar__hit { fill: transparent; cursor: pointer; outline: none; }
.threat-radar-real .radar__hit:focus-visible { stroke: #35d4ff; stroke-width: 2; }
.threat-radar-real .radar__tip { position: absolute; z-index: 4; pointer-events: none; padding: 8px 12px; background: #0a1b28; border: 1px solid #2e5568; border-radius: 10px; color: #fff; font-size: 12.5px; font-weight: 600; white-space: nowrap; transform: translate(-50%, calc(-100% - 12px)); }
.threat-radar-real .radar__tip[data-align="start"] { transform: translate(-14px, calc(-100% - 12px)); }
.threat-radar-real .radar__tip[data-align="end"] { transform: translate(calc(-100% + 14px), calc(-100% - 12px)); }
.threat-radar-real figcaption { display: grid; gap: 6px; margin-top: 14px; color: #a9b8c1; font-size: 12px; line-height: 1.5; text-align: left; }
.threat-radar-real figcaption::before { content: "Public Threat Intelligence"; color: #ff8a92; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.threat-radar-real[data-threat-state="error"] figcaption span { visibility: hidden; }
.threat-radar-real .radar__legend-critical { display: inline-flex; align-items: center; gap: 8px; }
.threat-radar-real .radar__legend-critical i { width: 8px; height: 8px; border-radius: 50%; background: #ff5965; }
.threat-radar-real .radar__info { min-height: 1.6em; margin: 10px 0 0; color: #e4eef2; font-size: 13px; text-align: left; font-variant-numeric: tabular-nums; }
.threat-radar-real[data-threat-state="error"] .radar__info { visibility: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .polaris-js .threat-radar-real[data-threat-radar] .radar__blip, .polaris-js .threat-radar-real[data-threat-radar] .radar__halo { opacity: 0; }
  .threat-radar-real.is-scanned .radar__sweep { animation: live-radar-sweep 2.4s cubic-bezier(.35, 0, .25, 1) forwards; }
  .threat-radar-real.is-scanned .radar__blip, .threat-radar-real.is-scanned .radar__halo { animation: live-radar-blip .4s ease forwards; animation-delay: var(--d, 0ms); }
}
@keyframes live-radar-sweep { 0% { opacity: 0; transform: rotate(-40deg); } 8% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; transform: rotate(320deg); } }
@keyframes live-radar-blip { from { opacity: 0; } to { opacity: 1; } }
.threat__live[data-threat-state="error"] .threat-live-metric strong { opacity: .5; }
.threat__bsi-latest { margin: 12px 0 0; color: #a9b8c1; font-size: 13px; text-align: left; }
.threat__bsi-latest a { color: #fff; text-underline-offset: 3px; text-decoration-color: rgba(255, 138, 146, .7); }

/* ---------- Nimbus: Entwicklungsstand ---------- */
.one67-launch-status--top { margin: 0 0 14px; }
.one67-focus-title { margin: 22px 0 8px; color: #9fb0ba; font-size: 13px; font-weight: 600; letter-spacing: .01em; }
.one67-focus-list { display: grid; margin: 0 0 24px; padding: 0; list-style: none; max-width: 30rem; }
.one67-focus-list li { position: relative; padding: 11px 0 11px 24px; border-bottom: 1px solid rgba(111, 231, 255, .16); color: #eaf4f7; font-weight: 600; }
.one67-focus-list li::before { content: ""; position: absolute; left: 1px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border: 1.5px solid #6fe7ff; transform: rotate(45deg); }
.one67-product-shot__note { margin: 12px 4px 0; color: #9fb0ba; font-size: 12px; line-height: 1.55; text-align: left; }

/* ---------- Kontakt ---------- */
.contact-v7-steps-title { margin: 26px 0 8px; color: #f2f7f9; font-size: 17px; font-weight: 650; }
.contact-v7-steps { display: grid; margin: 0 0 6px; padding: 0; list-style: none; border-top: 1px solid rgba(76, 157, 190, .22); }
.contact-v7-steps li { position: relative; padding: 11px 0 11px 28px; border-bottom: 1px solid rgba(76, 157, 190, .18); color: #cbd8de; font-size: 14px; line-height: 1.55; text-align: left; }
.contact-v7-steps li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 12px; height: 7px; border-left: 2px solid #28cfff; border-bottom: 2px solid #28cfff; transform: rotate(-45deg); }
.contact-v7-hours { margin: 20px 0 6px; color: #9fb0ba; font-size: 13px; text-align: left; }
.field-hint { margin: -6px 0 0; color: #9fb0ba; font-size: 12px; text-align: left; }
.form-success { padding: 8px 0; outline: none; }
.form-success h3 { font-size: 22px; }
.form-success p { margin-top: 10px; color: #9fb0ba; text-align: left; }
.form-success a { color: #fff; font-weight: 650; }
.form-status:empty { display: none; }
.form-status.is-error { color: #ff9aa0; }
.form-status.is-success { color: #8fe3b1; }
.contact-form.is-sent .form-fields, .contact-form.is-sent .form-status { display: none; }
.footer-cta { margin-top: 14px; }

/* ---------- Text neuer Bausteine linksbündig (Original justiert den Fließtext) ---------- */
@media (min-width: 761px) {
  body.polaris-home-v5 main .section .faq-block p:not(.eyebrow):not(.one67-launch-status):not(.form-note):not(.privacy-note):not(.contact-interest-confirmation),
  body.polaris-home-v5 main .section .case-grid--five p:not(.eyebrow):not(.one67-launch-status):not(.form-note):not(.privacy-note):not(.contact-interest-confirmation),
  body.polaris-home-v5 main .section .team-continuity p:not(.eyebrow):not(.one67-launch-status):not(.form-note):not(.privacy-note):not(.contact-interest-confirmation),
  body.polaris-home-v5 main .section .contact-v7-copy p:not(.eyebrow):not(.one67-launch-status):not(.form-note):not(.privacy-note):not(.contact-interest-confirmation) { text-align: left; hyphens: manual; -webkit-hyphens: manual; }
}

/* ---------- Korrekturen nach erstem Preview-Durchlauf ---------- */
/* Wrapper ist layout-neutral: die Original-Formularregeln greifen weiter direkt auf die Felder */
.contact-form .form-fields { display: contents; }
.polaris-home-v5 .hero-actions .btn-primary:before { content: none; }
.polaris-home-v5 .hero-actions .btn-primary { font-size: inherit; }
.hero h1 span { display: block; text-wrap: balance; }
.eyebrow, .hero-eyebrow { text-transform: uppercase; }
.section-foot a { color: #fff; text-underline-offset: 4px; text-decoration-color: #28cfff; }
/* Original-Navigation setzt display mit !important; Menü-CTA nur im mobilen Menü zeigen */
body.polaris-v6 .polaris-v6-nav .nav-links a.nav-menu-cta { display: none !important; }
@media (max-width: 820px) {
  body.polaris-v6 .polaris-v6-nav .nav-links.open a.nav-menu-cta, body.polaris-v6 .polaris-v6-nav .nav-links.is-open a.nav-menu-cta { display: flex !important; }
}
/* Kontaktformular: eine Spalte, Felder volle Breite (Original-Regeln nutzen !important) */
body.polaris-v8 .contact-form.contact-form-v7 { grid-template-columns: minmax(0, 1fr) !important; }
body.polaris-v8 .contact-form.contact-form-v7 > *, body.polaris-v8 .contact-form.contact-form-v7 .form-fields > * { grid-column: 1 / -1 !important; }
/* Microsoft-Badge ungeschnitten und unverändert (Seitenverhältnis 925 : 420) */
.trust-strip .trust-ms-wrap { width: 112px; height: 51px; }
.trust-strip .trust-ms { width: 100%; height: 100%; object-fit: contain; }

/* ---------- Typografie: linksbündiger Fließtext statt Blocksatz (keine gedehnten Wortabstände) ---------- */
@media (min-width: 761px) {
  body.polaris-home-v5 main .section p:not(.eyebrow):not(.one67-launch-status):not(.form-note):not(.privacy-note):not(.contact-interest-confirmation),
  body.polaris-home-v5 main .one67-home-lead,
  body.polaris-home-v5 main .partners-v7-note,
  body.polaris-home-v5 main .team-v7-foundations__copy p { text-align: left; text-align-last: auto; hyphens: manual; -webkit-hyphens: manual; text-wrap: pretty; }
}
body.nimbus-subpage-final .service-v6-lead, body.nimbus-subpage-final .service-v6-overview p, body.nimbus-subpage-final .service-v6-head p,
body.nimbus-subpage-final .landing-hero-copy > p, body.nimbus-subpage-final .landing-section-header > p, body.nimbus-subpage-final .service-v53-copy > p { text-align: left; hyphens: manual; -webkit-hyphens: manual; text-wrap: pretty; }

/* ---------- Team: Textkopf ohne Wiederholung des Hero-Fotos ---------- */
.polaris-home-v5 .team-v7-hero.team-v7-hero--text { min-height: 0; padding: clamp(34px, 5vw, 72px); background: radial-gradient(circle at 88% 20%, rgba(40, 207, 255, .12), transparent 38%), linear-gradient(145deg, #07182a, #040d16); }
.polaris-home-v5 .team-v7-hero--text::after { display: none; }
.polaris-home-v5 .team-v7-hero--text .team-v7-hero-copy { position: static; max-width: 860px; }
.polaris-home-v5 .team-v7-hero--text .team-v7-hero-copy h2 { font-size: clamp(34px, 4vw, 58px); }

/* ---------- Nimbus: ehrliche Ausschnitte der Entwicklungsoberfläche ---------- */
.one67-shot-crops { display: grid; gap: 12px; padding: 14px; background: #0b1a26; }
.one67-shot-crops img { display: block; width: 100%; height: auto; border-radius: 10px; }
body.polaris-v8 .team-v7-hero.team-v7-hero--text { min-height: 0 !important; }
.polaris-home-v5 .team-v7-hero--text .team-v7-hero-copy { padding: 0; background: none; border: 0; box-shadow: none; backdrop-filter: none; }
@media (min-width: 1101px) {
  .polaris-home-v5 .team-v7-people article { grid-template-columns: 230px 1fr; }
  .polaris-home-v5 .team-v7-people img { width: 230px; height: 310px; object-position: 50% 18%; }
}
.one67-product-shot .one67-product-shot__note { margin: 0; padding: 12px 20px 14px; background: #0b1a26; color: #9fb0ba; border-top: 1px solid rgba(111, 231, 255, .14); }
.one67-home-launch .one67-home-lead { margin-bottom: 8px; }
.one67-focus-title { margin-top: 30px; font-size: 22px; line-height: 1.15; color: #f2f7f9; letter-spacing: -.02em; }
body.polaris-v8 .team-v7-hero--text .team-v7-hero-copy { padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; left: auto !important; bottom: auto !important; }

/* ---------- Mobil: Lesbarkeit (Original setzt auf kleinen Viewports Fußzeile/Labels auf 7–9 px) ---------- */
body.polaris-home-v5 main { overflow-x: clip; }
@media (max-width: 1100px) {
  body .footer a, body .footer p, body .footer b, body .footer span, body .footer small, body .footer strong, body .footer h2 { font-size: 12.5px !important; line-height: 1.5 !important; }
  body .footer b, body .footer h2 { font-size: 11.5px !important; }
  body .footer .footer-links a, body .footer-col a { display: inline-block; padding: 4px 0; }
  body .eyebrow, body p.eyebrow, body .section-label, body .tcd-kicker { font-size: 11px !important; }
  body .standards-section small, body .standards-section button span, body .standards-orbit button span, body .standards-section .standard-kicker { font-size: 11px !important; }
  body .threat-live-status span, body .threat-live-feed-head span, body .threat-live-list em, body .threat-live-metric span { font-size: 11px !important; }
}
@media (max-width: 1100px) {
  body .trust-strip span, body .hero-photo-card figcaption span, body .team-v7-people span, body .team-v7-people small, body .team-v7-foundations a, body .threat-live-metrics span, body .threat .threat-live-list em, body .one67-product-shot__note { font-size: 11.5px !important; }
  body .threat-live-metrics span { letter-spacing: .04em; }
}
/* Nimbus-Seite: Ausschnitte mittig statt unten ausgerichtet */
body .one67-highlight__image { align-self: center; align-items: center; min-height: 0; height: auto; }
body .one67-highlight__image img { height: auto; object-fit: contain; }
body.nimbus-one-page .one67-highlight__image { align-self: center !important; align-items: center !important; min-height: 0 !important; height: auto !important; }
body.nimbus-one-page .one67-highlight__image img { height: auto !important; object-fit: contain !important; }
@media (max-width: 760px) {
  body .footer { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 18px !important; }
  body .footer > * { min-width: 0; overflow-wrap: anywhere; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  body .footer { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px 22px !important; }
  body .footer > * { min-width: 0; }
  body .footer-brand { grid-column: 1 / -1 !important; }
}
body .threat-head .btn-alert, body .threat .btn-outline-alert { font-size: 13px !important; }

/* ---------- Lesbarkeit auf allen Breiten: Mindestgrößen für Fußzeile und Labels (Original: 7–9 px) ---------- */
body .footer a, body .footer p, body .footer span, body .footer small, body .footer strong { font-size: 12px; line-height: 1.5; }
body .footer b, body .footer h2 { font-size: 11px; }
body .footer-bottom span, body .footer-bottom a { font-size: 12px; }
body .eyebrow, body p.eyebrow { font-size: 11px; }
@media (min-width: 821px) and (max-width: 1100px) {
  body.polaris-home-v5 .hero { min-height: 0 !important; padding-bottom: 0 !important; }
  body.polaris-home-v5 .hero .trust-strip { position: relative !important; left: auto !important; right: auto !important; bottom: auto !important; margin-top: 8px; }
}
