/* Designstudie 2: Wald & Petrol
   Dunkler, hochwertiger und technischer – Nachhaltigkeit ohne Naturromantik. */
html.theme-forest {
  --navy: #174c41;
  --navy-deep: #103a32;
  --navy-darker: #092821;
  --blue: #28705e;
  --cyan: #4d9b83;
  --green: #6e9b72;
  --yellow: #b7c879;
  --pink: #4f7b68;
  --ink: #142f28;
  --muted: #526861;
  --line: #d1ddd7;
  --surface: #edf3ef;
  --shadow-sm: 0 10px 30px rgba(9, 40, 33, .09);
  --shadow-lg: 0 28px 80px rgba(9, 40, 33, .24);
}

html.theme-forest body {
  color: #142f28;
  background: #f4f7f5;
}

html.theme-forest .topbar {
  background: #061e19;
}

html.theme-forest .site-header,
html.theme-forest .site-header.scrolled {
  background: rgba(9, 40, 33, .98);
  border-color: rgba(255, 255, 255, .09);
  box-shadow: 0 12px 34px rgba(6, 30, 25, .26);
}

html.theme-forest .brand-subline {
  color: rgba(255, 255, 255, .6);
}

html.theme-forest .site-nav > a,
html.theme-forest .nav-dropdown > summary {
  color: rgba(255, 255, 255, .78);
}

html.theme-forest .site-nav > a:hover,
html.theme-forest .nav-dropdown > summary:hover,
html.theme-forest .nav-dropdown[open] > summary {
  color: #fff;
}

html.theme-forest .header-cta {
  color: #092821;
  background: #b7c879;
  box-shadow: none;
}

html.theme-forest .nav-dropdown-menu {
  background: #f7faf8;
  border-color: #cad8d0;
}

html.theme-forest .nav-dropdown-menu .nav-overview {
  background: #174c41;
}

html.theme-forest .nav-dropdown-menu a[aria-current="page"] {
  background: #dfeae4;
  box-shadow: inset 3px 0 0 #28705e;
}

html.theme-forest .nav-dropdown-menu a[aria-current="page"] strong {
  color: #103a32;
}

html.theme-forest .hero {
  color: #fff;
  background:
    radial-gradient(circle at 92% 7%, rgba(77, 155, 131, .2), transparent 35%),
    linear-gradient(135deg, #092821 0%, #103a32 62%, #174c41 100%);
}

html.theme-forest .hero h1,
html.theme-forest .hero h1 em {
  color: #fff;
}

html.theme-forest .hero-lead {
  color: rgba(255, 255, 255, .72);
}

html.theme-forest .hero-form-note {
  color: rgba(255, 255, 255, .66);
}

html.theme-forest .hero .eyebrow,
html.theme-forest .hero-benefits {
  color: rgba(255, 255, 255, .78);
}

html.theme-forest .hero-benefits svg {
  color: #092821;
  background: #b7c879;
}

html.theme-forest .hero .button-primary {
  color: #092821;
  background: #b7c879;
  box-shadow: none;
}

html.theme-forest .hero .button-secondary {
  color: #fff;
  border-color: rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .04);
}

html.theme-forest .hero-image-wrap {
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 32px 90px rgba(6, 30, 25, .46);
}

html.theme-forest .hero-image-wrap img {
  filter: saturate(.68) sepia(.05) contrast(1.06);
}

html.theme-forest .hero-overlay {
  background: linear-gradient(to top, rgba(6, 30, 25, .9), transparent 60%);
}

html.theme-forest .hero-decoration-one {
  border-color: rgba(183, 200, 121, .07);
}

html.theme-forest .hero-decoration-two {
  background: rgba(183, 200, 121, .09);
}

html.theme-forest .floating-card-top strong {
  color: #174c41;
}

html.theme-forest .trust-strip {
  color: #fff;
  background: #092821;
  border-color: rgba(255, 255, 255, .1);
}

html.theme-forest .trust-item {
  border-color: rgba(255, 255, 255, .1);
}

html.theme-forest .trust-item strong {
  color: #fff;
}

html.theme-forest .trust-item span {
  color: rgba(255, 255, 255, .62);
}

html.theme-forest .services {
  background: #edf3ef;
}

