:root{font-family:Arial,Helvetica,sans-serif;color:#172d39;background:#f4f2ed;--navy:#101b22;--blue:#1459a3;--cyan:#1cbdda;--muted:#aab9bf;--line:#cdd3d3;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1797bb;outline-offset:5px}button{touch-action:manipulation}.skip{position:absolute;top:-100px}.skip:focus{top:20px;background:white;padding:16px;z-index:20}.preview-note{padding:9px 5%;font-size:9px;letter-spacing:1.2px;display:flex;justify-content:space-between;background:#203540;color:#b5cbd5}.preview-note span{letter-spacing:.2px}.header{background:var(--navy);color:#f1f4f5;display:flex;align-items:center;justify-content:space-between;padding:9px 5%;gap:30px}.brand img{display:block;object-fit:contain}.header nav{display:flex;gap:30px;align-items:center;font-size:12px}.header nav a{padding:15px 0;white-space:nowrap}.header nav a[aria-current=page]{color:#68cbdf}.header .contact-link{padding:13px 19px;border:1px solid #4b6877}.contact-link span{margin-left:18px}.header .emergency-link{color:#c4b2a6}.menu-toggle{display:none}.subnav{background:#15242e;border-top:1px solid #283c47;display:flex;gap:32px;padding:0 5%;color:#a8bcc6;font-size:12px;overflow:auto}.subnav a{padding:15px 0;white-space:nowrap;border-bottom:2px solid transparent}.subnav a[aria-current=page]{color:white;border-color:var(--cyan)}.hero{background:var(--navy);color:#f4f6f7;display:grid;grid-template-columns:1fr 1.05fr;min-height:515px}.hero-copy{padding:65px 9.5% 58px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.kicker{font-size:10px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:#89bdce;margin:0 0 24px;display:flex;align-items:center;gap:14px}.kicker:before{content:'';display:inline-block;width:25px;height:2px;background:#1cbdda}.hero h1{font-size:clamp(37px,4.3vw,63px);font-weight:400;line-height:1.05;letter-spacing:-2px;margin:0 0 25px;max-width:610px}.hero-copy>p:not(.kicker){color:#b4c2c9;font-size:16px;line-height:1.65;max-width:420px;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 19px;border:1px solid transparent;background:#1875a4;color:white;font-size:12px;font-weight:600;min-height:47px}.button:hover{background:#1459a3}.button.secondary{background:none;color:inherit;border-color:#738b99}.hero-media{margin:32px 0 32px 20px;position:relative;min-height:430px;overflow:hidden}.hero-media>img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover}.hero-media figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 25px 20px;background:linear-gradient(transparent,#0a161dcc);font-size:10px;letter-spacing:1.4px}.photo-heizung img{object-position:50% 35%}.hero-media.photo-heizung{max-height:510px;margin-right:9%}.hero-media.photo-sanitaer{margin-left:0}.hero-media.photo-klima img{object-position:48% 50%}.mini-route{display:flex;gap:12px;align-items:center;color:#7292a3;font-size:10px;letter-spacing:1px;margin-top:25px}.mini-route i{height:1px;background:#506976;flex:1}.section{padding:75px 5%;max-width:1440px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:7%;margin-bottom:35px}.section h2{font-size:clamp(29px,3vw,43px);font-weight:400;letter-spacing:-1px;line-height:1.12;margin:0 0 23px}.section-heading p,.body-copy{font-size:15px;line-height:1.75;max-width:520px;margin:0;color:#4d6370}.section .kicker{color:#426473;margin-bottom:18px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-item{border-top:1px solid #b4c3c9;padding-top:22px}.service-item>span{font-size:11px;color:#6f8997}.service-item h3{font-size:20px;font-weight:500;letter-spacing:-.4px;margin:19px 0 13px}.service-item p{font-size:14px;color:#526a77;line-height:1.75;margin:0}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:12px;color:#145b83;margin-top:24px;border-bottom:1px solid #aec6d1;padding-bottom:7px}.photo-story{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:15px;align-items:center}.photo-story img{width:100%;height:390px;object-fit:cover}.photo-story .body-copy{margin-bottom:25px}.partners{padding:34px 5% 45px;border-top:1px solid #d2d9db;background:white}.partners-inner{max-width:1300px;margin:auto;display:flex;align-items:center;gap:60px}.partners p{font-size:10px;line-height:1.8;letter-spacing:1.6px;min-width:130px;color:#58737f}.partner-logos{display:flex;align-items:center;justify-content:space-around;gap:35px;flex:1;flex-wrap:wrap}.partner-logos img{width:160px;height:57px;object-fit:contain}.partner-logos .wordmark{font-size:20px;letter-spacing:1px;font-weight:bold;color:#274859}.cta{background:#dfE8e9;padding:42px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:30px;font-weight:400;letter-spacing:-.7px;margin:0}.cta p{font-size:14px;color:#536f7b}.footer{background:var(--navy);color:#b2c0c6;padding:47px 5%;display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:40px;font-size:12px;line-height:1.8}.footer span{font-size:9px;letter-spacing:1.5px;color:#7795a5}.footer a{display:block;margin-top:12px}.footer img{object-fit:contain}.quiet-hero{min-height:380px}.quiet-hero .hero-copy{padding-top:55px;padding-bottom:55px}.directory{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.directory a{padding:23px 0;border-top:1px solid #bdcbd0;display:grid;grid-template-columns:35px 1fr 24px;gap:20px;align-items:start}.directory b{font-weight:400;font-size:25px}.directory small{display:block;color:#57717d;font-size:13px;margin-top:10px;line-height:1.5}.directory .number{font-size:10px;color:#71919e;margin-top:8px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.timeline>div{border-top:2px solid #98b9c8;padding-top:20px}.timeline b{font-size:29px;font-weight:400;color:#1a638a}.timeline p{font-size:14px;line-height:1.6;color:#536e7c}.service-stage{margin:35px 0 25px;align-self:center;padding:20px 25px 0 0}.service-stage svg{display:block;width:100%;height:auto;overflow:visible}.service-caption{font-size:11px;color:#829da9;display:flex;gap:18px;align-items:center;padding:15px 5px}.service-caption button{border:0;border-bottom:1px solid #5d7e90;background:none;color:#c2d7df;padding:8px;font-size:11px;margin-left:auto}.service-van{animation:arrive 2.8s cubic-bezier(.2,.7,.2,1) both}.service-bag{animation:unpack 1.2s 2.5s both}.service-check{animation:check-in .6s 3.4s both}.service-line{stroke:#83b5c7;stroke-width:2;fill:none;stroke-dasharray:5 5}.service-pulse{stroke:#1cbdda;stroke-width:3;fill:none;stroke-dasharray:12 110;animation:diagnosis 2.4s 3.2s 2 both}.service-stage[data-running=false] *{animation:none!important}.service-stage.paused *{animation-play-state:paused}.contact-layout{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:55px 9% 75px}.contact-copy{padding-top:45px}.contact-copy h1{font-size:clamp(40px,4vw,60px);font-weight:400;letter-spacing:-1.8px;line-height:1.1;margin:20px 0}.contact-copy p{font-size:15px;line-height:1.7;color:#b5c6ce;max-width:365px}.contact-details{border-top:1px solid #324c5a;margin-top:35px;padding-top:25px;max-width:350px}.contact-details a{font-size:24px}.contact-details p{font-size:12px}.phone{color:#173649;background:#f4f7f6;max-width:400px;border:8px solid #344955;border-radius:38px;padding:26px;box-shadow:0 20px 55px #07141c99;justify-self:center;width:100%;position:relative}.phone:before{content:'';width:63px;height:6px;background:#59747f;display:block;margin:-9px auto 25px;border-radius:4px}.phone h2{font-size:25px;line-height:1.15;letter-spacing:-.6px;margin:9px 0 22px;font-weight:400}.phone .step{font-size:9px;letter-spacing:1.7px;color:#6b8c9a}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.topic-grid button{border:1px solid #a8c0cb;background:white;color:#375b6e;padding:13px 9px;border-radius:6px;font-size:12px}.topic-grid button[aria-pressed=true]{background:#145c81;color:white;border-color:#145c81}.phone label{display:block;font-size:11px;color:#3f6476;margin:15px 0 6px}.phone input,.phone textarea{width:100%;padding:11px 10px;border:1px solid #b6cbd3;border-radius:5px;background:white;color:#173d52;font-size:14px}.phone textarea{resize:vertical;min-height:80px}.phone .button{width:100%;margin-top:20px;border-radius:6px}.phone .form-note{font-size:10px;line-height:1.6;color:#527382;margin:18px 0 0}.phone .back-step{border:0;background:none;padding:0;color:#386781;font-size:11px}.confirmation{padding:25px 0;line-height:1.6}.emergency-number{display:inline-block;font-size:30px;letter-spacing:.5px;padding-bottom:10px;border-bottom:2px solid #d28a62}.fine-print{font-size:11px;line-height:1.6;color:#849fab;margin-top:20px}.start-links{display:flex;gap:30px;flex-wrap:wrap}.start-art{position:relative;background:linear-gradient(150deg,#213e4d,#12232d);padding:50px 9%;display:flex;align-items:center;justify-content:center}.start-art img{width:100%;height:350px;object-fit:cover;opacity:.94}.start-art .scene-link{position:absolute;bottom:35px;left:9%;background:#172c38e8;color:white;padding:17px 20px;font-size:12px}.info-band{background:#e5ebea;padding:20px 5%;font-size:12px;line-height:1.7;color:#456372}.disclosure{border-top:1px solid #bfd0d5;padding:18px 0}.disclosure summary{cursor:pointer;font-size:17px}.disclosure p{font-size:14px;line-height:1.7;color:#4c6876;max-width:630px}.source-note{font-size:11px;color:#62818e;margin-top:30px}.source-note a{text-decoration:underline;text-underline-offset:3px}@keyframes arrive{from{transform:translateX(-500px)}to{transform:translateX(0)}}@keyframes unpack{from{opacity:0;transform:translate(-110px,-26px) scale(.8)}to{opacity:1;transform:translate(0,0) scale(1)}}@keyframes check-in{from{opacity:0}to{opacity:1}}@keyframes diagnosis{to{stroke-dashoffset:-122}}
@media(min-width:1450px){.hero{min-height:610px}.hero-copy{padding-left:12%}.hero-media{margin-right:10%}.hero-media>img{max-height:600px}.section{padding-top:90px;padding-bottom:90px}}
@media(max-width:900px){.header nav{gap:18px;font-size:11px}.hero-copy{padding-left:9%;padding-right:6%}.hero h1{font-size:43px}.hero-copy>p:not(.kicker){font-size:14px}.hero-media{min-height:400px}.partner-logos{gap:20px}.partner-logos img{width:120px}.contact-layout{padding:35px 5% 55px;gap:5%}}
@media(max-width:700px){.preview-note{font-size:8px;padding:9px 5%;letter-spacing:.6px}.preview-note span{font-size:8px}.header{position:relative;padding:8px 5%;gap:10px}.brand img{width:123px;height:50px}.menu-toggle{display:block;background:none;color:white;border:1px solid #4b6775;padding:10px 13px;font-size:11px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#172c37;padding:15px 6% 25px;z-index:20;box-shadow:0 20px 30px #0b172a55}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.header nav a{font-size:14px;border-bottom:1px solid #334955;padding:15px 0}.header .contact-link{margin-top:10px;padding:15px}.subnav{gap:23px;font-size:11px;padding:0 6%}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:43px 6% 34px}.hero h1{font-size:43px;letter-spacing:-1.5px;max-width:420px}.hero-copy>p:not(.kicker){font-size:14px;max-width:390px;margin-bottom:24px}.kicker{font-size:9px;margin-bottom:20px;letter-spacing:1.7px}.hero-media,.hero-media.photo-heizung{height:315px;min-height:315px;max-height:none;margin:0 0 0 6%}.hero-media.photo-sanitaer{margin-left:6%}.hero-media.photo-heizung img{object-position:center 36%}.hero-media figcaption{font-size:9px;padding:30px 18px 18px}.hero-media.photo-ueber-uns{height:350px}.section{padding:45px 6%}.section-heading{grid-template-columns:1fr;gap:0;margin-bottom:28px}.section h2{font-size:31px}.section-heading p{font-size:14px}.service-list{grid-template-columns:1fr;gap:25px}.service-item{display:grid;grid-template-columns:25px 1fr;gap:0 13px;padding-top:18px}.service-item>span{grid-row:1/4;margin-top:3px}.service-item h3{margin:0 0 10px}.service-item p,.service-item .text-link{grid-column:2}.service-item .text-link{justify-self:start;margin-top:13px}.photo-story{grid-template-columns:1fr;gap:25px;padding-top:0}.photo-story img{height:300px}.partners{padding:25px 6%}.partners-inner{display:block}.partners p{font-size:9px;letter-spacing:1.3px;margin:0 0 20px}.partner-logos{justify-content:flex-start;gap:25px}.partner-logos img{width:125px;height:45px}.partner-logos .wordmark{font-size:16px}.cta{padding:35px 6%;display:block}.cta h2{font-size:27px}.cta .button{margin-top:13px}.footer{grid-template-columns:1fr 1fr;padding:40px 6%;gap:25px}.footer>div:first-child{grid-column:1/-1}.footer>div:first-child p{margin-top:0}.directory{grid-template-columns:1fr}.directory a{gap:13px;grid-template-columns:25px 1fr 20px}.directory b{font-size:22px}.timeline{grid-template-columns:1fr 1fr;gap:25px}.service-stage{margin:0;padding:10px 5% 25px;width:100%}.service-caption{font-size:10px;gap:8px}.contact-layout{display:flex;flex-direction:column;gap:25px;padding:30px 6% 45px}.contact-copy{padding-top:0}.contact-copy h1{font-size:43px}.contact-details{margin-top:22px;padding-top:20px}.phone{align-self:center;margin:0;width:100%;padding:23px;max-width:390px;border-width:6px}.phone h2{font-size:24px}.contact-copy p{font-size:13px}.contact-details p{font-size:11px}.phone input,.phone textarea{font-size:16px}.start-art{padding:0 6% 30px}.start-art img{height:300px}.start-art .scene-link{bottom:45px;left:10%;font-size:11px}.info-band{padding:20px 6%;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
/* Quiet reading layout shared by legal pages. */
.legal-intro{max-width:1260px;margin:auto;padding:74px 5% 48px;border-bottom:1px solid #30444f}.legal-intro h1{font-size:clamp(38px,5vw,68px);margin:15px 0 20px;letter-spacing:-2px}.legal-intro>p:last-child{color:#b6c7cf;font-size:18px;line-height:1.6}.legal-layout{max-width:1260px;margin:auto;padding:52px 5% 90px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:70px}.legal-sidebar{align-self:start;position:sticky;top:120px}.legal-sidebar nav{display:grid;gap:5px}.legal-sidebar nav a{padding:15px 16px;border-radius:8px;text-decoration:none;color:#adbfca;display:flex;justify-content:space-between;gap:12px}.legal-sidebar nav a[aria-current=page]{background:#203a49;color:#f2f7f8}.legal-sidebar>p{font-size:13px;color:#9cafba;margin:30px 0 10px}.legal-email{font-size:15px;color:#d8e8ee;text-underline-offset:5px}.legal-copy{min-width:0;max-width:730px;font-size:16px;line-height:1.85;color:#c0ced5}.legal-copy h2,.legal-copy h3{font-size:25px;line-height:1.3;letter-spacing:-.4px;color:#f0f5f7;margin:36px 0 16px;overflow-wrap:anywhere}.legal-copy h4{font-size:18px;color:#e3ecf0;margin:26px 0 10px}.legal-copy p{margin:0 0 20px}.legal-copy ul{padding-left:23px;margin:12px 0 25px}.legal-copy li{margin:9px 0}.legal-copy a{color:#a7d6eb;text-underline-offset:4px;overflow-wrap:anywhere}.legal-copy strong{color:#e1eaf0;font-weight:600}.legal-copy hr{border:0;border-top:1px solid #2c414d;margin:35px 0}.legal-draft,.legal-pending{font-size:12px!important;line-height:1.6!important;color:#adc3ce;padding:15px 18px;background:#192d39;border-radius:8px}.contact-details .contact-email{font-size:20px;overflow-wrap:anywhere}
@media(max-width:760px){.legal-intro{padding:42px 6% 28px}.legal-intro h1{font-size:39px;letter-spacing:-1px}.legal-intro>p:last-child{font-size:16px}.legal-layout{grid-template-columns:1fr;padding:25px 6% 55px;gap:32px}.legal-sidebar{position:static}.legal-sidebar nav{display:flex;flex-wrap:wrap;gap:6px}.legal-sidebar nav a{font-size:13px;padding:12px;gap:10px}.legal-sidebar>p,.legal-sidebar>.legal-email{display:none}.legal-copy{font-size:16px;line-height:1.8}.legal-copy h2,.legal-copy h3{font-size:23px}.contact-details .contact-email{font-size:18px}}
/* Telephone and email remain separate, readable contact actions. */
.contact-details>a:not(.text-link){display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;line-height:1.5;margin-bottom:8px}.contact-details .contact-email{font-size:20px}
/* Keep the arriving van within the illustration, away from the adjacent copy. */
.service-stage svg{overflow:hidden}

/* PV5 points left and arrives along its projected road axis. */
.service-van{animation-name:pv5-arrive}@keyframes pv5-arrive{from{transform:translate(620px,124px)}to{transform:translate(0,0)}}
