/* Shared visual language for the interactive service pages. */
.service-detail-page { --detail-ink:#263f55; --detail-deep:#20384d; --detail-paper:#f3f0e9; --detail-line:#c8d1cd; --detail-accent:#d7ba86; background:var(--detail-paper); }


.n-desktop-links a:not([href*="/fragen/"]) { white-space:nowrap; }
.service-detail-page :is(.fit-hero,.green-hero,.clean-hero) { color:#fff; padding-block:clamp(20px,2.7vw,38px) clamp(25px,3.5vw,46px); }
.service-detail-page :is(.fit-hero,.green-hero,.clean-hero) :is(h1,.n-breadcrumb,.n-breadcrumb a) { color:#fff; }
.service-detail-page :is(.fit-hero,.green-hero,.clean-hero) .n-breadcrumb { margin-bottom:clamp(14px,2.4vw,28px); }
.service-detail-page :is(.fit-hero,.green-hero,.clean-hero) :is(.fit-eyebrow,.green-eyebrow,.clean-eyebrow) { color:#e7c998; font-size:.7rem; }
.service-detail-page :is(.fit-intro,.green-intro,.clean-intro) > p { color:#e6eceb; font-size:clamp(.92rem,1.2vw,1.08rem); max-width:43ch; }
.service-detail-page :is(.fit-explorer,.green-explorer,.clean-explorer) { gap:clamp(20px,3vw,46px); padding-top:clamp(20px,2.7vw,36px); }
.service-detail-page :is(.fit-visual-head,.green-visual-head,.clean-visual-head) { padding:0 0 .7rem; border:0; color:var(--detail-ink); text-transform:uppercase; letter-spacing:.11em; font-size:.72rem; font-weight:600; }
.service-detail-page :is(.fit-figure,.green-figure,.clean-figure) { border:1px solid var(--detail-line); border-radius:12px; overflow:hidden; box-shadow:0 12px 26px #20384d12; }
.service-detail-page :is(.fit-figure,.green-figure,.clean-figure) figcaption { min-height:0; padding:13px 17px 16px; background:#faf8f2; }
.service-detail-page :is(.fit-caption-kicker,.green-caption-kicker,.clean-caption-kicker) { font-size:.65rem; color:#4d666f; }
.service-detail-page :is(.fit-figure,.green-figure,.clean-figure) figcaption strong { color:var(--detail-ink); font-size:1.02rem; }
.service-detail-page :is(.fit-figure,.green-figure,.clean-figure) figcaption p { font-size:.84rem; }
.service-detail-page :is(.fit-services,.green-services,.clean-services) { border:0; }
.service-detail-page :is(.fit-services-head,.green-services-head,.clean-services-head) { padding:0 0 .95rem; }
.service-detail-page :is(.fit-services-head,.green-services-head,.clean-services-head) > p:last-child { font-size:.87rem; }
.service-detail-page :is(.fit-service,.green-service,.clean-service) { margin-bottom:.45rem; border:1px solid var(--detail-line); border-radius:8px; background:#fbf9f4; box-shadow:none; scroll-margin-top:155px; }
.service-detail-page :is(.fit-service,.green-service,.clean-service):last-of-type { border-bottom:1px solid var(--detail-line); }
.service-detail-page :is(.fit-service,.green-service,.clean-service) > summary { min-height:53px; padding:8px 12px; gap:10px; }
.service-detail-page :is(.fit-service,.green-service,.clean-service) h3 { font-size:.96rem; font-weight:600; }
.service-detail-page :is(.fit-service-number,.green-service-number,.clean-service-number) { display:grid; place-items:center; flex:0 0 1.8rem; height:1.8rem; border-radius:50%; background:#ece6d9; color:var(--detail-ink); font-size:.73rem; letter-spacing:0; font-weight:700; }
.service-detail-page :is(.fit-service,.green-service,.clean-service):is(.is-active,[open]) { background:#e9efea; border-color:#8ea6ac; }
.service-detail-page :is(.fit-service,.green-service,.clean-service)[open] { box-shadow:inset 3px 0 var(--detail-ink); }
.service-detail-page :is(.fit-service,.green-service,.clean-service)[open] :is(.fit-service-number,.green-service-number,.clean-service-number) { background:var(--detail-ink); color:white; }
.service-detail-page :is(.fit-service-content,.green-service-content,.clean-service-content) { padding:2px 16px 15px 50px; }
.service-detail-page :is(.fit-service-content,.green-service-content,.clean-service-content) p { font-size:.91rem; }
.service-detail-page :is(.fit-next,.green-next,.clean-next) { border:1px solid #c4cfc9; background:#e5ebe5; border-radius:10px; padding:clamp(16px,3vw,30px); margin-block:4px 28px; }
.service-detail-page :is(.fit-area,.green-area,.clean-area), .site-scene .raster-region { stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.service-detail-page :is(.fit-hotspot,.green-hotspot,.clean-hotspot):is(.is-active,:hover,:focus-visible) :is(.fit-area,.green-area,.clean-area) { fill-opacity:.19; stroke:#31576f; stroke-width:2; }
.service-detail-page :is(.fit-hotspot,.green-hotspot,.clean-hotspot):focus-visible :is(.fit-area,.green-area,.clean-area) { stroke-width:3; stroke-dasharray:5 4; }
.service-detail-page :is(.fit-hotspot,.green-hotspot,.clean-hotspot):is(.is-active,:hover,:focus-visible) circle { fill:#31576f; }
.service-detail-page :is(.fit-image-map,.green-image-map,.clean-image-map) img, .site-scene img, .w-world-card img { filter:saturate(.8) contrast(.985); }

@media (max-width:1020px) and (min-width:801px) { .service-detail-page .n-desktop-links { gap:3px; } .service-detail-page .n-desktop-links a { padding-inline:8px; } }
@media (max-width:800px) {
  .service-detail-page :is(.fit-explorer,.green-explorer,.clean-explorer) { grid-template-columns:minmax(0,1fr); }
  .service-detail-page :is(.fit-service,.green-service,.clean-service) > summary { min-height:54px; }
  .service-detail-page :is(.fit-marker,.green-marker,.clean-marker) { display:inline; }
  .service-detail-page :is(.fit-marker,.green-marker,.clean-marker) circle { r:35px; }
  .service-detail-page :is(.fit-marker,.green-marker,.clean-marker) text { font-size:26px; }
}
.service-detail-page .service-intro-band { background:var(--detail-deep); }

.service-detail-page img[src*="industrie-montage-v2"] { filter:url("/assets/scene-whitebalance.svg#montage") saturate(.8); }
.service-detail-page img[src*="privat-ausbau-v2"] { filter:url("/assets/scene-whitebalance.svg#attic") saturate(.83); }
.service-detail-page img[src*="privat-aussen-v2"] { filter:url("/assets/scene-whitebalance.svg#garden") saturate(.77); }
.site-scene img[src*="wohnanlage-service-v2"] { filter:url("/assets/scene-whitebalance.svg#estate") saturate(.82); }
.service-detail-page img[src*="objektbetreuung-gewerbe-v1"] { filter:url("/assets/scene-whitebalance.svg#care") saturate(.83); }
.service-list-jump { display:none; }
@media (max-width:800px) {
  .service-detail-page :is(.fit-visual-head,.green-visual-head,.clean-visual-head) { align-items:center; }
  .service-detail-page :is(.fit-visual-head,.green-visual-head,.clean-visual-head) > span:nth-child(2) { display:none; }
  .service-list-jump { display:inline-flex; align-items:center; justify-content:end; min-height:44px; margin-block:-6px; text-align:right; text-transform:none; letter-spacing:0; font-size:.8rem; color:#2e4a66; text-decoration:underline; text-underline-offset:3px; }
  #service-options { scroll-margin-top:144px; }
}