html.theme-forest .section-heading h2,
html.theme-forest .region-copy h2,
html.theme-forest .home-faq h2,
html.theme-forest .why h2 {
  color: #103a32;
}

html.theme-forest .service-feature {
  background:
    linear-gradient(180deg, rgba(9, 40, 33, .04) 15%, rgba(9, 40, 33, .94) 86%),
    url("assets/cereni-glasreinigung.webp") center 48% / cover no-repeat;
}

/* Echte Arbeitsaufnahmen: ruhig, dokumentarisch und ohne Kundenkennzeichnung. */
html.theme-forest .work-insights {
  background: #edf3ef;
  border-top: 1px solid #d1ddd7;
}

html.theme-forest .work-insights-grid {
  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 18px;
}

html.theme-forest .work-insight {
  position: relative;
  height: 430px;
  min-height: 430px;
  overflow: hidden;
  margin: 0;
  border-radius: 20px;
  background: #103a32;
}

html.theme-forest .work-insight img {
  width: 100%;
  height: 430px;
  min-height: 430px;
  object-fit: cover;
}

html.theme-forest .work-insight-wide img {
  object-position: center 54%;
}

html.theme-forest .work-insight::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(6, 30, 25, .9));
  pointer-events: none;
}

html.theme-forest .work-insight figcaption {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 24px;
  left: 24px;
  color: #fff;
}

html.theme-forest .work-insight figcaption strong,
html.theme-forest .work-insight figcaption span {
  display: block;
}

html.theme-forest .work-insight figcaption strong {
  color: #fff;
  font: 750 1.05rem/1.3 "Poppins", "Inter", sans-serif;
}

html.theme-forest .work-insight figcaption span {
  margin-top: 5px;
  color: rgba(255, 255, 255, .78);
  font-size: .78rem;
  line-height: 1.5;
}

@media (max-width: 980px) {
  html.theme-forest .work-insights-grid {
    grid-template-columns: 1fr 1fr;
  }

  html.theme-forest .work-insight-wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  html.theme-forest .work-insights-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  html.theme-forest .work-insight-wide {
    grid-column: auto;
  }

  html.theme-forest .work-insight,
  html.theme-forest .work-insight img {
    height: 340px;
    min-height: 340px;
  }

  html.theme-forest .work-insight figcaption {
    right: 20px;
    bottom: 20px;
    left: 20px;
  }
}

html.theme-forest .service-directory,
html.theme-forest .region-card,
html.theme-forest .faq-list details {
  background: #f8faf8;
  border-color: #c8d6ce;
}

html.theme-forest .special-services {
  background: #e8efeb;
  border-color: #c8d6ce;
}

html.theme-forest .special-services-kicker,
html.theme-forest .special-services p {
  color: #526861;
}

html.theme-forest .special-services h3,
html.theme-forest .special-services-links a {
  color: #103a32;
}

html.theme-forest .special-services-links a {
  border-color: #c8d6ce;
}

html.theme-forest .service-group + .service-group,
html.theme-forest .service-list li {
  border-color: #d1ddd7;
}

html.theme-forest .service-group-head > span,
html.theme-forest .service-list-number {
  color: #4f7467;
}

html.theme-forest .service-group-head h3,
html.theme-forest .service-list strong,
html.theme-forest .service-list b {
  color: #142f28;
}

html.theme-forest .service-list small {
  color: #566a63;
}

html.theme-forest .services-cta {
  background: #103a32;
}

html.theme-forest .services-cta .button {
  color: #092821;
  background: #b7c879;
}

html.theme-forest .industries {
  background: #061e19;
}

html.theme-forest .industry-index {
  color: #75b59f;
}

html.theme-forest .industry-arrow {
  color: #b7c879;
}

html.theme-forest .why {
  background: #f4f7f5;
}

html.theme-forest .why-image::before {
  border-color: #28705e;
}

html.theme-forest .why-image-caption span,
html.theme-forest .feature-icon,
html.theme-forest .step-number,
html.theme-forest .faq-list summary span {
  color: #28705e;
}

html.theme-forest .feature-icon {
  background: #dfeae4;
}

html.theme-forest .region-section {
  background: #dfeae4;
}

