:root{
  --nrai-ink:#08251d;
  --nrai-ink-2:#123d32;
  --nrai-leaf:#2f6f4f;
  --nrai-leaf-2:#8db292;
  --nrai-clover:#d7f2ca;
  --nrai-cream:#fbf7eb;
  --nrai-paper:#fffdf6;
  --nrai-gold:#c9a957;
  --nrai-muted:#50665d;
  --nrai-line:#d8e3d6;
  --nrai-shadow:0 24px 70px rgba(8,37,29,.14);
  --nrai-radius:18px;
}
html{scroll-behavior:smooth}
body{background:var(--nrai-cream)!important;color:var(--nrai-ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;line-height:1.65!important;}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:4px solid #ffd966!important;outline-offset:4px!important}
nav, .fixed nav, nav.bg-black, nav.bg-dark-green, nav[class*="bg-[#031916]"], .bg-black.shadow-lg.fixed, .bg-dark-green.shadow-lg, .bg-gray-900 + nav{
  background:rgba(251,247,235,.94)!important;color:var(--nrai-ink)!important;border-bottom:1px solid rgba(8,37,29,.1)!important;box-shadow:none!important;backdrop-filter:blur(16px)!important;
}
nav img, header img[src*="logo"], img[src*="niederrhein-ai-logo"]{object-fit:contain!important;max-height:52px!important;width:auto!important;}
nav a, nav button, #mobile-menu a{color:var(--nrai-ink)!important;border-radius:999px!important;font-weight:800!important;}
nav a:hover, nav button:hover, #mobile-menu a:hover{background:#eef4ea!important;color:var(--nrai-leaf)!important;}
nav a[href*="#contact"], nav a[href*="#kontakt"], nav a[href*="angebot"], nav a[href^="tel:"], a.bg-bright-yellow, a.bg-yellow-300, .bg-bright-yellow.text-dark-green, .btn-primary, .cta-button{
  background:var(--nrai-ink)!important;color:#fff!important;border-color:var(--nrai-ink)!important;border-radius:999px!important;box-shadow:none!important;
}
.bg-gray-900{background:var(--nrai-ink)!important;color:#eaf4e2!important;}
.text-bright-yellow{color:var(--nrai-leaf)!important}.text-dark-green{color:var(--nrai-ink)!important}.text-warm-cream{color:var(--nrai-muted)!important}.bg-warm-cream,.bg-gray-50{background:var(--nrai-cream)!important}.bg-dark-green,.bg-black,.from-dark-green,.to-charcoal,.from-charcoal{background:var(--nrai-ink)!important;background-image:none!important}.bg-bright-yellow,.from-bright-yellow,.to-yellow-300,.to-yellow-400{background:var(--nrai-clover)!important;background-image:none!important;color:var(--nrai-ink)!important}.border-bright-yellow{border-color:var(--nrai-leaf-2)!important}
header[class*="bg-gradient"], section[class*="bg-gradient"], .bg-gradient-to-br, .bg-gradient-to-r{
  background:linear-gradient(135deg,#fdfaf0 0%,#eaf4e2 54%,#d7f2ca 100%)!important;color:var(--nrai-ink)!important;
}
header[class*="bg-gradient"] h1, section[class*="bg-gradient"] h1, .bg-gradient-to-br h1{color:var(--nrai-ink)!important;letter-spacing:-.045em!important;line-height:1.02!important;}
header[class*="bg-gradient"] p, section[class*="bg-gradient"] p{color:#263d34!important;}
main{background:var(--nrai-cream)!important;}
main .bg-white, article .bg-white, .shadow-md, .shadow-lg, .rounded-lg, .rounded-xl, .rounded-2xl, .rounded-3xl{
  background:var(--nrai-paper)!important;border:1px solid var(--nrai-line)!important;box-shadow:none!important;border-radius:var(--nrai-radius)!important;
}
h1,h2,h3,h4{color:var(--nrai-ink)!important}h1{font-weight:900!important}h2{letter-spacing:-.03em!important}p,li{color:#20382f}.text-gray-700,.text-gray-600,.text-gray-500{color:var(--nrai-muted)!important}
.prose a, main a:not([class*="bg-"]){color:var(--nrai-leaf)!important;text-decoration-thickness:1px;text-underline-offset:3px}
.fas,.fa,.far,.fab{color:var(--nrai-leaf)!important}.bg-bright-yellow .fas,.bg-bright-yellow .fa{color:var(--nrai-ink)!important}
footer, footer.bg-black, footer.bg-dark-green{background:var(--nrai-ink)!important;color:#eaf4e2!important;border-top:1px solid rgba(255,255,255,.12)!important}footer h4,footer strong{color:#fff!important}footer a{color:#eaf4e2!important}footer a:hover{color:var(--nrai-clover)!important}
#mobile-menu{background:var(--nrai-paper)!important;border:1px solid var(--nrai-line)!important;border-radius:18px!important;margin:0 1rem 1rem!important;box-shadow:var(--nrai-shadow)!important}
input,select,textarea{border:2px solid #b9c9b7!important;border-radius:12px!important;color:var(--nrai-ink)!important;background:#fff!important}.border-l-4{border-left-color:var(--nrai-leaf)!important}.border-4{border-color:var(--nrai-leaf)!important}
@media(max-width:768px){nav .h-16{height:auto!important;min-height:4.4rem!important}nav img{max-width:230px!important}.pt-24,.pt-32{padding-top:7rem!important}}

/* Alte Tailwind-Seiten hatten oft fixed Header, die Inhalte ueberdecken. Im Niederrhein.ai-Design werden sie sticky. */
.fixed.w-full.top-0.z-50, nav.fixed, .bg-black.shadow-lg.fixed{position:sticky!important;top:0!important;}
.fixed.w-full.top-0.z-50 + header, .fixed.w-full.top-0.z-50 + section, nav.fixed + section, nav.fixed + header{padding-top:5.5rem!important;}


/* Zweiter Pass: alte Magazin-/Zeitungsseiten konsequent in Niederrhein.ai ziehen. */
.bg-charcoal,.bg-charcoal\/80,.bg-charcoal\/10,.bg-gray-800,.bg-gray-900,.bg-black,.bg-\[\#031916\]{background:var(--nrai-ink)!important;background-image:none!important;}
.text-charcoal{color:var(--nrai-ink)!important}.text-gray-200,.text-gray-300,.text-gray-400{color:var(--nrai-muted)!important}.bg-charcoal .text-gray-200,.bg-charcoal .text-gray-300,.bg-dark-green .text-gray-300,footer .text-gray-300{color:#d9ead7!important}
.text-white:not(nav .text-white):not(footer .text-white){color:var(--nrai-ink)!important}.bg-dark-green .text-white,.bg-black .text-white,.bg-charcoal .text-white,footer .text-white{color:#fff!important}
.font-serif,.font-display,.prose-headings\:font-serif,h1,h2,h3{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
header.relative.overflow-hidden, header.relative[class*="bg-charcoal"], header.relative[class*="text-white"]{background:linear-gradient(135deg,#fdfaf0 0%,#eaf4e2 54%,#d7f2ca 100%)!important;color:var(--nrai-ink)!important;}
header.relative.overflow-hidden .absolute.inset-0 img{opacity:.18!important;filter:saturate(.75) brightness(1.18)!important;}
header.relative.overflow-hidden .absolute.inset-0.bg-gradient-to-t, header.relative.overflow-hidden [class*="from-charcoal"], header.relative.overflow-hidden [class*="via-charcoal"]{background:rgba(251,247,235,.76)!important;background-image:none!important;}
header.relative.overflow-hidden h1, header.relative.overflow-hidden p, header.relative.overflow-hidden span{color:var(--nrai-ink)!important;}
header.relative.overflow-hidden .text-bright-yellow{color:var(--nrai-leaf)!important;}
.bg-red-600,.bg-red-500,.from-red-500,.to-red-600,.bg-orange-500,.from-orange-500,.to-orange-600,.bg-yellow-500,.from-yellow-500,.to-yellow-600,.bg-blue-500,.from-blue-500,.to-blue-600{background:var(--nrai-clover)!important;background-image:none!important;color:var(--nrai-ink)!important;border-color:var(--nrai-leaf-2)!important;}
.text-red-700,.text-red-600,.text-orange-600,.text-yellow-600,.text-blue-600{color:var(--nrai-leaf)!important;}
.prose{color:#20382f!important}.prose p,.prose li{color:#20382f!important}.prose blockquote{border-left-color:var(--nrai-leaf)!important;color:var(--nrai-muted)!important;background:var(--nrai-paper)!important;border-radius:var(--nrai-radius)!important;padding:1.2rem 1.35rem!important;}
.prose .lead, p.lead{border-left-color:var(--nrai-leaf)!important;color:var(--nrai-ink)!important;background:rgba(255,253,246,.74)!important;border-radius:12px!important;padding:1rem 1.2rem!important;}
.bg-gray-100,.bg-gray-50{background:var(--nrai-paper)!important}.border-red-500,.border-red-400,.border-orange-500,.border-yellow-500,.border-blue-500{border-color:var(--nrai-leaf)!important;}
nav .text-bright-yellow{color:var(--nrai-leaf)!important}nav img[src*="niederrhein-ai-logo.png"]{max-height:48px!important;}
footer .text-bright-yellow, footer span.text-bright-yellow{color:var(--nrai-clover)!important;}

/* Kontrastschutz für die älteren, bewusst dunklen Hirschberg-Unterseiten.
   Die allgemeinen hellen Niederrhein.ai-Regeln dürfen dort Überschriften
   und Fließtexte nicht dunkel auf dunklem Grund darstellen. */
.hero,
.hero.hero-split,
.proof-hero,
section.s,
.section-band{
  color:#f7f5ed!important;
}
.hero .hero-h1,
.hero.hero-split .hero-h1,
.proof-hero .proof-h1,
section.s .section-title,
.section-band .proof-h2{
  color:#f7f5ed!important;
}
.hero .hero-h1 .italic,
.hero.hero-split .hero-h1 .italic{
  color:#cbd3cb!important;
}
.hero .hero-sub,
.hero.hero-split .hero-sub,
.proof-hero .proof-lead,
section.s .section-sub,
.section-band .section-copy{
  color:#dfe6df!important;
}
section.s .info-box-title,
section.s .card-title,
section.s .pillar-name,
section.s .faq-item h3{
  color:#f7f5ed!important;
}
section.s .card-text,
section.s .pillar-sub,
section.s .faq-body,
section.s .faq-body p,
section.s .info-box p{
  color:#dfe6df!important;
}
section.s .card,
section.s .faq-item,
section.s .info-box{
  background:rgba(29,45,36,.92)!important;
  border-color:rgba(215,242,202,.25)!important;
}
section.s .faq-item:hover,
section.s .faq-item:focus-within{
  background:rgba(38,61,47,.98)!important;
  border-color:rgba(215,242,202,.5)!important;
}
/* Helle Inhalte innerhalb dunkler Seiten behalten dunkle Schrift. */
section.s .bg-white,
section.s .bg-gray-50,
section.s .bg-gray-100,
section.s article.bg-white{
  color:var(--nrai-ink)!important;
}
section.s .bg-white h2,
section.s .bg-white h3,
section.s .bg-white h4,
section.s article.bg-white h2,
section.s article.bg-white h3,
section.s article.bg-white h4{
  color:var(--nrai-ink)!important;
}

/* Einheitliches regionales Hero-Motiv für Seiten ohne eigenes Bild. */
.nrai-has-collage{position:relative!important;overflow:hidden!important;isolation:isolate}
.nrai-has-collage>.nrai-hero-collage{
  position:absolute;
  z-index:0;
  top:50%;
  right:max(1.25rem,4vw);
  width:min(46vw,620px);
  margin:0;
  transform:translateY(-50%);
  border-radius:24px;
  overflow:hidden;
  opacity:.16;
  box-shadow:var(--nrai-shadow);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%);
}
.nrai-has-collage>.nrai-hero-collage img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.nrai-has-collage>:not(.nrai-hero-collage){position:relative;z-index:1}
@media(max-width:767px){
  .nrai-has-collage{display:flex!important;flex-direction:column!important}
  .nrai-has-collage>.nrai-hero-collage{
    position:relative;
    z-index:1;
    top:auto;
    right:auto;
    width:calc(100% - 2rem);
    max-width:680px;
    margin:1.25rem auto 1.5rem;
    transform:none;
    border:1px solid var(--nrai-line);
    opacity:.16;
    -webkit-mask-image:none;
    mask-image:none;
  }
}
