*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#182b3a;background:#f6f8fa}a{color:inherit;text-decoration:none}.wrap{width:min(1450px,94%);margin:auto}.header{background:#fff;position:relative;z-index:3;box-shadow:0 2px 15px #192e3b16}.header-in{display:flex;align-items:center;gap:22px;min-height:86px}.brand{align-self:stretch;display:flex;align-items:center;flex:0 0 345px;position:relative}.brand img{position:absolute;left:0;top:5px;width:345px;height:126px;object-fit:contain;z-index:5;filter:drop-shadow(0 2px 4px #ffffffcc)}.nav{display:flex;gap:22px;align-items:center;justify-content:center;flex:1}.nav a{font-size:13px;white-space:nowrap;padding:9px 0}.nav a:hover,.nav a.active{color:#a91010}.nav a.active{border-bottom:3px solid #a91010}.btn{background:#a91010;color:#fff;border:1px solid #a91010;display:inline-flex;justify-content:center;align-items:center;padding:13px 22px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer}.btn:hover{background:#8c0e0e}.nav-contact{white-space:nowrap}.menu{display:none}.hero{height:395px;position:relative;background:#e7edf1;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,#f5f7f9 0%,#f5f7f9f5 26%,#f5f7f9a6 42%,transparent 66%),url('hero-neu.jpg');background-size:cover;background-position:center}.hero-in{position:relative;height:100%;display:flex;align-items:center}.hero-copy{max-width:660px;padding-top:20px}.overline{font-size:12px;letter-spacing:2.1px;font-weight:700;color:#a91010;margin:0 0 10px}.hero h1{font-size:clamp(30px,3vw,47px);line-height:1.11;letter-spacing:-1.4px;margin:0 0 15px}.hero p:not(.overline){font-size:16px;line-height:1.45;max-width:570px}.hero-actions{display:flex;gap:12px;margin-top:20px}.ghost{background:transparent;color:#a91010}.ghost:hover{color:#fff}.services-area{padding:30px 0 40px;background:#f5f8fb}.services-area h2{font-size:32px;margin:0 0 3px}.subline{margin:0 0 21px;color:#506174}.services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.service{appearance:none;border:1px solid #e1e7ec;background:white;padding:0;text-align:left;border-radius:6px;overflow:hidden;box-shadow:0 5px 15px #14283a0d;cursor:pointer;transition:transform .18s,box-shadow .18s}.service:hover,.service:focus-visible{transform:translateY(-5px);box-shadow:0 14px 25px #14283a25}.service>img{width:100%;height:130px;object-fit:cover;display:block}.card-body{display:flex;gap:12px;padding:16px 13px;min-height:151px}.service-icon{color:#a91010;font-size:32px;line-height:1}.service h3{font-size:14px;margin:0 0 9px;color:#152738}.service p{font-size:12px;line-height:1.5;color:#526174;margin:0}.details{font-size:11px;color:#a91010;display:inline-block;margin-top:10px}.planning{display:grid;grid-template-columns:36% 64%;background:#fff;min-height:255px}.planning-photo{background:url('planung-foto.jpg') center/cover no-repeat}.planning-copy{padding:30px 6vw 27px 4vw;align-self:center}.planning-copy h2{font-size:27px;margin:0 0 10px}.planning-copy>p:not(.overline){line-height:1.5;color:#526174;margin:0 0 15px}.checkline{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:17px;font-size:13px}.checkline span{white-space:nowrap}.checkline span::first-letter{color:#a91010}.bottom-band{display:grid;grid-template-columns:60% 40%;min-height:290px}.about{background:linear-gradient(90deg,#142736f0 0%,#142736d6 49%,#14273633 100%),url('ueber-uns-foto.jpg') center/cover;color:#fff;display:flex;align-items:center}.about-overlay{max-width:520px;padding:38px 7vw}.about h2,.career h2{font-size:27px;line-height:1.18;margin:0 0 14px}.about p:not(.overline),.career p:not(.overline){line-height:1.55;font-size:14px}.about .overline{color:#ffb4b4}.light-outline{background:transparent;border-color:#fff}.career{background:#edf2f5;padding:38px 5vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.career .btn{margin-top:10px}.contact{background:#fff;padding:40px 0}.contact-in{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact h2{margin:0 0 5px}.contact p:not(.overline){color:#526174}.footer{background:#182b3a;color:#fff;padding:25px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:20px}.foot img{width:180px;filter:brightness(0) invert(1)}.foot>div{display:flex;gap:17px;flex-wrap:wrap}.foot a,.foot small{font-size:12px}.modal{border:0;border-radius:12px;padding:0;max-width:660px;width:90%;box-shadow:0 25px 80px #0006}.modal::backdrop{background:#142434b9}.modal-inner{padding:35px}.modal-close{float:right;background:transparent;border:0;color:#a91010;font-weight:700;cursor:pointer}.modal-inner h2{font-size:30px}.modal-inner li{margin-bottom:9px}.modal-inner .muted{color:#536273}.modal-inner .btn{margin-top:10px}@media(max-width:1100px){.brand{flex-basis:240px}.brand img{width:240px;height:105px}.nav{gap:11px}.nav a{font-size:12px}.nav-contact{display:none}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.header-in{min-height:75px;justify-content:space-between}.brand{flex-basis:230px}.brand img{top:0;width:225px;height:85px}.menu{display:block;border:0;background:#fff;font-size:26px;color:#a91010;cursor:pointer}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:16px 6%;box-shadow:0 12px 15px #0002;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{height:auto;min-height:460px}.hero-image{background-image:linear-gradient(90deg,#f5f7f9f5,#f5f7f9bc),url('hero-neu.jpg');background-position:60% center}.hero-copy{padding:70px 0 30px}.hero h1{font-size:34px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning{grid-template-columns:1fr}.planning-photo{min-height:190px}.planning-copy{padding:28px 5%}.bottom-band{grid-template-columns:1fr}.about-overlay,.career{padding:32px 5%}.contact-in,.foot{flex-direction:column;align-items:flex-start}}@media(max-width:430px){.services-grid{grid-template-columns:1fr}.service>img{height:170px}.card-body{min-height:unset}.hero-actions{flex-wrap:wrap}.hero h1{font-size:29px}}
/* V12 – Bild-2-inspirierte Betriebsplanung, ohne Fremdlogos */
.planning-v12{display:grid;grid-template-columns:49% 51%;min-height:370px;background:linear-gradient(105deg,#e9f0f5,#f8fafc);border-top:1px solid #d9e2e9;border-bottom:1px solid #d9e2e9}.planning-v12 .planning-visual{min-width:0;position:relative;padding:37px 20px 30px max(28px,calc((100vw - 1360px)/2));background:linear-gradient(120deg,#182c3b,#30485a);color:white;overflow:hidden}.visual-kicker{font-size:10px;letter-spacing:1.8px;color:#c4d8e5;margin-bottom:17px}.screens{position:relative;height:238px;display:flex;align-items:center}.screen{background:#f9fcff;border:8px solid #121c26;border-radius:10px;box-shadow:0 16px 30px #0007;overflow:hidden}.screen-main{width:68%;height:215px;transform:perspective(800px) rotateY(5deg);z-index:2}.screen-side{width:45%;height:185px;margin-left:-30px;transform:perspective(800px) rotateY(-10deg);z-index:1}.screen-top{height:29px;background:#e8eff4;border-bottom:1px solid #cbd7e0;color:#34485a;font-size:10px;padding:8px 10px;display:flex;justify-content:space-between}.schedule{padding:8px 9px;background:repeating-linear-gradient(90deg,#fff 0,#fff 35px,#e8edf1 36px)}.schedule-row{height:29px;position:relative;border-bottom:1px solid #d9e2e8}.schedule-row i{position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:2px;background:#8c9eac}.schedule-row b{position:absolute;left:var(--start);width:var(--length);top:8px;height:13px;background:var(--c);border-radius:3px;opacity:.88}.screen-side svg{width:100%;height:calc(100% - 29px);background:white}.visual-caption{font-size:10px;color:#bfd0dc;margin-top:10px}.planning-v12 .planning-copy{padding:34px 5vw 34px 4vw}.planning-v12 .planning-copy h2{font-size:clamp(23px,2.3vw,32px);line-height:1.14}.planning-features{display:flex;flex-wrap:wrap;gap:10px 19px;font-size:12px;margin:18px 0;color:#283c4d}.planning-features span::first-letter{color:#a91010}.software-competence{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:20px 0 23px;border-top:1px solid #d7e0e6;border-bottom:1px solid #d7e0e6}.software-competence>div{padding:13px 9px 13px 0}.software-competence>div+div{padding-left:16px;border-left:1px solid #d7e0e6}.software-competence strong{display:block;font-size:21px;color:#233d53}.software-competence small{display:block;font-size:11px;color:#556b7c;margin-top:5px;line-height:1.4}@media(max-width:850px){.planning-v12{grid-template-columns:1fr}.planning-v12 .planning-visual{padding:28px 6%}.planning-v12 .planning-copy{padding:30px 6%}.screens{max-width:600px}}@media(max-width:440px){.screen-main{width:75%}.screen-side{width:40%}.software-competence strong{font-size:17px}.software-competence small{font-size:10px}}

/* Version 13: neue Bürofotografie in der Betriebsplanung */
.planning-v12 .planning-visual.planning-photo{padding:0;background:#e9eef2;min-height:390px;position:relative;overflow:hidden}
.planning-photo img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover;object-position:48% center}
.planning-image-note{position:absolute;bottom:12px;left:14px;background:rgba(13,28,40,.76);color:#fff;font-size:11px;padding:7px 10px;border-radius:4px;letter-spacing:.1px}
@media(max-width:850px){.planning-v12 .planning-visual.planning-photo{min-height:270px;padding:0}.planning-photo img{min-height:270px;max-height:460px;object-fit:cover}}

/* V14: Betriebsplanung als nachrangige, linksbündig ausgerichtete Ergänzung */
.planning-v14{display:grid;grid-template-columns:50% 50%;min-height:305px;background:#fff;border-top:1px solid #e3e8ed;border-bottom:1px solid #e3e8ed}
.planning-v14 .planning-copy{grid-column:1;grid-row:1;padding:35px 5% 35px max(3%,calc((100vw - 1450px)/2));align-self:center}
.planning-v14 .planning-copy h2{font-size:clamp(22px,2vw,28px);line-height:1.2;max-width:550px}
.planning-v14 .planning-copy>p:not(.overline){max-width:550px;font-size:14px;line-height:1.55}
.planning-v14 .planning-copy .overline{font-size:11px;letter-spacing:1.6px;color:#9b2929}
.planning-v14 .planning-features{margin:14px 0 12px;gap:8px 18px}
.planning-v14 .software-intro{font-size:12px!important;color:#61717e!important;margin-bottom:15px!important}
.planning-v14 .planning-link{font-size:13px;font-weight:700;color:#a91010;text-decoration:underline;text-underline-offset:4px}
.planning-v14 .planning-link:hover{color:#7c0c0c}
.planning-v14 .planning-visual.planning-photo{grid-column:2;grid-row:1;min-height:305px;max-height:350px;padding:0;background:#e9eef2}
.planning-v14 .planning-photo img{min-height:305px;height:100%;object-position:center}
@media(max-width:850px){.planning-v14{grid-template-columns:1fr}.planning-v14 .planning-copy{grid-column:1;grid-row:1;padding:30px 6%}.planning-v14 .planning-visual.planning-photo{grid-column:1;grid-row:2;min-height:240px;max-height:350px}.planning-v14 .planning-photo img{min-height:240px}}

/* V15: Bild vollständig innerhalb der unveränderten Betriebsplanungsfläche zeigen */
.planning-v14 .planning-visual.planning-photo{background:#e9eef2;}
.planning-v14 .planning-photo img{width:100%;height:100%;object-fit:contain;object-position:center center;}

/* V16: Betriebsplanung als ruhige Karte auf dem grauen Seitenhintergrund. */
.planning-v14 {
  width:min(1450px,94%); margin:24px auto 38px;
  background:#f5f8fb; border:1px solid #e1e7ec;
  border-radius:8px; overflow:hidden; box-shadow:0 5px 15px #14283a0d;
  min-height:305px;
}
.planning-v14 .planning-copy { padding:28px 30px; }
.planning-v14 .planning-visual.planning-photo {
  background:#e9eef2; min-height:305px; max-height:350px;
}
.planning-v14 .planning-image-note {
  left:auto; right:12px; bottom:12px;
  background:rgba(13,28,40,.76); color:#fff;
  font-size:10px; padding:6px 9px; max-width:calc(100% - 24px);
}
@media(max-width:850px) {
 .planning-v14 { margin:18px auto 30px; }
 .planning-v14 .planning-copy { padding:26px 22px; }
 .planning-v14 .planning-visual.planning-photo { min-height:240px; max-height:350px; }
}

/* V17: Betriebsplanung wie Leistungsbereich frei auf Seitenhintergrund, ohne Kachel. */
.planning-v14 {
  width:min(1450px,94%); margin:0 auto;
  background:transparent; border:0; border-radius:0; box-shadow:none;
  overflow:visible; padding:26px 0 42px;
}
.planning-v14 .planning-copy { padding:0 30px 0 0; }
.planning-v14 .planning-visual.planning-photo {
  border:0; border-radius:6px; overflow:hidden;
}
@media(max-width:850px) {
  .planning-v14 { margin:0 auto; padding:24px 0 34px; }
  .planning-v14 .planning-copy { padding:0 0 22px; }
}

/* V18: Nicht verlinktes Planungsfoto frei auf dem Seitenhintergrund. */
.planning-v14 .planning-visual.planning-photo {
  background:transparent; border:0; border-radius:0; box-shadow:none;
  overflow:visible; padding:0; cursor:default;
}
.planning-v14 .planning-visual.planning-photo img {
  display:block; width:100%; height:100%; object-fit:contain;
  border:0; border-radius:0; box-shadow:none;
}
.planning-v14 .planning-image-note { border-radius:3px; }

/* V19: Betriebsplanung CTA wie übrige Buttons */
.planning-v14 .planning-link.btn {display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#a91010;border:1px solid #a91010;text-decoration:none;padding:13px 22px;border-radius:4px;font-size:13px;font-weight:700;}
.planning-v14 .planning-link.btn:hover {background:#8c0e0e;color:#fff;}
/* V19: Karriere frei auf dem Seitenhintergrund, gleiche Ausrichtung wie Betriebsplanung */
.bottom-band {display:block;min-height:0;}
.bottom-band .about {min-height:290px;}
.career-band {width:min(1450px,94%);margin:0 auto;padding:34px 0 48px;display:grid;grid-template-columns:50% 50%;align-items:center;gap:0;background:transparent;}
.career-copy {padding:0 30px 0 0;max-width:640px;}
.career-copy h2 {font-size:clamp(22px,2vw,28px);line-height:1.2;margin:0 0 14px;}
.career-copy p:not(.overline) {font-size:14px;line-height:1.55;color:#526174;margin:0 0 20px;}
.career-image {min-width:0;background:transparent;}
.career-image img {display:block;width:100%;height:315px;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none;}
@media(max-width:850px){.career-band{grid-template-columns:1fr;padding:24px 0 36px}.career-copy{padding:0 0 22px}.career-image img{height:auto;max-height:350px;object-fit:contain}}

/* V20: Social-Buttons unter Karriere-CTA; noch ohne Ziel-URLs. */
.career-social-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px;}
.career-social-pending.btn{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:12px 19px;background:#a91010;border:1px solid #a91010;border-radius:4px;color:white;font-size:13px;font-weight:700;line-height:1.3;opacity:.78;cursor:default;pointer-events:none;text-decoration:none;}

/* V21: Über uns analog zu Betriebsplanung und Karriere, frei auf Seitenhintergrund. */
.bottom-band{width:min(1450px,94%);margin:0 auto;padding:34px 0 48px;display:grid;grid-template-columns:50% 50%;align-items:center;gap:0;min-height:0;background:transparent;}
.bottom-band .about-copy{padding:0 30px 0 0;max-width:640px;color:#172d40;}
.bottom-band .about-copy .overline{color:#a91010;font-size:11px;letter-spacing:1.6px;}
.bottom-band .about-copy h2{font-size:clamp(22px,2vw,28px);line-height:1.2;margin:0 0 14px;}
.bottom-band .about-copy p:not(.overline){font-size:14px;line-height:1.55;color:#526174;margin:0 0 20px;}
.bottom-band .about-image{min-width:0;background:transparent;}
.bottom-band .about-image img{display:block;width:100%;height:315px;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none;}
@media(max-width:850px){.bottom-band{grid-template-columns:1fr;padding:24px 0 36px}.bottom-band .about-copy{padding:0 0 22px}.bottom-band .about-image img{height:auto;max-height:350px;object-fit:contain}}

/* V22: Neues Über-uns-Bild, echtes Logo als separates Web-Element. */
.about-v22 .about-copy p:not(.overline){margin-bottom:13px;}
.about-v22 .about-photo-v22{position:relative;min-height:340px;overflow:hidden;background:#dbe4ea;}
.about-v22 .about-photo-v22 .about-photo{height:340px;object-fit:cover;object-position:center 35%;}
.about-v22 .about-logo-panel{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.94);padding:9px 12px;border-radius:3px;box-shadow:0 2px 12px rgba(0,0,0,.08);width:175px;max-width:42%;}
.about-v22 .about-logo-panel img{display:block;width:100%;height:auto;max-height:65px;object-fit:contain;}
.about-v22 .about-image-note{position:absolute;bottom:10px;right:10px;background:rgba(13,28,40,.76);color:#fff;font-size:10px;padding:6px 9px;border-radius:3px;}
.about-modal .modal-inner{max-width:720px;}
@media(max-width:850px){.about-v22 .about-photo-v22{min-height:280px}.about-v22 .about-photo-v22 .about-photo{height:300px;object-fit:cover}}

/* V23: Über-uns-Foto ohne aufgesetztes Logo; Firmenlogo bleibt im Seitenkopf. */
.about-v22 .about-logo-panel{display:none!important;}

/* V24: technisch passende Piktogramme in den Leistungskacheln */
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0}
.service-icon .technical-icon{display:block;width:34px;height:34px;color:#a91010}

/* V28 – Kontaktformular auf der Startseite */
.contact-v28{padding:62px 0;background:#e9eef2;}
.contact-v28-grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,90px);align-items:start;}
.contact-v28-intro{padding-top:20px;}
.contact-v28-intro h2{margin:0 0 18px;color:#172d40;font-size:clamp(26px,2.7vw,38px);}
.contact-v28-intro p:not(.overline){color:#526174;line-height:1.65;max-width:440px;}
.contact-v28-email{display:inline-block;margin-top:7px;color:#a91010;font-weight:700;overflow-wrap:anywhere;}
.contact-v28-panel{background:#fff;padding:clamp(22px,3vw,38px);border:1px solid #dce3e9;border-radius:5px;}
.contact-v28-panel h3{font-size:23px;color:#172d40;margin:0 0 23px;}
.contact-v28-form{display:grid;gap:16px;}
.contact-v28-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;}
.contact-v28-form label{display:flex;flex-direction:column;gap:7px;color:#233a4d;font-size:13px;font-weight:650;}
.contact-v28-form input:not([type=checkbox]),.contact-v28-form textarea{box-sizing:border-box;width:100%;font:inherit;font-size:14px;font-weight:400;color:#172d40;background:#fff;border:1px solid #c9d3db;border-radius:3px;padding:12px 13px;min-height:44px;}
.contact-v28-form textarea{resize:vertical;min-height:135px;}
.contact-v28-form input:focus-visible,.contact-v28-form textarea:focus-visible{outline:2px solid #a91010;outline-offset:1px;}
.contact-v28-optional{font-weight:400;color:#637487;}
.contact-v28-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:400!important;line-height:1.5;}
.contact-v28-consent input{margin:3px 0 0;accent-color:#a91010;flex-shrink:0;}
.contact-v28-consent a{color:#a91010;text-decoration:underline;}
.contact-v28-submit{justify-self:start;cursor:pointer;font:inherit;font-weight:700;}
.contact-v28-note{margin:0;font-size:11px;color:#6b7a87;line-height:1.5;}
.contact-v28-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.contact-v28-feedback{padding:12px 14px;border-radius:3px;font-size:13px;line-height:1.5;margin:0;}
.contact-v28-feedback.is-success{background:#eaf6ef;color:#185b38;}
.contact-v28-feedback.is-error{background:#fff0ef;color:#9b2020;}
@media(max-width:850px){.contact-v28-grid{grid-template-columns:1fr}.contact-v28-intro{padding-top:0}.contact-v28{padding:42px 0}}
@media(max-width:540px){.contact-v28-row{grid-template-columns:1fr}.contact-v28-panel{padding:20px}}

/* Einheitliche rote Anfrage-Kacheln in den Leistungsdetails */
.modal .service-request-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;padding:12px 19px;background:#a91010;border:1px solid #a91010;border-radius:4px;color:#fff;text-decoration:none;font-size:13px;font-weight:700;line-height:1.3;opacity:1;cursor:pointer;pointer-events:auto;}
.modal .service-request-btn:hover,.modal .service-request-btn:focus-visible{background:#8c0e0e;color:#fff;}

.services-grid a.service{text-decoration:none;color:inherit;display:block;cursor:pointer}