html.theme-forest .region-cities span {
  color: #103a32;
  background: #eaf1ed;
}

html.theme-forest .process,
html.theme-forest .home-faq {
  background: #f8faf8;
}

html.theme-forest .step-icon {
  color: #174c41;
  border-color: #adc3b8;
  background: #f8faf8;
  box-shadow: 0 0 0 10px #f8faf8;
}

html.theme-forest .process-grid::before {
  border-color: #adc3b8;
}

html.theme-forest .contact {
  background: linear-gradient(135deg, #061e19, #103a32 62%, #28705e);
}

html.theme-forest .contact-form-card {
  color: #142f28;
  background: #f8faf8;
}

html.theme-forest .contact-form-card :is(h1, h2, h3, strong, p, small, label, span) {
  color: inherit;
}

html.theme-forest .contact-form-card .form-head p,
html.theme-forest .contact-form-card .form-privacy-note,
html.theme-forest .contact-form-card .form-note {
  color: #566a63;
}

html.theme-forest .form-grid input,
html.theme-forest .form-grid select,
html.theme-forest .form-grid textarea {
  color: #142f28;
  background: #f4f7f5;
  border-color: #c5d4cc;
}

html.theme-forest .button-primary {
  color: #fff;
  background: #174c41;
}

html.theme-forest .site-footer {
  background: #061e19;
}

/* Vollständige Wald-&-Petrol-Fassung: Unterseiten und Systemseiten */
html.theme-forest .detail-hero {
  color: #fff;
  background:
    radial-gradient(circle at 84% 12%, rgba(77, 155, 131, .2), transparent 30%),
    linear-gradient(135deg, #061e19 0%, #103a32 62%, #174c41 100%);
}

html.theme-forest .breadcrumbs {
  color: rgba(255, 255, 255, .62);
}

html.theme-forest .breadcrumbs a:hover,
html.theme-forest .breadcrumbs a:focus-visible {
  color: #fff;
}

html.theme-forest .breadcrumbs strong,
html.theme-forest .detail-copy h1 {
  color: #fff;
}

html.theme-forest .detail-lead,
html.theme-forest .detail-hero .eyebrow {
  color: rgba(255, 255, 255, .76);
}

html.theme-forest .detail-orb-one {
  border-color: rgba(183, 200, 121, .07);
}

html.theme-forest .detail-orb-two {
  background: rgba(183, 200, 121, .09);
}

html.theme-forest .detail-summary {
  color: #142f28;
  padding: clamp(27px, 2.5vw, 34px);
  border-radius: 24px;
  background: rgba(248, 250, 248, .97);
  border-color: rgba(255, 255, 255, .18);
  box-shadow: 0 28px 80px rgba(6, 30, 25, .32);
}

html.theme-forest .detail-summary::before {
  inset: 0;
  bottom: auto;
  height: 5px;
  border-radius: 0;
  background: linear-gradient(90deg, #6e9b72, #b7c879, #4d9b83);
}

html.theme-forest .detail-summary-icon {
  margin-bottom: 22px;
  color: #174c41;
  background: #dfeae4;
}

html.theme-forest .detail-summary li {
  color: #415c53;
}

html.theme-forest .detail-summary li span {
  color: #174c41;
  background: #dfeae4;
}

html.theme-forest .detail-summary > a {
  margin-top: 24px;
  padding-top: 19px;
  color: #103a32;
  border-color: #d1ddd7;
}

html.theme-forest .detail-intro,
html.theme-forest .detail-process,
html.theme-forest .related-section {
  background: #f8faf8;
}

html.theme-forest .intro-grid h2,
html.theme-forest .faq-grid h2,
html.theme-forest .related-head h2,
html.theme-forest .detail-process-grid h3 {
  color: #103a32;
}

html.theme-forest .intro-grid > div:last-child,
html.theme-forest .detail-process-grid p,
html.theme-forest .faq-grid > div:first-child > p:last-child {
  color: #526861;
}

html.theme-forest .scope-section {
  background: #edf3ef;
}

html.theme-forest .scope-grid article {
  background: #f8faf8;
  border-color: #cbd9d1;
  box-shadow: none;
}

html.theme-forest .scope-grid p {
  color: #415c53;
}

html.theme-forest .scope-check {
  color: #fff;
  background: #174c41;
}

html.theme-forest .detail-benefits {
  background: linear-gradient(135deg, #061e19, #103a32 66%, #174c41);
}

html.theme-forest .benefit-grid article {
  border-color: rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .065);
}

html.theme-forest .benefit-mark {
  color: #b7c879;
}

html.theme-forest .benefit-grid p {
  color: rgba(255, 255, 255, .72);
}

html.theme-forest .detail-process-grid article {
  border-color: #cbd9d1;
}

html.theme-forest .detail-process-grid article > span {
  color: #28705e;
}

html.theme-forest .faq-section {
  background: #edf3ef;
}

html.theme-forest .faq-list details {
  background: #f8faf8;
  border-color: #c8d6ce;
}

html.theme-forest .faq-list summary {
  color: #103a32;
}

html.theme-forest .faq-list details p {
  color: #526861;
}

html.theme-forest .related-links a,
html.theme-forest[data-theme="black"] .related-links a {
  color: #103a32;
  background: #edf3ef;
  border-color: #c8d6ce;
}

html.theme-forest .related-links a:hover,
html.theme-forest .related-links a:focus-visible {
  color: #092821;
  background: #f8faf8;
}

html.theme-forest .detail-cta {
  background: linear-gradient(135deg, #061e19, #103a32 62%, #28705e);
}

html.theme-forest .detail-cta .button-light {
  color: #092821;
  background: #b7c879;
}

html.theme-forest .legal-hero {
  color: #fff;
  background: linear-gradient(135deg, #061e19, #103a32 68%, #174c41);
  border-color: rgba(255, 255, 255, .12);
}

html.theme-forest .legal-content {
  background: #edf3ef;
}

html.theme-forest .legal-note,
html.theme-forest .legal-article {
  background: #f8faf8;
  border-color: #c8d6ce;
  box-shadow: 0 12px 35px rgba(9, 40, 33, .08);
}

html.theme-forest .legal-note {
  border-left-color: #28705e;
}

html.theme-forest .legal-note strong,
html.theme-forest .legal-article h2,
html.theme-forest .legal-article a {
  color: #103a32;
}

html.theme-forest .legal-note p,
html.theme-forest .legal-article p,
html.theme-forest .legal-article li {
  color: #526861;
}

html.theme-forest .legal-article a:focus-visible {
  outline-color: #174c41;
}

html.theme-forest .placeholder {
  color: #6a3500;
  background: #fff0d8;
}

html.theme-forest .placeholder-block {
  border-color: #d7bd82;
  background: #fff8e8;
}

html.theme-forest .not-found {
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(77, 155, 131, .18), transparent 30%),
    linear-gradient(135deg, #061e19, #103a32 66%, #174c41);
}

html.theme-forest .not-found .button-light {
  color: #092821;
  background: #b7c879;
}

html.theme-forest .mobile-contact-bar {
  background: rgba(6, 30, 25, .98);
}

html.theme-forest :focus-visible {
  outline-color: #b7c879;
}

@media (max-width: 900px) {
  html.theme-forest .nav-dropdown-menu {
    background: #0d332c;
    border-color: rgba(255, 255, 255, .14);
  }

  html.theme-forest .nav-dropdown-menu .nav-overview {
    background: #174c41;
  }

  html.theme-forest .nav-dropdown-menu a {
    color: #fff;
  }

  html.theme-forest .nav-dropdown-menu small {
    color: rgba(255, 255, 255, .64);
  }
}

@media (max-width: 650px) {
  html.theme-forest .detail-summary {
    padding: 25px 19px;
    border-radius: 20px;
  }

  html.theme-forest .detail-summary-icon {
    margin-bottom: 19px;
  }

  html.theme-forest .detail-summary > a {
    margin-top: 22px;
    padding-top: 18px;
  }
}

@media (max-width: 900px) {
  html.theme-forest .site-nav {
    background: #092821;
  }

  html.theme-forest .site-nav a,
  html.theme-forest .nav-dropdown > summary {
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, .12);
  }

  html.theme-forest .menu-button span:not(.sr-only) {
    background: #fff;
  }
}
