
/* Kachel "Personenschutz": Nur dieses Kachelbild erhaelt einen Graustufenfilter,
   damit es zu den uebrigen (monochromen) Kachelmotiven passt. */
.services .service-card .serviceImage[src*="Personenschutz-Nord-Secured"]{filter:grayscale(1)}

/* ==========================================================
   PREMIUM-TYPOGRAFIE (Auftrag 2026-10-10)
   Kontrollierte Zeilenumbrueche + kompakte Textbreiten.
   Desktop: jede .ns-hl wird zur eigenen Zeile.
   Mobil: .ns-hl fliesst normal, kein Overflow, keine Nowrap-Falle.
   ========================================================== */
.ns-hl{display:block}
@media (max-width:820px){ .ns-hl{display:inline} }

/* Maximale Textbreiten, damit Ueberschriften kompakt bleiben
   (Referenz: .servicesHead .h2 = 650px, .about-copy .h2 = 520px) */
.team .h2{max-width:720px}
.testimonialText .h2{max-width:700px}
.why .h2{max-width:640px}
.location-header .h2{max-width:700px}
.faq-intro .h2{max-width:640px}
.contact-form-header .h2{max-width:780px}
.partnerText .h2{max-width:560px}

/* ==========================================================
   KEINE WORTTRENNUNG IN UEBERSCHRIFTEN (Auftrag 2026-10-10)
   Lange deutsche Komposita (Baustellenbewachung, Sicherheitsdienste)
   duerfen nicht mitten im Wort umbrechen. Umbruch nur an Leerzeichen.
   !important ist hier noetig, weil spezifischere Sektionsregeln
   (z.B. .about-copy .h2, .why .h2) overflow-wrap:break-word setzen.
   ========================================================== */
main h1, main h2, main h3, main h4,
.about-copy .h2, .why .h2, .partnerText .h2, .consultation-cta h2,
.testimonialText .h2, .team .h2, .location-header .h2,
.contact-form-header .h2, .reference-heading-row h1{
  -webkit-hyphens:none !important;
  hyphens:none !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* Schmale Displays: Schrift so begrenzen, dass lange Komposita
   (Baustellenbewachung, Sicherheitsloesungen) ohne Worttrennung
   in den Container passen - kein Ueberlauf, kein Abschneiden. */

/* FAQ-Layout & Intro-Überschrift: 
   Schriftgröße passend zur Spaltenbreite (0.9fr/1.05fr) skalieren,
   damit lange deutsche Komposita (Veranstaltungsschutz etc.)
   vollständig als ganzes Wort ohne Überlapp in die FAQ-Fragen passen. */
.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr) !important;
  gap: clamp(36px, 5vw, 68px) !important;
  align-items: start;
}
.faq-intro {
  min-width: 0 !important;
}
.faq-intro .h2 {
  font-size: clamp(30px, 2.4vw, 40px) !important;
  line-height: 1.15 !important;
  max-width: 540px !important;
  overflow-wrap: break-word !important;
  -webkit-hyphens: manual !important;
  hyphens: manual !important;
}
@media (max-width: 1024px) {
  .faq-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 36px !important;
  }
  .faq-intro .h2 {
    font-size: clamp(28px, 5vw, 38px) !important;
    max-width: 100% !important;
  }
}

@media (max-width:480px){
  main h1,
  main h2:not(.ns4-hero-title),
  main h3, main h4,
  .about-copy .h2, .why .h2, .partnerText .h2,
  .testimonialText .h2, .team .h2, .location-header .h2,
   .contact-form-header .h2, .consultation-cta h2{
    font-size:clamp(22px, 6.6vw, 30px) !important;
    line-height:1.18 !important;
  }
}
/* Service-Kacheln in "Unsere Leistungen": Beschriftung "Anfragen" entfernen */
.services .service-card .corner::before {
  content: none !important;
  display: none !important;
}

/* Überschriften & Unterüberschriften über komplette Grid-Fläche (Ausnahme: .why .h2; Hero unberührt) */
.servicesHead > div {
  width: 100% !important;
  max-width: 100% !important;
}

.servicesHead .h2,
.servicesHead .copy,
.servicesHead .servicesLead,
.about-copy .h2,
.about-copy .copy,
.partnerText .h2,
.partnerText .copy,
.testimonialText .h2,
.testimonialText .copy,
.team .h2,
.team .copy,
.location-header .h2,
.location-header .copy,
.location-section .h2,
.location-section .copy,

.faq-intro .copy,
.faq-section .h2,
.faq-section .copy,
.consultation-cta h2,
.consultation-cta p,
.contact-form-header .h2,
.contact-form-header .copy,
.contact-form-card h3,
.contact-form-card .form-advice,
.contact-service h3,
.contact-service > p {
  max-width: 100% !important;
}

/* Fließende Überschriften über die volle Grid-Breite ohne künstliche Zeilenumbrüche */
.servicesHead .h2 .ns-hl,
.team .h2 .ns-hl,
.about-copy .h2 .ns-hl,
.testimonialText .h2 .ns-hl,
.partnerText .h2 .ns-hl,
.location-header .h2 .ns-hl,
.location-section .h2 .ns-hl,
.location-section .h3 .ns-hl,
.faq-intro .h2 .ns-hl,
.faq-section .h2 .ns-hl,
.consultation-cta h2 .ns-hl,
.contact-form-header .h2 .ns-hl,
.contact-form-card h3 .ns-hl,
.contact-service h3 .ns-hl {
  display: inline !important;
  max-width: 100% !important;
}

.servicesHead .h2 br,
.team .h2 br,
.about-copy .h2 br,
.testimonialText .h2 br,
.partnerText .h2 br,
.location-header .h2 br,
.location-section .h2 br,
.location-section .h3 br,
.faq-intro .h2 br,
.faq-section .h2 br,
.consultation-cta h2 br,
.contact-form-header .h2 br,
.contact-form-card h3 br,
.contact-service h3 br {
  display: none !important;
}

.why .h2 {
  max-width: 640px !important;
}
