
.zmn-service-page,.zmn-service-page main{background:var(--bg-primary)!important}
.zmn-service-page:not(.dark-mode){--text-secondary:#526174}
.zmn-service-page main :is(h1,h2,h3,h4){color:var(--text-primary)!important;-webkit-text-fill-color:var(--text-primary)!important;background-image:none!important;background-clip:border-box!important;-webkit-background-clip:border-box!important;text-shadow:none}
.zmn-service-page main .faq-hero :is(h1,h2,h3){color:#fff!important;-webkit-text-fill-color:#fff!important}
.zmn-service-page main .service-heading h2,.zmn-service-page main .service-process h3,.zmn-service-page main .service-quality h3{color:var(--text-primary)!important}
.zmn-service-page #home .hero-content>p,.zmn-service-page #home .hero-content h1,.zmn-service-page #home .hero-cta-group>a{animation:none;opacity:1;transform:none}
.zmn-service-page:not(.dark-mode) .service-kicker,.zmn-service-page:not(.dark-mode) .service-number,.zmn-service-page:not(.dark-mode) .service-breadcrumb a{color:#23699a}
.zmn-service-page #home{display:block;min-height:0;padding:170px 28px 80px;isolation:isolate;background:var(--bg-primary);overflow:hidden}
.zmn-service-page #home::before,.zmn-service-page #home::after{display:none}
.zmn-service-page #home{padding-top:170px!important;margin-top:0!important}
.zmn-service-page .service-hero-shell{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:56px}
.zmn-service-page #home .hero-content{position:relative;margin:0;padding:0;width:100%;max-width:none;text-align:left;z-index:2}
.zmn-service-page #home .hero-content h1{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.15;overflow-wrap:normal;hyphens:manual;margin:18px 0 24px;color:var(--text-primary)}
.zmn-service-page #home .hero-check-btn{color:var(--text-primary)}
.zmn-service-page .service-hero-photo{position:relative;z-index:2}
.zmn-service-page #home .hero-content p{font-size:1.07rem;line-height:1.8;max-width:none;margin:0 0 24px;color:var(--text-secondary)}
.zmn-service-page #home .hero-cta-group{justify-content:flex-start;gap:12px;margin-top:26px}
.service-breadcrumb{font-size:.88rem;display:flex;flex-wrap:wrap;gap:10px;line-height:1.5;margin-bottom:22px;color:var(--text-secondary)}
.service-breadcrumb a{color:var(--accent-blue);text-decoration:underline;text-underline-offset:3px}
.service-kicker{color:var(--accent-blue);font-weight:700;font-size:.85rem;letter-spacing:.07em;text-transform:uppercase}
.service-hero-photo{margin:0;position:relative;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:28px;box-shadow:var(--shadow-light);transform:rotate(1deg)}
.service-hero-photo img{width:100%;height:430px;object-fit:cover;border-radius:20px;display:block}
.service-hero-photo figcaption{padding:14px 8px 4px;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}
.service-hero-area{display:block;margin-top:20px;font-size:.88rem;color:var(--text-secondary)}
.service-shell{max-width:1200px;margin:auto;padding:80px 28px;scroll-margin-top:145px}
.service-shell>.service-heading{max-width:780px;margin-bottom:36px}
.service-shell h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.25;margin:12px 0 18px;color:var(--text-primary)}
.service-shell p{color:var(--text-secondary);line-height:1.75}
.service-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-scope-card{padding:30px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;transition:transform .25s ease,border-color .25s ease}
.service-scope-card h3{font-size:1.25rem;line-height:1.4;margin:12px 0;color:var(--text-primary)}
.service-scope-card p{margin:0}.service-number{font-size:.9rem;color:var(--accent-blue);font-weight:700;letter-spacing:.12em}
.service-planner{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:28px;margin:30px auto;padding:44px}
.service-planner-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:38px;align-items:start}
.service-planner fieldset{padding:0;border:0;margin:0;min-width:0}.service-planner legend{font-weight:700;margin-bottom:16px;color:var(--text-primary)}
.service-plan-options{display:grid;gap:10px}.service-plan-options button{font:inherit;text-align:left;min-height:50px;padding:15px 18px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;line-height:1.4}
.service-plan-options button[aria-pressed=true]{border-color:var(--accent-blue);box-shadow:inset 4px 0 var(--accent-blue)}
.service-plan-options button:focus-visible,.service-planner input:focus-visible,.service-planner select:focus-visible{outline:3px solid var(--accent-blue);outline-offset:3px}
.service-plan-fields{display:grid;gap:14px;margin:22px 0}.service-plan-fields label{font-size:.93rem;color:var(--text-primary);display:grid;gap:8px}
.service-plan-fields input,.service-plan-fields select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);background:var(--bg-primary);font:inherit;min-height:46px;box-sizing:border-box}
.service-plan-advice{background:var(--bg-primary);border-left:3px solid var(--accent-blue);padding:22px;border-radius:0 14px 14px 0;min-height:120px;margin-top:20px}
.service-plan-advice p{margin:8px 0 0}.service-planner .cta-button{margin-top:20px;font:inherit;cursor:pointer;border:0;white-space:normal;text-align:center;line-height:1.5}
.service-plan-notice{font-size:.87rem;margin-top:20px}.service-motion{background:var(--bg-primary);border-radius:22px;border:1px solid var(--border-color);padding:18px;color:var(--accent-blue);margin:0;overflow:hidden}
.service-planner .hero-phone-btn{color:var(--text-primary);border-color:var(--accent-blue);background:var(--bg-primary);box-sizing:border-box;white-space:normal;text-align:center;line-height:1.5}
.service-planner:not(.has-plan-js) #service-plan-transfer{display:none}
.service-motion svg{display:block;width:100%;height:auto}.service-motion figcaption{font-size:.85rem;line-height:1.65;color:var(--text-secondary);padding:8px}
.service-motion .motion-part{animation-play-state:paused;transform-box:fill-box;transform-origin:center;will-change:auto}
.service-motion.is-active .motion-part{animation-play-state:running}
.service-motion .motion-float{animation:service-float 4s ease-in-out infinite paused}.service-motion .motion-scan{animation:service-scan 4s ease-in-out infinite paused}
.service-motion .motion-flow{animation:service-flow 3s linear infinite paused}.service-motion .motion-pulse{animation:service-pulse 3.5s ease-in-out infinite paused}
.service-motion .motion-check{animation:service-check 5s ease-in-out infinite paused}
@keyframes service-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes service-scan{0%,100%{transform:translateY(-50px)}50%{transform:translateY(70px)}}
@keyframes service-flow{from{transform:translateX(-24px)}to{transform:translateX(24px)}}
@keyframes service-pulse{0%,100%{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1.04)}}
@keyframes service-check{0%,100%{opacity:.35;transform:translateY(3px)}35%,75%{opacity:1;transform:translateY(0)}}
.service-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;padding:0;margin:0;counter-reset:work}
.service-process li{border-top:2px solid var(--accent-blue);padding-top:22px;counter-increment:work}.service-process li:before{content:'0' counter(work);color:var(--accent-blue);font-weight:700;font-size:2rem}
.service-process h3{font-size:1.2rem;line-height:1.45;margin:14px 0}.service-process p{margin:0}
.service-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-gallery figure{margin:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;overflow:hidden}
.service-gallery img{width:100%;height:320px;object-fit:cover;display:block}.service-gallery figcaption{padding:20px;color:var(--text-secondary);font-size:.92rem;line-height:1.6}
.service-quality{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-quality h3{font-size:1.1rem;margin:0 0 10px;line-height:1.45}.service-quality p{font-size:.95rem;margin:0}
.service-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-related-links a{padding:22px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;color:var(--text-primary);text-decoration:none;line-height:1.5;font-weight:600}
.service-related-links a:hover{border-color:var(--accent-blue)}.service-contact-invitation{background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}
.service-tool-anchor{scroll-margin-top:140px;padding:0 16px}.service-tool-anchor>.service-tool{margin:24px auto;border:1px solid var(--border-color);border-radius:26px;background:var(--bg-secondary)}
.service-contact-meta{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:24px;margin-top:20px;border-top:1px solid var(--border-color);font-size:.92rem;line-height:1.7;color:var(--text-secondary)}
.service-contact-meta a{color:var(--text-primary);text-underline-offset:4px}
.zmn-service-page[data-service-key="damage"] .service-hero-photo,.zmn-service-page[data-service-key="emergency"] .service-hero-photo,.zmn-service-page[data-service-key="hausservice"] .service-hero-photo{transform:none}
.zmn-service-page[data-service-key="damage"] .service-hero-photo img,.zmn-service-page[data-service-key="emergency"] .service-hero-photo img,.zmn-service-page[data-service-key="hausservice"] .service-hero-photo img{height:auto;aspect-ratio:3/2;object-fit:cover}
@media(hover:hover){.service-scope-card:hover{transform:translateY(-4px);border-color:var(--accent-blue)}}
@media(max-width:1000px){.zmn-service-page .service-hero-shell{gap:28px}.service-hero-photo img{height:380px}.service-planner-grid{grid-template-columns:1fr}.service-motion{max-width:440px;margin:auto}.service-gallery img{height:270px}}
@media(max-width:768px){.zmn-service-page #home{padding:150px 20px 50px}.zmn-service-page .service-hero-shell{grid-template-columns:1fr;gap:30px}.zmn-service-page #home .hero-content h1{font-size:clamp(2rem,8vw,3rem)}.service-hero-photo{transform:none}.service-hero-photo img{height:300px}.service-shell{padding:52px 20px}.service-scope-grid,.service-process,.service-quality,.service-related-links{grid-template-columns:1fr}.service-gallery{grid-template-columns:1fr}.service-gallery img{height:350px}.service-planner{margin:15px 12px;padding:28px 18px;border-radius:20px}.service-plan-advice{min-height:0}.service-planner .cta-button{width:100%}.service-scope-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.service-motion .motion-part{animation:none!important}.service-scope-card{transition:none}.service-scope-card:hover{transform:none}}


.service-tool{--tool-accent:var(--accent-blue);border-top:1px solid var(--border-color)}
.service-tool[data-tool="damage"]{--tool-accent:#3a8b85}.service-tool[data-tool="emergency"]{--tool-accent:#d45346}.service-tool[data-tool="hausservice"]{--tool-accent:#7384b5}
.service-tool-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.service-tool-controls{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:24px;padding:30px;min-width:0}
.service-tool fieldset{padding:0;border:0;margin:0 0 22px;min-width:0}.service-tool legend,.service-tool-label{font-weight:650;color:var(--text-primary);line-height:1.5;margin:0 0 12px;display:block}
.service-tool-fields{display:grid;gap:18px}.service-tool-field{display:grid;gap:9px;font-size:.95rem;color:var(--text-primary)}.service-tool select,.service-tool input[type=number]{border:1px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);font:inherit;min-height:48px;padding:12px;width:100%;box-sizing:border-box}
.service-tool-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-tool-choices{display:grid;gap:12px}.service-tool-choice{display:flex;align-items:flex-start;gap:12px;line-height:1.55;padding:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.service-tool-choice input{accent-color:var(--tool-accent);height:19px;width:19px;flex:0 0 19px;margin-top:3px}.service-tool-choice:has(input:checked){border-color:var(--tool-accent)}
.service-tool input:focus-visible,.service-tool select:focus-visible,.service-tool button:focus-visible{outline:3px solid var(--tool-accent);outline-offset:3px}.service-tool-visual{margin:0;max-width:none!important;border-radius:24px!important;color:var(--tool-accent);box-sizing:border-box}.service-tool-visual svg{aspect-ratio:5/4;width:100%;height:auto;display:block}.service-tool-visual figcaption{font-size:.86rem;line-height:1.6;padding:10px 8px 0;color:var(--text-secondary)}
.service-tool-result{margin:22px 0 0;padding:18px 20px;border-radius:14px;border-left:3px solid var(--tool-accent);background:var(--bg-primary);font-size:1rem;line-height:1.65;color:var(--text-primary)}.service-tool-output{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:12px}.service-tool-output li{padding:15px 18px;border:1px solid var(--border-color);border-radius:12px;line-height:1.6;background:var(--bg-secondary);color:var(--text-secondary)}.service-tool-output strong{display:block;color:var(--text-primary);margin-bottom:4px}.service-tool-output li.is-planned{border-left:3px solid var(--tool-accent)}
.service-tool-footer{margin-top:26px}.service-tool-footer button{font:inherit;cursor:pointer;white-space:normal;line-height:1.5;border:0;margin:0}.service-tool-footer button:disabled{opacity:.5;cursor:default}.service-tool-note{font-size:.9rem;margin:18px 0 0;line-height:1.7!important}.service-tool-local{font-size:.82rem!important;margin:12px 0 0;color:var(--text-secondary)}.service-tool:not(.has-tool-js) [data-tool-transfer]{display:none}
.service-tool-footer .cta-button{background:#be3535!important;background-image:none!important;color:#fff;animation:none!important;opacity:1;transform:none}.service-tool-footer .cta-button:disabled{opacity:.5}
.service-tool-alert{padding:18px 22px;border:1px solid #d45346;border-radius:14px;background:var(--bg-secondary);color:var(--text-primary);line-height:1.7;margin:0 0 22px}.service-tool-alert a,.service-tool-call{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border-radius:12px;border:1px solid var(--tool-accent);color:var(--text-primary);font-weight:650;text-decoration:none;line-height:1.5;margin-top:14px;box-sizing:border-box}.service-tool-links{display:flex;gap:12px;flex-wrap:wrap}.service-tool-sources{font-size:.85rem;margin:14px 0 0}.service-tool-sources a{color:var(--text-primary);text-underline-offset:3px}
.service-tool [data-room-floor]{fill:#bd936b;transition:fill .35s ease}.service-tool [data-room-wall]{fill:#f2efe8;transition:fill .35s ease}.service-tool [data-room-wall-side]{fill:#dad7d0;transition:fill .35s ease}.service-tool [data-room-grain]{opacity:.32;transition:opacity .35s ease}.service-tool [data-room-stone]{opacity:0;transition:opacity .35s ease}.service-tool [data-room-outline]{stroke:var(--tool-accent);opacity:.45}
.service-tool [data-damage-mark]{opacity:.12;transition:opacity .3s ease}.service-tool [data-damage-mark].is-marked{opacity:1}.service-tool [data-calendar-mark]{opacity:.16;transition:opacity .3s ease}.service-tool [data-calendar-mark].is-planned{opacity:1}
.service-tool [data-emergency-symbol]{opacity:0;transition:opacity .3s ease}.service-tool [data-emergency-symbol].is-selected{opacity:1}
.service-tool-extra{margin:22px 0 0;border-top:1px solid var(--border-color);padding-top:18px}.service-tool-extra>summary{font-size:1rem;font-weight:650;line-height:1.6;color:var(--text-primary);cursor:pointer;padding:8px 0;min-height:40px;box-sizing:border-box}.service-tool-extra>summary:focus-visible{outline:3px solid var(--tool-accent);outline-offset:3px;border-radius:6px}
.service-tool-extra p{font-size:.91rem;line-height:1.7;color:var(--text-secondary)}.service-tool-extra .service-tool-fields{gap:16px;margin:18px 0}.service-tool-extra input[type=text],.service-tool-extra input[type=date]{width:100%;min-height:48px;padding:12px;font:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-sizing:border-box}.service-tool-extra [hidden]{display:none!important}
.service-tool-extra-output{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}.service-tool-extra-output li{font-size:.91rem;line-height:1.7;color:var(--text-secondary);padding-left:14px;border-left:2px solid var(--tool-accent)}.service-tool-extra-result{color:var(--text-primary)!important;border-radius:10px;padding:13px 15px;background:var(--bg-primary);margin:14px 0!important;white-space:pre-line;overflow-wrap:anywhere}
.service-tool-extra-visual{margin:16px 0 0!important;padding:12px!important;border-radius:14px!important;max-width:none!important;color:var(--tool-accent)!important}.service-tool-extra-visual svg{aspect-ratio:19/7;width:100%;height:auto}.service-tool-extra-visual figcaption{padding:8px 3px 0;font-size:.78rem;line-height:1.6;color:var(--text-secondary)}.service-tool-extra [data-extra-mark]{opacity:.18;transition:opacity .3s ease}.service-tool-extra [data-extra-mark].is-chosen{opacity:1}
.service-tool-extra .tool-extra-scope{animation:tool-extra-scope 4s ease-in-out infinite paused;transform-box:fill-box;transform-origin:center}.service-tool-extra .tool-extra-time{animation:tool-extra-time 4.4s ease-in-out infinite paused}.service-tool-extra .tool-extra-note{animation:tool-extra-note 3.8s ease-in-out infinite paused}.service-tool-extra .tool-extra-building{animation:tool-extra-building 4.6s ease-in-out infinite paused}
.service-tool-extra .service-motion.is-active .tool-extra-scope,.service-tool-extra .service-motion.is-active .tool-extra-time,.service-tool-extra .service-motion.is-active .tool-extra-note,.service-tool-extra .service-motion.is-active .tool-extra-building{animation-play-state:running}
@keyframes tool-extra-scope{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes tool-extra-time{0%,100%{opacity:.35}50%{opacity:1}}@keyframes tool-extra-note{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}@keyframes tool-extra-building{0%,100%{opacity:.65}50%{opacity:1}}
.service-tool .tool-room-layer{animation:tool-room-layer 5s ease-in-out infinite paused;transform-box:fill-box;transform-origin:center}.service-tool .tool-scan-line{animation:tool-scan-line 4s ease-in-out infinite paused}.service-tool .tool-route-point{animation:tool-route-point 3.4s ease-in-out infinite paused}.service-tool .tool-calendar-bar{animation:tool-calendar-bar 4s ease-in-out infinite paused;transform-box:fill-box;transform-origin:left}
.service-tool .service-motion.is-active .tool-room-layer,.service-tool .service-motion.is-active .tool-scan-line,.service-tool .service-motion.is-active .tool-route-point,.service-tool .service-motion.is-active .tool-calendar-bar{animation-play-state:running}
@keyframes tool-room-layer{0%,100%{transform:translateY(0)}45%,60%{transform:translateY(-5px)}}@keyframes tool-scan-line{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(120px);opacity:.7}}@keyframes tool-route-point{0%,100%{opacity:.4}50%{opacity:1}}@keyframes tool-calendar-bar{0%,100%{transform:scaleX(.82)}50%{transform:scaleX(1)}}
@media(max-width:900px){.service-tool-layout{grid-template-columns:1fr}.service-tool-visual{max-width:560px!important;width:100%;margin:auto}.service-tool-controls{padding:24px}.service-tool-output{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.service-tool-controls{padding:20px}.service-tool-output{grid-template-columns:1fr}.service-tool-dimensions{grid-template-columns:1fr}.service-tool-layout{gap:24px}.service-tool-alert{padding:16px}}
@media(prefers-reduced-motion:reduce){.service-tool svg *{animation:none!important;transition:none!important}}
