*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0c1218;color:#fff;font:16px Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}header{height:86px;padding:0 7vw;display:flex;align-items:center;border-bottom:1px solid #26313a;position:sticky;top:0;background:#0c1218f2;z-index:5}header img{width:125px;max-height:70px;object-fit:contain}nav{margin-left:auto;display:flex;gap:30px}header button{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:650px;padding:80px 8vw;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:radial-gradient(circle at 75% 45%,#183d59,transparent 28%)}small{color:#67a9d7;letter-spacing:.2em;font-weight:bold}.hero h1{font-size:clamp(54px,6vw,90px);line-height:.98;margin:18px 0 28px;letter-spacing:-.05em}em{font-style:normal;color:#66a9d9}.hero p{max-width:720px;color:#c0c9d0;font-size:20px}.cta,.more{display:inline-block;padding:14px 23px;margin:22px 10px 0 0;border:1px solid #1D5A8C}.cta{background:#1D5A8C}.visual{height:400px;display:grid;place-items:center;position:relative}.visual i{width:280px;height:280px;border:1px solid #4b7692;border-radius:50%;box-shadow:0 0 0 60px #1d5a8c14,0 0 0 120px #1d5a8c09}.visual b{position:absolute;font-size:64px;color:#74add5}.visual span{position:absolute;bottom:40px;letter-spacing:.2em;color:#8fb7d1}.statement{padding:100px 8vw;text-align:center;background:#f3f5f6;color:#18222a}.statement h2,.dark h2,.process h2,.future h2,.about h2,.contact h2{font-size:clamp(34px,4vw,57px);line-height:1.08}.statement p{max-width:850px;margin:auto;color:#596670;font-size:18px}.dark{padding:95px 8vw}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#34404a;margin-top:45px}.grid article{background:#111820;padding:40px;min-height:245px}.grid article>b,.steps b{color:#64a5d2}.grid h3{font-size:24px}.grid p,.process span,.future p,.about p{color:#aeb9c2}.process{padding:95px 8vw;background:#172129;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.steps p{display:grid;grid-template-columns:45px 1fr 1.3fr;gap:18px;border-top:1px solid #3b4650;padding:22px 0;margin:0}.future{margin:75px 8vw;padding:50px;border:1px solid #31556d;background:#111b22}.future p{max-width:900px}.about{padding:100px 8vw;background:#f3f5f6;color:#18222a;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.about h3{font-size:25px}.facts{display:flex;gap:35px;border-top:1px solid #ccd3d7;padding-top:25px}.facts span{display:flex;flex-direction:column;color:#66727b}.facts b{color:#1D5A8C;font-size:20px}.contact{padding:100px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact p{color:#aeb9c2}.form{display:grid;gap:15px}.form label{font-size:12px;color:#aeb9c2}.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;padding:13px;background:#151f27;border:1px solid #35444f;color:#fff}.form button{color:#fff;text-align:left;font-weight:bold}footer{padding:35px 8vw;border-top:1px solid #28333b;display:flex;align-items:center;justify-content:space-between;color:#89969f;font-size:12px}footer img{width:90px}.legal{max-width:900px;margin:auto;padding:80px 7vw}.legal h1{font-size:50px}.legal p{color:#bec7ce}@media(max-width:800px){nav{display:none;position:absolute;top:86px;left:0;right:0;padding:25px;background:#111820;flex-direction:column}nav.open{display:flex}header button{display:block}.hero,.process,.about,.contact{grid-template-columns:1fr}.visual{height:280px}.grid{grid-template-columns:1fr}.steps p{grid-template-columns:40px 1fr}.steps span{grid-column:2}.facts{flex-wrap:wrap}.hero h1{font-size:52px}footer{gap:20px;flex-wrap:wrap}}
/* V2 FEINSCHLIFF */
.headerbrand{display:flex;align-items:center;gap:11px;min-width:250px}
.headerbrand .fd{font-weight:900;font-size:35px;line-height:1;letter-spacing:-.12em;color:#66a9d9;padding-right:3px}
.headerbrand .brandtext{display:flex;flex-direction:column;line-height:1}
.headerbrand .brandtext strong{font-size:22px;letter-spacing:.08em;color:#fff}
.headerbrand .brandtext small{font-size:8px;letter-spacing:.24em;color:#7fb2d5;margin-top:5px}
.grid article{position:relative}
.grid article h3{margin-top:4px}
.steps p{grid-template-columns:1fr 1.35fr;gap:28px}
.steps strong{font-size:17px}
.facts span:nth-child(2){min-width:230px}
@media(max-width:800px){
 .headerbrand{min-width:0}
 .headerbrand .fd{font-size:30px}
 .headerbrand .brandtext strong{font-size:18px}
 .steps p{grid-template-columns:1fr}
 .steps span{grid-column:auto}
}

/* V3: originales horizontales Branding */
.headerbrand{display:flex;align-items:center;min-width:0}
.headerbrand img{width:340px;max-width:34vw;height:64px;object-fit:contain;object-position:left center}
@media(max-width:800px){.headerbrand img{width:245px;max-width:66vw;height:58px}}

/* V4 */
.sensor{position:absolute;font-size:58px;color:#70b1dd;text-shadow:0 0 28px #277db7}
.visual-label{position:absolute;bottom:38px;letter-spacing:.14em;color:#8fb7d1;font-size:12px;text-align:center}
footer .footer-logo{width:260px;height:74px;object-fit:contain;object-position:left center}
@media(max-width:800px){
 .visual-label{font-size:10px;letter-spacing:.1em}
 footer .footer-logo{width:220px;height:66px}
}

/* V5 – weitere Einsatzlösungen */
.solutions{padding:100px 8vw;background:#10171d;border-top:1px solid #26333d}
.solutions-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.solutions-head small{grid-column:1/-1}
.solutions-head h2{font-size:clamp(34px,4vw,57px);line-height:1.08;margin:0}
.solutions-head>p{color:#aeb9c2;margin:0}
.solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:50px}
.solution-grid article{border:1px solid #304451;background:linear-gradient(145deg,#151f27,#11181e);padding:38px;min-height:390px}
.solution-icon{width:54px;height:54px;border:1px solid #356b8e;display:grid;place-items:center;color:#72b3df;font-size:26px;margin-bottom:30px}
.solution-grid h3{font-size:26px;line-height:1.2;margin:0 0 16px}
.solution-grid p,.solution-grid li{color:#aeb9c2}
.solution-grid ul{padding-left:19px;margin:22px 0 30px}
.solution-grid article>span{font-size:10px;letter-spacing:.16em;color:#6ca8d0;border-top:1px solid #2c3c47;padding-top:15px;display:block}
@media(max-width:800px){.solutions-head,.solution-grid{grid-template-columns:1fr;gap:25px}.solutions-head small{grid-column:auto}.solution-grid article{min-height:0}}

/* V8: clean responsive rebuild – no photographic icons, no overflow */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;display:block}
.v8-hero{display:block!important;padding:0!important;min-height:0!important;background:#091117}
.hero-inner{width:min(1400px,100%);margin:0 auto;padding:64px clamp(22px,5vw,72px) 72px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:48px;align-items:center}
.hero-copy{min-width:0}.hero-copy h1{font-size:clamp(44px,5vw,76px);line-height:1.02;margin:16px 0 25px;overflow-wrap:normal;word-break:normal}.hero-copy p{max-width:650px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-actions .cta,.hero-actions .more{margin:0}
.hero-photo{position:relative;min-width:0;border:1px solid #294657;background:#0d1820;overflow:hidden}
.hero-photo>img{width:100%;height:auto;aspect-ratio:738/310;object-fit:cover}
.hero-panel{position:absolute;right:18px;bottom:18px;width:min(330px,calc(100% - 36px));background:rgba(7,16,22,.9);border:1px solid #315269;backdrop-filter:blur(7px)}
.hero-panel div{padding:11px 15px;border-bottom:1px solid rgba(255,255,255,.08)}.hero-panel div:last-child{border-bottom:0}
.hero-panel b,.hero-panel span{display:block}.hero-panel b{font-size:11px;letter-spacing:.13em}.hero-panel span{font-size:12px;color:#91bfe0;margin-top:2px}
.grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;background:transparent!important}
.service-card{padding:0!important;min-width:0;overflow:hidden;border:1px solid #2a3e4a!important;background:#101a21!important}
.service-photo{width:100%;overflow:hidden;background:#0c151c}.service-photo img{width:100%;height:auto;aspect-ratio:2.48/1;object-fit:cover}
.service-body{position:relative;padding:30px 28px 30px 28px}.service-body h3{margin:0 0 14px 64px!important;min-height:46px}.service-body p{margin:0!important}
.service-icon{position:absolute;left:26px;top:25px;width:46px;height:46px;padding:7px;border:1px solid #37617c;background:#0d1820}
.solution-visual{width:58px;height:58px;border:1px solid #315269;background:#0d1820;display:grid;place-items:center;margin-bottom:28px}
.solution-visual img{width:38px;height:38px}
.v8-future{display:block!important;padding:0!important;background:#0c171f!important}
.future-inner{width:min(1400px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center}
.future-photo{min-width:0;background:#0a1218}.future-photo img{width:100%;height:auto;aspect-ratio:760/185;object-fit:cover}
.future-copy{padding:50px clamp(30px,5vw,72px)}
@media(max-width:1050px){
 .hero-inner{grid-template-columns:1fr;padding-top:46px}.hero-copy{max-width:820px}.hero-photo{width:100%}
 .future-inner{grid-template-columns:1fr}.future-photo img{aspect-ratio:3/1}
}
@media(max-width:760px){
 .hero-inner{padding-left:20px;padding-right:20px;gap:32px}.hero-copy h1{font-size:clamp(40px,12vw,58px)}
 .hero-panel{position:static;width:100%;border-left:0;border-right:0;border-bottom:0}
 .grid{grid-template-columns:1fr!important}.service-photo img{aspect-ratio:2.15/1}
 .service-body{padding:25px 22px}.service-icon{left:20px;top:21px}.service-body h3{margin-left:60px!important}
 .solutions,.dark,.process,.about,.contact{padding-left:20px!important;padding-right:20px!important}
 .future-copy{padding:38px 20px}.future-photo img{aspect-ratio:2.25/1}
}

/* V9 – Bilder für die beiden zusätzlichen Einsatzlösungen */
.solution-card{overflow:hidden!important;padding-top:0!important}
.solution-photo{width:calc(100% + 64px);margin-left:-32px;margin-right:-32px;margin-bottom:26px;overflow:hidden;background:#0c151c;border-bottom:1px solid #2a4353}
.solution-photo img{width:100%;height:auto;aspect-ratio:6.35/1;object-fit:cover;display:block}
@media(max-width:760px){
 .solution-photo{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}
 .solution-photo img{aspect-ratio:3.2/1}
}


/* =========================================================
   V10 – robuste Bilddarstellung
   Ziel: kein Abschneiden, kein künstliches Strecken.
   Texte und Bilddateien aus V9 bleiben unverändert.
   ========================================================= */

/* HERO:
   Text und Bild nicht mehr nebeneinander erzwingen.
   Dadurch kann der linke Text auf kleineren Notebook-Displays
   nicht mehr aus dem sichtbaren Bereich gedrückt werden. */
.v8-hero .hero-inner{
  width:min(1240px,100%) !important;
  grid-template-columns:1fr !important;
  gap:34px !important;
  padding:54px clamp(24px,5vw,64px) 64px !important;
}
.v8-hero .hero-copy{
  width:100% !important;
  max-width:920px !important;
  min-width:0 !important;
}
.v8-hero .hero-copy h1{
  max-width:100% !important;
  font-size:clamp(42px,5.4vw,70px) !important;
  overflow:visible !important;
}
.v8-hero .hero-photo{
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
}
.v8-hero .hero-photo>img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}

/* VIER KERNLEISTUNGEN:
   Originalformat der Bilder beibehalten. Kein object-fit/cropping. */
.service-photo{
  width:100% !important;
  height:auto !important;
  overflow:visible !important;
  background:#0c151c !important;
}
.service-photo img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* WEITERE EINSATZLÖSUNGEN:
   Die Bilder nicht mehr als extrem flachen Streifen darstellen.
   Sie bekommen ihre natürliche Höhe und bleiben vollständig sichtbar. */
.solution-grid article{
  padding:0 !important;
  overflow:hidden !important;
}
.solution-photo{
  width:100% !important;
  margin:0 !important;
  overflow:visible !important;
  background:#0c151c !important;
  border-bottom:1px solid #2a4353 !important;
}
.solution-photo img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
}
.solution-visual{
  margin:28px 32px 24px !important;
}
.solution-grid article h3,
.solution-grid article p,
.solution-grid article ul,
.solution-grid article>span{
  margin-left:32px !important;
  margin-right:32px !important;
}
.solution-grid article h3{
  margin-top:0 !important;
}
.solution-grid article>span{
  margin-bottom:32px !important;
}

/* DOCK:
   bewusst in der bereits funktionierenden V8/V9-Darstellung belassen. */

@media(max-width:760px){
  .v8-hero .hero-inner{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .v8-hero .hero-copy h1{
    font-size:clamp(38px,11vw,54px) !important;
  }
  .solution-visual{
    margin-left:22px !important;
    margin-right:22px !important;
  }
  .solution-grid article h3,
  .solution-grid article p,
  .solution-grid article ul,
  .solution-grid article>span{
    margin-left:22px !important;
    margin-right:22px !important;
  }
}

/* V11 – echte, vollständige Bildflächen statt schmaler Quell-Crops */
.v8-hero .hero-inner{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;gap:42px!important}
.v8-hero .hero-copy{position:relative;z-index:2}
.v8-hero .hero-photo{min-width:0!important;overflow:hidden!important}
.v8-hero .hero-photo>img{width:100%!important;aspect-ratio:670/305!important;height:auto!important;object-fit:cover!important;object-position:center!important}
.service-photo{overflow:hidden!important}
.service-photo img{width:100%!important;aspect-ratio:480/135!important;height:auto!important;object-fit:cover!important;object-position:center!important}
.solution-photo{overflow:hidden!important}
.solution-photo img{width:100%!important;aspect-ratio:480/115!important;height:auto!important;object-fit:cover!important;object-position:center!important}
.v8-future .future-photo{overflow:hidden!important}
.v8-future .future-photo img{width:100%!important;aspect-ratio:865/146!important;height:auto!important;object-fit:cover!important;object-position:center!important}
@media(max-width:1050px){.v8-hero .hero-inner{grid-template-columns:1fr!important}.v8-hero .hero-photo{width:100%!important}.v8-hero .hero-copy h1{font-size:clamp(44px,7vw,70px)!important}}
@media(max-width:800px){.service-photo img{aspect-ratio:16/6!important}.solution-photo img{aspect-ratio:16/5!important}.v8-future .future-photo img{aspect-ratio:16/5!important}}


/* V12 – Bildflächen exakt auf die vorbereiteten Motive abgestimmt.
   Keine nachträgliche Ausschnittverschiebung bei den drei neuen Motiven. */
.service-card:nth-child(4) .service-photo img,
.solution-photo img{aspect-ratio:32/9!important;object-fit:contain!important;background:#0c151c!important;}

/* V13 – KORREKTUR DER BILDDARSTELLUNG
   Ursache in V11/V12: spaetere aspect-ratio Regeln haben die Kartenbilder
   erneut zu flachen Streifen gezwungen. Ab hier erhalten ALLE sechs
   Kartenbilder dieselbe grosszuegige Querformat-Praesentation wie gewuenscht. */
.service-photo,
.solution-photo{
  width:100% !important;
  height:auto !important;
  overflow:hidden !important;
  background:#0c151c !important;
}
.service-photo img,
.service-card:nth-child(4) .service-photo img,
.solution-photo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 7 !important;
  object-fit:cover !important;
  object-position:center !important;
  background:#0c151c !important;
}
/* Projektkarten: Bild oben, Inhalt darunter – identisch klare Hierarchie. */
.solution-grid article{
  padding:0 !important;
  overflow:hidden !important;
}
.solution-photo{
  margin:0 !important;
  border-bottom:1px solid #2a4353 !important;
}
/* Dock-Bereich bleibt absichtlich unveraendert. */
@media(max-width:800px){
  .service-photo img,
  .service-card:nth-child(4) .service-photo img,
  .solution-photo img{
    aspect-ratio:16 / 8 !important;
  }
}

/* V14 – Hero-Fix: kompakter erster Bildschirm, Text wieder sichtbar.
   Alle Service-, Projekt- und Dock-Bereiche bleiben unverändert. */
.v8-hero .hero-inner{
  width:min(1400px,100%) !important;
  grid-template-columns:minmax(360px,.92fr) minmax(520px,1.08fr) !important;
  gap:42px !important;
  padding:42px clamp(24px,5vw,64px) 48px !important;
  align-items:center !important;
}
.v8-hero .hero-copy{
  display:block !important;
  max-width:650px !important;
}
.v8-hero .hero-copy h1{
  font-size:clamp(42px,4.7vw,68px) !important;
  margin:14px 0 20px !important;
}
.v8-hero .hero-copy p{
  font-size:18px !important;
  line-height:1.55 !important;
}
.v8-hero .hero-photo{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.v8-hero .hero-photo>img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:1050px){
  .v8-hero .hero-inner{grid-template-columns:1fr !important;padding-top:38px !important}
  .v8-hero .hero-copy{max-width:820px !important}
  .v8-hero .hero-photo{max-width:900px !important;margin:0 auto !important}
}

/* V15 – finaler Hero-Aufbau: Text und Bild bilden EINEN kompakten Bühnenbereich.
   Servicekarten, Projektkarten und Dock-Bereich bleiben unverändert. */
.v8-hero{padding:0!important;min-height:0!important}
.v8-hero .hero-inner{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px)!important;
  grid-template-rows:auto!important;
  gap:28px!important;
  width:min(1440px,100%)!important;
  min-height:560px!important;
  margin:0 auto!important;
  padding:72px clamp(28px,5vw,72px) 58px!important;
  align-items:center!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.v8-hero .hero-inner:before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:url('assets/hero-v11.jpg') center 44%/cover no-repeat;
}
.v8-hero .hero-inner:after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(4,10,15,.94) 0%,rgba(4,10,15,.79) 32%,rgba(4,10,15,.20) 62%,rgba(4,10,15,.10) 100%),linear-gradient(0deg,rgba(4,10,15,.55),transparent 45%);
}
.v8-hero .hero-copy{
  grid-column:1!important;display:block!important;max-width:650px!important;
  position:relative!important;z-index:3!important;padding:0!important;
  text-shadow:0 2px 18px rgba(0,0,0,.65)!important;
}
.v8-hero .hero-copy small{color:#86cfff!important}
.v8-hero .hero-copy h1{font-size:clamp(46px,5vw,76px)!important;line-height:.98!important;margin:14px 0 22px!important}
.v8-hero .hero-copy p{max-width:610px!important;font-size:18px!important;line-height:1.5!important;color:#e0e9ef!important}
.v8-hero .hero-photo{
  grid-column:2!important;position:relative!important;z-index:3!important;
  width:100%!important;max-width:360px!important;margin:0!important;
  background:transparent!important;border:0!important;overflow:visible!important;
}
.v8-hero .hero-photo>img{display:none!important}
.v8-hero .hero-panel{
  position:static!important;width:100%!important;background:rgba(7,16,22,.88)!important;
  border:1px solid #315269!important;backdrop-filter:blur(8px)!important;
  box-shadow:0 16px 50px rgba(0,0,0,.28)!important;
}
@media(max-width:900px){
 .v8-hero .hero-inner{grid-template-columns:1fr!important;min-height:0!important;padding:48px 24px 36px!important;gap:28px!important}
 .v8-hero .hero-inner:before{background-position:60% center!important}
 .v8-hero .hero-inner:after{background:linear-gradient(90deg,rgba(4,10,15,.94),rgba(4,10,15,.58)),linear-gradient(0deg,rgba(4,10,15,.72),transparent)!important}
 .v8-hero .hero-copy,.v8-hero .hero-photo{grid-column:1!important}
 .v8-hero .hero-photo{max-width:520px!important}
 .v8-hero .hero-copy h1{font-size:clamp(42px,10vw,64px)!important}
}

/* V17 – reale Kontaktdaten */
.contact-details-v17{
  margin:0 0 26px;
  padding:20px 22px;
  border-left:3px solid #2f7fb5;
  background:rgba(255,255,255,.025);
  color:#b9c5cc;
  line-height:1.65;
}
.contact-details-v17 p{margin:0 0 10px}
.contact-details-v17 p:last-child{margin-bottom:0}
.contact-details-v17 a{color:#74b8e6;text-decoration:none}
.contact-details-v17 a:hover{text-decoration:underline}

/* V18 – nur Funktionsergaenzung Kontaktformular, bestehendes Design unveraendert */
.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form .privacy-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#aeb9c2}
.form .privacy-consent input{width:auto;margin:3px 0 0;flex:none}
.form .privacy-consent a{text-decoration:underline;color:#74b8e6}

/* V20 Pre-Launch Ergänzungen */
.prelaunch-note{border-left:3px solid #67a9d7;padding:12px 18px;background:rgba(9,20,30,.78);font-size:16px!important;color:#fff!important;margin-top:20px}
.prelaunch-contact{padding:28px;border:1px solid #315269;background:#111b22;align-self:start}.prelaunch-contact h3{font-size:24px}.prelaunch-contact a:not(.cta){color:#86cfff;text-decoration:underline}
