/* RSHG: richer brand surfaces, restrained editorial typography. */
:root{--navy:#132d51;--ink:#193553;--lime:#177663;--paper:#eef2f8;--line:#d4dfeb;--muted:#4c6075}
body{background:#edf2f7;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.6}
.topline .wrap{gap:20px}
.topline-contact{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.topline-contact a{min-height:35px;padding:6px 16px}
.header{background:#f8f9fdeb;border-bottom:1px solid #dce4ef;box-shadow:0 7px 25px #112e4c12;backdrop-filter:blur(12px)}
.header-inner{gap:32px}.desktop-nav{gap:32px}
.nav-link{color:#183a62}.nav-link:hover{color:#16725f}
.header-cta,.button{background:#197662;color:#fff;box-shadow:0 7px 18px #0c5d5124}
.header-cta:hover,.button:hover{background:#105c4d;color:#fff}
.social-link{background:#edf2fa;border-color:#cedbe9;color:#254f80}
.social-link:hover{background:#dcece9;border-color:#91c5b6;color:#12604f}
.eyebrow{font-size:13px;letter-spacing:.13em;color:#41629e}
h1,h2,h3{color:#15375f}
.section-head h2,.band h2,.proof h2,.closing h2{font-weight:800;line-height:1.08}
.section-head h2{max-width:760px}
.section-head p{color:#405b75}

/* Opening: confident dark color and a clear photographic focal point. */
.hero{background:linear-gradient(115deg,#171f44 0%,#193963 52%,#145f65 100%);color:#fff}
.hero-grid{padding:66px 0 72px;min-height:630px;gap:52px}
.hero h1{color:#fff;text-shadow:0 3px 20px #111d3d42}
.hero-line-accent{background:linear-gradient(95deg,#d6d1fc 0%,#a5d6ed 55%,#a7e0b9 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero .eyebrow{color:#b4efd9}
.hero-copy>p{color:#e4ecf6;font-size:19px}
.hero .button{background:#2b977b;box-shadow:0 12px 30px #071d3047}
.hero .button:hover{background:#237b66}
.hero .text-action{color:#fff;text-decoration-color:#9ed7ca}
.home-page .hero .hero-actions .text-action{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 25px;border-radius:999px;background:#2b977b;color:#fff;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 12px 30px #071d3047;transition:transform .2s,background .2s}
.home-page .hero .hero-actions .text-action:hover{background:#237b66;transform:translateY(-2px)}
.hero-trust{color:#d7e8ee;margin-top:45px;font-size:16px;line-height:1.4;gap:14px 23px}
.hero-trust span:before{color:#9fe2b9}
.hero-photo{border:0;border-radius:28px;box-shadow:none;min-height:490px;overflow:hidden;-webkit-mask-image:radial-gradient(ellipse 94% 92% at 50% 50%,#000 68%,#000 78%,transparent 100%);mask-image:radial-gradient(ellipse 94% 92% at 50% 50%,#000 68%,#000 78%,transparent 100%)}
.hero-photo img{object-position:58% center;transform:scale(1.025)}
.hero-price{width:min(100%,420px);height:76px;grid-template-columns:minmax(0,1fr) auto;column-gap:11px;padding:9px 17px;background:#f5f9fb;border-color:#b7d7de;box-shadow:0 12px 35px #0a233e36}
.hero-price:hover{background:#fff}
.hero-price span{color:#42659b;font-size:12px;line-height:1.15}
.hero-price small{font-size:14px;line-height:1.2}
.hero-price strong{font-size:27px;line-height:1.1}

/* Services, trust and prices each have a distinct surface. */
.home-page .hero+.section{background:#e7edf6}
.service-grid{gap:18px}
.service-card{background:#f8fafd;border:1px solid #cbd9e8;border-radius:16px;box-shadow:0 9px 25px #1b467212;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.service-card:hover,.service-card:focus-visible{background:#fff;border-color:#81b7ad;box-shadow:0 18px 38px #14396326}
.service-card h3{font-size:27px;color:#17375d}
.service-card p{color:#476076;font-size:15px}
.service-type{align-self:flex-start;display:inline-block;margin-bottom:12px;padding:5px 10px;border-radius:999px;background:#e5f2ec;color:#155e50;font-size:12px;font-weight:800;line-height:1.3}
.service-types{display:flex;align-self:flex-start;gap:7px;margin-bottom:12px}
.service-types span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e2edf8;color:#215d8c;font-size:12px;font-weight:800;line-height:1.3}
.service-types span:last-child{background:#e5f2ec;color:#155e50}
.service-media{position:relative}
.service-media img{transition:transform .28s ease,filter .28s ease}
.service-media:after{content:'';position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,#7762a6,#2f7eb3,#26927c)}
.card-link{font-size:14px;color:#126b5b}
.home-page .service-grid .card-link{align-self:stretch;text-align:right}
.trust-strip{padding:30px 0;background:#f7f9fc;border-bottom:1px solid #d5e1eb}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.trust-grid>div{display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center;padding:17px 18px;border:1px solid #b8d2df;border-radius:15px;background:linear-gradient(135deg,#e1e9f8 0%,#d9e9f2 54%,#d7eee5 100%);box-shadow:0 9px 24px #173d6420,inset 0 1px 0 #ffffffcc;transition:transform .2s,box-shadow .2s,border-color .2s}
.trust-icon{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border:1px solid #afd3cb;border-radius:13px;background:linear-gradient(145deg,#d8e8f2,#c9eadb);color:#126c5b;font-size:21px;font-weight:900;box-shadow:inset 0 1px 0 #ffffffd9,0 5px 13px #1a74621a}
.trust-grid strong{font-size:16px;line-height:1.25;color:#163c62}
.trust-grid small{font-size:14px;line-height:1.3;color:#405e73}
.trust-grid>div:hover{transform:translateY(-2px);border-color:#8ebdb6;box-shadow:0 14px 30px #173d6429,inset 0 1px 0 #fff}
@media(min-width:761px){
 .home-page .service-grid .service-card:hover,.home-page .service-grid .service-card:focus-visible{transform:translateY(-6px);border-color:#709fa8;background:linear-gradient(145deg,#d2ddeb 0%,#c7dce2 55%,#c9e2d8 100%);box-shadow:0 22px 44px #14396338}
 .home-page .service-grid .service-card:hover .service-media img,.home-page .service-grid .service-card:focus-visible .service-media img{transform:scale(1.045);filter:brightness(.9) saturate(1.06)}
 .service-grid-text .service-card:hover,.service-grid-text .service-card:focus-visible{transform:translateY(-6px);border-right-color:#709fa8;border-bottom-color:#709fa8;border-left-color:#709fa8;background:linear-gradient(145deg,#d2ddeb 0%,#c7dce2 55%,#c9e2d8 100%);box-shadow:0 22px 44px #14396338}
 .service-grid-text .service-card:nth-child(3n+1):hover,.service-grid-text .service-card:nth-child(3n+1):focus-visible{border-top-color:#4d78af}
 .service-grid-text .service-card:nth-child(3n+2):hover,.service-grid-text .service-card:nth-child(3n+2):focus-visible{border-top-color:#7662a0}
 .service-grid-text .service-card:nth-child(3n):hover,.service-grid-text .service-card:nth-child(3n):focus-visible{border-top-color:#29846c}
}
.service-grid-text .service-card{border-top:4px solid #4d78af}
.service-grid-text .service-card:nth-child(3n+2){border-top-color:#7662a0}
.service-grid-text .service-card:nth-child(3n){border-top-color:#29846c}
.inner-page main>.section.installation-section{background:linear-gradient(110deg,#e6f0f5,#e9f2e9)}
.installation-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.installation-inner>div{max-width:730px}
.installation-inner h2{font-size:clamp(31px,3.5vw,47px);margin:0 0 14px}
.installation-inner p{font-size:18px;color:#405b70;margin:0}
.installation-inner .button{flex:none}
.proof{background:linear-gradient(105deg,#154e5c 0%,#1f6b68 55%,#2b7c67 100%);color:#fff;padding:64px 0}
.proof h2,.proof .eyebrow{color:#fff}
.proof p{color:#e5f1ee;font-size:18px}
.proof .button{color:#145d53;background:#fff}
.proof .button:hover{background:#e1f3eb;color:#104d45}
.google-review-link{display:flex;align-items:center;gap:17px;min-width:280px;min-height:86px;padding:16px 21px;background:#fff;color:#213b5b;border:1px solid #dce5e7;border-radius:11px;box-shadow:0 8px 22px #0b3b3c29;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.google-review-link:hover{background:#f8fbfd;border-color:#a4c6c4;box-shadow:0 11px 24px #0b3b3c36}
.google-review-link:focus-visible{outline:3px solid #fbbc05;outline-offset:4px}
.google-mark{flex:none;display:grid;place-items:center;width:45px;height:45px;font:800 38px/1 Arial,Helvetica,sans-serif;letter-spacing:-.08em;padding-right:4px;background:conic-gradient(from 25deg,#4285f4 0deg 110deg,#34a853 115deg 185deg,#fbbc05 190deg 245deg,#ea4335 250deg 305deg,#4285f4 310deg);background-clip:text;-webkit-background-clip:text;color:transparent}
.google-review-copy{display:grid;gap:2px;line-height:1.2;white-space:nowrap}
.google-review-copy strong{font-size:16px;color:#253b54;letter-spacing:-.015em}
.google-review-copy>span:last-child{font-size:13px;font-weight:600;color:#4e6476}
.google-stars{color:#d39a1e;font-size:17px;font-weight:400;letter-spacing:1px;line-height:1}
.google-rating{display:flex;align-items:center;gap:8px}.google-rating b{font-size:16px;color:#263f58}
.review-quotes{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.review-quotes blockquote{margin:0;padding:17px 20px;border-left:3px solid #d8ae52;border-radius:8px;background:#ffffff14;color:#f2f7f6;font-size:15px;font-style:normal}
.section-cream{background:#e9e8f2}
.price-grid{gap:18px}
.price-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.disposal-price{border-top:4px solid #247b76;background:#edf7f3}
.disposal-price span{color:#176c59}
.disposal-card{border-color:#b9d8cc}
.disposal-crosssell{margin-top:17px!important;padding:14px 16px;border-left:4px solid #247b76;border-radius:7px;background:#eaf4f0;font-size:16px!important}
.disposal-crosssell strong{color:#176c59}
.installation-actions{display:flex;align-items:center;flex-direction:column;gap:14px;flex:none}
.installation-actions .inline-link{color:#176c59}
.disposal-overview{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;align-items:start}
.disposal-price-large{color:#176c59;font-size:clamp(72px,10vw,126px);font-weight:900;line-height:.9;letter-spacing:-.08em}
.disposal-overview>div:first-child>p{max-width:390px;margin-top:24px;color:#4a6171;font-size:18px}
.disposal-overview .prose-box{max-width:none;margin:0}
.disposal-overview .prose-box ul{padding-left:22px;color:#40596b;font-size:17px}
.disposal-overview .prose-box li{margin-bottom:10px}
.disposal-form-note{margin:0 0 18px;padding:13px 15px;border-radius:8px;background:#e6f3ee;color:#17604f;font-size:14px;font-weight:700}
.price-card{border:1px solid #d0d6e8;border-radius:17px;background:#f8f8fc;box-shadow:0 10px 25px #1b34640e;transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease}
.price-card:first-child{background:#1e4770;border-color:#1e4770;color:#fff;box-shadow:0 18px 35px #1c47652d}
.price-card:first-child span,.price-card:first-child strong,.price-card:first-child p{color:#fff}
.price-card:first-child:before{content:'';display:block;width:44px;height:4px;margin-bottom:19px;border-radius:4px;background:#78d1aa}
.price-card strong{color:#1d527c}
@media(min-width:761px){
 .home-page .price-grid:has(.price-card:is(:hover,.is-hover-held)) .price-card:first-child:not(:hover):not(.is-hover-held){background:#f8f8fc;border-color:#d0d6e8;color:inherit;box-shadow:0 10px 25px #1b34640e}
 .home-page .price-grid:has(.price-card:is(:hover,.is-hover-held)) .price-card:first-child:not(:hover):not(.is-hover-held):before{display:none}
 .home-page .price-grid:has(.price-card:is(:hover,.is-hover-held)) .price-card:first-child:not(:hover):not(.is-hover-held) span{color:#176aa6}
 .home-page .price-grid:has(.price-card:is(:hover,.is-hover-held)) .price-card:first-child:not(:hover):not(.is-hover-held) strong{color:#1d527c}
 .home-page .price-grid:has(.price-card:is(:hover,.is-hover-held)) .price-card:first-child:not(:hover):not(.is-hover-held) p{color:var(--muted)}
 .home-page .price-grid .price-card:is(:hover,.is-hover-held){transform:translateY(-5px);background:#1e4770;border-color:#1e4770;color:#fff;box-shadow:0 18px 35px #1c47652d}
 .home-page .price-grid .price-card:is(:hover,.is-hover-held) span,.home-page .price-grid .price-card:is(:hover,.is-hover-held) strong,.home-page .price-grid .price-card:is(:hover,.is-hover-held) p{color:#fff}
}
.price-note{color:#405b74;padding:15px 18px;border-left:4px solid #287f70;border-radius:8px;background:#f8fbfd;line-height:1.55}
.inline-link{color:#176452;text-underline-offset:5px;text-decoration:underline;text-decoration-color:#86b6a9}

/* Process and preparation: readable, structured color blocks. */
.home-page .proof+.section{background:#e9e8f2}
.home-page .section-cream+.section{background:#edf4f6}
.steps{gap:18px}
.steps>div{min-height:0;border:1px solid #d2e3e4;border-top:4px solid #197967;border-radius:14px;padding:23px 25px;background:#fbfdfd;box-shadow:0 9px 25px #1c547014}
.steps>div:nth-child(2){border-top-color:#4d77a5}
.steps>div:nth-child(3){border-top-color:#7663a1}
.steps b{display:none}
.steps h3{color:#1a436b;margin:0 0 10px}
.steps p{color:#405b73;margin-bottom:0}
.prepare-grid .section-head h2{max-width:470px}
.prepare-list{border-top:0}
.prepare-list p{padding:19px 22px;margin-bottom:10px;border:1px solid #d6d8e9;border-left:4px solid #6b65a6;border-radius:9px;background:#faf9fe;color:#465b73}
.prepare-list p:nth-child(2){border-left-color:#3c82ac}
.prepare-list p:nth-child(3){border-left-color:#238672}
.prepare-list b{color:#153d65}
.service-area{padding:67px 0;background:#173d66;color:#fff}
.service-area-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.service-area h2{margin:0 0 12px;color:#fff;font-size:clamp(31px,3.5vw,47px)}
.service-area p{max-width:720px;margin:0;color:#dfeaf1;font-size:18px}
.service-area .eyebrow{color:#aee6cf}
.service-area .button{flex:none;background:#fff;color:#194f70;border-color:#fff}
.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.area-grid>div{padding:34px;border-radius:16px;background:#f9fbfd;border:1px solid #d2dfeb;border-top:4px solid #247b76}
.area-grid>div:last-child{border-top-color:#536fa2}
.area-grid h2{font-size:clamp(30px,3vw,42px);margin-bottom:13px}.area-grid p{font-size:18px;color:#465d70}
.band{background:linear-gradient(110deg,#e3e1f2 0%,#e6eff7 55%,#e2f2ed 100%)}
.band-photo{height:465px;border:5px solid #fff;box-shadow:0 19px 35px #15396327}
.band h2{color:#173d67}
.band p{color:#3e556b}
.home-page .band+.section{background:#f2f5f9}
.faq-list details{border-color:#c7d8e5}
.faq-list summary{color:#193d67}
.faq-list details[open] summary{color:#116c5c}

/* Inner pages and direct contact. */
.page-hero{background:linear-gradient(110deg,#222648 0%,#1e4972 65%,#19646b 100%);padding:88px 0 94px;color:#fff}
.page-hero h1,.page-hero .eyebrow{color:#fff}
.page-hero p{color:#e0edf2}
.page-hero .text-action.dark{color:#fff}
.inner-page main>.section{background:#eef3f8}
.inner-page main>.section.section-cream{background:#e9e8f2}
.problem-grid div,.contact-card,.prose-box{background:#fafbfd;border:1px solid #d4e1eb;border-left:4px solid #5b82ad;border-radius:10px}
.problem-grid div:nth-child(3n+2){border-left-color:#7262a7}
.problem-grid div:nth-child(3n){border-left-color:#2b8772}
.contact-card:hover{background:#fff;border-color:#9fc6c0}
.contact-form{background:#f9fbfd;border:1px solid #cbdce9;border-top:5px solid #247b76;border-radius:16px;box-shadow:0 18px 44px #173d6420}
.contact-form .form-actions .button{background:#197662;border-color:#197662}
.contact-form .form-actions .button:hover{background:#105c4d;border-color:#105c4d}
.form-intro h2{color:#19446d}
.field input:focus,.field select:focus,.field textarea:focus{outline-color:#a4d9ca;border-color:#247b76}
.conditional-fields{display:grid;grid-template-columns:1fr;gap:0}
.request-detail[hidden]{display:none}
.request-detail{padding:16px 17px 1px;border-radius:9px;background:#eaf2f7;border-left:4px solid #4776a6}
.install-detail{border-left-color:#247b76;background:#eaf4f0}
.contact-direct{border-color:#bfcfdf}
.contact-direct span{color:#1b7160}
.closing{background:linear-gradient(105deg,#2e315e,#214f7b 58%,#17665d)}
.closing h2{color:#fff}
.closing .eyebrow{color:#bce9d3}
.closing .button{background:#fff;color:#1a5f54}
.closing .button-light{background:transparent;color:#fff}
.footer{background:#101f38}
.mobile-bar{background:#183a60}
.mobile-bar a:last-child{background:#197662}
.hero-price small{display:grid;gap:2px}
.hero-price small em{color:#17685b;font-size:12px;font-style:normal;font-weight:800}
.trust-details{background:linear-gradient(115deg,#eaf2f8,#eef4f0)}
.trust-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.trust-detail-grid article{padding:27px;border:1px solid #cadbe5;border-radius:14px;background:#fff;box-shadow:0 8px 24px #173d6412}
.trust-detail-grid strong{display:block;margin-bottom:8px;color:#173f68;font-size:19px}
.trust-detail-grid p{margin:0;color:#4d6170}
.home-page .trust-detail-grid article{padding:22px;align-self:stretch}
.price-note-compact ul{margin:0;padding-left:18px;display:grid;gap:7px}
.price-note-compact li{padding-left:2px}
.file-field{padding:17px;border:1px dashed #8caabd;border-radius:10px;background:#f2f7fa}
.file-field label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.file-field label small{color:#516777;font-size:13px;font-weight:700}
.file-field input[type="file"]{min-height:0;padding:10px;background:#fff}
.field-help{margin:8px 0 0;color:#566b79;font-size:13px}
.attachment-status{display:flex;align-items:center;gap:12px;margin-top:12px;color:#1d5f52;font-size:13px}
.attachment-status:empty{display:none}
.attachment-status.is-error{display:block;color:#a42f25;font-weight:800}
.attachment-status img{width:68px;height:58px;flex:0 0 auto;border:1px solid #c7d9e5;border-radius:8px;object-fit:cover}
.attachment-status span{display:grid;gap:2px;min-width:0}.attachment-status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173f68}.attachment-status small{color:#526777}
.district-panel{margin-top:46px;padding:34px;border:1px solid #cadbe5;border-radius:16px;background:#fff}
.district-panel h2{color:#173f68}
.district-panel>p{margin:22px 0 0;color:#526777}

.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.work-gallery figure{margin:0;overflow:hidden;border:1px solid #cadbe5;border-radius:16px;background:#fff;box-shadow:0 10px 28px #173d6414}
.work-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.work-gallery figcaption{padding:16px 18px;color:#29465d;font-weight:800}
.local-page-content{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:start}
.local-page-content article{font-size:18px;color:#465d70}.local-page-content h2{color:#173f68;font-size:clamp(30px,3vw,44px)}
.local-page-aside{padding:28px;border:1px solid #c9dbe6;border-radius:16px;background:#f3f7fa}
.local-page-aside h2{font-size:25px}.local-page-aside ul{padding-left:20px;color:#465d70}.local-page-aside .button{margin-top:12px}

@media(min-width:761px){
 .mobile-bar{display:flex;position:fixed;right:24px;bottom:24px;z-index:30;background:transparent;pointer-events:none}
 .mobile-bar a,.mobile-bar a:last-child{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:10px 19px;border:1px solid #ffffff80;border-radius:999px;background:#25d366;color:#083a29;font-size:14px;font-weight:800;box-shadow:0 9px 28px #10284645;pointer-events:auto;transition:transform .2s,box-shadow .2s,background .2s}
 .mobile-bar a:hover{background:#2ee071;transform:translateY(-2px);box-shadow:0 12px 32px #10284655}
 .mobile-bar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
}

@media(max-width:760px){
 .topline-contact{gap:6px}
 .topline-contact a{padding:5px 10px;font-size:12px}
 body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
 .mobile-bar{display:flex;justify-content:flex-end;align-items:flex-end;padding:0 10px calc(10px + env(safe-area-inset-bottom));background:transparent;box-shadow:none;pointer-events:none}
 .mobile-bar a,.mobile-bar a:last-child{width:auto;min-width:118px;min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 16px;border:0;border-radius:999px;background:#25d366;color:#083a29;font-size:13px;line-height:1.1;font-weight:800;box-shadow:0 6px 17px #1028463d;pointer-events:auto;overflow-wrap:normal}
 .mobile-bar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
 .hero-grid{min-height:0;padding:54px 0 60px;gap:32px}
 .work-gallery,.local-page-content{grid-template-columns:1fr}
 .hero-photo{min-height:350px}
 .page-hero{padding:66px 0}
 .proof{padding:50px 0}
 .google-review-link{width:max-content;margin-top:26px}
 .band-photo{height:390px}
 .installation-inner{align-items:flex-start;flex-direction:column;gap:24px}
 .price-grid{grid-template-columns:1fr 1fr}
 .disposal-overview{grid-template-columns:1fr}
 .installation-actions{align-items:flex-start}
 .trust-grid{grid-template-columns:1fr 1fr}
 .service-area-inner{align-items:flex-start;flex-direction:column}
 .area-grid{grid-template-columns:1fr}
 .header-inner{gap:15px}
 .home-page .service-grid .service-card.is-scroll-active{transform:translateY(-3px) scale(1.008);border-color:#709fa8;background:linear-gradient(145deg,#d2ddeb 0%,#c7dce2 55%,#c9e2d8 100%);box-shadow:0 20px 42px #14396338}
 .home-page .service-grid .service-card.is-scroll-active .service-media img{transform:scale(1.04);filter:brightness(.9) saturate(1.06)}
 .service-grid-text .service-card.is-scroll-active{transform:translateY(-3px) scale(1.008);border-right-color:#709fa8;border-bottom-color:#709fa8;border-left-color:#709fa8;background:linear-gradient(145deg,#d2ddeb 0%,#c7dce2 55%,#c9e2d8 100%);box-shadow:0 20px 42px #14396338}
 .service-grid-text .service-card:nth-child(3n+1).is-scroll-active{border-top-color:#4d78af}
 .service-grid-text .service-card:nth-child(3n+2).is-scroll-active{border-top-color:#7662a0}
 .service-grid-text .service-card:nth-child(3n).is-scroll-active{border-top-color:#29846c}
 .home-page .price-grid.has-active-price .price-card:first-child:not(.is-price-active){background:#f8f8fc;border-color:#d0d6e8;color:inherit;box-shadow:0 10px 25px #1b34640e}
 .home-page .price-grid.has-active-price .price-card:first-child:not(.is-price-active):before{display:none}
 .home-page .price-grid.has-active-price .price-card:first-child:not(.is-price-active) span{color:#176aa6}
 .home-page .price-grid.has-active-price .price-card:first-child:not(.is-price-active) strong{color:#1d527c}
 .home-page .price-grid.has-active-price .price-card:first-child:not(.is-price-active) p{color:var(--muted)}
 .home-page .price-grid .price-card.is-price-active{transform:translateY(-3px) scale(1.008);background:#1e4770;border-color:#1e4770;color:#fff;box-shadow:0 18px 35px #1c47652d}
 .home-page .price-grid .price-card.is-price-active span,.home-page .price-grid .price-card.is-price-active strong,.home-page .price-grid .price-card.is-price-active p{color:#fff}
}
@media(max-width:560px){
 .topline .wrap{display:block;padding:7px 0}
 .topline-contact{display:grid;grid-template-columns:1.12fr 1fr;width:100%;gap:6px}
 .topline-contact a{min-width:0;padding:5px 7px;font-size:11.5px}
 .mobile-bar a,.mobile-bar a:last-child{font-size:13px;min-height:46px}
 .hero-trust{font-size:16px;gap:10px 17px}
 .hero-price{width:100%;height:76px;padding:8px 12px;column-gap:8px}
 .hero-price small{font-size:13px}
 .google-review-link{width:100%;min-width:0}
 .hero h1{font-size:clamp(25px,8vw,43px)}
 .hero-photo{min-height:270px}
 .hero-price{box-shadow:0 9px 25px #0a233e24}
 .steps>div{padding:20px 22px}
 .price-card{min-height:0}
 .price-grid{grid-template-columns:1fr}
 .band-photo{height:310px}
 .section-head h2{font-size:clamp(32px,9vw,43px)}
 .trust-grid{grid-template-columns:1fr}
 .trust-detail-grid{grid-template-columns:1fr}
 .district-panel{padding:24px 18px}
 .review-quotes{grid-template-columns:1fr}
 .service-types{flex-wrap:wrap}
}
.home-page .price-grid .price-card{position:relative;overflow:hidden}
.home-page .price-grid .price-card[role="link"]{cursor:pointer}
.home-page .price-grid .price-card[role="link"]:focus-visible{outline:3px solid #287f70;outline-offset:4px}
.home-page .price-grid .price-card>span:first-child{padding-right:58px}
.home-page .price-grid .price-card .price-visual.price-visual{position:absolute;top:19px;right:20px;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #f6cc6675;border-radius:14px;background:#f4c44e18;color:#f6c94f;letter-spacing:0;opacity:0;transform:translateY(7px) scale(.88);box-shadow:inset 0 1px 0 #ffffff38;pointer-events:none;transition:opacity .24s ease,transform .24s ease,background .24s ease}
.home-page .price-grid .price-card .price-visual svg{display:block;width:31px;height:31px}
@media(min-width:761px){.home-page .price-grid .price-card:is(:hover,.is-hover-held) .price-visual{opacity:1;transform:translateY(0) scale(1);background:#f4c44e22}}
@media(max-width:760px){.home-page .price-grid .price-card.is-price-active .price-visual{opacity:1;transform:translateY(0) scale(1);background:#f4c44e22}}
@media(prefers-reduced-motion:reduce){.google-review-link,.price-card,.price-visual{transition:none}.home-page .service-grid .service-card.is-scroll-active,.service-grid-text .service-card.is-scroll-active,.home-page .price-grid .price-card.is-price-active{transform:none}}

/* Green liquid-glass treatment for the floating WhatsApp action. */
.mobile-bar a,.mobile-bar a:last-child{
 position:relative;
 isolation:isolate;
 overflow:hidden;
 min-height:56px;
 gap:10px;
 padding:8px 19px 8px 11px;
 border:1px solid rgba(255,255,255,.65);
 background:linear-gradient(145deg,rgba(180,255,219,.28) 0%,rgba(48,201,111,.20) 50%,rgba(17,143,83,.30) 100%);
 color:#052f22;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(3,82,46,.12),0 10px 28px rgba(10,70,50,.18);
 -webkit-backdrop-filter:blur(22px) saturate(190%);
 backdrop-filter:blur(22px) saturate(190%);
 text-shadow:0 1px 0 rgba(255,255,255,.42);
}
.mobile-bar a::before{
 content:"";
 position:absolute;
 z-index:-1;
 top:3px;
 left:10%;
 width:80%;
 height:42%;
 border-radius:999px;
 background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.02));
 filter:blur(.2px);
 pointer-events:none;
}
.mobile-bar a::after{
 content:"";
 position:absolute;
 z-index:-1;
 right:-18px;
 bottom:-24px;
 width:66px;
 height:66px;
 border-radius:50%;
 background:rgba(0,106,67,.13);
 filter:blur(10px);
 pointer-events:none;
}
.mobile-bar a svg,.mobile-bar a span{position:relative;z-index:1}
.mobile-bar a svg{width:32px;height:32px;padding:5px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.16);flex:0 0 32px}
.mobile-bar a:hover{
 background:linear-gradient(145deg,rgba(155,255,207,.42),rgba(46,224,113,.32) 52%,rgba(15,155,83,.42));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.94),inset 0 -1px 0 rgba(3,82,46,.25),inset 10px 0 26px rgba(255,255,255,.2),0 13px 34px rgba(10,70,50,.34);
}
@media(prefers-reduced-motion:reduce){.mobile-bar a{transition:none}}

/* Keep the original green styles while aligning both primary hero actions. */
.home-page .hero .hero-actions .button,
.home-page .hero .hero-actions .text-action{
 width:218px;
 min-height:50px;
 padding:13px 18px;
 font-size:16px;
 line-height:24px;
 white-space:nowrap;
}
.brand-band{padding:25px 0 30px;background:linear-gradient(110deg,#edf2f9,#f5f8fb 50%,#eaf5f0);border-block:1px solid #d7e3ea;overflow:hidden}
.brand-band-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.brand-band-heading h2{margin:0;font-size:18px;letter-spacing:0;color:#244766;line-height:1.4}
.brand-viewport{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.brand-track{display:flex;width:max-content;animation:rshg-brands 65s linear infinite}
.brand-group{display:flex;align-items:center;gap:40px;list-style:none;margin:0;padding:0 40px 0 0;flex-shrink:0}
.brand-group li{display:flex;align-items:center;justify-content:center;width:180px;height:78px;padding:13px 15px;background:#fff;border:1px solid #dde7ee;border-radius:12px}
.brand-group img{display:block;width:150px;height:48px;object-fit:contain}
.brand-band.is-paused .brand-track{animation-play-state:paused}
@media(hover:hover){.brand-viewport:hover .brand-track{animation-play-state:paused}}
@keyframes rshg-brands{to{transform:translateX(-50%)}}
@media(max-width:760px){.brand-group{gap:20px;padding-right:20px}.brand-group li{width:145px;height:68px}.brand-group img{width:120px;height:42px}.brand-band-heading h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-viewport{overflow-x:auto;mask-image:none}.brand-group[aria-hidden="true"]{display:none}}
.price-card strong.price-range{white-space:nowrap;font-size:clamp(30px,3.3vw,48px);letter-spacing:-.045em}
@media(max-width:560px){.price-card strong.price-range{font-size:clamp(32px,9vw,48px)}}

/* Homepage opening: photograph and content share one continuous hero. */
.header-inner{min-height:78px}
.home-header .header-inner{min-height:78px}
.home-page .hero{
 background-image:linear-gradient(90deg,rgba(11,27,57,.97) 0%,rgba(13,42,70,.90) 43%,rgba(12,45,68,.52) 72%,rgba(12,49,65,.25) 100%),url('/assets/rshg-techniker-uniform.webp');
 background-size:cover;
 background-position:center 40%;
 background-color:#142c4b;
}
.home-page .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:630px;gap:0;padding:66px 0 72px}
.home-page .hero-copy{max-width:690px;min-width:0;padding:0}
.home-page .hero .hero-actions .button{background:#2b977b}
.home-page .hero-trust{display:flex;align-items:center;gap:12px 23px;margin-top:42px}
.home-page .hero-price{
 display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;
 align-items:center;column-gap:16px;row-gap:3px;
 width:min(100%,510px);height:auto;min-height:100px;margin-top:22px;padding:15px 19px;
 background:linear-gradient(115deg,rgba(18,48,78,.78),rgba(16,94,99,.68));
 border:1px solid rgba(210,244,242,.56);border-radius:16px;color:#fff;
 box-shadow:0 15px 35px rgba(6,19,39,.24),inset 0 1px rgba(255,255,255,.2);
 -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.home-page .hero-price:hover,.home-page .hero-price:focus-visible{background:linear-gradient(115deg,rgba(23,59,91,.86),rgba(17,103,106,.79))}
.home-page .hero-price span{grid-column:1;grid-row:1;color:#d7f3ef;font-size:12px;line-height:1.2}
.home-page .hero-price small{grid-column:1;grid-row:2;color:#f1f8fc;font-size:14px;line-height:1.3}
.home-page .hero-price small em{color:#b6ebd9;font-size:12px}
.home-page .hero-price strong{display:flex;align-items:center;justify-content:center;grid-column:2;grid-row:1/3;align-self:stretch;
 padding-left:19px;border-left:1px solid rgba(224,249,247,.42);color:#fff;font-size:clamp(32px,3.5vw,43px);line-height:1;white-space:nowrap}

/* A single white surface for the original full-color brand logos. */
.home-page .brand-band{background:#fff;border:0;padding:27px 0 31px}
.home-page .brand-band-heading{margin-bottom:17px}
.home-page .brand-group{gap:34px;padding-right:34px}
.home-page .brand-group li{width:174px;height:64px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.home-page .brand-group img{width:158px;height:52px;object-fit:contain}

@media(max-width:760px){
 .home-page .hero{background-image:linear-gradient(180deg,rgba(10,27,53,.90) 0%,rgba(12,36,62,.76) 42%,rgba(12,45,65,.51) 70%,rgba(12,41,63,.89) 100%),url('/assets/rshg-techniker-uniform.webp');background-position:68% center}
 .home-page .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding:54px 0 60px}
 .home-page .hero-copy{max-width:100%}
 .home-page .hero-trust{margin-top:34px;gap:10px 18px}
 .home-page .brand-group{gap:22px;padding-right:22px}
 .home-page .brand-group li{width:146px;height:58px}
 .home-page .brand-group img{width:132px;height:46px}
}
@media(max-width:560px){
 .home-header .header-inner{padding:7px 0;gap:3px 9px}
 .home-header .header-social{gap:5px}
 .home-header .social-link{width:36px;height:36px}
 .home-header .social-link svg{width:19px;height:19px}
 .home-page .hero-price{width:100%;min-height:106px;padding:12px;column-gap:8px}
 .home-page .hero-price small{font-size:13px}
 .home-page .hero-price small em{font-size:11px}
 .home-page .hero-price strong{padding-left:10px;font-size:clamp(29px,8vw,36px)}
}
@media(min-width:360px) and (max-width:560px){
 .home-header .header-inner{display:grid;grid-template-columns:minmax(95px,1fr) auto auto;align-items:center;gap:6px}
 .home-header .logo{grid-column:1;grid-row:1}
 .home-header .logo img{width:112px;max-width:100%;height:auto}
 .home-header .header-social{grid-column:2;grid-row:1;margin:0;justify-self:end}
 .home-header .menu-toggle{grid-column:3;grid-row:1;padding:7px}
}

/* Full-photo service cards, keeping each original device photograph and link. */
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card{
 position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
 min-height:450px;padding:27px 25px 25px;overflow:hidden;
 color:#fff;background:#143c60;border:1px solid rgba(18,64,93,.16);border-radius:23px;
 box-shadow:0 15px 31px rgba(20,53,83,.17);
}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-media{
 position:absolute;z-index:0;inset:0;display:block;margin:0;aspect-ratio:auto;
}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-media img{
 width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.01);
}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-media:after{display:none}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:before{
 content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(12,33,55,.02) 0%,rgba(12,40,64,.12) 24%,rgba(14,48,75,.61) 51%,rgba(11,39,69,.94) 73%,rgba(10,82,91,.98) 100%);
}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card.disposal-card:before{
 background:linear-gradient(180deg,rgba(8,33,50,.02) 0%,rgba(8,39,56,.13) 24%,rgba(9,48,68,.64) 52%,rgba(9,48,67,.96) 75%,rgba(8,91,81,.99) 100%);
}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-types,
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-type{position:relative;z-index:2;align-self:flex-start;margin:0 0 13px}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-types span,
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-type{
 padding:7px 12px;border-radius:999px;background:#e8f2ff;color:#174169;
 font-size:13px;font-weight:800;line-height:1.1;
}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-types span:last-child{background:#e6f8f0;color:#155a4d}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card h3{position:relative;z-index:2;margin:0 0 10px;color:#fff;font-size:clamp(25px,2.45vw,33px);line-height:1.14;text-shadow:0 2px 12px rgba(7,29,47,.2)}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card p{position:relative;z-index:2;margin:0 0 19px;color:#f2f7fa;font-size:16px;line-height:1.5}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .card-link{
 position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;
 align-self:flex-start;width:auto;min-height:45px;margin:0;padding:10px 22px;
 border:1px solid rgba(229,251,251,.82);border-radius:999px;
 background:rgba(16,69,100,.23);color:#fff;text-align:center;font-size:15px;font-weight:800;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
}
@media(hover:hover){
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:hover{transform:translateY(-5px);background:#143c60;border-color:#9ed7d3;box-shadow:0 22px 42px rgba(15,47,73,.3)}
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:hover .service-media img{transform:scale(1.045);filter:none}
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:hover .card-link{background:rgba(255,255,255,.14)}
}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:focus-visible{background:#143c60;border-color:#a6e1da;outline:3px solid #51a78e;outline-offset:3px}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card.is-scroll-active{background:#143c60;border-color:#9ed7d3;box-shadow:0 19px 35px rgba(15,47,73,.28)}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card.is-scroll-active .service-media img{transform:scale(1.025);filter:none}
@media(max-width:760px){
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card{min-height:440px;padding:25px 24px 26px}
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card h3{font-size:30px}
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card p{font-size:16px}
}
@media(max-width:560px){
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card{min-height:425px}
 :is(.home-page .service-grid,.inner-page .service-grid-text) .service-card h3{font-size:clamp(26px,8vw,32px)}
}
@media(prefers-reduced-motion:reduce){:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card,:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-media img{transition:none}}

/* A shared photographic design for all four visit and collection prices. */
.price-grid .price-card:nth-child(-n+4){
 position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
 min-height:242px;padding:28px 24px 27px;overflow:hidden;border:1px solid rgba(125,211,210,.32);
 border-radius:24px;background:linear-gradient(128deg,#142a52 0%,#173d65 51%,#0b7b79 100%)!important;
 color:#fff!important;box-shadow:0 16px 33px rgba(17,53,78,.21)!important;
}
.price-grid .price-card:nth-child(-n+4):before{
 content:"";position:absolute;z-index:3;top:26px;left:24px;display:block!important;
 width:45px;height:4px;margin:0;border-radius:5px;background:#79d9bb;
}
.price-grid .price-card:nth-child(-n+4):after{
 content:"";position:absolute;z-index:0;inset:0 0 0 auto;width:70%;pointer-events:none;
 background-size:cover;background-position:right center;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 30%,#000 90%);
 mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 30%,#000 90%);
}
.price-grid .price-card:nth-child(1):after{background-image:linear-gradient(90deg,rgba(15,40,69,.3),rgba(10,48,71,.3)),url('/assets/wien-tagsueber.webp')}
.price-grid .price-card:nth-child(2):after{background-image:linear-gradient(90deg,rgba(15,40,69,.23),rgba(10,48,71,.23)),url('/assets/wien-abends.webp')}
.price-grid .price-card:nth-child(3):after{background-image:linear-gradient(90deg,rgba(15,40,69,.19),rgba(10,48,71,.19)),url('/assets/wien-umgebung.webp')}
.price-grid .price-card:nth-child(4):after{background-image:linear-gradient(90deg,rgba(15,40,69,.26),rgba(10,48,71,.26)),url('/assets/altgeraete-abholung-preis.webp')}
.price-grid .price-card:nth-child(-n+4)>span:first-child,
.price-grid .price-card:nth-child(-n+4)>strong,
.price-grid .price-card:nth-child(-n+4)>p{position:relative;z-index:2;max-width:100%;color:#fff!important;text-shadow:0 1px 8px rgba(4,26,51,.37)}
.price-grid .price-card:nth-child(-n+4)>span:first-child{padding-right:0;font-size:12px;line-height:1.4;letter-spacing:.09em}
.price-grid .price-card:nth-child(-n+4)>strong{margin:16px 0 7px;font-size:clamp(39px,3.3vw,51px);line-height:1.08;white-space:nowrap}
.price-grid .price-card:nth-child(3)>strong.price-range{font-size:clamp(29px,2.6vw,41px);letter-spacing:-.055em}
.price-grid .price-card:nth-child(-n+4)>p{font-size:15px;line-height:1.42}
@media(hover:hover){.price-grid .price-card:nth-child(-n+4):hover{border-color:#b6e7dd;box-shadow:0 20px 39px rgba(17,53,78,.3)!important}}
.price-grid .price-card:nth-child(-n+4):focus-visible{outline:3px solid #79d9bb;outline-offset:3px}
@media(max-width:760px){
 .price-grid .price-card:nth-child(-n+4){min-height:225px;padding:26px 24px 24px}
 .price-grid .price-card:nth-child(-n+4)>strong{font-size:clamp(39px,10vw,50px)}
 .price-grid .price-card:nth-child(3)>strong.price-range{font-size:clamp(32px,8.2vw,42px)}
}
@media(max-width:350px){.price-grid .price-card:nth-child(3)>strong.price-range{font-size:30px}}

/* Quiet, scan-friendly repair/installation/disposal conditions. */
.home-page .price-note-compact{
 margin-top:20px;padding:8px 25px;background:#fff;border:1px solid #dce5ed;border-radius:17px;
 box-shadow:0 8px 22px rgba(20,55,85,.05);color:#4c6376;font-size:16px;
}
.home-page .price-note-compact dl{margin:0}
.home-page .price-note-compact dl>div{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);gap:10px 22px;padding:18px 0}
.home-page .price-note-compact dl>div+div{border-top:1px solid #e5ebf0}
.home-page .price-note-compact dt{font-weight:800;color:#1b3e62}
.home-page .price-note-compact dd{margin:0;color:#506679;line-height:1.5}
@media(max-width:560px){
 .home-page .price-note-compact{padding:5px 20px}
 .home-page .price-note-compact dl>div{grid-template-columns:minmax(0,1fr);gap:4px;padding:17px 0}
}

/* Official Vienna district outlines with legible numbers at mobile scale. */
.district-map{margin:26px 0 0}
.district-map-scroll{width:100%;overflow-x:auto;overflow-y:hidden;border-radius:22px;background:#eef5f9;-webkit-overflow-scrolling:touch}
.district-map svg{display:block;width:100%;height:auto;min-width:700px}
.district-map .district-zone path{transition:fill .2s ease}
.district-map .district-zone:hover path{fill:#8fcec9}
.district-map figcaption{margin-top:14px;color:#566c7b;font-size:14px;line-height:1.5}
.district-map figcaption a{color:#1a657d;text-underline-offset:3px;text-decoration:underline}
@media(max-width:760px){.district-map svg{width:760px;min-width:760px}}
@media(prefers-reduced-motion:reduce){.district-map .district-zone path{transition:none}}

/* The repair process: calm photographic panels, matching the supplied reference. */
.steps.steps-photo{grid-template-columns:minmax(0,1fr);gap:18px}
.steps.steps-photo>.process-card{
 position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);
 align-items:center;gap:0;min-height:170px;padding:43px 32px 24px;
 border:1px solid #81bfce;border-radius:25px;background:linear-gradient(120deg,#092c50,#064467 65%,#087879);
 box-shadow:0 13px 28px rgba(19,65,90,.16);color:#fff;
}
.steps.steps-photo>.process-card:before{content:"";position:absolute;z-index:2;left:32px;top:22px;width:48px;height:4px;border-radius:5px;background:linear-gradient(90deg,#45e3bb,#65d9ef)}
.steps.steps-photo>.process-card:after{content:"";position:absolute;z-index:0;inset:0;background-size:cover;background-position:center;pointer-events:none}
.steps.steps-photo>.process-card:nth-child(1):after{background-image:linear-gradient(90deg,rgba(5,34,65,.99) 0%,rgba(5,49,77,.96) 40%,rgba(5,72,89,.59) 63%,rgba(5,39,66,.08) 100%),url('/assets/ablauf-kontakt.webp')}
.steps.steps-photo>.process-card:nth-child(2):after{background-image:linear-gradient(90deg,rgba(5,34,65,.99) 0%,rgba(5,49,77,.96) 40%,rgba(5,72,89,.59) 63%,rgba(5,39,66,.08) 100%),url('/assets/ablauf-pruefung.webp')}
.steps.steps-photo>.process-card:nth-child(3):after{background-image:linear-gradient(90deg,rgba(5,34,65,.99) 0%,rgba(5,49,77,.96) 40%,rgba(5,72,89,.59) 63%,rgba(5,39,66,.08) 100%),url('/assets/ablauf-ersatzteil.webp')}
.steps-photo .process-copy{position:relative;z-index:1;max-width:520px}
.steps.steps-photo h3{color:#fff;margin:0 0 12px;font-size:clamp(25px,3vw,34px);line-height:1.15}
.steps.steps-photo p{max-width:440px;margin:0;color:#eef7fa;font-size:18px;line-height:1.5}
@media(max-width:760px){
 .steps.steps-photo>.process-card{grid-template-columns:minmax(0,1fr);gap:0;min-height:166px;padding:35px 22px 20px;border-radius:22px}
 .steps.steps-photo>.process-card:before{left:22px;top:17px;width:42px;height:3px}
 .steps.steps-photo h3{font-size:23px;margin-bottom:8px}
 .steps.steps-photo p{font-size:16px;line-height:1.4}
 .steps.steps-photo>.process-card:after{background-position:64% center;opacity:.6}
}
@media(max-width:360px){.steps.steps-photo>.process-card{padding-left:18px;padding-right:18px}.steps.steps-photo h3{font-size:22px}}

/* Forest green identity: quiet natural surfaces, blue reserved as an accent. */
:root{--navy:#243d47;--ink:#243e37;--lime:#267454;--paper:#f5f5ef;--line:#dce5dd;--muted:#56665e}
body{background:#fafbf8;color:var(--ink)}
h1,h2,h3,.section-head h2,.band h2,.form-intro h2,.district-panel h2{color:#24493d}
.eyebrow{color:#537661}
.section-head p,.band p,.area-grid p{color:#56665e}
.header{background:#ffffffed;border-color:#e1e8df;box-shadow:0 3px 18px #254c3610}
.nav-link{color:#304c40}.social-link{background:#f0f5ef;border-color:#d9e4d8;color:#355d4b}
.button,.header-cta{background:#287552;box-shadow:0 5px 15px #264f3217}
.button:hover,.header-cta:hover{background:#1c5b40}
.home-page .hero{background-image:linear-gradient(90deg,rgba(20,49,39,.98),rgba(24,60,47,.91) 43%,rgba(27,63,55,.48) 75%,rgba(30,58,58,.21)),url('/assets/rshg-techniker-uniform.webp');background-color:#244c3d}
.hero-line-accent{background:none;color:#c9e5b8;-webkit-text-fill-color:#c9e5b8}
.home-page .hero .hero-actions :is(.button,.text-action){background:#3b8259;box-shadow:0 6px 18px #102d3225}
.home-page .hero .hero-actions :is(.button,.text-action):hover{background:#4a9166}
.home-page .hero-price{background:linear-gradient(110deg,#214f3dd9,#355e55b8);border-color:#d0e4c96b;box-shadow:0 8px 22px #16322620}
.home-page .hero-price:hover{background:#32634eda}
.home-page .hero-price small em,.hero .eyebrow{color:#d6e9c9}
.home-page .brand-band{background:#fff}.brand-band-heading h2{color:#4f675b}
.home-page main>.section{background:#fafbf8}
.home-page main>.section.section-cream,.home-page .proof+.section{background:#f4f2eb}
.home-page .section-cream+.section{background:#edf3ed}
.inner-page main>.section{background:#fafbf8}
.inner-page main>.section.section-cream{background:#f4f2eb}
.inner-page main>.section.installation-section{background:#edf3e9}
.proof{background:#e4ede2;color:#24493d;border-block:1px solid #d8e3d6}
.proof h2,.proof .eyebrow{color:#24493d}.proof p{color:#53685b}
.google-review-link{box-shadow:0 5px 16px #274b3210;border-color:#d4dfd2}
.band{background:linear-gradient(110deg,#f2eee4,#edf2e8 65%,#e8f0ed)}
.band-photo{box-shadow:0 9px 22px #294b3214;border-width:3px}
.service-area{background:#e7edf0;color:#294955}
.service-area h2{color:#294955}.service-area p{color:#506773}.service-area .eyebrow{color:#516f80}
.service-area .button{background:#fff;color:#345769;border-color:#d4dfe2}
.page-hero,.closing{background:linear-gradient(115deg,#234c3c,#396950 72%,#36565e)}
.page-hero h1,.closing h2{color:#fff}.page-hero p{color:#e3ece4}
.footer{background:#203c32}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card{--card-shade:26,65,47;background:#254c3b;border-color:#d2dfd4;box-shadow:0 7px 20px #29473216}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:nth-child(3n+2){--card-shade:39,66,78}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:nth-child(3n){--card-shade:66,73,47}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:before,
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card.disposal-card:before{background:linear-gradient(180deg,rgba(var(--card-shade),0) 18%,rgba(var(--card-shade),.12) 32%,rgba(var(--card-shade),.83) 59%,rgba(var(--card-shade),.98) 77%,rgb(var(--card-shade)))}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .card-link{background:#ffffff0d;border-color:#ffffff80;box-shadow:none}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-types span{background:#e6edf0;color:#345566}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-types span:last-child,
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card .service-type{background:#edf2df;color:#41573a}
:is(.home-page .service-grid,.inner-page .service-grid-text) .service-card:is(:hover,:focus-visible,.is-scroll-active){box-shadow:0 12px 24px #29473224;border-color:#8eaf99}
.price-grid .price-card:nth-child(-n+4){background:linear-gradient(115deg,#244a38,#3c654a)!important;border-color:#c4d5c1;box-shadow:0 7px 20px #29473217!important}
.price-grid .price-card:nth-child(2){background:linear-gradient(115deg,#2c4555,#456072)!important}
.price-grid .price-card:nth-child(3){background:linear-gradient(115deg,#4c593e,#6a7552)!important}
.price-grid .price-card:nth-child(4){background:linear-gradient(115deg,#285747,#4b7562)!important}
.price-grid .price-card:nth-child(-n+4):before{background:#d0ddb1;height:3px;width:35px}
.price-grid .price-card:nth-child(-n+4):after{opacity:.55}
.price-grid .price-card:nth-child(-n+4)>p{color:#f4f5ed!important}
.home-page .price-note-compact{border-color:#e1e4d9;box-shadow:none}
.home-page .price-note-compact dt{color:#345643}.home-page .price-note-compact dd{color:#5b685f}
.steps.steps-photo>.process-card{border-color:#c1d3c1;background:#2b503d;box-shadow:0 6px 18px #29473212}
.steps.steps-photo>.process-card:before{background:#cfdfb6;width:36px;height:3px}
.steps.steps-photo>.process-card:nth-child(1):after{background-image:linear-gradient(90deg,#254d3c 0%,#254d3cf5 40%,#254d3c8c 68%,#254d3c12),url('/assets/ablauf-kontakt.webp')}
.steps.steps-photo>.process-card:nth-child(2):after{background-image:linear-gradient(90deg,#344f5a 0%,#344f5af5 40%,#344f5a8c 68%,#344f5a12),url('/assets/ablauf-pruefung-korrigiert.webp')}
.steps.steps-photo>.process-card:nth-child(3):after{background-image:linear-gradient(90deg,#505b3f 0%,#505b3ff5 40%,#505b3f8c 68%,#505b3f12),url('/assets/ablauf-ersatzteil.webp')}
.prepare-list p,.problem-grid div,.contact-card,.prose-box{background:#fff;border-color:#dbe4d9;border-left-color:#71947b;box-shadow:none}
.prepare-list p:nth-child(2),.problem-grid div:nth-child(3n+2){border-left-color:#7d97a4;background:#f5f8f8}
.prepare-list p:nth-child(3),.problem-grid div:nth-child(3n){border-left-color:#a5aa78;background:#f7f7ef}
.prepare-list b,.faq-list summary,.area-grid h2{color:#315340}
.faq-list details{border-color:#d9e3d6}.faq-list details[open]{background:#f0f5ed}
.area-grid>div,.district-panel,.contact-form{background:#fff;border-color:#d8e3d6;box-shadow:0 6px 20px #2947320d}
.area-grid>div:last-child{border-top-color:#809baa}
.file-field,.request-detail{background:#f0f5ef;border-color:#b0c4b4}.install-detail{background:#f1f2e7}
.contact-form .form-actions .button{background:#287552;border-color:#287552}
.price-note{background:#fff;border-color:#71947b;color:#56665e}
@media(max-width:760px){
 .home-page .hero{background-image:linear-gradient(180deg,#143a2eeb,#1d4a39c9 44%,#234e3b94 70%,#183e32ed),url('/assets/rshg-techniker-uniform.webp')}
 .steps.steps-photo>.process-card:after{opacity:1}
}

/* Homepage hero: cool slate, warm accents and more of the appliance in frame. */
.home-page .hero{
 background-color:#273f4e;
 background-image:linear-gradient(90deg,rgba(27,45,57,.97) 0%,rgba(31,51,64,.94) 31%,rgba(34,53,65,.79) 48%,rgba(37,54,62,.30) 70%,rgba(28,43,48,.05) 100%),url('/assets/rshg-techniker-uniform.webp');
 background-size:cover,auto 110%;
 background-position:center,right center;
 background-repeat:no-repeat;
}
.home-page .hero .eyebrow{color:#f0cca9}
.home-page .hero-line-accent{background:none;color:#f8deb5;-webkit-text-fill-color:#f8deb5}
.home-page .hero .hero-actions .button{background:#a65037;color:#fff;box-shadow:0 7px 18px rgba(22,35,42,.22)}
.home-page .hero .hero-actions .button:hover{background:#90432e;color:#fff}
.home-page .hero .hero-actions .text-action{background:#d9e6e9;color:#223e4d;box-shadow:0 7px 18px rgba(22,35,42,.17)}
.home-page .hero .hero-actions .text-action:hover{background:#eff4f4;color:#223e4d}
.home-page .hero-trust span:before{color:#e7c792}
.home-page .hero-price{background:linear-gradient(110deg,rgba(38,57,70,.82),rgba(61,77,82,.7));border-color:rgba(230,237,231,.62);box-shadow:0 9px 23px rgba(18,34,44,.2)}
.home-page .hero-price:hover,.home-page .hero-price:focus-visible{background:linear-gradient(110deg,rgba(44,65,79,.9),rgba(71,88,93,.82))}
.home-page .hero-price span,.home-page .hero-price small em{color:#f0ddbf}
@media(max-width:760px){
 .home-page .hero{
  background-image:linear-gradient(180deg,rgba(26,44,56,.93) 0%,rgba(29,48,60,.83) 40%,rgba(28,46,57,.62) 70%,rgba(27,43,53,.91) 100%),url('/assets/rshg-techniker-uniform.webp');
  background-size:cover,auto 82%;
  background-position:center,66% 54%;
 }
}

/* Shorter homepage, with one clear contact action. */
.home-page .hero .hero-actions .text-action{background:rgba(255,255,255,.07);border:1px solid rgba(238,245,245,.74);color:#f5f8f7;box-shadow:none}
.home-page .hero .hero-actions .text-action:hover{background:rgba(255,255,255,.17);color:#fff}
.home-page .band{padding:40px 0}
.home-page .band-inner{grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:36px}
.home-page .band-photo{height:190px;border-radius:18px}
.home-page .band-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.home-page .band h2{font-size:clamp(28px,3vw,40px);margin-bottom:10px}
.home-page .band .eyebrow{margin-bottom:9px}
.home-page .band p{font-size:17px;line-height:1.5;margin-bottom:9px}
.form-prep-hint{margin:18px 0 24px;padding:13px 16px;border-left:3px solid #7fa38a;border-radius:8px;background:#f2f6f0;color:#425a4a;font-size:15px;line-height:1.5}
.form-prep-hint strong{color:#2d513e}
@media(max-width:760px){.home-page .band{padding:36px 0}.home-page .band-inner{grid-template-columns:1fr;gap:18px}.home-page .band-photo{height:180px}.home-page .band h2{font-size:30px}}

/* Review card from the approved visual example; retain the existing section background. */
.home-page .proof{background:#e4ede2}
.home-page .proof-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}
.home-page .proof .eyebrow{color:#315b48;letter-spacing:.16em}
.home-page .proof h2{color:#24493d;font-size:clamp(34px,4vw,49px);letter-spacing:-.035em;line-height:1.12;margin:0}
.home-page .google-review-link{width:min(100%,650px);min-width:0;min-height:150px;margin:30px 0 0;padding:26px 32px;gap:27px;border:1px solid #d7e0d4;border-radius:20px;background:#fff;box-shadow:0 13px 28px rgba(42,66,49,.10);color:#243643}
.home-page .google-review-link:hover{background:#fff;border-color:#b9cdb9;box-shadow:0 16px 32px rgba(42,66,49,.15)}
.home-page .google-mark{display:block;width:53px;height:53px;flex:0 0 53px;padding:0;background:none;color:inherit}
.home-page .google-mark svg{display:block;width:100%;height:100%}
.home-page .google-review-copy{display:grid;gap:5px;min-width:0;white-space:normal;line-height:1.25}
.home-page .google-review-copy strong{font-size:22px;color:#253849;letter-spacing:-.025em}
.home-page .google-stars{font-size:24px;letter-spacing:2px;color:#dda52b;line-height:1}
.home-page .google-review-copy .google-review-cta{display:flex;align-items:center;gap:13px;color:#41505d;font-size:16px;font-weight:600}
.home-page .google-review-cta span{color:#215440;font-size:25px;font-weight:400;line-height:1;transition:transform .2s ease}
.home-page .google-review-link:hover .google-review-cta span{transform:translateX(4px)}
@media(max-width:560px){
 .home-page .proof{padding:54px 0 62px}
 .home-page .google-review-link{min-height:138px;margin-top:29px;padding:20px 22px;gap:18px;border-radius:18px}
 .home-page .google-mark{width:43px;height:43px;flex-basis:43px}
 .home-page .google-review-copy strong{font-size:19px}
 .home-page .google-stars{font-size:20px;letter-spacing:1px}
 .home-page .google-review-copy .google-review-cta{font-size:14px;gap:6px}
 .home-page .google-review-cta span{font-size:21px}
}

/* Balance the review section on wide screens while keeping a readable mobile card. */
@media(min-width:900px){
 .home-page .proof{padding:58px 0}
 .home-page .proof-inner{grid-template-columns:minmax(0,1fr) minmax(0,46%);gap:clamp(32px,4vw,68px);align-items:center}
 .home-page .proof-inner>div{min-width:0}
 .home-page .proof h2{max-width:590px}
 .home-page .google-review-link{width:100%;min-height:142px;margin:0;padding:23px clamp(21px,2.5vw,32px);gap:clamp(16px,2vw,27px)}
}
@media(min-width:761px) and (max-width:899px){
 .home-page .proof-inner{grid-template-columns:minmax(0,1fr)}
 .home-page .google-review-link{justify-self:end}
}
@media(max-width:560px){
 .home-page .google-review-link{justify-self:stretch}
}

/* Direct price-page link inside the FAQ answer. */
.faq-list p .faq-price-link{color:#1d684c;font-weight:800;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.faq-list p .faq-price-link:hover{color:#114e39}
.faq-list p .faq-price-link:focus-visible{outline:3px solid #8dc3a5;outline-offset:3px;border-radius:2px}

/* Confirmation after the contact provider redirects back to the site. */
.confirmation-section{min-height:calc(100svh - 210px);display:grid;align-items:center;padding:clamp(32px,7vw,90px) 0}
.confirmation-card{max-width:700px;margin:auto;background:#fff;border:1px solid #d4e1eb;border-radius:20px;padding:clamp(28px,6vw,64px);box-shadow:0 18px 50px #123f6314;text-align:center}
.confirmation-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:#e5f5ee;color:#287d5b;font-size:36px;font-weight:800}
.confirmation-card h1{font-size:clamp(32px,5vw,52px);line-height:1.15;margin:12px 0 18px;color:#193d59}
.confirmation-card p{font-size:clamp(18px,2vw,21px);line-height:1.5;color:#455967;margin:0 auto 30px;max-width:540px}
@media(max-width:560px){.confirmation-section{min-height:calc(100svh - 150px);padding:24px 0}.confirmation-card{padding:38px 22px}.confirmation-card .button{width:100%;justify-content:center}}

/* Keep the opening focused on the service and contact options. */
.home-page .hero-grid{min-height:540px;padding:58px 0 62px}
@media(max-width:760px){
 .home-page .hero-grid{min-height:0;padding:48px 0 48px}
 .home-page .hero-trust{margin-top:30px}
}

/* Circular icon-only WhatsApp action in the lower-right corner. */
.mobile-bar{display:flex;position:fixed;left:auto;right:24px;bottom:24px;width:68px;height:68px;padding:0;align-items:center;justify-content:center;background:transparent;box-shadow:none;pointer-events:none;z-index:30}
.mobile-bar a,.mobile-bar a:last-child{display:grid;place-items:center;width:68px;min-width:68px;height:68px;min-height:68px;padding:0;border-radius:50%;font-size:0;pointer-events:auto}
.mobile-bar a svg{width:37px;height:37px;flex:0 0 37px;padding:0;border:0;border-radius:0;background:none}
.mobile-bar a::before{top:5px;left:15%;width:70%;height:36%}
@media(max-width:760px){.mobile-bar{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}

/* Optional contact details */
.contact-form .optional-details{margin:16px 0 22px;padding:16px 20px;border:1px solid #d7e2d8;border-radius:12px;background:#f5f8f2}.contact-form .optional-details>summary{cursor:pointer;font-size:16px;line-height:1.5;font-weight:600;color:#245c4b}.contact-form .optional-details .optional-help{font-size:14px;line-height:1.6;margin:12px 0 18px;color:#66756b}.contact-form .optional-details .field{margin-top:16px}
