
/* Scoped reconstruction of the supplied PDF. Other sections are untouched. */
.header{background:#122733!important;color:#fff!important;border:0!important}
.header-top,.header-main{background:#122733!important}
.header-top{border-bottom:none!important}
.header-top-container,.header-main-container{width:min(var(--container),calc(100% - (var(--side)*2)))!important;margin-inline:auto!important}
.header-top-container{height:98px!important;min-height:98px!important}
.header-main-container{height:72px!important;min-height:72px!important}
.reference-brand{font-size:34px;font-weight:600;letter-spacing:-1px;line-height:1;color:#fff}
.reference-brand>span{color:#ec1b3b}
.header-contact{font-size:14px!important;font-weight:400!important;color:#fff!important;gap:20px!important}
.header-contact-link svg{width:16px!important;height:16px!important}
.header-contact-sep{color:#fff!important;font-size:16px!important}
.header .navlinks{gap:26px!important}
.header .navlinks a{font-size:16px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:#fff!important;padding:8px 0!important}
.header .navlinks a::after{display:none!important}
.header .navlinks a:hover{color:#ec1b3b!important}
.header-job-btn{color:#fff!important;border:0!important;padding:0!important;font-weight:400!important;background:none!important}
.nav-toggle span{background:#fff!important}
.hero.reference-hero{display:block!important;min-height:0!important;height:auto!important;padding:0!important;background-color:#122733!important;color:#fff!important;overflow:hidden!important}
.hero.reference-hero::before{display:block!important;background-image:linear-gradient(90deg,rgba(8,24,42,.52) 0%,rgba(8,24,42,.34) 38%,rgba(8,24,42,.14) 68%,rgba(8,24,42,.03) 100%),url("/images/nord-secured-Security.webp")!important;background-size:cover!important;background-position:center 20%!important;background-repeat:no-repeat!important}
.reference-hero-inner{width:min(var(--container),calc(100% - (var(--side)*2)))!important;margin-inline:auto!important;padding:106px 0 108px}
.reference-kicker{font-size:24px;line-height:34px;font-weight:400;margin:0;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
.reference-heading-row{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:40px;margin-top:98px}
.reference-heading-row h1{font-size:clamp(52px,6.67vw,96px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
.reference-service-circle{position:relative;display:flex;align-items:center;justify-content:center;width:230px;height:230px;border-radius:50%;background:#122733;color:#fff;font-size:20px;text-align:center;justify-self:end}
.reference-service-circle>span{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:64px;height:64px;background:#122733;border-radius:50%;font-size:26px}
.reference-bottom-row{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-top:180px}
.reference-video-column{max-width:420px}
.reference-video-tile{display:flex;width:300px;height:92px;border:0;border-radius:0;padding:0;cursor:pointer;background:#122733;color:#fff}
.reference-video-tile>span:first-child{display:grid;place-items:center;width:86px;flex-shrink:0;height:92px;background:#ec1b3b;font-size:20px}
.reference-video-preview{flex:1;background:#122733}
.reference-video-column>p{font-size:24px;line-height:34px;margin:32px 0 0;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
.reference-cta-column{display:flex;flex-direction:column;align-items:flex-end;max-width:400px;text-align:right;margin-top:-17px}
.reference-cta-column .hero-google-wrap{width:100%;display:flex;justify-content:flex-end}
.reference-marker{display:block;color:#ec1b3b;font-size:20px;line-height:20px;margin-bottom:22px}
.reference-cta-column>p{font-size:24px;line-height:34px;margin:0 0 32px;font-weight:400;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
.reference-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border-radius:16px;background:#ec1b3b;color:#fff;font-size:18px;font-weight:400}
.reference-cta:hover{background:#cf1733}
.reference-service-circle:focus-visible,.reference-cta:focus-visible,.reference-video-tile:focus-visible{outline:3px solid #fff;outline-offset:5px}
.reference-video-dialog{padding:0;border:0;background:#122733;width:min(960px,90vw);max-width:90vw;color:#fff}
.reference-video-dialog::backdrop{background:rgba(0,0,0,.8)}
.reference-video-dialog video{display:block;width:100%;max-height:80vh}
.reference-video-close{display:block;margin-left:auto;border:0;background:#122733;color:#fff;padding:8px 18px;font-size:30px;cursor:pointer}
@media(max-width:1100px){.reference-heading-row{grid-template-columns:minmax(0,1fr) 180px;gap:24px}.reference-service-circle{width:180px;height:180px;font-size:18px}.reference-heading-row h1{font-size:clamp(48px,6vw,72px)}.reference-bottom-row{margin-top:120px}}
@media(max-width:900px){
.header-top-container,.header-main-container{width:calc(100% - (var(--side)*2))!important;padding:0!important}
.header-top-container{height:72px!important;min-height:72px!important}.header-main-container{height:56px!important;min-height:56px!important}
.reference-brand{font-size:27px}.header-contact{font-size:14px!important}.header-actions{justify-content:flex-end!important}
.header .nav.is-open{background:#122733!important;border-color:rgba(255,255,255,.15)!important}
.header .nav.is-open .navlinks a{color:#fff!important;border-color:rgba(255,255,255,.15)!important}
.reference-hero-inner{width:calc(100% - (var(--side)*2))!important;padding:70px 0}.reference-heading-row{margin-top:64px}.reference-bottom-row{margin-top:100px}
.reference-video-tile{width:250px}.reference-kicker,.reference-video-column>p,.reference-cta-column>p{font-size:21px;line-height:30px}.reference-cta{font-size:16px;padding:0 22px}
}
@media(max-width:600px){
.reference-brand{font-size:23px}.header-contact{font-size:14px!important;gap:0!important}
.reference-hero-inner{width:calc(100% - (var(--side)*2))!important;padding:48px 0 54px}
.reference-kicker{font-size:20px;line-height:29px}.reference-heading-row{grid-template-columns:1fr;gap:32px;margin-top:42px}
.reference-heading-row h1{font-size:clamp(36px,9vw,52px);line-height:1.16;overflow-wrap:normal}
.reference-service-circle{width:150px;height:150px;justify-self:end;font-size:16px}.reference-service-circle>span{width:44px;height:44px;font-size:22px}
.reference-bottom-row{flex-direction:column;gap:40px;margin-top:48px}.reference-video-column{width:100%}.reference-video-tile{width:260px;max-width:100%;height:80px}.reference-video-tile>span:first-child{height:80px;width:74px}
.reference-video-column>p{font-size:20px;line-height:29px;margin-top:22px}.reference-cta-column{align-self:stretch;width:100%;margin-top:0;max-width:100%}.reference-cta-column>p{font-size:20px;line-height:29px;margin-bottom:24px}.reference-marker{margin-bottom:16px}.reference-cta-column .hero-google-wrap{justify-content:flex-start}
}

/* ==========================================
   NORD SECURED: FARBVERTEILUNG
   Bestehendes Layout bleibt erhalten.
   ========================================== */

:root {
  --navy: #15221e;
  --navy-light:#1a3545;
  --section-light: #f6f5f2;
}

/* HEADER */

.header,
.header-top,
.header-main {
  background: var(--navy) !important;
  color: #fff !important;
}

.header .navlinks {
  background-color: var(--navy);
}

/* HELLE INFORMATIONSBEREICHE */

.services,
.about,
.testimonials,
.team,
.faq-section {
  background-color: #fff;
}

/* HELLGRAUE SEKTIONEN */

.why,
.location-section {
  background-color: var(--section-light);
}

.location-panel {
  background: var(--navy) !important;
  color: #fff !important;
}

/* ÜBERSCHRIFTEN AUF HELLEN FLÄCHEN */

.about .h2,
.services .h2,
.why .h2,
.testimonials .h2,
.team .h2,
.location-section .h2,
.faq-section .h2 {
  color: var(--navy);
}

/* LEISTUNGSKARTEN
   Vorhandene Bilder und rote Pfeile bleiben erhalten. */

.services .service-card,
.services .service-card::before {
  background: var(--navy);
}

.services .service-card h3 {
  color: #fff;
}

.services .service-card p {
  color: #f6f5f2;
}

/* PARTNERSCHAFTEN */

.partnerWrap {
  background: var(--navy);
  color: #fff;
}

.partnerText .h2 {
  color: #fff;
}

.partnerText .copy {
  color: #f6f5f2;
}

/* BERATUNGSAUFFORDERUNG */

/* Standort und Beratungsbanner auf einer grauen Fläche */

.location-section,
.consultation-shell {
  background: #f6f5f2;
}

.consultation-shell {
  display: flow-root;
  padding: 32px 0 clamp(48px, 6vw, 80px);
}

/* Bestehende Bannerbreite und Innenabstände beibehalten */

.consultation-shell .consultation-cta {
  margin: 0 auto;
  background: #15221e;
}

/* Danach wieder eine klar abgegrenzte helle Sektion */

.faq-section {
  background: #fff;
}

@media (max-width: 600px) {
  .consultation-shell {
    padding-top: 20px;
  }
}

.consultation-cta {
  background: var(--navy);
  color: #fff;
}

.consultation-cta h2,
.consultation-cta p {
  color: #fff;
}

.consultation-cta .button {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}

.consultation-cta .button:hover {
  background: #cf1733;
  border-color: #cf1733;
}

/* KONTAKTBEREICH
   Das weisse Formular bleibt unverändert. */

.contact-form-section {
  background: var(--navy);
  border-top-color: var(--navy-light);
  color: #fff;
}

/* HERO
   Bestehender Hero-Hintergrund bleibt erhalten.
   Nur der Leistungs-Kreis bekommt Dunkelblau. */

.reference-service-circle {
  background: var(--navy);
  color: #fff;
}

.reference-service-circle > span {
  background: var(--navy-light);
}

/* ANGEBOTS-BUTTON
   Übernimmt die vorhandene rote Button-Gestaltung. */

.reference-offer-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 5px;
}

/* VERBLEIBENDER VIDEO-DIALOG */

.reference-video-dialog {
  background: var(--navy);
}

/* SCROLLZIEL UND ABSTÄNDE FÜR HERO-BUTTONS (ANGEBOT & BERATUNG) */

#services,
#kontaktformular,
#about,
#faq {
  scroll-margin-top: 0px !important;
}

/* REDUZIERTE BEWEGUNG BERÜCKSICHTIGEN */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Der bestehende rote Footer bleibt unverändert. */

/* Responsive Konsolidierung und Button-System A. */
:root{--ns-primary:#ec1b3b;--ns-navy:#122733;--ns-radius:6px}
*,*::before,*::after{box-sizing:border-box}
.aboutGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.aboutGrid>*,.testimonialGrid>*,.partnerWrap>*,.faq-layout>*,.contact-form-layout>*{min-width:0}
.about-copy .h2{overflow-wrap:break-word}
.about-image,.testimonialImage{min-width:0;width:100%}
.testimonialImage video{min-width:0;max-width:100%;width:100%}
.services .service-card{display:flex;flex-direction:column;padding:24px 24px 0;min-height:0;background:#122733;overflow:hidden;position:relative;border-radius:0!important}
.services .service-card::before{display:none}
.services .service-card h3{margin:0 0 8px;font-size:21px;font-weight:700;line-height:1.25;flex:0 0 auto;color:#fff}
.services .service-card p{margin:0;font-size:17px!important;line-height:1.55!important;color:#f6f5f2!important;flex:0 0 auto}
.services .service-card .serviceImage{position:relative;inset:auto;order:3;flex:1 1 auto;width:calc(100% + 48px);max-width:none;height:100%;min-height:260px;margin:14px -24px 0;object-fit:cover;object-position:center;display:block;border-radius:0!important}
.services .service-card .corner{position:absolute;right:0;bottom:0;min-width:52px;min-height:52px;z-index:2;border-radius:0!important}
.services .service-card .corner:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.button,.reference-cta,.testimonial-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border:1px solid transparent;border-radius:6px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;text-align:center;background:#ec1b3b;color:#fff;transition:background .2s,border-color .2s}
.button:hover,.reference-cta:hover,.testimonial-btn:hover{background:#cf1733;color:#fff}
.button:focus-visible,.reference-cta:focus-visible,.testimonial-btn:focus-visible{outline:3px solid #122733;outline-offset:4px}
.hero .reference-cta:focus-visible,.consultation-cta .button:focus-visible,.contact-form-section .button:focus-visible{outline-color:#fff}
.about .button,.testimonial-btn.ns-secondary{background:transparent;color:#122733;border-color:#122733}
.about .button:hover,.testimonial-btn.ns-secondary:hover{background:#122733;color:#fff}
.reference-cta.ns-secondary-light,.consultation-cta .button-secondary{background:transparent;color:#fff;border-color:#fff}
.reference-cta.ns-secondary-light:hover,.consultation-cta .button-secondary:hover{background:#fff;color:#122733}
.consultation-cta .button:not(.button-secondary),.contact-form-section .button,.faq-section .button,.location-actions .button{background:#ec1b3b;border-color:#ec1b3b;color:#fff}
.consultation-cta .button{border-radius:6px}
.hero.reference-hero{background-color:#122733!important}
.reference-hero-inner{padding:72px 0}
.reference-heading-row{margin-top:48px}
.reference-heading-row h1{font-size:clamp(48px,5.6vw,80px);line-height:1.12}
.reference-bottom-row{margin-top:72px}
.reference-marker{color:var(--red)}
@media (min-width: 901px) {
  .contact-form-section {
  }
  .contact-form-header {
    margin-bottom: 20px !important;
  }
  .contact-form-header .label {
    margin-bottom: 10px !important;
  }
  .contact-form-header .copy {
    margin-top: 10px !important;
  }
}
@media(min-width:901px) and (max-width:1100px){
.partnerText{padding:40px 24px}.partnerWrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.testimonialGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
}
@media(max-width:900px){
.aboutGrid{grid-template-columns:minmax(0,1fr)}
.partnerWrap{grid-template-columns:minmax(0,1fr);height:auto;padding:0}
.partnerImage{min-height:0;aspect-ratio:1.5}
.partnerText{padding:48px 24px 36px}
.testimonialGrid{grid-template-columns:minmax(0,1fr)}
.faq-layout,.contact-form-layout{grid-template-columns:minmax(0,1fr)}
.about{height:auto}.about-image{height:auto;min-height:0;aspect-ratio:1.4}
.header-top-container{gap:12px!important;height:76px!important;min-height:76px!important}
.header-contact{margin-left:auto}.header-contact-link{min-height:44px}
.header-main-container{height:0!important;min-height:0!important}
.header-main{border:0!important}.header-actions{display:none!important}
.header .nav-toggle{display:flex!important;flex:0 0 44px;width:44px;height:44px}
.header .nav{top:76px!important}
.reference-hero-inner{padding:48px 0}
.reference-heading-row{grid-template-columns:minmax(0,1fr) 140px;margin-top:32px;gap:24px}
.reference-service-circle{width:140px;height:140px;font-size:16px}
.reference-service-circle>span{width:44px;height:44px}
.reference-heading-row h1{font-size:clamp(40px,5.5vw,54px)}
.reference-bottom-row{margin-top:36px;gap:24px}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
.header-contact{display:none!important}
.header .nav-toggle{margin-left:auto}
.reference-hero-inner{width:calc(100% - 40px);padding:36px 0 40px}
.reference-heading-row{display:block;margin-top:24px}
.reference-heading-row h1{font-size:clamp(34px,8.8vw,46px);line-height:1.14}
.reference-service-circle{display:none}
.reference-bottom-row{display:grid;grid-template-columns:minmax(0,1fr);margin-top:24px;gap:16px}
.reference-video-column{display:contents}
.reference-video-column>p{grid-row:1;margin:0;font-size:16px;line-height:1.65}
.reference-cta-column{display:contents}
.reference-cta-column>p,.reference-marker{display:none}
.reference-cta-column .reference-cta{grid-row:2}
.reference-offer-button{grid-row:3}
.reference-bottom-row .reference-cta{width:100%}
.cards{grid-template-columns:minmax(0,1fr)}
.services .service-card{padding:22px 20px 0}
.services .service-card .serviceImage{width:calc(100% + 40px);margin:14px -20px 0;height:100%;min-height:235px;flex:1 1 auto}
.services .service-card p{font-size:16px!important;line-height:1.55!important;margin:0}
.about .label{overflow-wrap:anywhere}
.consultation-cta-layout{grid-template-columns:minmax(0,1fr)}
.consultation-cta-actions{justify-items:stretch}
.consultation-cta .button{width:100%;max-width:none}
.testimonial-btn{width:100%}
.contact-form-grid{grid-template-columns:minmax(0,1fr)}
.contact-form-footer{flex-direction:column;align-items:stretch;gap:16px}
.contact-form-footer .button{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Abschliessende Spezifitaets- und Kleindisplay-Korrekturen. */
.testimonials .button.testimonial-btn{min-height:52px;padding:14px 24px;border:1px solid #122733;border-radius:6px;font-size:16px;font-weight:600;line-height:1.4;background:transparent;color:#122733}
.testimonials .button.testimonial-btn:hover{background:#122733;color:#fff}
@media(max-width:600px){
 .why .h2,.partnerText .h2{font-size:clamp(30px,8vw,40px);overflow-wrap:break-word}
 .logos>*{min-width:0}.logos img{max-width:100%;height:auto}
 .contact-form{grid-template-columns:minmax(0,1fr)}
}

/* Einheitliches Farbkonzept: Dunkelgruen + Dunkelrot + Neutralflaechen.
   Markenlogos in externen Bildern/SVGs bleiben originalgetreu. */
:root{--red:#ec1b3b;--black:#122733;--navy:#122733;--card:#122733;--light:#f6f5f2;--ns-primary:#ec1b3b;--ns-navy:#122733;--navy-light:#1a3545;--section-light:#f6f5f2}
body{color:#000;background:#fff}
.header,.header-top,.header-main,.header .navlinks,.header .nav.is-open{background:#122733!important;color:#f6f5f2!important}
.header .header-top{border-bottom:none!important}
.header .reference-brand{color:#fff}.reference-brand>span{color:#ec1b3b}
.header .header-contact,.header .header-contact-link,.header .navlinks a,.header .header-job-btn{color:#f6f5f2!important}
.header .header-contact-sep{color:rgba(255,255,255,.45)!important}
.header .navlinks a:hover,.header .navlinks a.active,.header .navlinks a[aria-current]{color:#fff!important;text-decoration:underline;text-underline-offset:7px}
.header .header-job-btn:hover,.header .header-contact-link:hover{color:#fff!important;text-decoration:underline;text-underline-offset:5px}
.header .navlinks a::after{display:none!important}
.header .nav-toggle span{background:#fff!important}
.header a:focus-visible,.header button:focus-visible{outline:2px solid #fff!important;outline-offset:4px}
.header .nav-drawer-call{background:#ec1b3b!important;color:#fff!important;border:1px solid #f6f5f2}
.header .nav-drawer-call:hover{background:#cf1733!important}
.header .nav-drawer-mail{background:transparent!important;color:#f6f5f2!important;border:1px solid #f6f5f2}
.hero.reference-hero{background-color:#122733!important;color:#fff}
.reference-kicker,.reference-heading-row h1,.reference-video-column>p,.reference-cta-column>p{color:#fff}
.reference-service-circle{background:#122733;color:#fff}
.reference-service-circle>span{background:#ec1b3b;color:#fff;border:0}
.reference-marker{color:#ec1b3b}
.services,.about,.testimonials,.team,.faq-section{background:#fff}
.why,.location-section,.consultation-shell{background:#f6f5f2}
.services .service-card,.services .service-card::before,.partnerWrap{background:#122733!important;color:#fff!important}
.services .service-card h3,.services .service-card p,.partnerText .h2,.partnerText .copy{color:#fff!important}
.corner,.services .service-card .corner,.partnerImage .corner{background:#ec1b3b!important;color:#fff!important;border:0}
.corner:hover,.services .service-card .corner:hover,.partnerImage .corner:hover{background:#cf1733!important;color:#fff!important}
.corner svg{color:#fff}
.why .icon{background:#122733;color:#fff}
.why .icon svg{stroke:currentColor}
.consultation-cta,.contact-form-section{background:#122733!important;color:#fff!important}
.footer{background:#ec1b3b!important;color:#fff!important}
.consultation-cta h2,.consultation-cta p,.contact-form-header .h2,.contact-form-header .copy,.contact-service h3,.contact-service>p,.contact-service-row strong,.footer .logo,.footer h4,.footer .footer-h4,.footer h5,.footer .footer-h5,.footer .brand-copy{color:#fff!important}
.footer a{color:rgba(255,255,255,.9)!important}
.footer a:hover{color:#fff!important;text-decoration:underline!important}
.footer .copyright{border-top:1px solid rgba(255,255,255,.25)!important;color:rgba(255,255,255,.85)!important}
.contact-service-row svg{stroke:#f6f5f2}
.contact-service-row small{color:#f6f5f2}
.contact-form-card{background:#fff;color:#000}
.button,.reference-cta.ns-primary,.testimonial-btn,.consultation-cta .button:not(.button-secondary),.contact-form-section .button,.faq-section .button,.location-actions .button{background:#ec1b3b!important;border-color:#ec1b3b!important;color:#fff!important}
.button:hover,.reference-cta.ns-primary:hover,.consultation-cta .button:not(.button-secondary):hover,.contact-form-section .button:hover,.faq-section .button:hover,.location-actions .button:hover{background:#cf1733!important;border-color:#cf1733!important;color:#fff!important}
.about .button,.testimonials .button.testimonial-btn{background:transparent;color:#122733;border-color:#122733}
.about .button:hover,.testimonials .button.testimonial-btn:hover{background:#122733;color:#fff;border-color:#122733}
.consultation-cta .button-secondary{background:transparent!important;color:#fff!important;border:1px solid #fff!important}
/* Hero: "Zum Angebot" rot, "Kostenlose Beratung" navy */
.reference-cta.reference-offer-button,.reference-cta.ns-secondary-light,.hero .reference-offer-button{background:#ec1b3b!important;color:#fff!important;border:1px solid #ec1b3b!important}
.hero .reference-cta.ns-primary{background:#122733!important;color:#fff!important;border:1px solid #122733!important}
.consultation-cta .button-secondary:hover{background:#fff!important;color:#122733!important;border-color:#fff!important}
.reference-cta.reference-offer-button:hover,.reference-cta.ns-secondary-light:hover,.hero .reference-offer-button:hover{background:#cf1733!important;color:#fff!important;border-color:#cf1733!important}
.hero .reference-cta.ns-primary:hover{background:#ec1b3b!important;color:#fff!important;border-color:#ec1b3b!important}
.reference-heading-row{grid-template-columns:minmax(0,1fr)!important}
.label{color:#ec1b3b}.partnerText .label,.contact-form-section .label,.consultation-cta .label{color:#f6f5f2}
.faq-item summary::after{color:#ec1b3b}
.location-card svg{color:#ec1b3b}
.testimonial-google svg{box-shadow:none}
.testimonial-google{color:#000}.testimonial-google strong{color:#000}
.testimonial-google-stars{color:inherit}
.contact-form-status{background:#f6f5f2;border-color:#43514a;color:#000}
.contact-form-status.error{background:#f6f5f2;border-color:#ec1b3b;color:#ec1b3b}

/* Viewport-Hero: Header und Hero fuellen gemeinsam die erste Ansicht.
   Bei wenig Hoehe darf der Inhalt wachsen, statt abgeschnitten zu werden.
*/
:root{--site-header-height:112px;--hero-image:url("/images/nord-secured-Security.webp");--hero-image-position:center 20%}
.hero.reference-hero{position:relative;isolation:isolate;display:flex!important;align-items:stretch;min-height:100vh!important;min-height:100svh!important;min-height:100dvh!important;height:auto!important;background-color:#122733!important;background-image:linear-gradient(180deg, rgba(18,39,51,0.50) 0%, rgba(18,39,51,0.40) 40%, rgba(18,39,51,0.85) 100%), var(--hero-image)!important;background-size:cover!important;background-position:var(--hero-image-position)!important;background-repeat:no-repeat!important}
.hero.reference-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(21,34,30,.30);pointer-events:none}
.hero.reference-hero .reference-hero-inner{display:flex;flex-direction:column;justify-content:center;flex:1 1 auto;min-width:0;padding-top:clamp(120px, 15vh, 160px);padding-bottom:clamp(40px, 6vh, 80px)}
.hero.reference-hero .reference-heading-row{flex-shrink:0}
.hero.reference-hero .reference-bottom-row{flex-shrink:0}
.header .header-job-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:52px!important;height:auto!important;padding:14px 24px!important;border:0!important;border-radius:6px!important;background:#ec1b3b!important;color:#fff!important;font-family:inherit;font-size:16px!important;font-weight:600!important;line-height:1.4;text-align:center;text-decoration:none!important;transition:background .2s}
.header .header-job-btn:hover{background:#cf1733!important;text-decoration:none!important}
.header .header-job-btn:focus-visible{outline:3px solid #fff!important;outline-offset:4px}
@media(max-width:900px){:root{--site-header-height:77px}}
@media(max-width:600px){.hero.reference-hero .reference-hero-inner{padding-block:32px}.hero.reference-hero .reference-heading-row{margin-top:24px}.hero.reference-hero .reference-bottom-row{margin-top:24px}}
@media(max-height:600px) and (min-width:601px){.hero.reference-hero .reference-heading-row{margin-top:24px}.hero.reference-hero .reference-bottom-row{margin-top:32px}.hero.reference-hero .reference-hero-inner{padding-block:28px}}

/* Mobile Korrekturen: Video, Karte und Beratungsbanner. Desktop bleibt unveraendert. */
@media(max-width:900px){.testimonials .testimonialImage{position:relative;aspect-ratio:1.05 / 1;height:auto;min-height:0;width:100%;overflow:hidden}.testimonials .testimonialImage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}}
@media(max-width:600px){.location-section .location-map{width:calc(100% + var(--side)*2);max-width:none;margin-inline:calc(-1 * var(--side));min-height:320px}.location-section .location-map iframe{width:100%;height:100%}}
@media(max-width:600px){.consultation-shell .consultation-cta{min-height:410px;display:flex;flex-direction:column;justify-content:center;padding:40px 24px}.consultation-shell .consultation-cta .container{width:100%;min-width:0;margin:0}.consultation-cta-layout{grid-template-columns:minmax(0,1fr);gap:28px}.consultation-cta-layout>*{min-width:0}.consultation-cta h2{font-size:clamp(28px,7.6vw,36px);line-height:1.15;letter-spacing:-.025em;overflow-wrap:break-word}.consultation-cta p{font-size:16px;line-height:1.65;overflow-wrap:break-word}.consultation-cta .label{font-size:14px;letter-spacing:.12em;line-height:1.5}.consultation-cta-actions{width:100%;gap:12px;justify-items:stretch}.consultation-cta .button{width:100%;max-width:100%;padding:14px 16px;white-space:normal}}
/* About-Bild: Kopf, Handy und Firmenlogo vollständig sichtbar */
.about .about-image{aspect-ratio:.95 / 1;background-position:50% 50%}
@media(max-width:900px){.about .about-image{aspect-ratio:.9 / 1;background-position:50% 50%}}

/* ========================================================
   VARIANTE B: 100% KANTIGER FLOATING HEADER (Nord Secured)
   ======================================================== */
.pj-header,
.pj-header * {
  box-sizing: border-box;
}

.pj-header {
  position: fixed !important;
  top: 16px !important;
  left: clamp(16px, 2.5vw, 32px) !important;
  right: clamp(16px, 2.5vw, 32px) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  gap: 40px !important;
  min-height: 96px !important;
  padding: 14px 18px 14px 28px !important;
  background: #ffffff !important;
  color: #122733 !important;
  border: 1px solid #dddddd !important;
  border-radius: 0 !important; /* 100% KANTIG */
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease !important;
  pointer-events: auto !important;
}

/* Scroll Hide State (beim Scrollen nach unten verschwindet der Header) */
.pj-header.header--hidden {
  transform: translateY(-130%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Logo */
.pj-logo {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
}

.pj-logo-image {
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

.pj-logo-wordmark {
  display: block !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: #122733 !important;
  white-space: nowrap !important;
}

/* Navigation Links */
.pj-navigation {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.pj-navigation-item {
  position: relative !important;
}

.pj-navigation-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 48px !important;
  padding: 10px 18px !important;
  border: 0 !important;
  border-radius: 0 !important; /* KANTIG */
  background: transparent !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 28px !important;
  white-space: nowrap !important;
  transition: background-color 160ms ease, color 160ms ease !important;
  text-decoration: none !important;
  color: #122733 !important;
  cursor: pointer !important;
}

.pj-navigation-trigger:hover,
.pj-navigation-trigger[aria-expanded="true"] {
  background: #f1f5f9 !important;
  color: var(--red) !important;
}

.pj-chevron {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 9px !important;
  height: 9px !important;
  border-right: 3px solid currentColor !important;
  border-bottom: 3px solid currentColor !important;
  transform: translateY(-2px) rotate(45deg) !important;
  transition: transform 0.2s ease !important;
}

.pj-navigation-trigger[aria-expanded="true"] .pj-chevron {
  transform: translateY(2px) rotate(225deg) !important;
}

/* Dropdown: Deliberately square (100% KANTIG) */
.pj-dropdown {
  position: absolute !important;
  top: calc(100% + 20px) !important;
  left: 0 !important;
  width: 330px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  list-style: none !important;
  background: #ffffff !important;
  border: 1px solid #dddddd !important;
  border-radius: 0 !important; /* KANTIG */
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15) !important;
}

.pj-dropdown[hidden] {
  display: none !important;
}

.pj-dropdown-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 64px !important;
  padding: 16px 24px !important;
  font-size: 18.5px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  white-space: nowrap !important;
  transition: background-color 160ms ease, color 160ms ease !important;
  color: #122733 !important;
  text-decoration: none !important;
}

.pj-dropdown-link:hover {
  background: #f1f5f9 !important;
  color: var(--red) !important;
}

.pj-chevron-right {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 3px solid currentColor !important;
  border-right: 3px solid currentColor !important;
  transform: rotate(45deg) !important;
}

/* Right Actions (Nord Secured Rot, 100% KANTIG) */
.pj-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-left: auto !important;
}

.pj-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 64px !important;
  padding: 16px 28px !important;
  border: 0 !important;
  border-radius: 0 !important; /* KANTIG */
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: background-color 160ms ease, transform 140ms ease !important;
  text-decoration: none !important;
}

.pj-header .pj-action-application {
  background: var(--red) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(236, 27, 59, 0.3) !important;
}

.pj-header .pj-action-application:hover {
  background: #cf1733 !important;
  color: #ffffff !important;
}

.pj-action-icon {
  display: inline-flex !important;
  align-items: center !important;
  color: inherit !important;
}

.pj-header a:focus-visible,
.pj-header button:focus-visible {
  outline: 2px solid var(--red) !important;
  outline-offset: 4px !important;
}

/* Mobile Toggle Button */
.pj-mobile-toggle {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  margin-left: auto !important;
  padding: 10px !important;
  border: 1px solid #000000 !important;
  border-radius: 0 !important; /* KANTIG */
  background: #ffffff !important;
  cursor: pointer !important;
}

.pj-mobile-toggle-lines {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 22px !important;
}

.pj-mobile-toggle-lines span {
  display: block !important;
  width: 22px !important;
  height: 2.5px !important;
  background: #000000 !important;
}

@media (max-width: 1100px) {
  .pj-header {
    gap: 20px !important;
    padding-left: 18px !important;
  }
  .pj-navigation-trigger {
    gap: 10px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
    font-size: 17px !important;
  }
  .pj-action {
    min-height: 56px !important;
    padding: 14px 20px !important;
    font-size: 16.5px !important;
  }
}

@media (max-width: 850px) {
  .pj-header {
    min-height: 64px !important;
    top: 10px !important;
    left: 10px !important;
    right: 10px !important;
    padding: 10px 14px !important;
  }
  .pj-logo-image {
    width: 34px !important;
    height: 34px !important;
  }
  .pj-logo-wordmark {
    font-size: 17px !important;
  }
  .pj-mobile-toggle {
    display: inline-flex !important;
  }
  .pj-navigation {
    display: none !important;
  }
  .pj-actions {
    display: none !important;
  }
}

.mnav a.mnav-cta{display:flex;margin-top:24px;justify-content:center;font-size:1rem;font-weight:700;padding:14px 20px;border-radius:8px;background:#ec1b3b;color:#fff;text-decoration:none}
.mnav{position:fixed;inset:0;background:#fff;z-index:100000;display:flex;flex-direction:column;padding:24px 24px 36px;gap:0;transform:translateX(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);overflow-y:auto;box-shadow:-10px 0 40px rgba(14,28,36,.15)}
.mnav.open{transform:none}
.mnav-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #f1f5f9;margin-bottom:4px}
.mnav-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.mnav-brand img{height:38px;width:auto;display:block}
.mnav-brand b{font-size:1.12rem;color:#122733;font-weight:700;letter-spacing:.04em}
.mnav .close{background:none;border:0;color:#122733;font-size:2.2rem;line-height:1;cursor:pointer;padding:2px 8px;font-weight:400}
.mnav a.mnav-link{color:#122733;font-size:1.15rem;font-weight:700;padding:16px 0;border-bottom:1px solid #f1f5f9;text-decoration:none;display:block;transition:color .2s}
.mnav a.mnav-link:hover{color:var(--red)}
.mnav a.mnav-link-services{border-bottom:0 !important;padding-bottom:10px}
.mnav-sub{padding:4px 0 16px 16px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid #f1f5f9}
.mnav-sub a{font-size:1.02rem;font-weight:700;color:#122733;text-decoration:none;padding:3px 0;transition:color .15s}
.mnav-sub a:hover{color:var(--red)}
.mnav .mnav-cta{margin-top:24px;justify-content:center;font-size:1rem;font-weight:700;padding:14px 20px;border-radius:8px;background:var(--red);color:#fff;width:100%;border:none}
.hero.reference-hero .reference-hero-inner{padding-top:clamp(130px,14vh,170px)!important}
@media(max-width:1200px){.hero.reference-hero .reference-hero-inner{padding-top:clamp(120px,13vh,150px)!important}}
/* Einheitliche H2-Größe für alle Sektionen */
main h2:not(.ns4-hero-title){font-size:clamp(36px,4vw,56px)!important;line-height:1.12!important;font-weight:700}
.consultation-cta h2{font-size:clamp(36px,3.6vw,48px)!important}
@media(max-width:600px){.consultation-cta h2{font-size:clamp(28px,7.6vw,36px)!important}}
/* Archivo: nur 400/500/700 vorhanden, daher Überschriften bewusst auf 700 */
.reference-heading-row h1{font-weight:700;line-height:1.05;letter-spacing:-.02em;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.reference-heading-row h1 .reference-accent{color:#ec1b3b}
/* FAQ-Akkordeon: größere Fragen, 18px-Antworten, gezeichnetes Plus/Minus */
.faq-item summary{font-size:clamp(19px,1.7vw,23px);line-height:1.3;padding-right:52px}
.faq-item summary::before,.faq-item summary::after,.faq-item[open] summary::after{content:"";position:absolute;right:4px;top:50%;width:18px;height:2px;background:#ec1b3b;border-radius:1px;font-size:0;transform:translateY(-50%);transition:transform .25s ease}
.faq-item summary::before{transform:translateY(-50%) rotate(90deg)}
.faq-item[open] summary::before{transform:translateY(-50%) rotate(0deg)}
.faq-answer,.faq-answer p,.faq-answer li,.faq-answer ul{font-size:18px;line-height:1.6}
.faq-answer h3{font-size:19px;line-height:1.35;margin:0 0 8px}
/* Footer (Inhalte aus includes/footer.php, einheitliche Schriftgrößen) */
.footer .footerGrid{grid-template-columns:.7fr .95fr 2.3fr 1.2fr;gap:40px;padding:72px 0 56px}
.footer h4,.footer .footer-h4{font-size:18px;line-height:1.3;font-weight:700;margin:0 0 20px;color:#fff}
.footer h5,.footer .footer-h5{font-size:16px;line-height:1.3;font-weight:700;margin:0 0 14px;color:#fff}
.footer .footerGrid a{font-size:16px;line-height:1.5;margin:0 0 12px;width:-webkit-fit-content;width:fit-content;max-width:100%}
.footer-links-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.footer .copyright{height:auto;min-height:73px;padding:20px 0;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;font-size:14px}
.footer .ftr-social{display:flex;align-items:center;gap:14px;font-size:16px;color:#fff}
.footer .ftr-social a{display:inline-flex;align-items:center;margin:0;color:#fff!important}
@media(max-width:1100px){.footer .footerGrid{grid-template-columns:1fr 1fr!important}.footer .footer-contact{order:1;grid-column:1/-1}.footer .footer-brand{order:2}.footer .footer-locations{order:3}.footer .footer-quick{order:4;grid-column:1/-1}}
@media(max-width:768px){.footer .footerGrid{grid-template-columns:1fr!important;padding:56px 0 40px}.footer .footer-contact{order:1;grid-column:auto}.footer .footer-brand{order:2;grid-column:auto}.footer .footer-locations{order:3;grid-column:auto}.footer .footer-quick{order:4;grid-column:auto}.footer h4,.footer .footer-h4{font-size:15px;margin-bottom:20px;color:#ffffff}.footer-links-split{grid-template-columns:1fr 1fr;gap:28px 20px}.footer .copyright{flex-direction:column;align-items:flex-start;font-size:14px}}
@media(max-width:420px){.footer-links-split{grid-template-columns:1fr}}
.footer .footer-logo{display:inline-block;margin:0}
.footer .footer-logo img{display:block;width:auto;height:auto;max-width:110px;max-height:96px}
/* Footer: Schriftdesign wie includes/footer.php (Links 500, Telefon 22px) */
.footer .footerGrid a{font-weight:500}
.footer .footerGrid a[href^="tel:"]{font-size:22px;line-height:1.3;font-weight:500;color:#fff!important}
.footer .ftr-social,.footer .ftr-social span{font-size:15px}
.footer .copyright .site-copyright{font-size:14px}
/* Lesbarkeit: Gewicht 500 für Fließtexte, einheitlich 18px */
.faq-answer,.faq-answer p,.faq-answer li,.faq-answer ul{font-weight:500}
.person small{font-size:18px}
/* Telefon-Kasten wie im ursprünglichen Footer (includes/footer.php) */
.footer .footerGrid a.ftr-contact{display:inline-flex;align-items:center;gap:14px;margin:8px 0 0;padding:16px 28px;background:#15252b;border-radius:6px;color:#fff!important;font-size:22px;font-weight:500;line-height:1.2;text-decoration:none!important;transition:background .2s}
.footer .footerGrid a.ftr-contact:hover{background:#000;color:#fff!important;text-decoration:none!important}
.footer .ftr-contact .icon{display:inline-flex!important;align-items:center;width:auto!important;height:auto!important;aspect-ratio:auto!important;background:none!important;border:0!important;padding:0!important}
.footer .ftr-contact .icon img{display:block;width:auto;height:26px;margin:0}
@media(max-width:768px){.footer .footerGrid a.ftr-contact{font-size:18px;padding:14px 20px}.footer .ftr-contact .icon img{height:22px}}
/* Kontaktformular 1:1 wie index.php (wirksame Werte inkl. skin.css, Basis 18px) */
.contact-form-layout{grid-template-columns:minmax(0,753fr) minmax(0,497fr);gap:30px;align-items:start}
.contact-form-card{padding:40px;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.contact-form-card .required-note{margin:0 0 20px;color:#333;font-size:16.2px}
.contact-form-card h3{margin:0 0 10px;font-size:32.4px;font-weight:700;line-height:1.4}
.contact-form-card .form-advice{margin:0 0 30px;font-size:18px;line-height:1.56;font-weight:400}
.contact-form{gap:20px}
.contact-field label{margin:0 0 5px;font-size:16.2px;font-weight:400;line-height:1.56}
.contact-field.full label{margin:0 0 10px;font-size:17px;font-weight:500}
.contact-field input,.contact-field select,.contact-field textarea{min-height:0;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:18px;line-height:normal}
.contact-field textarea{min-height:140px;padding:14px 18px 0;border-color:#d1cfcf;background:#fcfcfc;resize:vertical}
@media(max-width:800px){.contact-form-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:400px){.contact-form-card{padding:20px}.contact-form-card h3{font-size:28.8px}}
.contact-form-header .label{color:#ec1b3b}
/* Mobil: Hero füllt den ganzen Bildschirm, Inhalt ca. 30% der Höhe weiter unten */
@media(max-width:600px){
.hero.reference-hero{min-height:100vh!important;min-height:100svh!important}
.hero.reference-hero .reference-hero-inner{padding-top:calc(32px + 30vh)!important;padding-top:calc(32px + 30svh)!important}
}
/* ----------------------------------------------------------
   Kundenstimmen: Bild füllt den Rahmen (kein Navy-Rand)
   Der Rand war das Padding von .partnerWrap.
   ---------------------------------------------------------- */
@media (min-width: 1025px) {
  .partnerWrap .partnerImage {
    margin: -31px 0 -31px -31px;
  }
}
@media (min-width: 701px) and (max-width: 1024px) {
  .partnerWrap .partnerImage {
    margin: -22px 0 -22px -22px;
  }
}

/* ==========================================================
   Mobil: Intro-Sektion (ersetzt dort die Notiz)
   ========================================================== */
.ns-intro,
.ns-intro * { box-sizing: border-box; }

.ns-intro {
  display: none;
  padding: 20px 24px 24px;
  background: #fff;
  color: #15252b;
  font-family: inherit;
}

.ns-intro__eyebrow {
  margin: 0 0 14px;
  color: #ec1b3b;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ns-intro__welcome {
  margin: 0 0 4px;
  color: #647177;
  font-size: 14px;
  line-height: 1.5;
}

.ns-intro__brand {
  margin: 0 0 20px;
  color: #15252b;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.045em;
}

.ns-intro__brand span { color: #ec1b3b; }

.ns-intro__stance {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 2px solid #ec1b3b;
}

.ns-intro__stance strong {
  display: block;
  margin-bottom: 5px;
  color: #15252b;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.ns-intro__stance p {
  margin: 0;
  color: #15252b;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.ns-intro__qualities {
  margin: 0;
  color: #647177;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 450px) {
  .ns-intro__brand { font-size: 30px; }
}

@media (max-width: 820px) {
  .nsc2-note { padding: 0; }
  .nsc2-note > .nsc2-eyebrow,
  .nsc2-note > .nsc2-brand,
  .nsc2-note > .nsc2-stance,
  .nsc2-note > .nsc2-description { display: none; }
  .ns-intro { display: block; }
}

