:root{--green:#a8e238;--green-dark:#78aa16;--ink:#111512;--ink-2:#1b241d;--paper:#fff;--soft:#f2f5f1;--muted:#677168;--line:#dbe1dc;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topline{height:30px;padding:0 max(4vw,18px);display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#dce4de;font-size:12px;letter-spacing:.4px}.topline span:first-child{color:var(--green);font-weight:900;text-transform:uppercase}
header{height:86px;padding:7px max(4vw,18px);display:flex;align-items:center;gap:30px;position:sticky;top:0;z-index:30;background:#fffd;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px}.brand img{width:96px;height:68px;object-fit:contain}.brand b,.brand small{display:block}.brand b{font-size:19px;line-height:1.1}.brand small{margin-top:3px;color:var(--muted);font-size:12px}header nav{display:flex;gap:26px;margin-left:auto}header nav a{font-size:14px;font-weight:800}header nav a:hover{color:var(--green-dark)}.call{background:var(--green);color:#10150f;border-radius:7px;font-weight:900}.top-call{display:flex;flex-direction:column;padding:9px 17px;line-height:1.15}.top-call span{font-size:10px;text-transform:uppercase;letter-spacing:.8px}.top-call b{font-size:16px;margin-top:3px}
.hero{max-width:var(--max);min-height:520px;margin:24px auto 0;padding:22px;display:grid;grid-template-columns:1.08fr .92fr;gap:22px;background:#f3f6f2;color:var(--ink);overflow:hidden;border:1px solid var(--line);border-radius:12px}.hero-copy{position:relative;padding:82px 34px 40px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.eyebrow{margin:0;color:var(--green-dark);font-size:12px;font-weight:900;letter-spacing:1.55px;text-transform:uppercase}.eyebrow.dark{color:var(--green-dark)}h1{position:relative;z-index:2;font-size:clamp(48px,5vw,70px);line-height:.96;letter-spacing:-3.8px;margin:20px 0 22px}h1 em{font-style:normal;color:var(--green-dark)}.lead{position:relative;z-index:2;max-width:610px;margin:0;color:#475149;font-size:18px}.hero-actions,.trust-list,.eyebrow{position:relative;z-index:2}.hero-actions{display:flex;gap:12px;margin-top:28px}.primary,.secondary{padding:14px 20px;border-radius:6px;font-weight:900}.primary{background:var(--green);color:var(--ink)}.secondary{border:1px solid #aab4ac;color:var(--ink);background:#fff}.trust-list{display:flex;flex-wrap:wrap;gap:10px 22px;margin:26px 0 0;padding:0;list-style:none;color:#58635b;font-size:13px}.trust-list li::before{content:'✓';margin-right:7px;color:var(--green-dark);font-weight:bold}.hero-image{position:relative;min-height:476px;overflow:hidden;border-radius:9px}.hero-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#10151066,transparent 45%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 53%;filter:brightness(1.02) contrast(1.03)}.image-badge{position:absolute;right:18px;bottom:18px;z-index:2;display:flex;align-items:center;gap:11px;padding:12px 15px;background:#fff;color:var(--ink);border-radius:8px;box-shadow:0 12px 35px #0005}.image-badge strong{font-size:26px;color:var(--green-dark)}.image-badge span{font-size:12px;font-weight:bold;line-height:1.25}.flight-lane{position:absolute;z-index:1;top:10px;left:0;right:0;height:68px;overflow:hidden;pointer-events:none}.flight-lane span{position:absolute;top:5px;left:-105px;width:82px;opacity:0;animation:logo-flight 8s linear infinite}.flight-lane span:nth-child(2){animation-delay:-2.65s;top:17px;width:64px}.flight-lane span:nth-child(3){animation-delay:-5.3s;top:1px;width:72px}.flight-lane img{width:100%;filter:drop-shadow(0 5px 5px #0003)}@keyframes logo-flight{0%{transform:translateX(-30px) translateY(5px) rotate(-4deg);opacity:0}10%{opacity:.85}50%{transform:translateX(360px) translateY(-7px) rotate(1deg);opacity:.85}90%{opacity:.85}100%{transform:translateX(760px) translateY(4px) rotate(4deg);opacity:0}}@media(prefers-reduced-motion:reduce){.flight-lane{display:none}}
.quickbar{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.25fr .85fr 1fr .9fr;border:1px solid var(--line);border-top:0}.quickbar>div,.quickbar>a{min-height:90px;padding:18px 22px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.quickbar>div:first-child strong{font-size:21px}.quickbar>div:first-child span{color:var(--green-dark);font-size:21px;font-weight:900}.quickbar small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.quickbar b{margin-top:4px;font-size:15px}.quickbar>a{border:0;background:var(--green);font-weight:900;justify-content:center}
.section{padding:92px max(4vw,20px)}.section-head{max-width:var(--max);margin:0 auto 38px;display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:end}.section-head h2,.about h2,.contact h2{margin:8px 0 0;font-size:clamp(38px,4.5vw,60px);line-height:1.03;letter-spacing:-2px}.section-head>p{margin:0;color:var(--muted);font-size:17px}.service-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-grid article{min-height:370px;padding:14px 14px 24px;background:#fff;border:1px solid #dfe6e0;border-radius:16px;box-shadow:0 12px 35px #1e2d2220;transition:.28s ease}.service-grid article:hover{transform:translateY(-7px);border-color:#62c85e;box-shadow:0 20px 45px #1e2d2230}.service-grid h3{margin:8px 8px 10px;font-size:22px}.service-grid p{margin:0 8px;color:var(--muted)}.service-tag{display:inline-block;margin:16px 8px 0;color:#258c35;font-size:11px;font-weight:900;letter-spacing:1.2px}.service-icon{position:relative;display:block;height:150px;padding:12px;border-radius:12px;background:radial-gradient(circle at 70% 20%,#3c4a40 0,#1d2921 62%,#131b16 100%);border:1px solid #34483a;overflow:hidden;box-shadow:inset 0 0 35px #0005}.service-icon::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#ffffff12 45%,transparent 65%);transform:translateX(-120%);animation:service-sheen 5s ease-in-out infinite}.service-icon i{position:absolute;top:12px;right:14px;z-index:2;color:#b8f5bb66;font:800 12px/1 Arial;letter-spacing:1px}.service-icon svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 6px 8px #0007)}.ceramic{fill:#f8fbf9;stroke:#bff5c2;stroke-width:3;stroke-linejoin:round}.fixture-line{fill:none;stroke:#d8efe0;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.water{fill:#4bbcf5;opacity:.95}.drain{fill:#16211a;stroke:#a8e8ad;stroke-width:2}.pipe-shell{fill:#839087;stroke:#dce8df;stroke-width:2}.pipe-core{fill:#0c120e}.camera-wire{fill:none;stroke:#dce8df;stroke-width:5}.camera-car{fill:#cdd8d0;stroke:#bff5c2;stroke-width:3;animation:service-camera-drive 4.8s ease-in-out infinite}.camera-lens{fill:#56cbff}.camera-beam{fill:#56cbff;opacity:.4;animation:service-camera-light 1.5s ease-in-out infinite}.spiral-cable{fill:none;stroke:#d9e2dc;stroke-width:5}.spiral-head{fill:#e7eee9;stroke:#bff5c2;stroke-width:3;transform-origin:72px 73px;animation:service-cutter 1.2s linear infinite}.water-spray{fill:none;stroke:#55c8ff;stroke-width:4;stroke-linecap:round;stroke-dasharray:8 5;animation:service-water .7s linear infinite}.pipe-crack{fill:none;stroke:#ff875e;stroke-width:6}.liner{fill:#57d568;stroke:#eaf3ec;stroke-width:3;animation:service-liner-in 4.8s ease-in-out infinite}.liner-arrow{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}@keyframes service-camera-drive{0%,12%{transform:translateX(-34px)}48%,75%{transform:translateX(24px)}95%,100%{transform:translateX(-34px)}}@keyframes service-camera-light{0%,100%{opacity:.2}50%{opacity:.75}}@keyframes service-cutter{to{transform:rotate(360deg)}}@keyframes service-water{to{stroke-dashoffset:-26px}}@keyframes service-liner-in{0%,15%{transform:translateX(-58px)}55%,80%{transform:translateX(24px)}100%{transform:translateX(-58px)}}@keyframes service-sheen{0%,65%{transform:translateX(-120%)}82%,100%{transform:translateX(120%)}}
.work{background:var(--ink-2);color:#fff}.section-head.light>p{color:#bec8c0}.work-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:280px 280px;gap:14px}.work-grid figure{position:relative;margin:0;overflow:hidden;border-radius:8px;background:#222}.work-main{grid-row:1/3}.work-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.work-grid figure:hover img{transform:scale(1.025)}.work-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:54px 22px 20px;background:linear-gradient(transparent,#0b0e0cd9)}.work-grid figcaption b,.work-grid figcaption span{display:block}.work-grid figcaption b{font-size:18px}.work-grid figcaption span{margin-top:3px;color:#d2d9d3;font-size:13px}.case-study{max-width:var(--max);margin:0 auto}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:12px 70px;margin-bottom:28px}.case-intro .eyebrow{grid-column:1/-1}.case-intro h2{font-size:42px;line-height:1.08;margin:0}.case-intro>p:last-child{color:#bec8c0;margin:0;line-height:1.7}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.case-grid figure{margin:0;background:#181d19;border:1px solid #ffffff16;border-radius:8px;overflow:hidden}.case-grid img{display:block;width:100%;height:340px;object-fit:cover}.case-grid figcaption{display:block;padding:20px 22px 24px}.case-grid figcaption b,.case-grid figcaption span{display:block}.case-grid figcaption b{font-size:18px}.case-grid figcaption span{margin-top:7px;color:#bec8c0;font-size:14px;line-height:1.55}.brand-accent,.brand-name>span{color:var(--green)}.brand-name{color:#111;font-weight:900}.hero .brand-name{color:#fff}
.steps{background:var(--soft)}.steps ol{max-width:var(--max);margin:auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none}.steps li{display:flex;gap:18px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:7px}.steps li>b{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;background:var(--ink);color:var(--green);border-radius:50%}.steps h3{margin:2px 0 7px;font-size:20px}.steps p{margin:0;color:var(--muted)}
.about{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p{margin:0;color:var(--muted);font-size:18px}.about ul{margin:26px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.about li{padding:12px 0;border-bottom:1px solid var(--line);font-weight:bold}.about li::before{content:'✓';color:var(--green-dark);margin-right:8px}
.service-area{max-width:var(--max);margin:0 auto 70px;padding:42px 46px;background:var(--soft);border-left:5px solid var(--green);display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;align-items:center}.service-area h2{margin:8px 0 0;font-size:clamp(36px,4vw,54px);line-height:1.03;letter-spacing:-2px}.service-area p{margin:0;color:var(--muted);font-size:17px}.service-area .area-cities{margin-bottom:12px;color:var(--ink);font-size:clamp(20px,2.2vw,28px);font-weight:900;line-height:1.35}
.contact{padding:70px max(4vw,20px);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--ink);color:#fff}.contact>div:first-child{max-width:650px;margin-left:max(0px,calc((100vw - var(--max))/2))}.contact>div:first-child>p:last-child{color:#c9d1cb;font-size:18px}.contact-card{padding:28px;border:1px solid #4a574e;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;max-width:530px}.contact-card small{color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:1px}.contact-card>a:not(.mail){font-size:clamp(32px,4vw,52px);font-weight:900;letter-spacing:-2px}.contact-card span{color:#c4cec6}.contact-card .mail{margin-top:12px;color:var(--green);font-weight:bold}
footer{padding:26px max(4vw,20px);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}footer nav{display:flex;gap:18px}.floating-call{position:fixed;right:15px;bottom:15px;z-index:25;padding:13px 17px;background:var(--green);color:var(--ink);border-radius:8px;box-shadow:0 10px 30px #0005;font-weight:900}dialog{max-width:600px;padding:30px;border:0;border-radius:9px}dialog::backdrop{background:#000b}dialog button{float:right;border:0;background:none;font-size:28px;cursor:pointer}
@media(max-width:980px){header nav{display:none}.hero{margin:0;border-radius:0;grid-template-columns:1fr}.hero-copy{padding:48px max(5vw,24px)}.hero-image{min-height:380px}.hero-image::after{background:linear-gradient(0deg,#10151088,transparent 50%)}.quickbar{grid-template-columns:1fr 1fr}.quickbar>*:nth-child(2){border-right:0}.service-grid{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr;gap:15px}.case-intro{grid-template-columns:1fr;gap:14px}.case-intro .eyebrow{grid-column:auto}.about{grid-template-columns:1fr;gap:28px}.contact{grid-template-columns:1fr;gap:30px}.contact>div:first-child{margin-left:0}}
@media(max-width:620px){.topline span:last-child{display:none}header{height:70px;padding:4px 10px;gap:8px}.brand{gap:6px}.brand img{width:66px;height:50px}.brand b{font-size:14px}.brand small{font-size:9px}.top-call{margin-left:auto;padding:10px}.top-call span{display:none}.top-call b{font-size:12px;margin:0}.hero{display:flex;flex-direction:column;min-height:0;padding:0 0 14px;background:#f3f6f2;border-left:0;border-right:0}.hero-copy{order:1;min-height:0;padding:75px 20px 18px;background:transparent}.hero-copy .eyebrow{font-size:10px;letter-spacing:1.1px}h1{margin:10px 0 12px;font-size:36px;line-height:.99;letter-spacing:-2px}.lead{max-width:none;color:#4f5951;font-size:15px;line-height:1.45}.hero-actions{margin-top:17px;display:block;max-width:none}.hero-actions a{display:block;padding:13px 14px;text-align:center}.hero-actions .secondary{margin-top:6px;padding:7px;border:0;background:transparent;color:#344037;text-decoration:underline;text-underline-offset:3px}.trust-list{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:6px;margin-top:13px;color:#465047;font-size:12px}.trust-list li::before{margin-right:4px}.hero-image{order:2;position:relative;height:185px;min-height:185px;margin:0 14px;border-radius:8px}.hero-image::after{background:linear-gradient(0deg,#10151055 0%,transparent 44%)}.hero-image img{object-position:center 53%}.image-badge{display:flex;right:9px;bottom:9px;padding:7px 9px}.image-badge strong{font-size:20px}.image-badge span{font-size:9px}.flight-lane{height:58px;top:8px}.flight-lane span{width:58px;top:4px;animation-duration:7s}.flight-lane span:nth-child(2){width:45px;top:14px}.flight-lane span:nth-child(3){width:51px;top:1px}@keyframes logo-flight{0%{transform:translateX(-20px) translateY(4px) rotate(-4deg);opacity:0}10%{opacity:.8}50%{transform:translateX(220px) translateY(-5px) rotate(1deg);opacity:.8}90%{opacity:.8}100%{transform:translateX(500px) translateY(3px) rotate(4deg);opacity:0}}.quickbar{grid-template-columns:1fr 1fr}.quickbar>div,.quickbar>a{min-height:68px;padding:12px 14px;border-right:1px solid var(--line);border-bottom:0}.quickbar>div:nth-child(2),.quickbar>div:nth-child(3){display:none}.quickbar>div:first-child strong,.quickbar>div:first-child span{font-size:16px}.quickbar>a{border-right:0;text-align:center}.section{padding:64px 18px}.section-head h2,.about h2,.contact h2{font-size:39px;letter-spacing:-1.5px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0}.service-grid h3{margin-top:12px}.service-icon{height:145px}.work-grid{grid-template-columns:1fr;grid-template-rows:360px 240px 240px}.work-main{grid-row:auto}.case-study{margin:0}.case-intro h2{font-size:34px}.case-grid{grid-template-columns:1fr}.case-grid img{height:260px}.steps ol{grid-template-columns:1fr}.about ul{grid-template-columns:1fr}.contact{padding:58px 18px}.contact-card{padding:20px}.contact-card>a:not(.mail){font-size:31px}footer{flex-direction:column}.floating-call span{display:none}.floating-call{padding:12px 14px}}

.flight-lane span{top:6px;left:6%;width:66px;opacity:.86;animation-duration:12s;animation-timing-function:ease-in;animation-iteration-count:infinite}.flight-lane span:nth-child(1){left:4%;animation-name:fly-one}.flight-lane span:nth-child(2){left:22%;top:6px;width:66px;animation-name:fly-two}.flight-lane span:nth-child(3){left:40%;top:6px;width:66px;animation-name:fly-three}.flight-lane span:nth-child(4){left:58%;animation-name:fly-four}.flight-lane span:nth-child(5){left:76%;animation-name:fly-five}@keyframes fly-one{0%,14%{transform:none;opacity:.86}24%,100%{transform:translate(650px,-26px) rotate(8deg);opacity:0}}@keyframes fly-two{0%,26%{transform:none;opacity:.86}36%,100%{transform:translate(650px,-22px) rotate(8deg);opacity:0}}@keyframes fly-three{0%,38%{transform:none;opacity:.86}48%,100%{transform:translate(650px,-28px) rotate(8deg);opacity:0}}@keyframes fly-four{0%,50%{transform:none;opacity:.86}60%,100%{transform:translate(650px,-20px) rotate(8deg);opacity:0}}@keyframes fly-five{0%,62%{transform:none;opacity:.86}72%,100%{transform:translate(650px,-25px) rotate(8deg);opacity:0}}
@media(max-width:620px){.flight-lane span{top:8px!important;width:43px!important}.flight-lane span:nth-child(1){left:2%}.flight-lane span:nth-child(2){left:21%}.flight-lane span:nth-child(3){left:40%}.flight-lane span:nth-child(4){left:59%}.flight-lane span:nth-child(5){left:78%}@keyframes fly-one{0%,14%{transform:none;opacity:.86}24%,100%{transform:translate(430px,-18px) rotate(8deg);opacity:0}}@keyframes fly-two{0%,26%{transform:none;opacity:.86}36%,100%{transform:translate(430px,-15px) rotate(8deg);opacity:0}}@keyframes fly-three{0%,38%{transform:none;opacity:.86}48%,100%{transform:translate(430px,-20px) rotate(8deg);opacity:0}}@keyframes fly-four{0%,50%{transform:none;opacity:.86}60%,100%{transform:translate(430px,-14px) rotate(8deg);opacity:0}}@keyframes fly-five{0%,62%{transform:none;opacity:.86}72%,100%{transform:translate(430px,-17px) rotate(8deg);opacity:0}}}

.hero-brand-display{min-height:476px;padding:42px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--ink);border-radius:9px;overflow:hidden}.hero-brand-display>img{width:min(88%,430px);height:auto;filter:drop-shadow(0 14px 24px #0007)}.hero-brand-display>div{margin-top:20px;display:flex;flex-direction:column}.hero-brand-display strong{color:var(--green);font-size:25px}.hero-brand-display span{margin-top:2px;color:#d6ddd8;font-size:14px}.hero-brand-display a{margin-top:13px;color:#fff;font-size:25px;font-weight:900}.flight-lane span{animation-duration:10s}.flight-lane span:nth-child(1){left:18%;animation-name:fly-one}.flight-lane span:nth-child(2){left:58%;top:6px;width:66px;animation-name:fly-two}@keyframes fly-one{0%,18%{transform:none;opacity:.86}34%,100%{transform:translate(650px,-24px) rotate(8deg);opacity:0}}@keyframes fly-two{0%,48%{transform:none;opacity:.86}64%,100%{transform:translate(650px,-22px) rotate(8deg);opacity:0}}
@media(max-width:620px){.hero-brand-display{order:2;min-height:230px;margin:0 14px;padding:24px 18px}.hero-brand-display>img{width:min(76%,290px)}.hero-brand-display>div{margin-top:10px}.hero-brand-display strong{font-size:20px}.hero-brand-display span{font-size:12px}.hero-brand-display a{margin-top:7px;font-size:21px}.flight-lane span:nth-child(1){left:19%}.flight-lane span:nth-child(2){left:60%;top:8px!important;width:43px!important}@keyframes fly-one{0%,18%{transform:none;opacity:.86}34%,100%{transform:translate(430px,-17px) rotate(8deg);opacity:0}}@keyframes fly-two{0%,48%{transform:none;opacity:.86}64%,100%{transform:translate(430px,-15px) rotate(8deg);opacity:0}}}

.flight-lane span:nth-child(1){left:40%;animation-duration:8s;animation-name:single-flight}@keyframes single-flight{0%,22%{transform:none;opacity:.9}45%,100%{transform:translate(620px,-24px) rotate(8deg);opacity:0}}
@media(max-width:620px){.flight-lane span:nth-child(1){left:39%;animation-duration:8s}@keyframes single-flight{0%,22%{transform:none;opacity:.9}45%,100%{transform:translate(390px,-17px) rotate(8deg);opacity:0}}}

.hero-copy{padding:46px 34px}.hero-brand-display>img{animation:big-logo-flight 9s ease-in-out infinite;will-change:transform,opacity}@keyframes big-logo-flight{0%,42%{transform:translate(0,0) scale(1) rotate(0);opacity:1}68%{transform:translate(620px,-80px) scale(.72) rotate(9deg);opacity:0}69%,86%{transform:translate(620px,-80px) scale(.72) rotate(9deg);opacity:0}87%{transform:translate(-100px,20px) scale(.86) rotate(-4deg);opacity:0}100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.hero-brand-display>img{animation:none}}
@media(max-width:620px){.hero-copy{padding:25px 20px 18px}@keyframes big-logo-flight{0%,42%{transform:translate(0,0) scale(1) rotate(0);opacity:1}68%{transform:translate(390px,-55px) scale(.72) rotate(9deg);opacity:0}69%,86%{transform:translate(390px,-55px) scale(.72) rotate(9deg);opacity:0}87%{transform:translate(-75px,15px) scale(.86) rotate(-4deg);opacity:0}100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}}

.hero-brand-display>img{animation:delayed-logo-flight 12s ease-in-out infinite both;will-change:transform,opacity}@keyframes delayed-logo-flight{0%,25%{transform:translate(0,0) scale(1) rotate(0);opacity:1}40%{transform:translate(620px,-80px) scale(.72) rotate(9deg);opacity:0}40%,62%{transform:translate(620px,-80px) scale(.72) rotate(9deg);opacity:0}63%{transform:translate(-100px,20px) scale(.86) rotate(-4deg);opacity:0}78%,100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}
@media(max-width:620px){.trust-list{flex-wrap:wrap;justify-content:flex-start;gap:7px 16px}.hero-brand-display>img{animation-duration:12s}@keyframes delayed-logo-flight{0%,25%{transform:translate(0,0) scale(1) rotate(0);opacity:1}40%{transform:translate(390px,-55px) scale(.72) rotate(9deg);opacity:0}40%,62%{transform:translate(390px,-55px) scale(.72) rotate(9deg);opacity:0}63%{transform:translate(-75px,15px) scale(.86) rotate(-4deg);opacity:0}78%,100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}}
@media(prefers-reduced-motion:reduce){.hero-brand-display>img{animation:none}}

.contact-intro{max-width:650px;margin-left:max(0px,calc((100vw - var(--max))/2))}.contact-intro>p:last-of-type{color:#c9d1cb;font-size:18px}.contact .contact-card{margin-top:24px;max-width:none}.whatsapp-direct{margin:16px 0 14px;padding:13px 17px;background:#25d366!important;color:#071d0f!important;border-radius:6px;font-size:16px!important;letter-spacing:0!important}.request-form{max-width:560px;padding:28px;background:#fff;color:var(--ink);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.request-form>div,.request-form label:nth-of-type(4),.request-form button,.request-form>small{grid-column:1/-1}.request-form h3{margin:5px 0 2px;font-size:28px}.request-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:800}.request-form input,.request-form textarea{width:100%;padding:12px 13px;border:1px solid #cbd3cd;border-radius:6px;background:#f8faf8;color:var(--ink);font:16px/1.35 Arial,Helvetica,sans-serif}.request-form textarea{resize:vertical}.request-form input:focus,.request-form textarea:focus{outline:3px solid #a8e23866;border-color:var(--green-dark)}.request-form button{padding:14px 18px;border:0;border-radius:6px;background:#25d366;color:#071d0f;font-size:16px;font-weight:900;cursor:pointer}.request-form>small{color:#667068;line-height:1.45}.floating-whatsapp{position:fixed;right:15px;bottom:72px;z-index:25;padding:12px 15px;background:#25d366;color:#071d0f;border-radius:8px;box-shadow:0 10px 30px #0004;font-size:13px;font-weight:900}
.contact-card>a.google-review{width:100%;margin-top:20px;padding:14px 17px;display:flex;align-items:center;justify-content:center;gap:11px;background:#fff;color:#1f1f1f;border-radius:6px;font-size:16px!important;letter-spacing:0!important;box-shadow:0 8px 24px #0003}.google-review span{color:#fbbc04;font-size:18px;letter-spacing:1px}.google-review b{font-size:16px}.google-review:hover{background:#f5f7f5}.google-review:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.request-form .form-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-form .form-actions button{grid-column:auto}.request-form #email-submit{background:var(--ink);color:#fff}.contact-card .mail+.mail{margin-top:5px}
@media(max-width:980px){.contact-intro{margin-left:0}.request-form{max-width:none}}
@media(max-width:980px){.service-area{margin:0 20px 55px;grid-template-columns:1fr;gap:22px}}
@media(max-width:620px){.request-form{grid-template-columns:1fr;padding:20px}.request-form label{grid-column:1/-1}.request-form h3{font-size:25px}.request-form .form-actions{grid-template-columns:1fr}.floating-whatsapp{right:64px;bottom:15px}.floating-call{right:15px}}
@media(max-width:620px){.service-area{margin:0 14px 44px;padding:28px 22px}.service-area h2{font-size:36px;letter-spacing:-1.5px}.service-area .area-cities{font-size:20px}}

footer{padding-right:230px}
@media(max-width:620px){footer{padding-right:20px;padding-bottom:92px}}

/* Kompakte Kontaktknöpfe: jederzeit erreichbar, ohne Inhalte zu verdecken. */
.floating-call,.floating-whatsapp{width:56px;height:56px;padding:0;border-radius:50%;display:grid;place-items:center;text-align:center}
.floating-call span{display:none}
.floating-call{right:18px;bottom:18px;font-size:22px}
.floating-whatsapp{right:18px;bottom:84px;font-size:12px;letter-spacing:.3px}
footer{padding-right:100px}
@media(max-width:620px){.floating-call,.floating-whatsapp{width:52px;height:52px;bottom:15px}.floating-call{right:15px}.floating-whatsapp{right:76px}footer{padding-right:20px;padding-bottom:86px}}

.hero-flight-slogan{margin:0 0 18px;color:#fff;font-size:18px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
@media(max-width:620px){.hero-flight-slogan{margin-bottom:10px;font-size:14px;letter-spacing:.8px}}

/* Das Logo bleibt zuerst sichtbar und kehrt nach einer kurzen Pause zurück. */
.hero-brand-display>img{animation-duration:10s}
@keyframes delayed-logo-flight{0%,30%{transform:translate(0,0) scale(1) rotate(0);opacity:1}48%{transform:translate(620px,-80px) scale(.72) rotate(9deg);opacity:0}48%,58%{transform:translate(620px,-80px) scale(.72) rotate(9deg);opacity:0}59%{transform:translate(-100px,20px) scale(.86) rotate(-4deg);opacity:0}76%,100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}
@media(max-width:620px){@keyframes delayed-logo-flight{0%,30%{transform:translate(0,0) scale(1) rotate(0);opacity:1}48%{transform:translate(390px,-55px) scale(.72) rotate(9deg);opacity:0}48%,58%{transform:translate(390px,-55px) scale(.72) rotate(9deg);opacity:0}59%{transform:translate(-75px,15px) scale(.86) rotate(-4deg);opacity:0}76%,100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}}

/* Einheitliche technische Mini-Filme im Leistungsbereich. */
.services{background:#f5f6f4}.services .service-grid{grid-template-columns:repeat(3,1fr);gap:18px}.services .service-grid article{min-height:390px;padding:0 0 27px;overflow:hidden;border:1px solid #dde2de;border-radius:10px;background:#fff;box-shadow:0 10px 26px #1115120d}.services .service-grid article:hover{transform:translateY(-3px);border-color:#b8c3ba;box-shadow:0 15px 34px #11151217}.services .service-grid h3{margin:22px 24px 9px;color:#172019;font-size:23px}.services .service-grid p{margin:0 24px;color:#606a62;font-size:16px}.service-film{display:block;height:205px;padding:18px;background:#fff;border-bottom:1px solid #e4e8e5}.service-film svg{display:block;width:100%;height:100%;overflow:visible}.tech-line{fill:none;stroke:#161d18;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.blue-fill{fill:#139ee5}.service-water-path{fill:none;stroke:#139ee5;stroke-width:18;stroke-linecap:round;stroke-dasharray:16 13;animation:water-through-pipe 2s linear infinite}.pipe-blockage{fill:#162019;animation:blockage-clear 5.5s ease-in-out infinite}.sink-water{animation:sink-water-level 4.6s ease-in-out infinite}.water-drop{fill:none;stroke:#139ee5;stroke-width:7;stroke-linecap:round;stroke-dasharray:10 8;animation:water-down 1s linear infinite}.wc-water{transform-origin:99px 101px;animation:wc-flush 4.7s ease-in-out infinite}.flush-line{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;animation:flush-sweep 4.7s ease-in-out infinite}.pipe-outline{fill:#f2f3f2;stroke:#161d18;stroke-width:5}.pipe-inside{fill:#fff;stroke:#939d95;stroke-width:3}.camera-cable-new,.pressure-hose-new{fill:none;stroke:#1c251f;stroke-width:7}.camera-unit{fill:#f7f8f7;stroke:#161d18;stroke-width:4;animation:camera-professional 5s ease-in-out infinite}.camera-cone{fill:#139ee52e;stroke:#139ee5;stroke-width:2;animation:camera-light-professional 1.7s ease-in-out infinite}.brown-dirt{fill:none;stroke:#7e5a35;stroke-width:9;stroke-linejoin:round}.pressure-tool{animation:pressure-professional 5.2s ease-in-out infinite}.pressure-head{fill:#202923;stroke:#fff;stroke-width:3}.pressure-jets{fill:none;stroke:#139ee5;stroke-width:5;stroke-linecap:round;stroke-dasharray:11 8;animation:pressure-flow .7s linear infinite}.pipe-damage{fill:none;stroke:#d84a2b;stroke-width:8}.liner-roll{animation:liner-professional 5.5s ease-in-out infinite}.liner-sleeve{fill:#a8e238;stroke:#161d18;stroke-width:4}.liner-direction{fill:none;stroke:#161d18;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}@keyframes water-through-pipe{to{stroke-dashoffset:-58px}}@keyframes blockage-clear{0%,32%,100%{opacity:1;transform:translate(0,0)}58%,82%{opacity:0;transform:translate(22px,18px)}}@keyframes sink-water-level{0%,18%,100%{transform:translateY(-7px);opacity:.35}45%,78%{transform:translateY(0);opacity:1}}@keyframes water-down{to{stroke-dashoffset:-36px}}@keyframes wc-flush{0%,25%,100%{transform:scaleY(.95);opacity:.95}52%,70%{transform:scaleY(.35);opacity:.35}}@keyframes flush-sweep{0%,25%,100%{stroke-dashoffset:0;opacity:1}52%,70%{stroke-dashoffset:35px;opacity:.2}}@keyframes camera-professional{0%,12%{transform:translateX(-46px)}48%,75%{transform:translateX(29px)}95%,100%{transform:translateX(-46px)}}@keyframes camera-light-professional{0%,100%{opacity:.2}50%{opacity:.8}}@keyframes pressure-professional{0%,13%{transform:translateX(-55px)}48%,76%{transform:translateX(38px)}96%,100%{transform:translateX(-55px)}}@keyframes pressure-flow{to{stroke-dashoffset:-38px}}@keyframes liner-professional{0%,13%{transform:translateX(-95px)}55%,78%{transform:translateX(47px)}98%,100%{transform:translateX(-95px)}}@media(max-width:980px){.services .service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.services .service-grid{grid-template-columns:1fr}.services .service-grid article{min-height:0}.service-film{height:190px}.services .service-grid h3{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.service-water-path,.pipe-blockage,.sink-water,.water-drop,.wc-water,.flush-line,.camera-unit,.camera-cone,.pressure-tool,.pressure-jets,.liner-roll{animation:none}}

/* Rohrreinigung: Eine echte Spirale fährt sichtbar in das aufgeschnittene Rohr. */
.spiral-pipe-shell{fill:#c3cac5;stroke:#171e19;stroke-width:4}.spiral-pipe-core{fill:#202923}.spiral-pipe-rim{fill:#aeb7b0;stroke:#171e19;stroke-width:4}.spiral-pipe-opening{fill:#202923;stroke:#e5e9e6;stroke-width:3}.pipe-deposit{fill:none;stroke:#815a32;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;animation:deposit-break 5.4s ease-in-out infinite}.cleaning-spiral{animation:spiral-into-real-pipe 5.4s ease-in-out infinite}.spiral-drive-line{fill:none;stroke:#252e28;stroke-width:6;stroke-linecap:round}.spiral-bit{fill:none;stroke:#a8e238;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.clean-direction{fill:none;stroke:#139ee5;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}@keyframes spiral-into-real-pipe{0%,12%{transform:translateX(-76px)}52%,78%{transform:translateX(51px)}96%,100%{transform:translateX(-76px)}}@keyframes deposit-break{0%,42%,100%{opacity:1;transform:translate(0,0)}62%,82%{opacity:0;transform:translate(18px,-9px)}}@media(prefers-reduced-motion:reduce){.cleaning-spiral,.pipe-deposit{animation:none}}
.combined-deposit{fill:none;stroke:#815a32;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;animation:combined-deposit-clear 9s ease-in-out infinite}.combined-spiral{animation:combined-spiral-pass 9s ease-in-out infinite}.combined-pressure{animation:combined-pressure-pass 9s ease-in-out infinite}.method-label{font:700 11px Arial,sans-serif;letter-spacing:1.2px;fill:#5c675f}.label-spiral{animation:label-spiral-show 9s ease-in-out infinite}.label-pressure{fill:#138fd0;animation:label-pressure-show 9s ease-in-out infinite}.location-signal{fill:none;stroke:#a8e238;stroke-width:4;stroke-linecap:round;animation:location-pulse 1.5s ease-in-out infinite}.signal-two{animation-delay:.2s}@keyframes combined-spiral-pass{0%,5%{transform:translateX(-82px);opacity:0}10%{opacity:1}34%{transform:translateX(50px);opacity:1}40%,100%{transform:translateX(-82px);opacity:0}}@keyframes combined-pressure-pass{0%,43%{transform:translateX(-72px);opacity:0}49%{opacity:1}73%{transform:translateX(45px);opacity:1}80%,100%{transform:translateX(-72px);opacity:0}}@keyframes combined-deposit-clear{0%,25%{opacity:1}38%,53%{opacity:.45}68%,88%{opacity:0}94%,100%{opacity:1}}@keyframes label-spiral-show{0%,39%{opacity:1}44%,100%{opacity:0}}@keyframes label-pressure-show{0%,42%{opacity:0}48%,86%{opacity:1}92%,100%{opacity:0}}@keyframes location-pulse{0%,100%{opacity:.25;transform:translateY(2px)}50%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.combined-deposit,.combined-spiral,.combined-pressure,.label-spiral,.label-pressure,.location-signal{animation:none}.combined-pressure,.label-pressure{opacity:1}.label-spiral{opacity:0}}
.located-break{fill:none;stroke:#e55234;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;animation:break-found-pulse 6s ease-in-out infinite}.damage-location{fill:none;stroke:#a8e238;stroke-width:4;stroke-linecap:round;opacity:0;animation:damage-location-show 6s ease-in-out infinite}.damage-location>circle{stroke-dasharray:8 6}.damage-location .location-pin{fill:#a8e238;stroke:#172019;stroke-width:3}.damage-location .pin-center{fill:#172019;stroke:none}.damage-found{font:700 10px Arial,sans-serif;letter-spacing:1.1px;fill:#4d5b51;opacity:0;animation:damage-location-show 6s ease-in-out infinite}@keyframes break-found-pulse{0%,38%,100%{stroke:#e55234;filter:none}52%,84%{stroke:#a8e238;filter:drop-shadow(0 0 5px #a8e238)}}@keyframes damage-location-show{0%,43%{opacity:0;transform:scale(.8);transform-origin:153px 80px}53%,87%{opacity:1;transform:scale(1);transform-origin:153px 80px}96%,100%{opacity:0;transform:scale(.8);transform-origin:153px 80px}}@media(prefers-reduced-motion:reduce){.located-break,.damage-location,.damage-found{animation:none}.damage-location,.damage-found{opacity:1}}
.liner-pipe-left,.liner-pipe-right{fill:#c3cac5;stroke:#171e19;stroke-width:4}.liner-pipe-left-core,.liner-pipe-right-core{fill:#202923}.offset-mark{fill:none;stroke:#e1e5e2;stroke-width:3}.liner-cracks{fill:none;stroke:#d84a2b;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;animation:liner-damage-hide 9s ease-in-out infinite}.liner-install{animation:liner-install-pass 9s ease-in-out infinite}.sealed-liner{fill:#a8e238;stroke:#171e19;stroke-width:3;opacity:0;animation:sealed-liner-show 9s ease-in-out infinite}.sealed-water{fill:none;stroke:#139ee5;stroke-width:15;stroke-linecap:round;stroke-dasharray:18 11;opacity:0;animation:sealed-water-flow 9s linear infinite}.water-arrow{fill:none;stroke:#eaf8ff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:sealed-result-show 9s ease-in-out infinite}.watertight-badges{fill:#a8e238;stroke:#172019;stroke-width:3;opacity:0;animation:sealed-result-show 9s ease-in-out infinite}.watertight-badges path{fill:none;stroke:#172019;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.liner-status{font:700 11px Arial,sans-serif;letter-spacing:1.4px;fill:#4c5b50;opacity:0;animation:sealed-result-show 9s ease-in-out infinite}@keyframes liner-install-pass{0%,8%{transform:translateX(-112px);opacity:0}14%{opacity:1}48%{transform:translateX(112px);opacity:1}56%,100%{transform:translateX(112px);opacity:0}}@keyframes liner-damage-hide{0%,49%{opacity:1}57%,89%{opacity:0}96%,100%{opacity:1}}@keyframes sealed-liner-show{0%,49%{opacity:0}57%,89%{opacity:1}96%,100%{opacity:0}}@keyframes sealed-result-show{0%,58%{opacity:0}65%,88%{opacity:1}96%,100%{opacity:0}}@keyframes sealed-water-flow{0%,58%{opacity:0;stroke-dashoffset:0}65%,88%{opacity:1;stroke-dashoffset:-145px}96%,100%{opacity:0;stroke-dashoffset:-190px}}@media(prefers-reduced-motion:reduce){.liner-cracks,.liner-install,.sealed-liner,.sealed-water,.water-arrow,.watertight-badges,.liner-status{animation:none}.liner-install,.liner-cracks{opacity:0}.sealed-liner,.sealed-water,.water-arrow,.watertight-badges,.liner-status{opacity:1}}
.sink-counter,.sink-basin,.sink-faucet,.sink-pipework{fill:none;stroke:#172019;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.sink-basin{fill:#f8faf8;stroke-width:6}.sink-faucet{stroke-width:8}.faucet-water{fill:none;stroke:#139ee5;stroke-width:6;stroke-linecap:round;stroke-dasharray:10 7;animation:faucet-water-run 1s linear infinite}.sink-drain-new{fill:#657069;stroke:#172019;stroke-width:3}.sink-pipework{stroke:#6f7972;stroke-width:8}.pipe-coupling{stroke:#172019;stroke-width:3}.sink-blockage{fill:none;stroke:#8a6239;stroke-width:8;stroke-linecap:round;animation:sink-blockage-clear 7s ease-in-out infinite}.sink-water-standing{fill:#139ee5;opacity:.85;animation:sink-drain-away 7s ease-in-out infinite}.sink-clear-result{fill:none;stroke:#139ee5;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:sink-result-show 7s ease-in-out infinite}.drain-flow{stroke-dasharray:11 8;animation:water-down 1s linear infinite}.flow-check{stroke:#a8e238;stroke-width:7}.sink-status{font:700 10px Arial,sans-serif;letter-spacing:1.2px;fill:#687169}.status-blocked{fill:#8a6239;animation:sink-blocked-label 7s ease-in-out infinite}.status-clear{fill:#539300;opacity:0;animation:sink-result-show 7s ease-in-out infinite}@keyframes faucet-water-run{to{stroke-dashoffset:-34px}}@keyframes sink-drain-away{0%,36%{opacity:.9;transform:translateY(0)}57%,90%{opacity:0;transform:translateY(14px)}97%,100%{opacity:.9;transform:translateY(0)}}@keyframes sink-blockage-clear{0%,42%{opacity:1}55%,90%{opacity:0}97%,100%{opacity:1}}@keyframes sink-result-show{0%,48%{opacity:0}58%,90%{opacity:1}97%,100%{opacity:0}}@keyframes sink-blocked-label{0%,43%{opacity:1}54%,90%{opacity:0}97%,100%{opacity:1}}@media(prefers-reduced-motion:reduce){.faucet-water,.sink-blockage,.sink-water-standing,.sink-clear-result,.status-blocked,.status-clear{animation:none}.sink-blockage,.sink-water-standing,.status-blocked{opacity:0}.sink-clear-result,.status-clear{opacity:1}}
.service-render-wrap{display:flex;align-items:center;justify-content:center;padding:8px;background:linear-gradient(145deg,#fff 0%,#f3f6f3 100%)}.service-render{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 10px #1720191c)}.sink-render{transform:scale(1.06)}.wc-render{transform:scale(1.02)}
.spiral-overlay{position:relative;overflow:hidden}.cleaning-spiral-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.overlay-spiral-line{fill:none;stroke:#242d27;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 1px 1px #fff)}.overlay-spiral-head{fill:none;stroke:#a8e238;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #172019)}.spiral-target-arrow{fill:none;stroke:#a8e238;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:spiral-arrow-show 6s ease-in-out infinite}.sink-spiral-tool{animation:sink-spiral-in 6s ease-in-out infinite}.wc-spiral-tool{animation:wc-spiral-in 6s ease-in-out infinite}.spiral-caption{position:absolute;left:12px;bottom:9px;padding:4px 8px;border-radius:999px;background:#172019e8;color:#a8e238;font-size:10px;font-weight:800;letter-spacing:1px;opacity:0;animation:spiral-caption-show 6s ease-in-out infinite}@keyframes sink-spiral-in{0%,10%{transform:translate(-92px,-18px) rotate(20deg);opacity:0}17%{opacity:1}58%,78%{transform:translate(4px,42px) rotate(20deg);opacity:1}94%,100%{transform:translate(-92px,-18px) rotate(20deg);opacity:0}}@keyframes wc-spiral-in{0%,10%{transform:translate(-92px,-12px) rotate(8deg);opacity:0}17%{opacity:1}58%,78%{transform:translate(10px,22px) rotate(8deg);opacity:1}94%,100%{transform:translate(-92px,-12px) rotate(8deg);opacity:0}}@keyframes spiral-arrow-show{0%,35%{opacity:0}48%,80%{opacity:1}94%,100%{opacity:0}}@keyframes spiral-caption-show{0%,12%{opacity:0}20%,82%{opacity:1}94%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.sink-spiral-tool,.wc-spiral-tool,.spiral-target-arrow,.spiral-caption{animation:none}.spiral-target-arrow,.spiral-caption{opacity:1}}
.service-outline,.open-wall-pipe,.wc-open-connection{fill:none;stroke:#303933;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.pipe-thin{stroke-width:6}.service-drain{fill:#68736b;stroke:#303933;stroke-width:2}.service-coupling{fill:none;stroke:#303933;stroke-width:3}.blocked-water{fill:#169fe5;opacity:.9}.water-swirl{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round}.service-blockage{fill:none;stroke:#875f38;stroke-width:8;stroke-linecap:round}.spiral-machine-small{fill:#303933;stroke:#a8e238;stroke-width:3}.spiral-machine-small+circle{fill:none;stroke:#a8e238;stroke-width:3}.service-spiral-cable{fill:none;stroke:#303933;stroke-width:5;stroke-linecap:round}.service-spiral-tip{fill:none;stroke:#a8e238;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.free-water{fill:none;stroke:#169fe5;stroke-width:10;stroke-linecap:round;stroke-dasharray:13 9;opacity:0}.service-action-label{font:700 9px Arial,sans-serif;letter-spacing:1px;fill:#59645c}.label-cleaning,.label-free{opacity:0}.sink-siphon-remove{animation:siphon-remove-sequence 10s ease-in-out infinite}.sink-service-spiral{animation:sink-cleaning-sequence 10s ease-in-out infinite}.sink-service-blockage{animation:blockage-sequence 10s ease-in-out infinite}.sink-blocked-water{animation:blocked-water-sequence 10s ease-in-out infinite}.sink-free-water{animation:free-water-sequence 10s linear infinite}.wc-fixture-remove{animation:wc-remove-sequence 10s ease-in-out infinite}.wc-open-connection{opacity:0;animation:connection-show-sequence 10s ease-in-out infinite}.wc-service-spiral{animation:wc-cleaning-sequence 10s ease-in-out infinite}.wc-service-blockage{animation:blockage-sequence 10s ease-in-out infinite}.wc-blocked-water{animation:blocked-water-sequence 10s ease-in-out infinite}.wc-free-water{animation:free-water-sequence 10s linear infinite}.label-blocked{animation:label-blocked-sequence 10s ease-in-out infinite}.label-cleaning{animation:label-cleaning-sequence 10s ease-in-out infinite}.label-free{animation:label-free-sequence 10s ease-in-out infinite}@keyframes siphon-remove-sequence{0%,25%{transform:translateY(0);opacity:1}38%,73%{transform:translateY(35px);opacity:0}88%,100%{transform:translateY(0);opacity:1}}@keyframes sink-cleaning-sequence{0%,34%{transform:translateX(-120px);opacity:0}42%{opacity:1}65%,72%{transform:translateX(5px);opacity:1}82%,100%{transform:translateX(-120px);opacity:0}}@keyframes wc-remove-sequence{0%,25%{transform:translate(0,0);opacity:1}38%,73%{transform:translate(-72px,-22px);opacity:0}88%,100%{transform:translate(0,0);opacity:1}}@keyframes connection-show-sequence{0%,28%{opacity:0}38%,78%{opacity:1}88%,100%{opacity:0}}@keyframes wc-cleaning-sequence{0%,34%{transform:translateX(100px);opacity:0}42%{opacity:1}65%,72%{transform:translateX(-8px);opacity:1}82%,100%{transform:translateX(100px);opacity:0}}@keyframes blocked-water-sequence{0%,27%{opacity:.9}37%,100%{opacity:0}}@keyframes blockage-sequence{0%,58%{opacity:1}70%,100%{opacity:0}}@keyframes free-water-sequence{0%,69%{opacity:0;stroke-dashoffset:0}76%,88%{opacity:1;stroke-dashoffset:-75px}96%,100%{opacity:0;stroke-dashoffset:-95px}}@keyframes label-blocked-sequence{0%,26%{opacity:1}35%,100%{opacity:0}}@keyframes label-cleaning-sequence{0%,34%{opacity:0}42%,72%{opacity:1}80%,100%{opacity:0}}@keyframes label-free-sequence{0%,72%{opacity:0}78%,91%{opacity:1}98%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.sink-siphon-remove,.sink-service-spiral,.sink-service-blockage,.sink-blocked-water,.sink-free-water,.wc-fixture-remove,.wc-open-connection,.wc-service-spiral,.wc-service-blockage,.wc-blocked-water,.wc-free-water,.label-blocked,.label-cleaning,.label-free{animation:none}.sink-siphon-remove,.wc-fixture-remove,.sink-service-blockage,.wc-service-blockage,.sink-blocked-water,.wc-blocked-water,.label-blocked,.label-cleaning{opacity:0}.sink-free-water,.wc-free-water,.wc-open-connection,.label-free{opacity:1}}
.sink-service-spiral,.wc-service-spiral{opacity:0;animation:service-machine-show 10s ease-in-out infinite}.sink-feed-cable,.wc-feed-cable{stroke-dasharray:1;stroke-dashoffset:1;animation:spiral-feed-draw 10s ease-in-out infinite}.sink-feed-tip,.wc-feed-tip{opacity:0;animation:spiral-tip-arrive 10s ease-in-out infinite}.wc-fixture-remove{animation:wc-lift-aside 10s ease-in-out infinite}.service-action-label{display:none}@keyframes service-machine-show{0%,35%{opacity:0}42%,74%{opacity:1}82%,100%{opacity:0}}@keyframes spiral-feed-draw{0%,42%{stroke-dashoffset:1}66%,75%{stroke-dashoffset:0}84%,100%{stroke-dashoffset:1}}@keyframes spiral-tip-arrive{0%,59%{opacity:0}66%,76%{opacity:1}84%,100%{opacity:0}}@keyframes wc-lift-aside{0%,25%{transform:translate(0,0);opacity:1}38%,76%{transform:translate(-48px,-15px);opacity:.3}88%,100%{transform:translate(0,0);opacity:1}}@media(prefers-reduced-motion:reduce){.sink-service-spiral,.wc-service-spiral,.sink-feed-cable,.wc-feed-cable,.sink-feed-tip,.wc-feed-tip,.wc-fixture-remove{animation:none}.sink-service-spiral,.wc-service-spiral,.sink-feed-tip,.wc-feed-tip{opacity:1}.sink-feed-cable,.wc-feed-cable{stroke-dashoffset:0}}

/* Einmal wegfliegen, einmal zurückkommen und danach stehen bleiben. */
.hero-brand-display>img{animation:logo-flight-once 9s ease-in-out 1 forwards}
@keyframes logo-flight-once{0%,30%{transform:translate(0,0) scale(1) rotate(0);opacity:1}50%,63%{transform:translate(620px,-80px) scale(.72) rotate(9deg);opacity:0}64%{transform:translate(-100px,20px) scale(.86) rotate(-4deg);opacity:0}82%,100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}
@media(max-width:620px){.hero-brand-display>img{animation-name:logo-flight-once-mobile}@keyframes logo-flight-once-mobile{0%,30%{transform:translate(0,0) scale(1) rotate(0);opacity:1}50%,63%{transform:translate(390px,-55px) scale(.72) rotate(9deg);opacity:0}64%{transform:translate(-75px,15px) scale(.86) rotate(-4deg);opacity:0}82%,100%{transform:translate(0,0) scale(1) rotate(0);opacity:1}}}

.floating-call svg{width:27px;height:27px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.floating-whatsapp svg{width:28px;height:28px;display:block;fill:#fff}

/* Echter Vorher-/Nachher-Einblick in die Inliner-Sanierung. */
.inliner-showcase{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center;background:var(--ink);color:#fff}.inliner-copy{max-width:500px;margin-left:max(0px,calc((100vw - var(--max))/2))}.inliner-copy h2{margin:10px 0 20px;font-size:clamp(38px,4.3vw,58px);line-height:1.03;letter-spacing:-2px}.inliner-copy>p:last-of-type{margin:0;color:#c6d0c8;font-size:17px}.inliner-copy ul{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:10px}.inliner-copy li{font-weight:800}.inliner-copy li::before{content:'✓';margin-right:9px;color:var(--green)}.inliner-video{width:min(100%,760px);margin:0;background:#080a09;border:1px solid #ffffff24;border-radius:12px;overflow:hidden;box-shadow:0 24px 70px #0008}.inliner-video video{display:block;width:100%;aspect-ratio:4/3;background:#000;object-fit:contain}.inliner-video figcaption{display:flex;justify-content:space-between;gap:18px;padding:15px 18px;color:#d1d8d3;font-size:13px}.inliner-video figcaption b{color:#fff}.inliner-video figcaption span{text-align:right}
@media(max-width:980px){.inliner-showcase{grid-template-columns:1fr;gap:32px}.inliner-copy{max-width:none;margin-left:0}.inliner-video{width:100%}}
@media(max-width:620px){.inliner-showcase{padding-top:54px;padding-bottom:54px;gap:24px}.inliner-copy h2{font-size:36px;letter-spacing:-1.4px}.inliner-copy>p:last-of-type{font-size:16px}.inliner-video{border-radius:8px}.inliner-video figcaption{flex-direction:column;gap:2px}.inliner-video figcaption span{text-align:left}}

/* Bewegte Bildzeichen statt Nummern – klar, hochwertig und auch mobil gut erkennbar. */
.steps .step-icon{position:relative;width:54px;height:54px;flex:0 0 54px;overflow:hidden;background:var(--ink);color:var(--green);border-radius:14px}
.steps .step-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.steps li:hover .step-phone svg{animation:step-ring .55s ease-in-out 2}
.steps li:hover .step-camera svg{animation:step-scan 1.2s ease-in-out infinite}
.steps li:hover .step-clean svg{animation:step-clean .9s ease-in-out infinite}
@keyframes step-ring{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}
@keyframes step-scan{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px)}}
@keyframes step-clean{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}

.quickbar .emergency-drive{position:relative;min-width:0;padding:10px 12px;overflow:hidden;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;background:var(--green)}
.emergency-drive>span:last-child{display:flex;flex-direction:column;position:relative;z-index:2;line-height:1.15;white-space:nowrap}
.emergency-drive small{color:#263314;font-size:9px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}
.emergency-drive b{font-size:14px}
.emergency-van{width:68px;flex:0 0 68px;animation:emergency-drive 4.8s ease-in-out infinite}
.emergency-van svg{display:block;width:100%;overflow:visible;fill:var(--ink);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}
.emergency-van .van-window{fill:var(--green);stroke:none}
.emergency-van circle{transform-box:fill-box;transform-origin:center;animation:wheel-turn .7s linear infinite;fill:var(--paper)}
@keyframes emergency-drive{0%,12%{transform:translateX(-85px);opacity:0}27%,72%{transform:translateX(0);opacity:1}88%,100%{transform:translateX(95px);opacity:0}}
@keyframes wheel-turn{to{transform:rotate(360deg)}}
@media(max-width:620px){.quickbar .emergency-drive{gap:3px;padding:8px 5px}.emergency-van{width:52px;flex-basis:52px}.emergency-drive small{font-size:8px}.emergency-drive b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.steps .step-icon svg,.steps li:hover .step-icon svg,.emergency-van,.emergency-van circle{animation:none}.emergency-van{opacity:1;transform:none}}

/* Ruhige, hochwertige Ablauf-Symbole nach dem Vorbild moderner Fachbetriebsseiten. */
.steps li{position:relative;align-items:flex-start;padding:31px 28px;border:0;border-radius:12px;box-shadow:0 12px 34px #1115120d;transition:transform .25s ease,box-shadow .25s ease}
.steps li:hover{transform:translateY(-4px);box-shadow:0 18px 42px #11151217}
.steps .step-icon{width:64px;height:64px;flex:0 0 64px;overflow:visible;background:#eff8df;color:var(--green-dark);border:1px solid #d7eab2;border-radius:50%;box-shadow:inset 0 0 0 7px #f8fced}
.steps .step-icon::after{content:'';position:absolute;inset:-7px;border:1px solid #a8e2383d;border-radius:50%;transform:scale(.82);opacity:0;transition:.3s ease}
.steps li:hover .step-icon::after{transform:scale(1);opacity:1}
.steps .step-icon svg{width:31px;height:31px;stroke-width:2.25}
.steps li:hover .step-phone svg,.steps li:hover .step-camera svg,.steps li:hover .step-clean svg{animation:step-soft-pulse .75s ease-in-out 1}
@keyframes step-soft-pulse{0%,100%{transform:scale(1)}48%{transform:scale(1.12)}}
@media(max-width:620px){.steps li{padding:24px 22px}.steps .step-icon{width:58px;height:58px;flex-basis:58px}.steps .step-icon svg{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.steps li,.steps .step-icon::after{transition:none}.steps li:hover{transform:none}.steps li:hover .step-icon svg{animation:none}}

/* Kleine, eigenständig laufende Ablauf-Filme. */
.steps ol{align-items:stretch}.steps li{display:block;padding:0;overflow:hidden;background:#fff}.steps li>div{padding:24px 26px 29px}.steps li>div h3{margin-top:0}.steps .step-icon{position:relative;width:100%;height:128px;display:block;overflow:hidden;background:linear-gradient(145deg,#111512,#243127);color:var(--green);border:0;border-radius:0;box-shadow:none}.steps .step-icon::after{display:none}.steps .step-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:3;fill:none}.motion-panel{fill:#f8fbf6;stroke:#d5dfd7}.call-button{fill:#a8e238;stroke:none;opacity:.25}.phone-handset{transform-origin:62px 46px;animation:phone-ring 3.8s ease-in-out infinite}.ring{opacity:0;animation:ring-wave 3.8s ease-out infinite}.ring-two{animation-delay:.13s}.pipe-wall{stroke:#6d7b70;stroke-width:5}.camera-cable{stroke:#dce5de;stroke-width:5}.camera-head{fill:#e9efe9;stroke:#a8e238;animation:camera-travel 4.4s ease-in-out infinite}.camera-light{fill:#a8e238;stroke:none;animation:camera-blink 1.1s ease-in-out infinite}.scan-cone{fill:#a8e23826;stroke:#a8e238;stroke-width:1.5;animation:scan-light 1.4s ease-in-out infinite}.spiral-line{stroke:#dce5de;stroke-width:4;animation:spiral-feed 3.5s linear infinite}.cutter{stroke:#a8e238;fill:#1a211b;transform-origin:91px 45px;animation:cutter-spin 1.7s linear infinite}.debris{fill:#dce5de;stroke:none;animation:debris-fly 2s ease-out infinite}.debris-two{animation-delay:.45s}.debris-three{animation-delay:.9s}@keyframes phone-ring{0%,17%,38%,100%{transform:rotate(0)}21%{transform:rotate(-7deg)}25%{transform:rotate(7deg)}29%{transform:rotate(-6deg)}33%{transform:rotate(6deg)}}@keyframes ring-wave{0%,17%{opacity:0;transform:scale(.75)}23%{opacity:1}38%,100%{opacity:0;transform:scale(1.08)}}@keyframes camera-travel{0%,15%{transform:translateX(-28px)}48%,72%{transform:translateX(9px)}90%,100%{transform:translateX(-28px)}}@keyframes camera-blink{0%,100%{opacity:.45}50%{opacity:1}}@keyframes scan-light{0%,100%{opacity:.25}50%{opacity:.9}}@keyframes spiral-feed{to{stroke-dashoffset:-42px}}.spiral-line{stroke-dasharray:12 7}@keyframes cutter-spin{to{transform:rotate(360deg)}}@keyframes debris-fly{0%{transform:translate(0,0);opacity:0}25%{opacity:1}100%{transform:translate(12px,-8px);opacity:0}}
@media(max-width:620px){.steps .step-icon{width:100%;height:116px}.steps li>div{padding:21px 22px 25px}}
@media(prefers-reduced-motion:reduce){.phone-handset,.ring,.camera-head,.camera-light,.scan-cone,.spiral-line,.cutter,.debris{animation:none}}

/* Noch klarer erkennbar: größere Technik, starke Kontraste und eindeutige Bezeichnung. */
.steps .step-icon{height:154px;background:radial-gradient(circle at 50% 52%,#2d3c30 0 28%,#172019 62%,#0e120f 100%)}
.steps .step-icon svg{transform:scale(1.16);filter:drop-shadow(0 8px 14px #0006)}
.steps .step-icon::before{position:absolute;z-index:3;top:13px;left:15px;padding:6px 10px;background:var(--green);color:var(--ink);border-radius:5px;font-size:11px;font-weight:900;letter-spacing:1px;line-height:1}
.steps li:nth-child(1) .step-icon::before{content:'ANRUF'}
.steps .call-step{position:relative;cursor:pointer}.steps .step-call-hit{position:absolute;z-index:10;inset:0;border-radius:inherit}.steps .step-call-hit:focus-visible{outline:4px solid var(--green);outline-offset:4px}
.steps li:nth-child(2) .step-icon::before{content:'KAMERA-PRÜFUNG'}
.steps li:nth-child(3) .step-icon::before{content:'ROHRREINIGUNG'}
.motion-panel{fill:#fff;stroke:#a8e238;stroke-width:2}.phone-handset{stroke:#101510;stroke-width:4}.call-button{opacity:1}.ring{stroke:#a8e238;stroke-width:4}.camera-cable{stroke:#fff;stroke-width:7}.camera-head{fill:#fff;stroke:#a8e238;stroke-width:3}.camera-head circle:first-of-type{fill:#101510;stroke:#fff;stroke-width:2}.camera-light{fill:#a8e238}.scan-cone{fill:#a8e23842;stroke-width:2}.spiral-line{stroke:#fff;stroke-width:6}.cutter{fill:#111512;stroke:#a8e238;stroke-width:4}.debris{fill:#fff}
@media(max-width:620px){.steps .step-icon{height:142px}.steps .step-icon svg{transform:scale(1.12)}.steps .step-icon::before{top:11px;left:12px;font-size:10px}}

/* Reale Rohrdarstellung: Kamera und Spirale fahren sichtbar in die Leitung. */
.real-pipe-outer{fill:#89918b;stroke:#d5dbd6;stroke-width:2}.real-pipe-inner{fill:#171b18;stroke:#555e57;stroke-width:2}.pipe-dirt{stroke:#8b6640;stroke-width:5;fill:none}.step-camera .camera-cable{stroke:#e7ece8;stroke-width:6}.step-camera .camera-head{animation:camera-in-pipe 4.8s ease-in-out infinite}.step-camera .scan-cone{animation:camera-beam 1.6s ease-in-out infinite}.spiral-tool{animation:spiral-enter 5.2s ease-in-out infinite}.step-clean .spiral-line{stroke:#d8ddd9;stroke-width:6}.step-clean .cutter{animation:cutter-spin 1.25s linear infinite}.pressure-nozzle{animation:pressure-enter 5.2s ease-in-out infinite}.pressure-hose{stroke:#2b84c6;stroke-width:6}.nozzle{fill:#c8d0ca;stroke:#fff;stroke-width:2}.water-jet{stroke:#52bfff;stroke-width:3;stroke-dasharray:7 5;animation:water-pulse .65s linear infinite}.step-clean .debris{animation:debris-blast 1.5s ease-out infinite}@keyframes camera-in-pipe{0%,12%{transform:translateX(-36px)}45%,72%{transform:translateX(13px)}92%,100%{transform:translateX(-36px)}}@keyframes camera-beam{0%,100%{opacity:.22}50%{opacity:.9}}@keyframes spiral-enter{0%,10%{transform:translateX(-43px)}48%,76%{transform:translateX(16px)}95%,100%{transform:translateX(-43px)}}@keyframes pressure-enter{0%,50%{transform:translateX(-72px);opacity:0}62%{opacity:1}82%{transform:translateX(12px);opacity:1}95%,100%{transform:translateX(-72px);opacity:0}}@keyframes water-pulse{to{stroke-dashoffset:-24px}}@keyframes debris-blast{0%{transform:translate(0,0);opacity:0}25%{opacity:1}100%{transform:translate(17px,-9px);opacity:0}}

/* Fachlicher Ablauf am Waschbecken: Siphon abnehmen, danach Spirale einführen. */
.step-clean svg{transform:none!important}.sink-top{fill:#f8faf8;stroke:#dce5de;stroke-width:3}.sink-rim,.tap{fill:none;stroke:#f8faf8;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.sink-drain{fill:#111512;stroke:#a8e238;stroke-width:3}.wall-pipe{fill:none;stroke:#8f9b92;stroke-width:17;stroke-linecap:round;stroke-linejoin:round}.siphon-remove{fill:none;stroke:#e8eee9;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;animation:siphon-off 8s ease-in-out infinite}.siphon-remove .coupling{stroke:#a8e238;stroke-width:4}.spiral-feed{opacity:0;animation:spiral-after-siphon 8s ease-in-out infinite}.spiral-machine{fill:#a8e238;stroke:#e8eee9;stroke-width:3}.spiral-reel{fill:#172019;stroke:#fff;stroke-width:3}.step-clean .spiral-cable{fill:none;stroke:#e8eee9;stroke-width:6;stroke-dasharray:13 7;animation:spiral-line-feed .72s linear infinite}.spiral-tip{fill:none;stroke:#a8e238;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.flow-arrow{fill:none;stroke:#5ec7ff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:flow-after-clean 8s ease-in-out infinite}@keyframes siphon-off{0%,19%{transform:translateY(0);opacity:1}34%,77%{transform:translateY(44px);opacity:0}90%,100%{transform:translateY(0);opacity:1}}@keyframes spiral-after-siphon{0%,32%{transform:translateX(-55px);opacity:0}43%{opacity:1}66%,76%{transform:translateX(0);opacity:1}86%,100%{transform:translateX(-55px);opacity:0}}@keyframes spiral-line-feed{to{stroke-dashoffset:-40px}}@keyframes flow-after-clean{0%,66%{opacity:0;transform:translateY(-8px)}74%,84%{opacity:1;transform:translateY(0)}94%,100%{opacity:0;transform:translateY(7px)}}
.service-step-clean{background:#fff}.service-step-clean svg{width:100%;height:100%;overflow:visible}.service-step-clean .sink-top{fill:#f8faf8;stroke:#303933}.service-step-clean .sink-rim,.service-step-clean .tap{stroke:#303933}.service-step-clean .sink-drain{fill:#303933;stroke:#a8e238}.service-step-clean .wall-pipe{stroke:#8f9b92}.service-step-clean .siphon-remove{stroke:#303933}.service-step-clean .siphon-remove .coupling{stroke:#a8e238}.service-step-clean .spiral-machine{fill:#303933;stroke:#a8e238}.service-step-clean .spiral-reel{fill:#a8e238;stroke:#303933}.service-step-clean .spiral-cable{fill:none;stroke:#303933;stroke-width:6;stroke-dasharray:13 7;animation:spiral-line-feed .72s linear infinite}.service-step-clean .spiral-tip{stroke:#a8e238}.service-step-clean .flow-arrow{stroke:#169fe5}

/* Küchenabfluss: erst Siphon ab, dann Spirale exakt durch die offene Rohrmündung, anschließend freier Wasserlauf. */
.service-sink-clear{background:#fff}.service-sink-clear svg{width:100%;height:100%;overflow:visible}.ksa-basin{fill:#f8faf8;stroke:#303933;stroke-width:3}.ksa-rim,.ksa-tap{fill:none;stroke:#303933;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.ksa-standing-water{fill:#169fe5;opacity:.88;animation:ksa-water-level 11s ease-in-out infinite}.ksa-drain{fill:#303933;stroke:#a8e238;stroke-width:3}.ksa-wall-pipe{fill:none;stroke:#929b94;stroke-width:17;stroke-linecap:round;stroke-linejoin:round}.ksa-blockage{fill:none;stroke:#875f38;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;transform-origin:179px 117px;animation:ksa-blockage-clear 11s ease-in-out infinite}.ksa-siphon{fill:none;stroke:#303933;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;animation:ksa-siphon-off 11s ease-in-out infinite}.ksa-coupling{stroke:#a8e238;stroke-width:4}.ksa-machine{opacity:0;animation:ksa-machine-show 11s ease-in-out infinite}.ksa-machine rect{fill:#303933;stroke:#a8e238;stroke-width:3}.ksa-reel{fill:none;stroke:#a8e238;stroke-width:4}.ksa-reel-center{fill:#a8e238}.ksa-cable{fill:none;stroke:#303933;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:ksa-cable-feed 11s ease-in-out infinite}.ksa-cutter{fill:#a8e238;stroke:#303933;stroke-width:3;opacity:0;transform-origin:179px 119px;animation:ksa-cutter-work 11s ease-in-out infinite}.ksa-free-flow{fill:none;stroke:#169fe5;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:13 9;opacity:0;animation:ksa-water-flow 11s linear infinite}@keyframes ksa-siphon-off{0%,18%{transform:translateY(0);opacity:1}27%,74%{transform:translateY(38px);opacity:0}83%,100%{transform:translateY(0);opacity:1}}@keyframes ksa-machine-show{0%,26%{opacity:0}34%,68%{opacity:1}77%,100%{opacity:0}}@keyframes ksa-cable-feed{0%,33%{stroke-dashoffset:1;opacity:0}38%{stroke-dashoffset:1;opacity:1}60%,66%{stroke-dashoffset:0;opacity:1}76%,100%{stroke-dashoffset:1;opacity:0}}@keyframes ksa-blockage-clear{0%,57%{opacity:1;transform:rotate(0)}60%{transform:rotate(-9deg)}63%{transform:rotate(9deg)}67%{opacity:1;transform:rotate(0)}72%,100%{opacity:0}}@keyframes ksa-cutter-work{0%,58%{opacity:0;transform:scale(.6) rotate(0)}61%,67%{opacity:1;transform:scale(1) rotate(270deg)}72%,100%{opacity:0;transform:scale(.6) rotate(360deg)}}@keyframes ksa-water-level{0%,18%{opacity:.88;transform:translateY(0)}27%,100%{opacity:0;transform:translateY(9px)}}@keyframes ksa-water-flow{0%,85%{opacity:0;stroke-dashoffset:0}89%,96%{opacity:1;stroke-dashoffset:-70px}100%{opacity:0;stroke-dashoffset:-105px}}@media(prefers-reduced-motion:reduce){.ksa-standing-water,.ksa-blockage,.ksa-siphon,.ksa-machine,.ksa-cable,.ksa-cutter,.ksa-free-flow{animation:none}.ksa-standing-water,.ksa-blockage,.ksa-machine,.ksa-cable,.ksa-cutter{opacity:0}.ksa-siphon,.ksa-free-flow{opacity:1}}

/* Toilette: WC abnehmen, Spirale direkt in den offenen Bodenanschluss führen, freien Ablauf zeigen. */
.service-wc-clear{background:#fff}.service-wc-clear svg{width:100%;height:100%;overflow:hidden}.wca-floor{fill:none;stroke:#c8d0ca;stroke-width:3;stroke-linecap:round}.wca-toilet{animation:wca-toilet-aside 12s ease-in-out infinite}.wca-cistern,.wca-bowl{fill:#f8faf8;stroke:#303933;stroke-width:4;stroke-linejoin:round}.wca-lid,.wca-flush,.wca-seat{fill:none;stroke:#303933;stroke-width:5;stroke-linecap:round}.wca-flush{stroke:#a8e238;stroke-width:4}.wca-standing-water{fill:#169fe5;opacity:.9;animation:wca-standing-water 12s ease-in-out infinite}.wca-swirl{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;animation:wca-standing-water 12s ease-in-out infinite}.wca-connection{fill:#8f9991;stroke:#303933;stroke-width:4;opacity:0;animation:wca-connection-show 12s ease-in-out infinite}.wca-connection ellipse:last-child{fill:#202923}.wca-blockage{fill:none;stroke:#875f38;stroke-width:8;stroke-linecap:round;transform-origin:82px 145px;opacity:0;animation:wca-blockage-clear 12s ease-in-out infinite}.wca-machine{opacity:0;animation:wca-machine-show 12s ease-in-out infinite}.wca-machine rect{fill:#303933;stroke:#a8e238;stroke-width:3}.wca-reel{fill:none;stroke:#a8e238;stroke-width:4}.wca-hub{fill:#a8e238}.wca-cable{fill:none;stroke:#303933;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:wca-cable-feed 12s ease-in-out infinite}.wca-cutter{fill:#a8e238;stroke:#303933;stroke-width:3;opacity:0;transform-origin:82px 151px;animation:wca-cutter-work 12s ease-in-out infinite}.wca-free-flow,.wca-flow-arrow{fill:none;stroke:#169fe5;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:0}.wca-free-flow{stroke-dasharray:11 8;animation:wca-water-flow 12s linear infinite}.wca-flow-arrow{stroke-width:5;animation:wca-clear-result 12s ease-in-out infinite}@keyframes wca-toilet-aside{0%,20%{transform:translate(0,0);opacity:1}31%,78%{transform:translate(-105px,-9px);opacity:0}89%,100%{transform:translate(0,0);opacity:1}}@keyframes wca-standing-water{0%,20%{opacity:.9;transform:translateY(0)}28%,100%{opacity:0;transform:translateY(7px)}}@keyframes wca-connection-show{0%,24%{opacity:0}32%,88%{opacity:1}96%,100%{opacity:0}}@keyframes wca-machine-show{0%,31%{opacity:0;transform:translateX(42px)}38%,73%{opacity:1;transform:translateX(0)}81%,100%{opacity:0;transform:translateX(42px)}}@keyframes wca-cable-feed{0%,37%{stroke-dashoffset:1;opacity:0}42%{stroke-dashoffset:1;opacity:1}63%,70%{stroke-dashoffset:0;opacity:1}79%,100%{stroke-dashoffset:1;opacity:0}}@keyframes wca-blockage-clear{0%,31%{opacity:0}36%,59%{opacity:1;transform:rotate(0)}62%{transform:rotate(-10deg)}65%{opacity:1;transform:rotate(10deg)}70%,100%{opacity:0;transform:rotate(0)}}@keyframes wca-cutter-work{0%,57%{opacity:0;transform:scale(.6) rotate(0)}61%,69%{opacity:1;transform:scale(1) rotate(360deg)}77%,100%{opacity:0;transform:scale(.6) rotate(540deg)}}@keyframes wca-water-flow{0%,78%{opacity:0;stroke-dashoffset:0}83%,91%{opacity:1;stroke-dashoffset:-52px}97%,100%{opacity:0;stroke-dashoffset:-72px}}@keyframes wca-clear-result{0%,79%{opacity:0}84%,92%{opacity:1}97%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.wca-toilet,.wca-standing-water,.wca-swirl,.wca-connection,.wca-blockage,.wca-machine,.wca-cable,.wca-cutter,.wca-free-flow,.wca-flow-arrow{animation:none}.wca-toilet,.wca-standing-water,.wca-swirl,.wca-blockage,.wca-machine,.wca-cable,.wca-cutter{opacity:0}.wca-connection,.wca-free-flow,.wca-flow-arrow{opacity:1}}

/* Ruhige Bewegungen: keine drehenden Räder oder dauerndes Wackeln. */
.service-icon::after,.spiral-head,.camera-car,.liner{animation:none}.service-icon{background:#f5f7f5;border-color:#d8dfd9;box-shadow:none}.service-icon svg{filter:none}.service-icon i{display:none}.service-grid article{box-shadow:0 10px 28px #11151212}.service-grid article:hover{transform:translateY(-3px);box-shadow:0 14px 34px #1115121b}.ceramic{fill:#fff;stroke:#26352b}.fixture-line{stroke:#26352b}.pipe-shell{fill:#aeb7b0;stroke:#79847c}.pipe-core{fill:#273129}.camera-car{fill:#fff;stroke:#26352b}.spiral-head{fill:#fff;stroke:#26352b}.liner{fill:#78b927;stroke:#fff}.steps .phone-handset{animation:none}.steps .ring{animation:ring-calm 5s ease-out infinite}@keyframes ring-calm{0%,12%{opacity:0;transform:scale(.8)}18%{opacity:1}30%,100%{opacity:0;transform:scale(1.06)}}

/* Allgemeiner Arbeitsablauf: vom Anruf bis zur freien Leitung. */
.steps ol{grid-template-columns:repeat(4,1fr)}
.steps li:nth-child(2) .step-icon::before{content:'PRÜFUNG'}
.steps li:nth-child(3) .step-icon::before{content:'REINIGUNG'}
.steps li:nth-child(4) .step-icon::before{content:'KONTROLLE'}
.process-pipe-outer{fill:#89918b;stroke:#d5dbd6;stroke-width:2}
.process-pipe-inner{fill:#151b17;stroke:#566159;stroke-width:2}
.process-blockage{fill:none;stroke:#b88148;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.process-magnifier{fill:#101510aa;stroke:#a8e238;stroke-width:6;transform-origin:117px 55px;animation:process-inspect 4.5s ease-in-out infinite}
.process-spiral{animation:process-spiral-enter 8s ease-in-out infinite}
.process-spiral-line{fill:none;stroke:#f3f6f4;stroke-width:6;stroke-dasharray:.08 .045;animation:process-spiral-turn .65s linear infinite}
.process-cutter{fill:none;stroke:#a8e238;stroke-width:5;transform-origin:140px 72px;animation:process-cutter-spin .9s linear infinite}
.process-pressure{opacity:0;animation:process-pressure-enter 8s ease-in-out infinite}
.process-hose{fill:none;stroke:#dce4df;stroke-width:7}
.process-nozzle{fill:#a8e238;stroke:#fff;stroke-width:2}
.process-jets{fill:none;stroke:#4fc2ff;stroke-width:5;stroke-dasharray:10 7;animation:process-water-jet .55s linear infinite}
.process-blockage-clear{transform-origin:158px 72px;animation:process-dirt-clear 8s ease-in-out infinite}
.process-water,.process-water-arrow{fill:none;stroke:#4fc2ff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16 10;animation:process-free-flow 2s linear infinite}
.process-water-arrow{stroke-dasharray:none}
.process-tick{fill:#a8e238;stroke:#101510;stroke-width:4;transform-origin:143px 29px;animation:process-tick-pulse 3s ease-in-out infinite}
@keyframes process-inspect{0%,100%{transform:translateX(-25px)}50%{transform:translateX(16px)}}
@keyframes process-spiral-enter{0%,8%{transform:translateX(-78px);opacity:0}18%,45%{transform:translateX(8px);opacity:1}53%,100%{transform:translateX(-78px);opacity:0}}
@keyframes process-spiral-turn{to{stroke-dashoffset:-.125}}
@keyframes process-cutter-spin{to{transform:rotate(360deg)}}
@keyframes process-pressure-enter{0%,45%{transform:translateX(-85px);opacity:0}56%,88%{transform:translateX(9px);opacity:1}96%,100%{transform:translateX(-85px);opacity:0}}
@keyframes process-water-jet{to{stroke-dashoffset:-34px}}
@keyframes process-dirt-clear{0%,36%{opacity:1;transform:scale(1)}45%,88%{opacity:0;transform:scale(.55)}96%,100%{opacity:1;transform:scale(1)}}
@keyframes process-free-flow{to{stroke-dashoffset:-52px}}
@keyframes process-tick-pulse{0%,100%{transform:scale(.9)}45%,65%{transform:scale(1.08)}}
@media(max-width:980px){.steps ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.steps ol{grid-template-columns:1fr}.steps .step-icon{height:132px}}
@media(prefers-reduced-motion:reduce){.process-magnifier,.process-spiral,.process-spiral-line,.process-cutter,.process-pressure,.process-jets,.process-blockage-clear,.process-water,.process-water-arrow,.process-tick{animation:none}.process-pressure{opacity:0}.process-spiral{opacity:1;transform:none}.process-blockage-clear{opacity:.35}}

/* Abschlusskontrolle: zuerst Wasserlauf, Kamera nur als bedarfsabhängige zweite Prüfung. */
.step-flow .process-water,.step-flow .process-water-arrow{animation:process-free-flow 2s linear infinite,process-water-stage 8s ease-in-out infinite}
.process-final-camera{opacity:0;animation:process-camera-stage 8s ease-in-out infinite}
.process-camera-cable{fill:none;stroke:#eef3ef;stroke-width:6}
.process-final-camera rect{fill:#f7faf8;stroke:#a8e238;stroke-width:3}
.process-final-camera circle:first-of-type{fill:#111512;stroke:#eef3ef;stroke-width:2}
.process-camera-lens{fill:#a8e238;stroke:none}
.process-camera-beam{fill:#a8e23835;stroke:#a8e238;stroke-width:2;animation:process-camera-light 1.3s ease-in-out infinite}
@keyframes process-water-stage{0%,44%{opacity:1}52%,92%{opacity:0}100%{opacity:1}}
@keyframes process-camera-stage{0%,46%{opacity:0;transform:translateX(-30px)}58%,84%{opacity:1;transform:translateX(8px)}94%,100%{opacity:0;transform:translateX(-30px)}}
@keyframes process-camera-light{0%,100%{opacity:.25}50%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.step-flow .process-water,.step-flow .process-water-arrow,.process-final-camera,.process-camera-beam{animation:none}.step-flow .process-water,.step-flow .process-water-arrow{opacity:1}.process-final-camera{opacity:.55;transform:none}}

/* Sechste Leistungskarte: 24/7 Notdienst mit dem Kanal-Flieger-Fahrzeug. */
.service-emergency-card{border-color:#cfe5a4!important}
.service-emergency{position:relative;padding:0;overflow:hidden;background:#fff;isolation:isolate}
.emergency-service-badge{position:absolute;z-index:3;top:15px;left:16px;padding:7px 10px;border-radius:5px;background:var(--green);color:var(--ink);font-size:11px;font-weight:900;letter-spacing:1px;box-shadow:0 7px 18px #0002}
.service-symbol-van{position:absolute;z-index:2;left:-70%;bottom:30px;width:68%;display:block;animation:service-symbol-drive 7s ease-in-out infinite}
.service-symbol-van svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 8px 7px #11151220)}
.symbol-van-body{fill:#f4f6f4;stroke:#263129;stroke-width:2.4;stroke-linejoin:round}
.symbol-van-window{fill:#dff2f8;stroke:#263129;stroke-width:2.2}
.symbol-wheel{fill:#fff;stroke:#263129;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:symbol-wheel-turn .75s linear infinite}
.symbol-wheel-hub{fill:var(--green);stroke:#263129;stroke-width:1.8}
.symbol-speed{fill:none;stroke:var(--green-dark);stroke-width:3;stroke-linecap:round;stroke-dasharray:25 15;animation:symbol-speed-line .7s linear infinite}
.speed-two{animation-delay:-.28s}
.emergency-road{position:absolute;z-index:1;left:8%;right:8%;bottom:25px;height:2px;background:#263129;opacity:.35}
@keyframes service-symbol-drive{0%,12%{left:-70%;transform:translateY(0)}35%,68%{left:17%;transform:translateY(-2px)}88%,100%{left:110%;transform:translateY(0)}}
@keyframes symbol-wheel-turn{to{transform:rotate(360deg)}}
@keyframes symbol-speed-line{to{stroke-dashoffset:-40px}}
@media(prefers-reduced-motion:reduce){.service-symbol-van,.symbol-wheel,.symbol-speed{animation:none}.service-symbol-van{left:17%;transform:none}}

/* Gewünschte Reihenfolge der sechs Leistungskarten. */
.services .service-grid article:nth-child(3){order:1}
.services .service-grid article:nth-child(2){order:2}
.services .service-grid article:nth-child(1){order:3}
.services .service-grid article:nth-child(4){order:4}
.services .service-grid article:nth-child(5){order:5}
.services .service-grid article:nth-child(6){order:6}

/* Leistungsseiten und Links von der Startseite. */
.service-more{display:inline-flex;align-items:center;gap:8px;margin:20px 24px 0;color:#527b0f;font-size:15px;font-weight:900}.service-more span{transition:transform .2s ease}.service-more:hover span{transform:translateX(4px)}
.detail-page{background:#f5f6f4}.detail-page header .brand{flex-shrink:0}.detail-page header nav a{white-space:nowrap}
.detail-hero{max-width:var(--max);margin:24px auto 0;padding:70px 64px;display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center;background:var(--ink);color:#fff;border-radius:12px;overflow:hidden}.detail-hero h1{margin:14px 0 20px;font-size:clamp(46px,6vw,76px);letter-spacing:-3px}.detail-hero .lead{color:#d4ddd6;font-size:19px}.detail-hero .hero-actions{margin-top:30px}.detail-hero-panel{padding:30px;background:#222c25;border:1px solid #455349;border-radius:10px}.detail-hero-panel strong{display:block;margin-bottom:16px;color:var(--green);font-size:14px;letter-spacing:1px;text-transform:uppercase}.detail-hero-panel ul{display:grid;gap:13px;margin:0;padding:0;list-style:none}.detail-hero-panel li{padding-left:25px;position:relative}.detail-hero-panel li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900}
.detail-content{max-width:var(--max);margin:auto;padding:80px max(4vw,20px)}.detail-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}.detail-intro h2,.detail-process h2,.detail-facts h2{margin:8px 0 20px;font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-1.8px}.detail-intro p,.detail-facts p{color:#58635b;font-size:17px}.detail-note{padding:28px;background:#fff;border-left:5px solid var(--green);border-radius:8px;box-shadow:0 12px 30px #1115120d}.detail-note h3{margin:0 0 12px;font-size:23px}.detail-note ul{display:grid;gap:10px;margin:0;padding-left:20px;color:#58635b}
.detail-process{max-width:var(--max);margin:auto;padding:80px max(4vw,20px);background:#fff}.detail-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:34px 0 0;padding:0;list-style:none;counter-reset:service-step}.detail-steps li{position:relative;padding:28px 24px;border:1px solid var(--line);border-radius:10px;counter-increment:service-step}.detail-steps li::before{content:counter(service-step);display:grid;place-items:center;width:34px;height:34px;margin-bottom:20px;border-radius:50%;background:var(--green);color:var(--ink);font-weight:900}.detail-steps h3{margin:0 0 9px;font-size:20px}.detail-steps p{margin:0;color:#667068}
.detail-facts{max-width:var(--max);margin:auto;padding:80px max(4vw,20px);display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.detail-facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-facts article{padding:26px;background:#fff;border:1px solid var(--line);border-radius:10px}.detail-facts h3{margin:0 0 8px;font-size:20px}.detail-facts article p{margin:0;font-size:15px}
.detail-cta{padding:64px max(4vw,20px);background:var(--ink);color:#fff;text-align:center}.detail-cta h2{margin:8px auto 15px;max-width:820px;font-size:clamp(36px,5vw,58px);line-height:1.03;letter-spacing:-2px}.detail-cta p{max-width:720px;margin:0 auto 25px;color:#cbd4cd;font-size:17px}.detail-cta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.detail-cta .secondary{color:#fff;border-color:#66736a;background:transparent}.back-services{display:inline-block;margin-bottom:20px;color:#527b0f;font-weight:800}
@media(max-width:900px){.detail-hero,.detail-intro,.detail-facts{grid-template-columns:1fr}.detail-steps{grid-template-columns:1fr 1fr}.detail-page header nav{display:none}}
@media(max-width:620px){.detail-hero{margin-top:0;padding:54px 20px;border-radius:0;gap:30px}.detail-hero h1{font-size:43px;letter-spacing:-2px}.detail-hero .lead{font-size:16px}.detail-hero .hero-actions{display:grid}.detail-hero-panel{padding:23px}.detail-content,.detail-process,.detail-facts{padding:58px 18px}.detail-intro,.detail-facts{gap:30px}.detail-steps,.detail-facts-grid{grid-template-columns:1fr}.detail-cta{padding:58px 18px}.service-more{margin-top:17px}}
