@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-display:swap;font-weight:200 800}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#17251b;background:#fff;font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #72b43f;outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(40px,5.6vw,78px);font-weight:600;margin-bottom:26px}h2{font-size:clamp(30px,3.2vw,46px);font-weight:550;margin-bottom:24px}h3{font-size:20px;font-weight:650;letter-spacing:-.025em}p{color:#6b756c}svg{width:38px;height:38px}.header{position:sticky;top:16px;z-index:30;margin:16px auto;width:calc(100% - 64px);max-width:1440px;min-height:82px;padding:12px 20px;border-radius:20px;border:1px solid #ffffffaa;box-shadow:0 6px 35px #17251b0b;background:#ffffffcc;backdrop-filter:blur(22px) saturate(160%);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:9px;color:#244c2d;white-space:nowrap}.brand strong{font-size:22px;letter-spacing:-.8px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:-3px}.header nav{display:flex;gap:25px;align-items:center;font-size:12px;font-weight:650}.header nav>a:hover,.header nav [aria-current]{color:#508a35}.header-actions{display:flex;align-items:center;gap:20px}.language{font-size:12px;font-weight:700;white-space:nowrap}.language span{color:#8b938b;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:#244c2d;color:white;border:1px solid transparent;border-radius:8px;min-height:51px;padding:13px 23px;font-size:12px;font-weight:650;transition:background .2s,transform .2s}.button:hover{background:#376a3e;transform:translateY(-2px)}.header-cta{min-height:46px;padding:11px 18px}.white{background:white;color:#244c2d}.white:hover{background:#edf3e8}.outline{border-color:#ffffff80;background:#ffffff10;color:white}.outline:hover{background:#ffffff20}.menu-toggle{display:none}.nav-dropdown{position:relative;display:flex;align-items:center;gap:5px}.dropdown-toggle{border:0;background:none;padding:8px;color:inherit}.dropdown{display:none;position:absolute;top:100%;left:-20px;min-width:270px;padding:16px;background:#fffffff5;backdrop-filter:blur(24px);border:1px solid #e2e8df;border-radius:14px;box-shadow:0 16px 40px #17251b12}.dropdown a{display:block;padding:9px;border-radius:5px}.dropdown a:hover{background:#f1f5ec}.nav-dropdown:focus-within .dropdown,.nav-dropdown:hover .dropdown,.nav-dropdown.open .dropdown{display:block}.hero{position:relative;min-height:650px;height:calc(100svh - 145px);max-height:850px;margin:0 24px;border-radius:16px;overflow:hidden;color:white;background:#244c2d}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo img{width:100%;height:100%}.hero-shade{background:linear-gradient(90deg,#071b0fd9 0%,#1023147a 45%,#10231412 100%),linear-gradient(0deg,#0b211945,transparent 40%)}.hero-content{position:relative;padding:110px 6.5% 140px;max-width:860px}.eyebrow{display:block;color:#5c8750;font-size:10px;font-weight:750;letter-spacing:2.3px;margin-bottom:24px}.eyebrow.light{color:#d2e9c3}.eyebrow i{display:inline-block;width:5px;height:5px;background:#a8c989;border-radius:50%;margin:0 10px;vertical-align:middle}.hero h1{font-size:clamp(48px,6.5vw,92px);line-height:1.04;letter-spacing:-.055em;margin-bottom:28px}.hero-content p{color:#edf3e5c9;font-size:15px;line-height:1.9;max-width:510px}.actions{display:flex;gap:12px;margin-top:34px}.hero-bottom{position:absolute;bottom:36px;left:6.5%;right:6.5%;display:flex;justify-content:space-between;border-top:1px solid #ffffff3b;padding-top:24px;font-size:10px;letter-spacing:1.3px}.photo-credit{position:absolute;bottom:8px;right:15px;font-size:8px;color:#ffffffa0}.trust-strip{max-width:1260px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:26px 48px;font-size:11px;font-weight:550;border-bottom:1px solid #e9ede6}.trust-strip span{display:flex;align-items:center;gap:12px}.trust-strip svg{width:23px;height:23px}.section{max-width:1320px;margin:auto;padding:96px 48px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.section-heading h2{margin:0}.section-heading p{font-size:13px;max-width:310px;margin-bottom:3px}.section-heading .eyebrow{margin-bottom:18px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.service-card{border:1px solid #e4e9df;border-radius:10px;overflow:hidden;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #244c2d0c}.card-photo{position:relative;overflow:hidden}.card-photo img{width:100%;height:180px;transition:transform .4s}.service-card:hover img{transform:scale(1.04)}.card-no{position:absolute;top:12px;left:12px;display:grid;place-items:center;background:#fffdf2ed;border-radius:50%;width:29px;height:29px;font-size:9px}.card-copy{padding:22px 18px}.card-copy h3{font-size:17px;min-height:40px;margin-bottom:12px}.card-copy p{font-size:11px;min-height:40px;line-height:1.8}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;color:#244c2d}.card-copy .text-link{border-top:1px solid #e4e9df;padding-top:14px;width:100%}.text-link b{font-size:17px;font-weight:400}.benefit{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;background:#f5f7f2;max-width:none;padding-left:max(48px,calc((100vw - 1224px)/2));padding-right:max(48px,calc((100vw - 1224px)/2))}.benefit-image{position:relative}.benefit-image img{height:530px;width:100%;border-radius:12px}.image-note{position:absolute;bottom:24px;left:24px;background:#ffffffe0;backdrop-filter:blur(14px);border-radius:7px;padding:16px 22px;font-size:13px}.benefit p{font-size:13px}.benefit-list{list-style:none;padding:0;margin:28px 0}.benefit-list li{padding:11px 0;border-bottom:1px solid #dfe5da;font-size:12px}.benefit-list li span{margin-right:10px;color:#4f8436}.process{border-bottom:1px solid #e4e9df}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:50px}.steps article>span{font-size:34px;font-weight:400;color:#8ba17f;display:block;border-bottom:1px solid #d9e1d3;margin-bottom:25px;padding-bottom:20px}.steps h3{font-size:18px}.steps p{font-size:12px}.filters{display:flex;gap:8px;margin-bottom:24px}.filters button{border:1px solid #dde5d7;background:white;border-radius:30px;padding:8px 18px;font-size:11px}.filters button[aria-pressed=true]{background:#244c2d;color:white;border-color:#244c2d}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.gallery-item{border:0;padding:0;position:relative;border-radius:10px;overflow:hidden;background:#f5f7f2}.gallery-item:first-child{grid-row:span 2}.gallery-item img{height:210px;width:100%}.gallery-item:first-child img{height:438px}.gallery-item:last-child{grid-column:span 2}.gallery-item span{position:absolute;bottom:0;left:0;right:0;text-align:left;background:linear-gradient(transparent,#102314b3);padding:36px 18px 14px;color:white;font-size:10px}.area{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;background:#f5f7f2;border-radius:12px}.area p{font-size:13px}.area-visual{min-height:330px;position:relative;display:flex;align-items:center;justify-content:center;gap:28px;background:radial-gradient(#5c875020 1px,transparent 1px);background-size:16px 16px;border-radius:12px}.area-visual>span{font-size:26px;color:#a0ac98;letter-spacing:5px}.area-ring{width:240px;height:240px;border:1px dashed #7c9e67;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#dfead85a;box-shadow:0 0 0 30px #e2ebda44}.area-ring b{display:grid;place-items:center;border-radius:50%;width:55px;height:55px;background:#244c2d;color:white;font-size:20px}.area-ring small{font-size:8px;letter-spacing:1px;margin-top:12px}.area-visual>p{position:absolute;bottom:8px;font-size:11px}.area-visual>small{position:absolute;bottom:-10px;font-size:8px;color:#829079}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:90px}.faq p{font-size:13px}details{border-bottom:1px solid #dfe5d9}summary{cursor:pointer;list-style:none;padding:20px 0;font-size:13px;font-weight:650;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:400;color:#6d8960}details[open] summary span{transform:rotate(45deg)}details p{padding-right:24px}.cta{background:#244c2d;margin:0 24px;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:65px max(48px,calc((100vw - 1224px)/2 - 24px));color:white}.cta h2{margin-bottom:15px}.cta p{color:#c6d4c1;margin-bottom:0;font-size:13px}.cta .eyebrow{margin-bottom:16px}.cta .button{flex-shrink:0}.footer{max-width:1320px;margin:auto;padding:65px 48px 25px}.footer-top{display:grid;grid-template-columns:1.4fr .7fr 1fr 1fr;gap:40px}.footer p{font-size:11px;margin-top:20px}.footer h3{font-size:12px;margin-bottom:20px}.footer-top>div>a:not(.brand){display:block;font-size:11px;color:#687465;margin-bottom:8px}.footer small{font-size:9px;color:#84907e}.footer-bottom{border-top:1px solid #e4e9df;margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;font-size:10px;color:#8a9385}.footer-bottom>div{display:flex;gap:24px}.mobile-contact{display:none}.breadcrumbs{max-width:1320px;padding:20px 48px 0;margin:auto;font-size:10px;color:#7b8875}.page-intro{padding-top:60px}.page-intro>p{max-width:700px}.page-intro .service-grid{margin-top:60px}.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:60px}.service-intro h1{font-size:clamp(38px,4vw,60px)}.service-intro>img{width:100%;height:480px;border-radius:12px}.scope{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#f5f7f2;border-radius:12px}.scope h2{font-size:32px}.related{display:flex;gap:20px;flex-wrap:wrap}.related a{padding:20px;border:1px solid #dfe5d9;border-radius:8px}.contact{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;background:#f5f7f2;border-radius:12px;scroll-margin-top:110px}.phone{font-size:26px;font-weight:600;display:block;margin:30px 0}.contact p{font-size:13px}.notice{border-left:2px solid #7c9f65;padding:14px 18px;background:#e8eee2;font-size:12px!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:11px;font-weight:600;margin-bottom:16px}input:not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #d8e0d1;background:#fff;border-radius:6px;padding:11px;margin-top:6px;color:#17251b;min-width:0}fieldset{border:0;padding:0;margin:8px 0 16px;min-width:0}legend{font-size:11px;font-weight:650;margin-bottom:10px}.checks{display:flex;flex-wrap:wrap;gap:8px}.checks label{display:flex;align-items:center;gap:7px;margin:0;padding:7px 10px;border:1px solid #d8e0d1;border-radius:5px;font-size:10px;background:white}input[type=checkbox]{accent-color:#244c2d;flex-shrink:0}.consent{display:flex;align-items:flex-start;gap:8px;font-size:10px;font-weight:400}.consent a{text-decoration:underline}.upload{border:1px dashed #bdcbb4;border-radius:6px;padding:15px}.upload input{background:transparent!important;border:0!important;padding:6px 0!important;font-size:10px}.upload small{font-size:9px;color:#7b8875}.form-status{margin:14px 0 0;color:#244c2d}.honeypot{display:none!important}.legal{max-width:900px}.legal h2{font-size:24px;margin-top:35px}.skip{position:fixed;top:-100px;left:20px;z-index:99;background:white;padding:10px}.skip:focus{top:10px}dialog{border:0;border-radius:12px;padding:20px;background:#f5f7f2;max-width:90vw;max-height:90vh}dialog::backdrop{background:#102314d9}dialog img{max-height:73vh}dialog p{font-size:12px;margin:10px 0 0}.close-dialog{position:absolute;right:25px;top:25px;border:0;background:white;border-radius:50%;width:36px;height:36px;font-size:24px}[hidden]{display:none!important}
@media(min-width:1500px){.hero-content{padding-top:130px}}@media(max-width:1150px){.header nav{gap:14px}.brand-name{font-size:18px}.header-cta{display:none}.service-grid{gap:16px}.section{padding:70px 32px}.benefit,.scope,.contact,.area,.faq{gap:40px}.benefit{padding:70px 40px}.header{width:calc(100% - 40px)}.header nav{font-size:11px}.card-copy h3{font-size:15px}.footer{padding-left:32px;padding-right:32px}}@media(max-width:800px){.header{top:10px;margin:10px auto;min-height:70px;width:calc(100% - 28px);padding:12px 16px;border-radius:16px}.brand strong{font-size:20px}.brand-name{font-size:16px}.brand small{font-size:7px;letter-spacing:1.2px}.brand svg{width:30px}.menu-toggle{display:block;background:none;border:0;font-size:21px;color:#244c2d}.header-actions{gap:12px}.header nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fffffff5;backdrop-filter:blur(20px);padding:20px;border:1px solid #e4e9df;border-radius:14px;align-items:stretch;flex-direction:column;gap:12px;font-size:14px}.header nav.open{display:flex}.nav-dropdown{flex-wrap:wrap}.dropdown{position:static;box-shadow:none;flex-basis:100%;font-size:12px}.hero{margin:0 12px;min-height:620px;height:calc(100svh - 105px);border-radius:12px}.hero-content{padding:95px 28px 120px}.hero h1{font-size:64px}.hero p{font-size:13px}.hero-shade{background:linear-gradient(90deg,#071b0fd9,#10231470)}.hero-bottom{left:28px;right:28px;font-size:8px}.trust-strip{padding:22px 25px;gap:15px;font-size:9px}.trust-strip span:last-child{display:none}.section{padding:60px 25px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.section-heading p{max-width:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-photo img{height:180px}.card-copy h3{font-size:18px}.card-copy p{font-size:12px}.benefit,.service-intro,.scope,.contact,.area,.faq{grid-template-columns:1fr;gap:35px}.benefit-image img{height:400px}.benefit{padding:60px 25px}.steps{grid-template-columns:1fr 1fr;gap:28px}.gallery{grid-template-columns:1fr 1fr}.gallery-item:first-child{grid-row:auto;grid-column:span 2}.gallery-item:first-child img{height:330px}.gallery-item:last-child{grid-column:span 2}.area{border-radius:0}.area-visual{min-height:340px}.faq{gap:20px}.cta{margin:0 12px;padding:40px 25px;align-items:flex-start;flex-direction:column}.footer{padding:50px 25px 90px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-bottom{gap:20px;flex-wrap:wrap}.mobile-contact{display:flex;position:fixed;z-index:25;bottom:12px;left:12px;right:12px;box-shadow:0 4px 20px #17251b20;background:#ffffffe8;backdrop-filter:blur(20px);padding:7px;border:1px solid #e4e9df;border-radius:12px;gap:7px}.mobile-contact a{flex:1;padding:10px 8px;text-align:center;font-size:11px;color:#244c2d}.mobile-contact a:last-child{background:#244c2d;color:white;border-radius:7px}.breadcrumbs{padding:20px 25px 0}.service-intro>img{height:350px}.contact{border-radius:0}.page-intro h1{font-size:44px}.scope{border-radius:0}}@media(max-width:430px){.hero h1{font-size:49px}.hero-content{padding:90px 23px 120px}.hero{min-height:580px}.hero p br{display:none}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.actions{gap:8px}.actions .button{padding:12px 15px;gap:13px;font-size:10px}.hero-bottom{font-size:7px;left:23px;right:23px}.service-grid{gap:12px}.card-photo img{height:130px}.card-copy{padding:16px 12px}.card-copy h3{font-size:15px;min-height:50px}.card-copy p{font-size:10px;min-height:60px}.text-link{font-size:10px}.section{padding:52px 20px}.form-grid{grid-template-columns:1fr;gap:0}.footer-top{gap:24px}.footer-top>div:first-child{grid-column:span 2}.area-visual{gap:12px}.area-ring{width:210px;height:210px}.area-visual>span{font-size:20px}.language{font-size:10px}.gallery-item img{height:170px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Company logo and homepage slideshow. */
.header .company-logo {
  width: 66px;
  height: 66px;
  object-fit: contain;
  flex-shrink: 0;
}
.header .brand {
  gap: 13px;
}
.header {
  min-height: 90px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.footer .company-logo {
  width: 115px;
  height: 115px;
  object-fit: contain;
  flex-shrink: 0;
}
.footer .brand {
  align-items: center;
  white-space: normal;
}
.footer .brand strong {
  font-size: 20px;
}
.service-carousel {
  min-width: 0;
}
.carousel-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin: 0 0 22px;
}
.carousel-toolbar > p {
  font-size: 12px;
  margin: 0;
}
.carousel-controls {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-shrink: 0;
}
.carousel-count {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 1px;
  color: #6c7d66;
  margin-right: 15px;
}
.carousel-controls button {
  width: 46px;
  height: 46px;
  border: 1px solid #d8e1d2;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: white;
  color: #244c2d;
  font-size: 21px;
  transition:
    background 0.2s,
    color 0.2s;
}
.carousel-controls button:hover:not(:disabled) {
  background: #244c2d;
  color: white;
}
.carousel-controls button:disabled {
  opacity: 0.35;
  cursor: default;
}
.service-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 0 8px;
  border-radius: 12px;
  position: relative;
  scroll-padding: 0;
}
.service-track::-webkit-scrollbar {
  display: none;
}
.service-slide {
  position: relative;
  isolation: isolate;
  display: block;
  flex: 0 0 calc((100% - 44px) / 3);
  min-width: 0;
  height: 460px;
  scroll-snap-align: start;
  overflow: hidden;
  border-radius: 13px;
  background: #244c2d;
  color: #fff;
}
.service-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    180deg,
    #061d1640 0%,
    transparent 28%,
    #0b201a55 45%,
    #0b201af2 100%
  );
}
.service-slide > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s;
}
.service-slide:hover > img {
  transform: scale(1.055);
}
.slide-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 22px;
}
.slide-top > span:first-child {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid #ffffff80;
  background: #ffffff19;
  backdrop-filter: blur(10px);
  display: grid;
  place-items: center;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
.slide-top > span:last-child {
  font-size: 8px;
  letter-spacing: 1.8px;
  font-weight: 650;
  text-shadow: 0 1px 8px #0006;
}
.slide-copy {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px;
}
.slide-copy h3 {
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -1px;
  margin-bottom: 12px;
  max-width: 300px;
  line-height: 1.16;
}
.slide-copy p {
  font-size: 12px;
  line-height: 1.7;
  color: #e2ecdd;
  max-width: 270px;
  min-height: 40px;
  margin-bottom: 22px;
}
.slide-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #ffffff42;
  padding-top: 17px;
  font-size: 11px;
  font-weight: 650;
}
.slide-link b {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  background: #ffffffed;
  color: #244c2d;
  border-radius: 50%;
  font-size: 17px;
  font-weight: 400;
  transition: background 0.2s;
}
.service-slide:hover .slide-link b {
  background: #b6da8d;
}
.carousel-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
}
.carousel-dots {
  display: flex;
  align-items: center;
  gap: 6px;
}
.carousel-dots button {
  position: relative;
  border: 0;
  background: transparent;
  width: 22px;
  height: 30px;
  padding: 0;
}
.carousel-dots button::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 8px;
  background: #c9d5c2;
  transition:
    width 0.2s,
    background 0.2s,
    left 0.2s;
}
.carousel-dots button[aria-current="true"] {
  width: 34px;
}
.carousel-dots button[aria-current="true"]::after {
  width: 24px;
  left: 5px;
  background: #244c2d;
}
.carousel-bottom > small {
  font-size: 9px;
  color: #899480;
}
#leistungen .section-heading {
  margin-bottom: 25px;
}
@media (max-width: 1150px) {
  .service-slide {
    height: 430px;
  }
  .slide-copy {
    padding: 23px;
  }
  .slide-copy h3 {
    font-size: 23px;
  }
  .header .company-logo {
    width: 60px;
    height: 60px;
  }
  .header .brand {
    gap: 10px;
  }
}
@media (max-width: 900px) {
  .service-slide {
    flex-basis: calc((100% - 22px) / 2.15);
  }
  .header .company-logo {
    width: 54px;
    height: 54px;
  }
  .footer .brand {
    flex-wrap: wrap;
  }
  .footer .company-logo {
    width: 105px;
    height: 105px;
  }
  .header {
    min-height: 78px;
  }
  .carousel-toolbar > p {
    max-width: 280px;
  }
  .service-track {
    gap: 18px;
  }
  .slide-top {
    padding: 18px;
  }
}
@media (max-width: 600px) {
  .service-slide {
    flex-basis: 85%;
    height: 445px;
    scroll-snap-align: start;
  }
  .service-track {
    gap: 14px;
    border-radius: 10px;
  }
  .carousel-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
  }
  .carousel-controls {
    align-self: flex-end;
  }
  .carousel-toolbar > p {
    max-width: none;
    font-size: 12px;
  }
  .carousel-controls button {
    width: 44px;
    height: 44px;
  }
  .carousel-count {
    margin-right: 14px;
  }
  .slide-copy h3 {
    font-size: 27px;
  }
  .slide-copy {
    padding: 25px;
  }
  .carousel-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    margin-top: 15px;
  }
  .carousel-bottom > small {
    font-size: 8px;
  }
  .header .company-logo {
    width: 52px;
    height: 52px;
  }
  .header .brand {
    gap: 8px;
  }
  .header .brand strong {
    font-size: 16px;
  }
  .header .brand-name {
    font-size: 13px;
  }
  .header .brand small {
    font-size: 6px;
    letter-spacing: 0.8px;
  }
  .header {
    padding: 8px 12px;
  }
  .header-actions {
    gap: 7px;
  }
  .header .language {
    font-size: 9px;
  }
  .header .menu-toggle {
    font-size: 21px;
    padding: 5px;
  }
  .header {
    min-height: 72px;
  }
  .footer .brand {
    flex-wrap: nowrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  .service-slide > img,
  .carousel-controls button,
  .slide-link b,
  .carousel-dots button::after {
    transition: none;
  }
}
.hero-slider {
  touch-action: pan-y pinch-zoom;
}
.hero-panels,
.hero-panel {
  position: absolute;
  inset: 0;
}
.hero-panel.is-active {
  animation: hero-appear 0.45s ease both;
}
.hero-slider .hero-content {
  max-width: 1000px;
  padding-top: 95px;
  padding-bottom: 165px;
}
.hero-slider .hero-service-title {
  font-size: clamp(48px, 5.7vw, 82px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.05em;
  max-width: 790px;
  margin-bottom: 28px;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.hero-slider .hero-content > p {
  min-height: 58px;
}
.hero-slider .hero-bottom {
  z-index: 3;
  align-items: center;
  bottom: 32px;
  padding-top: 20px;
}
.hero-pagination {
  display: flex;
  align-items: center;
  gap: 26px;
}
.hero-position {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 2px;
  color: #fff;
}
.hero-dots {
  display: flex;
  gap: 6px;
}
.hero-dots button {
  position: relative;
  width: 23px;
  height: 34px;
  border: 0;
  background: none;
  padding: 0;
}
.hero-dots button::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background: #ffffff60;
  transition:
    background 0.2s,
    width 0.2s;
}
.hero-dots button[aria-current="true"] {
  width: 35px;
}
.hero-dots button[aria-current="true"]::after {
  width: 24px;
  left: 5px;
  background: #d7efbd;
}
.hero-nav {
  display: flex;
  gap: 10px;
}
.hero-nav button {
  width: 49px;
  height: 49px;
  border: 1px solid #ffffff80;
  border-radius: 50%;
  color: white;
  background: #ffffff15;
  backdrop-filter: blur(12px);
  font-size: 23px;
  display: grid;
  place-items: center;
  transition: background 0.2s;
}
.hero-nav button:hover {
  background: #ffffff35;
}
.hero-slider .photo-credit {
  z-index: 4;
}
.hero-slider:focus-visible {
  outline-offset: 4px;
}
.hero-slider .hero-photo img {
  user-select: none;
  -webkit-user-drag: none;
}
.hero-slider .hero-shade {
  background:
    linear-gradient(90deg, #071b0fe8 0%, #1023149c 48%, #10231432 100%),
    linear-gradient(0deg, #0b211980, transparent 45%);
}
@keyframes hero-appear {
  from {
    opacity: 0.15;
    transform: translateX(15px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@media (max-width: 800px) {
  .hero-slider {
    min-height: 650px;
  }
  .hero-slider .hero-content {
    padding: 85px 28px 160px;
  }
  .hero-slider .hero-service-title {
    font-size: 54px;
    max-width: 580px;
  }
  .hero-pagination {
    gap: 12px;
  }
  .hero-dots {
    gap: 2px;
  }
  .hero-dots button {
    width: 17px;
  }
  .hero-dots button::after {
    left: 5px;
  }
  .hero-dots button[aria-current="true"] {
    width: 27px;
  }
  .hero-dots button[aria-current="true"]::after {
    width: 20px;
    left: 3px;
  }
  .hero-nav button {
    width: 43px;
    height: 43px;
  }
  .hero-nav {
    gap: 7px;
  }
  .hero-slider .hero-bottom {
    left: 28px;
    right: 28px;
    bottom: 33px;
  }
}
@media (max-width: 430px) {
  .hero-slider .hero-content {
    padding: 75px 23px 165px;
  }
  .hero-slider .hero-service-title {
    font-size: 42px;
    line-height: 1.08;
    max-width: 100%;
    margin-bottom: 23px;
  }
  .hero-slider .hero-content > p {
    font-size: 13px;
    min-height: 70px;
    line-height: 1.8;
  }
  .hero-slider .hero-bottom {
    left: 23px;
    right: 23px;
    bottom: 29px;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 15px;
  }
  .hero-pagination {
    gap: 9px;
  }
  .hero-position {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .hero-dots {
    gap: 0;
  }
  .hero-dots button {
    width: 15px;
  }
  .hero-dots button::after {
    width: 5px;
    height: 5px;
    left: 5px;
  }
  .hero-dots button[aria-current="true"] {
    width: 23px;
  }
  .hero-dots button[aria-current="true"]::after {
    width: 17px;
  }
  .hero-nav {
    gap: 5px;
  }
  .hero-nav button {
    width: 37px;
    height: 37px;
    font-size: 20px;
  }
  .hero-slider {
    min-height: 650px;
  }
  .hero-slider .actions {
    margin-top: 26px;
  }
  .hero-slider .photo-credit {
    font-size: 7px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-panel.is-active {
    animation: none;
  }
  .hero-nav button,
  .hero-dots button::after {
    transition: none;
  }
}
@media (max-width: 430px) {
  .hero-dots button {
    width: 13px;
  }
  .hero-dots button::after {
    left: 4px;
  }
  .hero-dots button[aria-current="true"] {
    width: 21px;
  }
  .hero-dots button[aria-current="true"]::after {
    width: 16px;
    left: 2px;
  }
  .hero-nav button {
    width: 40px;
    height: 40px;
  }
  .hero-slider .hero-bottom {
    flex-wrap: nowrap;
  }
}

/* Opposite-side controls, with a separate dot indicator below. */
.hero-slider .hero-bottom {
  position: static;
  border: 0;
  padding: 0;
  pointer-events: none;
}
.hero-slider .hero-pagination {
  position: absolute;
  z-index: 5;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
}
.hero-slider .hero-nav {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 4;
  height: auto;
  max-height: none;
  pointer-events: none;
}
.hero-slider .hero-nav button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 58px;
  height: 58px;
  background: #fffffff2;
  color: #244c2d;
  border: 1px solid #fff;
  box-shadow: 0 4px 24px #061d1645;
  font-size: 29px;
  font-weight: 600;
  pointer-events: auto;
  backdrop-filter: blur(15px);
}
.hero-slider .hero-nav [data-hero-prev] {
  left: 20px;
}
.hero-slider .hero-nav [data-hero-next] {
  right: 20px;
}
.hero-slider .hero-nav button:hover {
  background: #d9edc7;
  box-shadow: 0 4px 25px #061d1660;
}
.hero-slider .hero-nav button:focus-visible {
  outline: 3px solid #a4d879;
  outline-offset: 5px;
}
.hero-slider .hero-content {
  padding-left: 105px;
  padding-right: 105px;
}
.filters {
  flex-wrap: wrap;
}
@media (max-width: 800px) {
  .hero-slider .hero-content {
    padding-left: 78px;
    padding-right: 78px;
  }
  .hero-slider .hero-nav button {
    width: 50px;
    height: 50px;
    font-size: 26px;
  }
  .hero-slider .hero-nav [data-hero-prev] {
    left: 14px;
  }
  .hero-slider .hero-nav [data-hero-next] {
    right: 14px;
  }
}
@media (max-width: 600px) {
  .hero-slider .hero-content {
    padding-left: 23px;
    padding-right: 23px;
    padding-bottom: 185px;
  }
  .hero-slider .hero-nav button {
    top: auto;
    bottom: 77px;
    transform: none;
    width: 52px;
    height: 52px;
    font-size: 28px;
  }
  .hero-slider .hero-nav [data-hero-prev] {
    left: 23px;
  }
  .hero-slider .hero-nav [data-hero-next] {
    right: 23px;
  }
  .hero-slider .hero-pagination {
    bottom: 24px;
  }
  .hero-slider .hero-service-title {
    font-size: 40px;
  }
  .hero-slider {
    touch-action: pan-y pinch-zoom;
  }
}
.hero-slider .hero-content {
  width: 100%;
  max-width: 1150px;
  margin-inline: auto;
  text-align: center;
}
.hero-slider .hero-content h1,
.hero-slider .hero-service-title {
  margin-left: auto;
  margin-right: auto;
}
.hero-slider .hero-content > p {
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
}
.hero-slider .actions {
  justify-content: center;
}
.hero-slider .hero-shade {
  background:
    linear-gradient(0deg, #071b0f88, #071b0f70),
    linear-gradient(90deg, transparent, #071b0f55, transparent);
}
.hero-slider .hero-panel {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-slider .hero-content {
  padding: 0 105px;
}
.hero-slider .hero-content > p {
  min-height: 0;
}
.hero-slider .hero-content .eyebrow {
  margin-bottom: 24px;
}
@media (max-width: 800px) {
  .hero-slider .hero-content {
    padding: 0 78px;
  }
}
@media (max-width: 600px) {
  .hero-slider .hero-content {
    padding: 0 23px;
  }
}
.header .company-logo {
  width: 76px;
  height: 76px;
}
.header .brand {
  gap: 0;
}
.footer .brand {
  display: inline-flex;
}
@media (max-width: 800px) {
  .header .company-logo {
    width: 58px;
    height: 58px;
  }
}
/* More legible navigation and a quiet, native page scrollbar. */
html {
  scrollbar-width: thin;
  scrollbar-color: #92a588 #f2f5ef;
}
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f2f5ef;
}
::-webkit-scrollbar-thumb {
  background: #92a588;
  border: 2px solid #f2f5ef;
  border-radius: 12px;
}
::-webkit-scrollbar-thumb:hover {
  background: #57784c;
}
.header nav {
  font-size: 15px;
  font-weight: 700;
  color: #24452c;
  gap: 27px;
}
.header nav > a,
.header .nav-dropdown > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.header nav > a:hover,
.header .nav-dropdown > a:hover {
  color: #487b30;
}
.header nav > a[aria-current],
.header .nav-dropdown > a[aria-current] {
  color: #244c2d;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}
.header .dropdown a {
  font-size: 13px;
  line-height: 1.5;
  padding: 12px 10px;
}
.header-cta {
  font-size: 13px;
  font-weight: 700;
}
.header .language {
  font-size: 13px;
}
.header .dropdown-toggle {
  font-size: 17px;
  min-height: 44px;
}
@media (max-width: 1150px) {
  .header nav {
    font-size: 14px;
    gap: 23px;
  }
}
@media (max-width: 800px) {
  .header nav {
    font-size: 17px;
    gap: 4px;
    padding: 18px 22px;
  }
  .header nav > a,
  .header .nav-dropdown > a {
    min-height: 48px;
  }
  .header .dropdown a {
    font-size: 14px;
    padding: 13px 10px;
  }
  .header .language {
    font-size: 12px;
  }
  .header .menu-toggle {
    font-size: 25px;
  }
  .header .nav-dropdown {
    column-gap: 8px;
  }
}
/* Soft illuminated navigation, coordinated with the garden palette. */
.header nav {
  gap: 7px;
}
.header nav > a,
.header .nav-dropdown {
  position: relative;
  border-radius: 10px;
  transition:
    background 0.2s,
    color 0.2s;
}
.header nav > a {
  padding: 0 13px;
}
.header .nav-dropdown {
  gap: 0;
  padding-left: 13px;
  padding-right: 5px;
}
.header .nav-dropdown > a {
  padding: 0;
}
.header nav > a[aria-current],
.header .nav-dropdown > a[aria-current] {
  text-decoration: none;
}
.header nav > a::after,
.header .nav-dropdown::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 13px;
  right: 13px;
  height: 2px;
  border-radius: 2px;
  background: #4e913b;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.2s;
}
.header .nav-dropdown::after {
  right: 34px;
}
.header nav > a:hover,
.header nav > a:focus-visible,
.header nav > a[aria-current],
.header .nav-dropdown:hover,
.header .nav-dropdown:focus-within,
.header .nav-dropdown.is-current-section {
  background: #edf5e8;
  color: #3b7a2c;
}
.header nav > a:hover::after,
.header nav > a:focus-visible::after,
.header nav > a[aria-current]::after,
.header .nav-dropdown:hover::after,
.header .nav-dropdown:focus-within::after,
.header .nav-dropdown.is-current-section::after {
  transform: scaleX(1);
}
.header .nav-dropdown.is-current-section > a {
  color: #3b7a2c;
}
.header .dropdown {
  top: calc(100% + 8px);
}
@media (max-width: 1150px) {
  .header nav {
    gap: 4px;
  }
  .header nav > a {
    padding: 0 11px;
  }
  .header .nav-dropdown {
    padding-left: 11px;
  }
}
@media (max-width: 800px) {
  .header nav {
    gap: 7px;
  }
  .header nav > a,
  .header .nav-dropdown {
    width: 100%;
  }
  .header nav > a {
    padding: 0 13px;
  }
  .header .nav-dropdown {
    padding-left: 13px;
  }
  .header nav > a::after,
  .header .nav-dropdown::after {
    left: 13px;
    right: auto;
    width: 30px;
  }
  .header .dropdown {
    flex-basis: 100%;
    margin: 8px 0 4px -5px;
  }
  .header .nav-dropdown:has(.dropdown-toggle[aria-expanded="true"]) {
    padding-bottom: 5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .header nav > a,
  .header .nav-dropdown,
  .header nav > a::after,
  .header .nav-dropdown::after {
    transition: none;
  }
}
/* Connected pointer path and an explicit, accessible submenu disclosure. */
.header .dropdown-toggle {
  display: grid;
  place-items: center;
  width: 36px;
  min-width: 36px;
  height: 44px;
  padding: 0;
  border-radius: 8px;
  color: #3b6234;
  background: transparent;
}
.header .dropdown-toggle:hover,
.header .dropdown-toggle:focus,
.header .dropdown-toggle:active {
  background: transparent;
  box-shadow: none;
}
.header .dropdown-toggle svg {
  width: 16px;
  height: 16px;
  transition: transform 0.2s;
  pointer-events: none;
}
.header .dropdown-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.header .nav-dropdown[data-disclosure] .dropdown {
  display: none;
}
.header .nav-dropdown[data-disclosure].open .dropdown {
  display: block;
}
.header .dropdown {
  top: calc(100% + 10px);
  left: 0;
  min-width: 300px;
}
.header .dropdown::before {
  content: "";
  position: absolute;
  left: -16px;
  right: -16px;
  top: -16px;
  height: 16px;
}
.header .dropdown a:hover,
.header .dropdown a:focus-visible {
  color: #244c2d;
  background: #e9f2e3;
}
.header .nav-dropdown.open::after {
  opacity: 0;
}
@media (max-width: 800px) {
  .header nav {
    max-height: calc(100dvh - 210px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .header .dropdown {
    position: static;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 5px 0 8px;
    padding: 8px;
    box-shadow: none;
    background: #f9fbf7;
  }
  .header .dropdown::before {
    display: none;
  }
  .header .dropdown-toggle {
    width: 44px;
    min-width: 44px;
    height: 48px;
  }
  .header .dropdown a {
    white-space: normal;
  }
  .header .nav-dropdown {
    padding-right: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .header .dropdown-toggle svg {
    transition: none;
  }
}

/* Confident green accents, readable service cards, and clear next steps. */
.offer-strip{height:39px;background:linear-gradient(100deg,#244c2d,#397c2b 55%,#244c2d);color:#fff;display:flex;align-items:center;position:relative;z-index:31;overflow:hidden}.offer-window{flex:1;min-width:0;overflow:hidden}.offer-track{display:flex;width:max-content;animation:offer-travel 36s linear infinite;color:#f5ffe8}.offer-group{display:flex;flex-shrink:0;align-items:center;gap:34px;padding-right:34px;white-space:nowrap}.offer-item{font-size:11px;font-weight:650;letter-spacing:.15px}.offer-spark{color:#b8e67d;font-size:15px}.offer-cta{color:#d4f7a8;font-weight:800}.ticker-toggle{flex-shrink:0;width:39px;height:39px;display:grid;place-items:center;border:0;border-left:1px solid #ffffff30;background:#244c2d;color:white;cursor:pointer}.ticker-toggle svg{width:17px;height:17px}.play-triangle{display:none}.offer-strip.is-paused .pause-bars{display:none}.offer-strip.is-paused .play-triangle{display:block}.offer-strip:focus-within .offer-track{animation-play-state:paused}@keyframes offer-travel{to{transform:translateX(-50%)}}
.button{background:#357b2d;box-shadow:0 5px 16px #244c2d17;font-weight:750}.button:hover{background:#285e24;box-shadow:0 7px 20px #244c2d28}.hero-slider .button.white,.cta .button.white{background:#b9e879;color:#183b20;border-color:#c9eea0;box-shadow:0 6px 25px #091c1c30}.hero-slider .button.white:hover,.cta .button.white:hover{background:#cef49d}.hero-slider .button.outline{background:#ffffff12;box-shadow:none}.hero-slider .button.outline:hover{background:#ffffff25}.hero-slider .eyebrow.light{display:inline-block;background:#254c2da8;border:1px solid #d3efb74d;padding:7px 14px;border-radius:5px;color:#e2f7cf;backdrop-filter:blur(10px)}
#leistungen{position:relative;background:linear-gradient(180deg,#fff,#fafcf8);border-radius:0 0 24px 24px}.section-heading h2{color:#1b3d24}.section-heading .eyebrow{color:#427f31;letter-spacing:2.1px}.service-grid{gap:24px}.service-card{display:flex;flex-direction:column;border:1px solid #e1e8dc;border-radius:14px;box-shadow:0 6px 22px #244c2d09;background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}.service-card:hover{transform:translateY(-4px);border-color:#a9c69b;box-shadow:0 12px 28px #244c2d14}.card-photo{flex-shrink:0;border-bottom:2px solid #9bc982}.card-photo img{height:210px;width:100%;transition:transform .5s}.card-no{width:34px;height:34px;background:#e5f5d7;color:#285125;border:1px solid #fff9;font-size:11px;font-weight:750}.card-copy{flex:1;padding:23px 20px 20px;display:flex;flex-direction:column}.card-copy h3{font-size:23px;font-weight:800;line-height:1.25;min-height:58px;color:#203b27;letter-spacing:-.45px;margin-bottom:15px}.card-copy p{font-size:15px;font-weight:550;line-height:1.65;color:#435345;min-height:50px;margin-bottom:24px}.card-copy .text-link{margin-top:auto;min-height:43px;padding:10px 13px;border:1px solid #dce9d4;border-radius:6px;background:#f0f7eb;color:#32642b;font-size:11px;font-weight:750}.card-copy .text-link b{font-size:19px;line-height:1}.service-card:hover .text-link{background:#e3f0d9;border-color:#b5d39f}.service-card:nth-child(2n){background:#fff}
.service-invite{margin-top:30px;padding:25px 28px;display:flex;align-items:center;gap:22px;background:#e5f1d9;border:1px solid #d0e5ba;border-radius:12px}.invite-mark{width:58px;height:58px;flex-shrink:0;background:#fff;border:1px solid #c7dcb8;border-radius:50%;display:grid;place-items:center;color:#38772b}.invite-mark svg{width:32px;height:32px}.service-invite>div:nth-child(2){flex:1}.service-invite h3{font-size:21px;color:#244c2d;margin:0 0 8px}.service-invite p{font-size:12px;color:#50654a;margin:0}.service-invite .button{flex-shrink:0}
.trust-strip{background:#f0f6e9;border:1px solid #dce8d2;border-radius:0 0 10px 10px;color:#34582c;box-shadow:0 8px 20px #244c2d06}.benefit-list li span{background:#e0eccf;border-radius:50%;display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px}.steps article>span{color:#3e7b2d;font-weight:600;border-bottom:2px solid #b8d59e}.steps article{padding:20px;border:1px solid #dce7d3;border-radius:10px;background:linear-gradient(145deg,#fff,#f2f7ed)}.steps{gap:20px}.cta{background:radial-gradient(ellipse at 100% 0%,#5b933e66,transparent 55%),linear-gradient(120deg,#244c2d,#153b25);border:1px solid #528642;box-shadow:0 12px 32px #244c2d19;position:relative;overflow:hidden}.cta::after{content:'';position:absolute;right:2%;top:-80px;width:280px;height:280px;border:1px solid #c9e8b51a;border-radius:50%;pointer-events:none}.cta .button{position:relative;z-index:1}.mobile-contact a:last-child{background:#357b2d}
@media(max-width:1150px){.card-copy h3{font-size:22px}.card-copy{padding:20px 16px}.service-invite{padding:22px}.service-invite h3{font-size:19px}.service-invite .button{padding:12px 18px}}
@media(max-width:800px){.offer-strip{height:36px}.ticker-toggle{width:36px;height:36px}.offer-group{gap:24px;padding-right:24px}.offer-item{font-size:10px}.card-photo img{height:210px}.service-invite{flex-wrap:wrap;gap:16px}.service-invite .button{margin-left:74px}.trust-strip{border-radius:0}.card-copy h3{font-size:23px}.steps article{padding:17px}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr;gap:22px}.card-photo img{height:225px}.card-copy{padding:23px}.card-copy h3{font-size:26px;min-height:0;margin-bottom:12px}.card-copy p{font-size:16px;min-height:0;margin-bottom:22px}.card-copy .text-link{font-size:12px;min-height:47px}.service-invite{padding:22px;gap:16px}.service-invite>div:nth-child(2){flex-basis:calc(100% - 74px)}.service-invite h3{font-size:20px}.service-invite p{font-size:12px}.service-invite .button{margin-left:0;width:100%}.steps{gap:14px}.steps h3{font-size:16px}.steps p{font-size:11px}#leistungen{border-radius:0}.hero-slider .eyebrow.light{font-size:8px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.offer-track{animation:none}.offer-group[aria-hidden=true]{display:none}.offer-window{overflow-x:auto;scrollbar-width:none}.ticker-toggle{display:none}.service-card,.card-photo img,.button{transition:none}}
/* Clear, light FAQ cards with accessible native disclosure controls. */
.faq{grid-template-columns:minmax(240px,.85fr) minmax(0,1.6fr);gap:54px;align-items:start;padding-top:72px;padding-bottom:72px}.faq>div:first-child{padding:28px;background:#f5f9f1;border:1px solid #e0ead9;border-radius:18px}.faq h2{font-size:clamp(32px,3vw,43px);font-weight:750;letter-spacing:-1.4px;margin-bottom:18px;color:#24432c}.faq .eyebrow{margin-bottom:16px}.faq>div:first-child>p{font-size:16px;line-height:1.7;color:#4b5d4d;margin-bottom:0}.faq>div:last-child{display:grid;gap:12px;min-width:0}.faq details{border:1px solid #dfe8d9;border-radius:13px;background:#fff;box-shadow:0 3px 14px #244c2d05;overflow:hidden;transition:border-color .2s,background .2s}.faq details:hover{border-color:#afc99f}.faq summary{padding:21px 24px;font-size:18px;font-weight:750;line-height:1.5;align-items:center;gap:20px;color:#253f2b}.faq summary span{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:27px;height:27px;font-size:26px;font-weight:450;line-height:1;color:#458039;transition:transform .2s}.faq details[open]{background:#f8fbf5;border-color:#adc99d}.faq details[open] summary{color:#32662b}.faq details p{margin:0;padding:0 24px 24px;font-size:16px;font-weight:500;line-height:1.8;color:#445648}.faq summary:focus-visible{outline-offset:-4px;border-radius:12px}@media(max-width:800px){.faq{grid-template-columns:1fr;gap:24px}.faq>div:first-child{padding:24px}.faq summary{font-size:18px}}@media(max-width:600px){.faq{padding-top:50px;padding-bottom:50px}.faq>div:first-child{padding:22px}.faq h2{font-size:34px}.faq summary{padding:18px;font-size:17px;gap:14px}.faq details p{padding:0 18px 20px;font-size:15px}}@media(prefers-reduced-motion:reduce){.faq details,.faq summary span{transition:none}}/* Grass texture stays beneath a dark overlay for consistent text contrast. */
.footer{max-width:none;width:100%;margin:48px 0 0;padding:64px max(48px,calc((100% - 1224px)/2)) 28px;background:linear-gradient(100deg,rgba(8,28,17,.94),rgba(13,38,21,.86)),image-set(url('/assets/lawn-large-480w.webp') 1x, url('/assets/lawn-large-960w.webp') 2x) center 80%/cover no-repeat #102c1b;color:#f4f8f0;border-top:3px solid #74a752}.footer .brand{background:#fff;padding:10px;border-radius:16px;box-shadow:0 6px 24px #0002}.footer .company-logo{width:110px;height:110px}.footer h3{font-size:16px;font-weight:750;color:#fff;margin-bottom:20px}.footer p{font-size:14px;line-height:1.8;color:#e0eadd}.footer-top>div>a:not(.brand){font-size:14px;font-weight:550;color:#e6eee2;margin-bottom:11px;line-height:1.65;transition:color .2s}.footer-top>div>a:not(.brand):hover,.footer-bottom a:hover{color:#c9ee9d;text-decoration:underline;text-underline-offset:5px}.footer small{font-size:12px;color:#c7d8bf}.footer-bottom{border-top:1px solid #ffffff30;color:#d5e1cf;font-size:12px;margin-top:40px;padding-top:24px}.footer a:focus-visible{outline-color:#c9ee9d}@media(max-width:1000px){.footer{padding-left:32px;padding-right:32px}.footer-top{gap:28px}}@media(max-width:600px){.footer{margin-top:30px;padding:42px 24px 100px;background-position:center bottom}.footer-top{gap:30px 22px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:1/-1}.footer h3{font-size:16px;margin-bottom:15px}.footer-bottom{margin-top:30px;gap:18px;line-height:1.7}.footer-bottom>div{gap:20px}.footer .company-logo{width:100px;height:100px}}

/* One continuous photographic backdrop beneath the full page. */
body{background-color:#f9fbf7;background-image:linear-gradient(100deg,rgba(255,255,255,.94),rgba(255,255,255,.88) 50%,rgba(255,255,255,.94)),image-set(url('/assets/lawn-large-480w.webp') 1x, url('/assets/lawn-large-960w.webp') 2x);background-position:center,center bottom;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}main{background:none}#leistungen{background:none;border-radius:0}main .area-map-section,main .scope{background:transparent;border-color:transparent;border-radius:0}.trust-strip{background:#ffffffc9}.footer{margin-top:0}

/* Section wrappers share the continuous lawn backdrop. */
main .section,main .benefit,main .contact,main .scope,main .area-map-section,main .trust-strip{background:transparent}main .area-map-section{border-color:transparent}main .benefit>div>p{color:#435345}

.area.area-map-section{display:block;background:#f3f8ef;border:1px solid #dde8d5;border-radius:16px;margin-top:35px;margin-bottom:35px}.coverage-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:start;margin-bottom:36px}.coverage-heading h2{margin-bottom:0}.coverage-heading p{font-size:13px}.coverage-heading .button{margin-top:5px}.coverage-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:stretch}.coverage-map-card{min-width:0;border:1px solid #cdddc0;border-radius:12px;overflow:hidden;background:white;box-shadow:0 7px 24px #244c2d0a}.coverage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;border-bottom:1px solid #e2eadb;font-size:12px;font-weight:700;color:#244c2d}.coverage-toolbar>span{display:flex;align-items:center;gap:8px}.coverage-toolbar>span>i{width:8px;height:8px;background:#458734;border-radius:50%}.map-reset{border:0;background:#edf4e7;border-radius:6px;color:#315a28;font-size:10px;padding:8px 10px}.service-map{height:500px;width:100%;background:#e8eee4;position:relative;z-index:0;font-family:Manrope,Arial,sans-serif}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;font-size:13px;color:#4e6745}.coverage-map-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:white;font-size:10px}.coverage-map-footer>a{font-weight:700;color:#347226;white-space:nowrap}.map-legend{display:flex;align-items:center;gap:7px;color:#617455;font-size:9px}.map-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-base{background:#244c2d}.map-legend .legend-radius{background:#abd78c;border:1px solid #3d7b30;margin-left:8px}.coverage-cities{background:white;border:1px solid #d8e5cc;border-radius:12px;padding:23px;min-width:0}.cities-intro .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:14px}.cities-intro h3{font-size:24px;margin-bottom:12px}.cities-intro p{font-size:11px;margin-bottom:18px}.city-tabs{display:flex;gap:4px;background:#eff4e9;border-radius:7px;padding:4px;margin-bottom:12px}.city-tabs button{flex:1;padding:9px 8px;font-size:11px;font-weight:650;background:none;color:#5b6e50;border:0;border-radius:5px}.city-tabs button[aria-pressed=true]{background:#244c2d;color:white;box-shadow:0 2px 6px #244c2d17}.city-list{max-height:365px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b9cbae #f5f8f1}.city-button{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;padding:12px 5px;border:0;border-bottom:1px solid #e6eddf;background:white;color:#24412a;text-align:left;font-size:11px;line-height:1.4;min-height:40px}.city-button>span{font-weight:600}.city-button>small{font-size:10px;color:#7a896f;white-space:nowrap}.city-button b{font-size:13px;font-weight:400;margin-left:5px}.city-button:hover,.city-button.is-selected{background:#edf5e5;color:#316d27}.cities-contact{display:block;margin-top:20px;font-size:10px;line-height:1.6;font-weight:650;color:#39732b}.coverage-notes{display:flex;justify-content:space-between;gap:30px;margin-top:20px}.coverage-notes p{font-size:10px;color:#6f7c65;line-height:1.7;margin:0}.coverage-notes p:first-child{max-width:700px}.coverage-notes p:last-child{max-width:250px}.map-interact{display:none;background:#f0f6e8;color:#3d6c2f;border:0;border-top:1px solid #dce7d2;padding:12px;width:100%;font-size:11px;font-weight:650}.service-map .leaflet-control-container{font-family:Manrope,Arial,sans-serif}.service-map .leaflet-control-attribution{font-size:9px;background:#ffffffe6;padding:3px 6px;color:#4b5c43}.service-map .leaflet-control-attribution a{color:#276b28;text-decoration:underline}.service-map .leaflet-control-zoom a{color:#244c2d;background:#fff}.service-map .leaflet-bar{border:1px solid #b9cbb0;box-shadow:0 2px 10px #244c2d16}.service-map .leaflet-control-scale-line{font-size:9px;line-height:1.4;color:#244c2d;border-color:#526a46;background:#ffffffcb}.base-map-marker{background:transparent;border:0}.base-map-marker>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#244c2d;border:3px solid white;box-shadow:0 2px 10px #193d2560;color:white;font-size:12px;font-weight:800}.city-map-marker{background:none;border:0}.city-map-marker>span{display:block;width:12px;height:12px;margin:2px;border-radius:50%;background:#468e33;border:2px solid white;box-shadow:0 1px 5px #244c2d70}.city-map-marker.city-de>span{background:#487c80}.service-map .leaflet-tooltip{box-shadow:0 1px 5px #244c2d13;border:1px solid #d3dfc9;border-radius:4px;padding:3px 6px;font:600 10px Manrope,Arial,sans-serif;color:#244c2d;background:#fffffff2}.service-map .base-map-label{font-size:10px;background:#244c2d;color:white;border-color:white}.service-map .leaflet-popup-content{font:12px/1.7 Manrope,Arial,sans-serif;min-width:180px}.service-map .leaflet-popup-content p{font-size:11px;margin:8px 0}.service-map .leaflet-popup-content a{color:#337129;text-decoration:underline;font-size:11px}.service-map .leaflet-popup-content-wrapper{border-radius:10px}.service-map .leaflet-popup-close-button{font-size:22px}.service-map a:focus-visible,.service-map .leaflet-marker-icon:focus-visible{outline:3px solid #72b43f;outline-offset:3px}
@media(max-width:1150px){.coverage-layout{grid-template-columns:minmax(0,1fr) 280px}.coverage-cities{padding:20px}.coverage-heading{gap:35px}.coverage-toolbar{padding:12px}.coverage-toolbar>span{font-size:10px}.map-reset{font-size:9px}}
@media(max-width:900px){.coverage-layout{grid-template-columns:1fr}.coverage-heading{grid-template-columns:1fr;gap:24px}.coverage-cities{display:grid;grid-template-columns:1fr 1.3fr;column-gap:28px}.cities-intro{grid-column:1;grid-row:1/3}.city-tabs{grid-column:2}.city-list{grid-column:2;max-height:250px}.cities-contact{grid-column:1/3}.service-map{height:460px}.coverage-notes{flex-direction:column;gap:8px}.coverage-notes p:last-child{max-width:none}.area.area-map-section{border-radius:0}}
@media(max-width:600px){.coverage-cities{display:block;padding:20px}.coverage-toolbar{flex-wrap:wrap;gap:8px}.coverage-toolbar>span{font-size:11px}.map-reset{font-size:10px}.service-map{height:410px}.coverage-map-footer{flex-wrap:wrap;gap:9px;padding:12px}.coverage-map-footer>a{font-size:10px}.map-legend{font-size:9px}.coverage-notes p{font-size:9px}.map-interact{display:block}.coverage-heading h2{font-size:32px}.coverage-heading h2 br{display:none}.city-list{max-height:290px}.city-button{font-size:12px;padding:13px 5px}.city-button>small{font-size:11px}.coverage-heading{margin-bottom:26px}.area.area-map-section{padding-left:16px;padding-right:16px}}
/* Clear language choices and an everyday explanation of the service area. */
.language-switch{display:flex;align-items:center;gap:4px;flex-shrink:0}.language-option{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 7px;border-radius:6px;font-size:12px;font-weight:650;color:#61705f;line-height:1.2;min-height:36px}.language-option[aria-current=true]{color:#234b2b;font-weight:800;background:#eaf3e3}.language-option:hover{background:#edf5e8;color:#244c2d}.language-flag{width:18px;height:12px;display:inline-block;flex-shrink:0;border-radius:1px;box-shadow:0 0 0 1px #00000018}.flag-de{background:linear-gradient(#171717 0 33.333%,#d52829 33.333% 66.666%,#f4cb35 66.666%)}.flag-pl{background:linear-gradient(#fff 0 50%,#df3344 50%)}.coverage-heading{grid-template-columns:1.1fr 1fr;gap:48px;margin-bottom:24px;align-items:center}.coverage-heading h2{font-size:clamp(32px,3.1vw,44px);font-weight:750;color:#23432c;line-height:1.15}.coverage-heading p{font-size:16px;line-height:1.8;color:#455847}.coverage-how{display:flex;flex-wrap:wrap;gap:20px 30px;margin-bottom:26px;padding:16px 0;border-top:1px solid #cbdcc0;border-bottom:1px solid #cbdcc0}.coverage-how>span{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:650;color:#34543a}.coverage-how b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e3efd9;color:#356b2c;font-size:12px}.coverage-layout{grid-template-columns:minmax(0,1fr) 330px;gap:24px}.coverage-toolbar{padding:16px 18px;gap:12px}.coverage-toolbar>span{font-size:13px;font-weight:750}.map-reset{font-size:12px;padding:10px 12px}.coverage-cities{display:flex;flex-direction:column;padding:24px}.cities-intro h3{font-size:25px;font-weight:750;line-height:1.2;letter-spacing:-.7px}.cities-intro p{font-size:14px;line-height:1.65;color:#52624d}.cities-intro .eyebrow{font-size:10px}.city-tabs button{font-size:13px;padding:12px}.city-list{max-height:370px;flex:1}.city-button{font-size:14px;min-height:48px;padding:12px 8px}.city-button>span{font-weight:650}.city-button>small{font-size:11px;color:#4d6e42}.cities-contact{font-size:13px;line-height:1.5;margin-top:20px;padding:14px 16px;border-radius:8px;text-align:center;background:#347b2d;color:#fff}.cities-contact:hover{background:#285f24}.coverage-map-footer{align-items:center;gap:14px;flex-wrap:wrap;padding:15px 18px}.map-legend{font-size:12px;line-height:1.7;flex-wrap:wrap;gap:7px}.coverage-map-footer>a{font-size:12px}.coverage-notes{gap:28px;margin-top:22px}.coverage-notes p{font-size:13px;color:#4c5e48;line-height:1.75}.coverage-notes p:first-child{max-width:760px}.coverage-notes p:last-child{max-width:330px}.base-map-label{font-size:12px!important}@media(max-width:1150px){.coverage-layout{grid-template-columns:minmax(0,1fr) 300px}.header-actions{gap:10px}.language-option{font-size:11px;padding:8px 5px;gap:4px}}@media(max-width:800px){.coverage-heading{grid-template-columns:1fr;gap:12px}.coverage-layout{grid-template-columns:1fr}.coverage-cities{padding:24px}.coverage-notes{flex-direction:column;gap:12px}.coverage-notes p:last-child{max-width:none}.coverage-how{gap:15px 24px}.city-list{max-height:280px}}@media(max-width:600px){.language-option{font-size:10px;gap:4px;padding:7px 4px}.language-switch{gap:1px}.language-flag{width:15px;height:10px}.coverage-heading h2{font-size:33px}.coverage-heading p{font-size:15px}.coverage-how{flex-direction:column;gap:12px}.coverage-how>span{font-size:13px}.coverage-toolbar{flex-wrap:wrap}.coverage-toolbar>span{font-size:12px}.map-reset{font-size:11px}.map-legend{font-size:11px}.coverage-map-footer{padding:14px}.coverage-notes p{font-size:12px}.coverage-cities{padding:20px}}
main .area.area-map-section{background:transparent;border-color:transparent;border-radius:0}
/* Wider layout and a service radius rather than a town directory. */
.section,.breadcrumbs{max-width:1680px}.header{max-width:1680px;width:calc(100% - 48px)}.trust-strip{max-width:1600px}.footer{padding-left:max(40px,calc((100% - 1600px)/2));padding-right:max(40px,calc((100% - 1600px)/2))}.coverage-layout{grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr);gap:32px;align-items:stretch}.service-map{height:550px}.coverage-heading{grid-template-columns:1.1fr 1fr;gap:64px;margin-bottom:36px}.coverage-heading h2{font-size:clamp(34px,3.1vw,49px)}.coverage-heading p{font-size:17px;max-width:650px}.coverage-radius-card{background:#ffffffed;border:1px solid #d8e5cf;border-radius:16px;padding:32px;display:flex;flex-direction:column;align-items:flex-start}.coverage-radius-card .eyebrow{margin-bottom:14px}.coverage-radius-number{font-size:clamp(60px,5vw,88px);font-weight:800;color:#34752c;letter-spacing:-4px;line-height:1.1;margin-bottom:22px}.coverage-radius-number>span{font-size:28px;letter-spacing:-1px;font-weight:650}.coverage-radius-card h3{font-size:26px;line-height:1.3;letter-spacing:-.7px;color:#27432e;font-weight:750;margin-bottom:16px}.coverage-radius-card>p,.coverage-radius-request p{font-size:15px;line-height:1.8;color:#4c5e4b}.coverage-radius-request{width:100%;margin-top:auto;padding-top:24px;border-top:1px solid #dce8d3}.coverage-radius-request strong{font-size:16px;line-height:1.6;color:#2d4c32;display:block;margin-bottom:10px}.coverage-radius-request .button{width:100%;font-size:13px}.coverage-call{display:block;margin-top:15px;font-size:12px;font-weight:650;color:#356a2e;line-height:1.6}.coverage-call:hover{text-decoration:underline;text-underline-offset:4px}.coverage-notes p:first-child{max-width:950px}@media(min-width:1100px){.section{padding-left:40px;padding-right:40px}.benefit.section{max-width:1680px;padding-left:40px;padding-right:40px}.breadcrumbs{padding-left:40px;padding-right:40px}.cta{max-width:1632px;margin-left:auto;margin-right:auto;padding:65px 40px;width:calc(100% - 48px)}.section-heading p{font-size:16px;max-width:410px}.benefit>div>p{font-size:17px}.service-grid{gap:28px}.footer-top{gap:50px}}@media(max-width:1100px){.coverage-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px}.coverage-radius-card{padding:24px}.coverage-radius-card h3{font-size:23px}.service-map{height:580px}}@media(max-width:800px){.coverage-heading{grid-template-columns:1fr;gap:14px}.coverage-layout{grid-template-columns:1fr}.coverage-radius-card{padding:28px}.service-map{height:450px}.coverage-radius-number{font-size:64px}.coverage-radius-request{margin-top:12px}.footer{padding-left:25px;padding-right:25px}}@media(max-width:600px){.header{width:calc(100% - 24px)}.coverage-heading h2{font-size:34px}.coverage-heading p{font-size:15px}.coverage-radius-card{padding:24px}.coverage-radius-card h3{font-size:24px}.coverage-radius-number{margin-bottom:16px}.service-map{height:410px}.coverage-radius-request .button{font-size:12px}.footer{padding-left:24px;padding-right:24px}}
/* Flag colours distinguish both countries with equal marker weight. */
.service-map .city-map-marker>span{width:16px;height:16px;margin:2px;border:2px solid #fff;box-shadow:0 0 0 1px #24412a55,0 2px 6px #173b2533;background:linear-gradient(#fff 0 50%,#df3344 50%)}.service-map .city-map-marker.city-de>span{background:linear-gradient(#171717 0 33.333%,#d52829 33.333% 66.666%,#f4cb35 66.666%)}.coverage-country-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px}.country-key{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:8px;border:1px solid #e3d6d6;background:#fff4f4;font-size:14px;font-weight:750;color:#3b3434}.country-key.key-de{background:#fff9e9;border-color:#e8dfc9}.coverage-country-legend small{font-size:13px;line-height:1.6;color:#4d5c47;margin-left:8px}.coverage-country-legend .language-flag{width:22px;height:15px}@media(max-width:600px){.coverage-country-legend{gap:10px}.country-key{font-size:13px;padding:9px 13px}.coverage-country-legend small{margin:0;flex-basis:100%;font-size:12px}}
/* Reusable important-information cards, aligned with the main coverage grid. */
.coverage-notes{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr);gap:24px;margin-top:24px}.info-card{background:#fffffff2;border:1px solid #dce7d5;border-left:4px solid #78a85d;border-radius:13px;padding:24px 26px;box-shadow:0 4px 18px #244c2d06}.info-card h3{font-size:19px;font-weight:750;color:#2b4d31;line-height:1.35;letter-spacing:-.3px;margin:0 0 12px}.coverage-notes .info-card p{font-size:15px;font-weight:500;line-height:1.8;color:#4b5b49;max-width:none;margin:0}.info-card p:last-child{margin-bottom:0}@media(max-width:1100px){.coverage-notes{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr)}}@media(max-width:800px){.coverage-notes{grid-template-columns:1fr;gap:16px}.info-card{padding:22px 24px}}@media(max-width:600px){.info-card{padding:20px}.info-card h3{font-size:18px}.coverage-notes .info-card p{font-size:14px}}
#coverage-information{scroll-margin-top:145px}
/* Shared page gutters and section rhythm; no section separator rules. */
:root{--page-gutter:40px;--section-space:72px;--content-width:1600px}.section,.benefit.section,.area.area-map-section,.faq.section{max-width:1680px;padding:var(--section-space) var(--page-gutter);margin:0 auto;border-top:0;border-bottom:0}.area.area-map-section{border:0}.header,.hero,.hero-slider{width:calc(100% - 2 * var(--page-gutter));max-width:var(--content-width);margin-left:auto;margin-right:auto}.trust-strip{max-width:1680px;width:100%;padding:24px var(--page-gutter);border:0;border-radius:0;box-shadow:none}.process{border:0}.breadcrumbs{max-width:1680px;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.cta{max-width:var(--content-width);width:calc(100% - 2 * var(--page-gutter));margin:0 auto var(--section-space);padding:52px 40px}.footer{margin-top:0;border-top:0;padding-left:max(var(--page-gutter),calc((100% - var(--content-width))/2));padding-right:max(var(--page-gutter),calc((100% - var(--content-width))/2))}.footer-bottom{border-top:0}.coverage-how{border-top:0;border-bottom:0}@media(max-width:1100px){:root{--page-gutter:32px;--section-space:60px}.section,.benefit.section,.area.area-map-section,.faq.section{padding:var(--section-space) var(--page-gutter)}}@media(max-width:800px){:root{--page-gutter:24px;--section-space:52px}.cta{padding:36px 28px}.trust-strip{padding:22px var(--page-gutter)}}@media(max-width:430px){:root{--page-gutter:20px;--section-space:48px}.cta{padding:32px 24px}}/* The opening photo carousel spans the viewport; content keeps shared gutters. */
.hero.hero-slider{max-width:none;width:calc(100% - 48px);margin-left:24px;margin-right:24px}.cta{padding:52px 48px;border:1px solid #72995a66;border-radius:22px;background:linear-gradient(100deg,#123b24fa 0%,#183f25f2 45%,#183f25c9 100%),image-set(url('/assets/lawn-large-480w.webp') 1x, url('/assets/lawn-large-960w.webp') 2x) center 76%/cover no-repeat #173e25;box-shadow:0 18px 45px #183c2520;gap:48px;min-height:260px;isolation:isolate}.cta::after{right:-50px;top:-110px;width:410px;height:410px;border-color:#d2efb61a;box-shadow:0 0 0 70px #c8e7ad06;z-index:-1}.cta>div:first-child{max-width:850px;flex:1}.cta .eyebrow{display:flex;align-items:center;gap:10px;color:#d3e8bd;margin-bottom:19px;font-size:10px;letter-spacing:2px}.cta .eyebrow::before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#bae77c;box-shadow:0 0 0 4px #bae77c15}.cta h2{font-size:clamp(30px,3vw,46px);font-weight:750;line-height:1.15;margin-bottom:16px;letter-spacing:-1.4px}.cta p{font-size:16px;line-height:1.75;color:#e0ead8;max-width:720px;margin-bottom:0}.cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:17px;flex-shrink:0;min-width:260px;max-width:340px}.cta .button.white{display:flex;justify-content:space-between;gap:24px;min-height:66px;padding:10px 12px 10px 23px;border-radius:12px;font-size:15px;font-weight:800;background:#c3ed8d;border-color:#dcf6b9;color:#1b4025;box-shadow:0 8px 22px #061d1633;transition:background .2s,transform .2s,box-shadow .2s}.cta .button.white:hover{background:#d4f5a9;box-shadow:0 12px 26px #061d1645;transform:translateY(-2px)}.cta-arrow{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:9px;background:#204c2e;color:#e0f7c0;font-size:24px;line-height:1}.cta-phone{font-size:12px;line-height:1.6;color:#dce8d3;text-align:center}.cta-phone strong{display:block;font-size:16px;font-weight:700;color:#fff;letter-spacing:.2px}.cta-phone:hover strong{text-decoration:underline;text-underline-offset:4px}@media(max-width:1100px){.cta{padding:40px 32px;gap:32px}.cta-actions{min-width:230px}.cta .button.white{font-size:14px}}@media(max-width:800px){.cta{align-items:flex-start;flex-direction:column;padding:36px 30px;gap:26px;min-height:0}.cta-actions{width:100%;max-width:340px}.cta h2{font-size:35px}.cta p{font-size:15px}}@media(max-width:600px){.hero.hero-slider{width:calc(100% - 24px);margin-left:12px;margin-right:12px}.cta{padding:30px 24px;border-radius:17px;gap:25px}.cta h2{font-size:31px;letter-spacing:-.8px}.cta .eyebrow{font-size:8px;letter-spacing:1.6px}.cta-actions{max-width:none;min-width:0}.cta .button.white{min-height:62px;font-size:14px}.cta p{font-size:14px}.cta-arrow{width:39px;height:39px}.cta-phone strong{font-size:16px}}@media(prefers-reduced-motion:reduce){.cta .button.white{transition:none}}/* Readable service benefits replace the thin, widely spaced caption row. */
.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;padding-top:28px;padding-bottom:0}.trust-card{display:flex;align-items:flex-start;gap:16px;padding:24px;background:#fffffff2;border:1px solid #dce7d5;border-radius:13px;box-shadow:0 4px 18px #244c2d07;min-width:0}.trust-strip .trust-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:11px;background:#edf5e5;color:#39772d}.trust-strip .trust-icon svg{width:25px;height:25px}.trust-card h3{font-size:17px;font-weight:750;letter-spacing:-.35px;line-height:1.35;color:#284b30;margin:0 0 8px}.trust-card p{font-size:13px;font-weight:500;line-height:1.75;color:#52634f;margin:0}.trust-card>div{min-width:0}@media(max-width:1100px){.trust-strip{gap:16px}.trust-card{padding:20px;gap:13px}.trust-card h3{font-size:16px}.trust-strip .trust-icon{width:38px;height:38px}.trust-card p{font-size:12px}}@media(max-width:800px){.trust-strip{grid-template-columns:1fr;gap:12px;padding-top:22px;padding-bottom:0}.trust-card{padding:20px 22px;align-items:center}.trust-card h3{font-size:17px;margin-bottom:5px}.trust-card p{font-size:13px}.trust-strip .trust-icon{width:44px;height:44px}}@media(max-width:430px){.trust-card{padding:18px;gap:14px}.trust-card h3{font-size:16px}.trust-card p{font-size:12px}}/* Clean page surfaces; photographic grass is reserved for branded CTA and footer. */
body{background:#fff}main{background:none}main .section{background:transparent}main .benefit.section,main .area.area-map-section,main .contact.section{background:#f6f7f4;border:0;border-radius:18px}main .faq.section{background:transparent}.service-invite.cta{width:100%;max-width:none;margin:32px 0 0;padding:36px 32px;min-height:205px;flex-wrap:nowrap;gap:32px;align-items:center}.service-invite.cta>div:first-child{flex:1;max-width:850px}.service-invite.cta .cta-actions{flex:0 0 auto;min-width:250px;max-width:320px;flex-basis:auto}.service-invite.cta h3{color:#fff;font-size:clamp(25px,2.3vw,34px);font-weight:750;line-height:1.2;margin:0 0 14px;letter-spacing:-.8px}.service-invite.cta p{font-size:15px;color:#e0ead8;line-height:1.75;margin:0}.service-invite.cta .button{margin-left:0;width:100%;flex-shrink:0;padding:10px 12px 10px 23px}.service-invite.cta .eyebrow{margin-bottom:15px}.service-invite.cta .cta-phone{color:#dce8d3;font-size:12px}.service-invite.cta .cta-phone strong{color:#fff}@media(max-width:800px){.service-invite.cta{flex-direction:column;align-items:flex-start;padding:32px 28px;gap:24px;flex-wrap:nowrap}.service-invite.cta .cta-actions{flex:0 0 auto;min-width:0;width:100%;max-width:340px}.service-invite.cta>div:first-child{flex-basis:auto}.service-invite.cta h3{font-size:29px}}@media(max-width:600px){main .benefit.section,main .area.area-map-section,main .contact.section{border-radius:0}.service-invite.cta{padding:28px 24px;margin-top:24px}.service-invite.cta h3{font-size:27px}.service-invite.cta p{font-size:14px}.service-invite.cta .cta-actions{max-width:none}}/* Keep the services introduction together rather than across the full row. */
#leistungen>.section-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;margin-bottom:32px}#leistungen>.section-heading>p{max-width:720px;margin:0;font-size:16px;line-height:1.75;color:#52634f}#leistungen>.section-heading>p br{display:none}#leistungen>.section-heading>p br::after{content:' '}@media(max-width:600px){#leistungen>.section-heading{gap:14px;margin-bottom:26px}#leistungen>.section-heading>p{font-size:14px;max-width:100%}}/* Site-wide heading and introduction rhythm, in both languages. */
.section-heading,.coverage-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;margin-bottom:32px}.section-heading h2,.coverage-heading h2{margin:0}.section-heading>p,.coverage-heading>div:last-child>p{max-width:760px;margin:0;font-size:16px;line-height:1.75;color:#52634f}.coverage-heading>div:last-child{max-width:760px}.section-heading>p br{display:none}.section :is(h1,h2)+p,.section>div>:is(h1,h2)+p{margin-top:0}.page-intro h1,.service-intro h1,.benefit h2,.process h2,.scope h2,.contact h2,.faq h2{margin-bottom:16px}.page-intro>p,.service-intro>div>p{max-width:760px;font-size:16px;line-height:1.75}.section-heading .eyebrow,.coverage-heading .eyebrow{margin-bottom:18px}@media(max-width:600px){.section-heading,.coverage-heading{gap:14px;margin-bottom:26px}.section-heading>p,.coverage-heading>div:last-child>p,.page-intro>p,.service-intro>div>p{font-size:14px;max-width:100%}.page-intro h1,.service-intro h1,.benefit h2,.process h2,.scope h2,.contact h2,.faq h2{margin-bottom:14px}}/* Coverage introduction is a deliberate two-column exception. */
.area-map-section .coverage-heading{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:64px;align-items:center;margin-bottom:32px}.coverage-heading .coverage-heading-copy{max-width:800px}.coverage-heading-copy h2{margin:0 0 18px}.coverage-heading-copy>p{max-width:760px;margin:0;font-size:16px;line-height:1.8;color:#52634f}.coverage-origin-card{width:100%;max-width:430px;justify-self:end;background:#fff;border:1px solid #dce7d5;border-radius:15px;padding:26px;box-shadow:0 5px 20px #244c2d05}.origin-title{display:flex;align-items:center;gap:16px;margin-bottom:19px}.origin-pin{display:grid;place-items:center;width:52px;height:52px;background:#edf5e5;border-radius:13px;color:#39772d;flex-shrink:0}.origin-pin svg{width:29px;height:29px}.origin-title>div>span{display:block;font-size:9px;font-weight:750;letter-spacing:1.5px;color:#60854f;line-height:1.6;margin-bottom:7px}.origin-title h3{font-size:24px;line-height:1.2;color:#284b30;letter-spacing:-.5px;margin:0 0 3px;font-weight:750}.origin-title p{font-size:13px;line-height:1.5;color:#64735e;margin:0}.coverage-origin-card>p{font-size:14px;line-height:1.75;color:#52634f;margin:0 0 20px}.coverage-origin-card>.button{min-height:46px;font-size:13px;width:100%}@media(max-width:1100px){.area-map-section .coverage-heading{gap:32px;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr)}.coverage-origin-card{padding:23px}}@media(max-width:800px){.area-map-section .coverage-heading{grid-template-columns:1fr;gap:24px}.coverage-origin-card{max-width:none;justify-self:stretch}.coverage-heading-copy>p{max-width:100%}}@media(max-width:600px){.coverage-origin-card{padding:22px}.coverage-heading-copy h2{margin-bottom:14px}.coverage-heading-copy>p{font-size:14px}.origin-title h3{font-size:23px}.area-map-section .coverage-heading{margin-bottom:26px}}/* Equal repeated groups keep the ticker full throughout its seamless loop. */
.offer-track{animation:offer-travel 64s linear infinite;will-change:transform}.offer-group{min-width:100vw;justify-content:space-around}.offer-strip:hover:not(:focus-within) .offer-track{animation-play-state:running}@media(prefers-reduced-motion:reduce){.offer-track{animation:none;will-change:auto}.offer-group{min-width:0;justify-content:flex-start}}/* Shared button system: readable labels and crisp contextual line icons. */
.button,.cta .button.white,.service-invite.cta .button,.hero-slider .actions .button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:10px 12px 10px 23px;border-radius:12px;font-size:16px;font-weight:800;line-height:1.4;letter-spacing:-.15px;text-align:left;transition:background .2s,box-shadow .2s,transform .2s}.button{color:#fff;background:linear-gradient(135deg,#3f8834,#2c6a29);border:1px solid #377c30;box-shadow:0 5px 14px #244c2d18}.button:hover{background:linear-gradient(135deg,#34772c,#235823);box-shadow:0 8px 20px #244c2d28;transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-label{display:block;flex:1;min-width:0}.button-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;background:#ffffff18;color:inherit;transition:background .2s,transform .2s}.button-icon svg{width:21px;height:21px;display:block}.button:hover .button-icon{background:#ffffff28;transform:translateX(1px)}.hero-slider .actions{gap:14px}.hero-slider .button.white,.cta .button.white{background:#c5ee91;color:#193f24;border-color:#d4f3ad;box-shadow:0 6px 22px #061d1633}.hero-slider .button.white:hover,.cta .button.white:hover{background:#d5f5ad}.hero-slider .button.white .button-icon,.cta .button.white .button-icon{background:#244f30;color:#e2f9c4;width:39px;height:39px}.hero-slider .button.outline{background:#ffffff17;color:#fff;border:1px solid #ffffffa6;backdrop-filter:blur(12px);box-shadow:0 5px 18px #061d1624}.hero-slider .button.outline:hover{background:#ffffff2b;border-color:#fff}.hero-slider .button.outline .button-icon{background:#ffffff1f}.header .button.header-cta{min-height:48px;font-size:14px;gap:12px;padding:8px 9px 8px 16px;border-radius:10px}.header-cta .button-icon{width:29px;height:29px;border-radius:7px}.header-cta .button-icon svg{width:18px;height:18px}.coverage-radius-request .button,.coverage-origin-card>.button{font-size:15px;min-height:56px}.card-copy .text-link{font-size:14px;font-weight:750;min-height:50px;padding:8px 10px 8px 14px;border-radius:9px;gap:12px;align-items:center}.card-copy .text-link .button-icon{width:30px;height:30px;background:#e0eed5;color:#35692d}.card-copy .text-link .button-icon svg{width:19px;height:19px}.card-copy .text-link .button-icon{margin-left:auto}.cta .button.white,.service-invite.cta .button{justify-content:space-between}.service-invite.cta .button{padding:10px 12px 10px 23px}@media(max-width:1100px){.header .button.header-cta{font-size:13px;padding-left:13px;gap:8px}.cta .button.white,.service-invite.cta .button{font-size:15px}}@media(max-width:600px){.button,.cta .button.white,.service-invite.cta .button,.hero-slider .actions .button{font-size:15px;min-height:55px;padding:9px 10px 9px 17px;gap:12px}.hero-slider .actions{flex-wrap:wrap;gap:12px}.hero-slider .actions .button{font-size:15px}.button-icon{width:33px;height:33px}.hero-slider .button.white .button-icon,.cta .button.white .button-icon{width:35px;height:35px}.button-icon svg{width:20px;height:20px}.card-copy .text-link{font-size:14px;min-height:50px}}@media(max-width:380px){.hero-slider .actions .button{font-size:14px;padding-left:14px;gap:8px}}@media(prefers-reduced-motion:reduce){.button,.button-icon{transition:none}.button:hover,.button:hover .button-icon{transform:none}}
@media(max-width:800px){.header .button.header-cta{display:none}}@media(max-width:600px){.hero-slider .actions{display:grid;grid-template-columns:1fr;width:100%;max-width:240px;margin-left:auto;margin-right:auto}.hero-slider .actions .button{width:100%}.mobile-contact a{font-size:13px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:8px}.mobile-contact .button-icon{width:26px;height:26px;background:transparent}.mobile-contact .button-icon svg{width:18px;height:18px}.mobile-contact a:last-child{border-radius:9px}}

/* Expanded inspiration gallery and complete wheelbarrow framing. */
.hero-photo picture{display:block;width:100%;height:100%}
#hero-panel-7 .hero-photo img{object-position:80% 55%}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.gallery-item:first-child,.gallery-item:last-child{grid-row:auto;grid-column:auto}
.gallery-item img,.gallery-item:first-child img{width:100%;height:auto;aspect-ratio:3/2;transition:transform .35s ease}
.gallery-item{border-radius:16px;box-shadow:0 5px 20px #183c2610}
.gallery-item:hover img{transform:scale(1.035)}
@media(max-width:1100px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#hero-panel-7 .hero-photo img{object-position:52% 100%}.gallery{gap:12px}.gallery-item{border-radius:12px}.gallery-item img,.gallery-item:first-child img{aspect-ratio:1/1}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}}

.comparisons{margin:32px 0 44px}.comparison-intro{max-width:820px;margin-bottom:24px}.comparison-intro h3{font-size:clamp(25px,2.3vw,34px);margin:10px 0 12px;color:#21492e}.comparison-intro p{margin:0;font-size:15px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.comparison-card{overflow:hidden;border:1px solid #dce6d7;border-radius:20px;background:#fff;box-shadow:0 8px 30px #173b2410}.comparison-frame{position:relative;aspect-ratio:3/2;overflow:hidden}.comparison-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-label{position:absolute;top:18px;padding:5px 13px;background:#fffef4f2;color:#21492e;font-weight:800;font-size:13px;border-radius:8px;box-shadow:0 2px 10px #0002}.comparison-label.before{left:18px}.comparison-label.after{right:18px;background:#245a34;color:#fff}.comparison-divider{position:absolute;top:0;bottom:0;left:var(--split);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 8px #0004}.comparison-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:45px;height:45px;border-radius:50%;background:#fff;color:#245a34;display:grid;place-content:center;font-size:24px;font-weight:800;box-shadow:0 2px 15px #0003;white-space:pre}.comparison-copy{padding:22px 24px}.comparison-copy h4{font-size:23px;letter-spacing:-.03em;margin:0 0 8px;color:#21492e}.comparison-copy p{margin:0 0 18px;font-size:15px}.comparison-copy label{font-size:12px;color:#47624d;margin:0}.comparison-copy input[type=range]{display:block;width:100%;min-height:36px;padding:0;margin:5px 0 0;accent-color:#357d2b;cursor:ew-resize;border:0;background:transparent;touch-action:pan-y}
@media(max-width:700px){.comparison-grid{grid-template-columns:1fr;gap:22px}.comparison-copy{padding:18px 20px}.comparison-copy h4{font-size:22px}.comparison-label{top:12px}.comparison-label.before{left:12px}.comparison-label.after{right:12px}}

/* The image itself is the comparison control. */
.comparison-frame{cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.comparison-frame>img{pointer-events:none;-webkit-user-drag:none}
.comparison-divider{pointer-events:none}
.comparison-divider>.comparison-handle{pointer-events:auto;cursor:ew-resize;touch-action:pan-y}
.comparison-handle>span{font-size:24px;line-height:1}
.comparison-handle:focus-visible{outline:3px solid #b9e884;outline-offset:5px}
.comparison-copy p{margin-bottom:0}

/* Homepage before/after previews crossfade until manually explored. */
.comparison-frame.is-autoplay .comparison-before{clip-path:none;animation:comparison-crossfade 10s ease-in-out infinite}
.comparison-frame.is-autoplay .comparison-divider{background:transparent;box-shadow:none}
.comparison-frame.is-autoplay .comparison-handle{opacity:.85}
@keyframes comparison-crossfade{0%,15%,100%{opacity:1}45%,65%{opacity:0}}
@media(prefers-reduced-motion:reduce){.comparison-frame.is-autoplay .comparison-before{animation:none;clip-path:inset(0 calc(100% - var(--split)) 0 0)}}
/* Clear before/after reveal, with no slider visible during autoplay. */
.comparison-frame.is-autoplay .comparison-before{opacity:1;animation:comparison-reveal 6s ease-in-out infinite}
.comparison-frame.is-autoplay .comparison-divider{display:none}
@keyframes comparison-reveal{0%,28%,100%{clip-path:inset(0 0 0 0)}43%,78%{clip-path:inset(0 100% 0 0)}}
@media(prefers-reduced-motion:reduce){.comparison-frame.is-autoplay .comparison-before{animation:none;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-frame.is-autoplay .comparison-divider{display:block}}

/* Brighter introductory garden with readable text and a visible gazebo. */
#hero-panel-0 .hero-shade{background:linear-gradient(0deg,#092b1b66,#092b1b66),radial-gradient(ellipse at 50% 45%,#092b1b38,transparent 75%)}
#hero-panel-0 .hero-content h1{text-shadow:0 2px 18px #071b0f55}
#hero-panel-0 .hero-content>p{color:#fff;text-shadow:0 1px 6px #071b0fb3}
#hero-panel-0 .hero-photo img{object-position:70% 50%}
.gallery-item img[src*="garden-gazebo-v2"]{object-fit:cover;object-position:75% 50%}
@media(max-width:600px){#hero-panel-0 .hero-photo img{object-position:73% 50%}#hero-panel-0 .hero-shade{background:linear-gradient(0deg,#092b1b70,#092b1b88 45%,#092b1b55)}}

/* Footer links echo the highlighted navigation; contact gets its own cards. */
.footer-top{grid-template-columns:1.05fr .65fr 1.05fr 1.35fr;gap:38px}
.footer-top>div>a:not(.brand):not(.footer-contact-card),.footer-bottom a{position:relative;width:fit-content;max-width:100%;padding:7px 11px;margin-left:-11px;border-radius:9px;transition:background .22s,color .22s,transform .22s;text-decoration:none}
.footer-top>div>a:not(.brand):not(.footer-contact-card)::after,.footer-bottom a::after{content:'';position:absolute;bottom:3px;left:11px;width:24px;height:2px;background:#bde788;transform:scaleX(0);transform-origin:left;transition:transform .22s}
.footer-top>div>a:not(.brand):not(.footer-contact-card):hover,.footer-top>div>a:not(.brand):not(.footer-contact-card):focus-visible,.footer-bottom a:hover,.footer-bottom a:focus-visible{background:#d9f4b91c;color:#d5f5af;text-decoration:none;transform:translateX(3px)}
.footer-top>div>a:hover::after,.footer-top>div>a:focus-visible::after,.footer-bottom a:hover::after,.footer-bottom a:focus-visible::after{transform:scaleX(1)}
.footer-contact{min-width:0}.footer-contact-cards{display:grid;gap:12px}
.footer-contact-card{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:12px;align-items:start;padding:17px;border:1px solid #d7efc82e;border-radius:15px;background:#ffffff0d;backdrop-filter:blur(8px);color:#fff;transition:background .22s,border-color .22s,transform .22s;min-width:0}
.footer-contact-card:hover,.footer-contact-card:focus-visible{background:#c5e6a71e;border-color:#c7eb9c80;transform:translateY(-3px);text-decoration:none;color:#fff}
.footer-contact-icon{display:grid;place-items:center;width:36px;height:40px;color:#c9ee9d}.footer-contact-icon svg{width:25px;height:25px}
.footer-contact-card small{display:block;font-size:9px;font-weight:750;letter-spacing:1.3px;line-height:1.6;color:#c6ddba;margin-bottom:6px}
.footer-contact-card strong{display:block;font-size:18px;font-weight:800;line-height:1.4;letter-spacing:-.3px;color:#fff;margin-bottom:5px}
.footer-contact-card span>span{display:block;font-size:12px;line-height:1.65;color:#e2ebdc}.footer-contact-card .footer-base-note{font-size:11px;color:#baceb0;margin-top:7px}
.footer-card-arrow{font-size:20px;color:#c9ee9d;transition:transform .22s}.footer-contact-card:hover .footer-card-arrow{transform:translateX(3px)}
@media(max-width:1100px){.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:auto}}
@media(max-width:600px){.footer-top{gap:28px 20px}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:1/-1}.footer-contact-card{padding:17px}.footer-contact-card strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.footer-contact-card,.footer-card-arrow,.footer-top a,.footer-bottom a,.footer-top a::after,.footer-bottom a::after{transition:none!important}}

.footer-bottom{flex-wrap:wrap;gap:16px 26px}.footer-bottom .footer-credit{margin-left:0;white-space:nowrap;font-size:12px;color:#c6d5bf}.footer-credit strong{font-weight:750;color:#e8f5df}
@media(max-width:600px){
.footer{padding-top:36px;padding-bottom:100px}
.footer-top{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px 24px}
.footer-top>div:first-child{order:0;display:flex;align-items:center;gap:20px;grid-column:1/-1}
.footer .brand .company-logo{width:82px;height:82px;border-radius:14px}
.footer-top>div:first-child>p{margin:0;max-width:205px;font-size:13px;line-height:1.65}
.footer-top>.footer-contact{order:1;grid-column:1/-1}
.footer-top>div:nth-child(2){order:2;grid-column:auto}
.footer-top>div:nth-child(3){order:3;grid-column:auto}
.footer-top h3{font-size:16px;margin-bottom:12px}
.footer-top>div>a:not(.brand):not(.footer-contact-card){font-size:13px;line-height:1.55;padding:8px 10px;margin-bottom:3px;margin-left:-10px}
.footer-contact-cards{gap:10px}.footer-contact-card{padding:15px;grid-template-columns:30px minmax(0,1fr) 16px;gap:10px}.footer-contact-icon{width:30px}.footer-contact-card strong{font-size:19px}.footer-contact-card small{font-size:9px;letter-spacing:1px}.footer-contact-card span>span{font-size:12px}
.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:32px;padding-top:22px;font-size:12px}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:8px 22px}
.footer-bottom>div>a{margin-left:0;padding:4px 0}
.footer-bottom .footer-credit{padding:9px 13px;margin:0;border-radius:9px;background:#ffffff0c;border:1px solid #ffffff18;font-size:12px}
}

/* Full-screen mobile navigation, independent of the sticky glass header. */
body.mobile-menu-open{overflow:hidden}
dialog.mobile-mega{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f8faf5;color:#21432c;overflow:hidden}
.mobile-mega[open]{display:flex;flex-direction:column;animation:mega-enter .25s ease-out}
.mobile-mega::backdrop{background:#0b211be0}
.mobile-mega-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;background:#fff;border-bottom:1px solid #e2eadc;flex-shrink:0}
.mobile-mega-top img{width:67px;height:67px;max-height:none;object-fit:contain}
.mobile-mega-top>span{font-size:10px;font-weight:800;letter-spacing:2px;color:#70826a;margin-left:auto}
.mobile-mega-close{display:grid;place-items:center;border:1px solid #dce8d4;border-radius:50%;width:45px;height:45px;padding:0;color:#285835;background:#edf4e7}
.mobile-mega-close svg{width:23px;height:23px}
.mobile-mega-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 24px max(28px,env(safe-area-inset-bottom));flex:1;min-height:0}
.mobile-mega-links>a,.mobile-mega-services>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid #dfe7d9;font-size:clamp(23px,6vw,30px);line-height:1.25;font-weight:750;letter-spacing:-.8px;color:#244b30}
.mobile-mega-links>a>span:last-child{font-size:23px;color:#6f925c}
.mobile-mega-links>a:hover,.mobile-mega-links>a:focus-visible{color:#43872e;background:#eaf2e3;border-radius:10px}
.mobile-mega-services{border:0;margin:0;padding:0}.mobile-mega-services>summary{list-style:none;cursor:pointer;border-radius:0;background:none}.mobile-mega-services>summary::-webkit-details-marker{display:none}.mobile-mega-services>summary::marker{content:''}
.mobile-mega-services>summary>span{font-size:29px;color:#5b8744;transition:transform .2s}
.mobile-mega-services[open]>summary>span{transform:rotate(45deg)}
.mobile-mega-service-list{display:grid;gap:7px;padding:14px 0 18px}
.mobile-mega-service-list>a{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#edf3e7;padding:13px 15px;border-radius:10px;font-size:14px;line-height:1.4;font-weight:650;color:#315438}
.mobile-mega-service-list>a:hover{background:#dceccc}
.mobile-mega-contact{margin-top:26px;border-radius:18px;padding:24px;background:linear-gradient(100deg,#143d29ec,#254f33dc),image-set(url('/assets/lawn-large-480w.webp') 1x, url('/assets/lawn-large-960w.webp') 2x) center/cover;color:white}
.mobile-mega-contact .eyebrow{color:#c9e8b6;font-size:9px;letter-spacing:1.5px}
.mobile-mega-contact h2{color:#fff;font-size:30px;line-height:1.15;margin:12px 0 20px}
.mobile-mega-contact .button{width:100%;justify-content:space-between}
.mobile-mega-phone{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:#fff;font-size:20px;font-weight:750}
.mobile-mega-languages{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;font-size:12px}
.mobile-mega-languages>span{width:100%;font-size:10px;color:#72836b;font-weight:750;text-transform:uppercase;letter-spacing:1.2px}
.mobile-mega-languages>a{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #dbe5d3;border-radius:10px;background:#fff;font-size:13px;font-weight:700}
.mobile-mega-languages>a[aria-current=true]{background:#e8f1df;border-color:#9cbe83}
@keyframes mega-enter{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mobile-mega[open]{animation:none}}

/* Homepage comparisons are non-interactive on all screen sizes. */
.comparison-frame[data-auto-compare]{cursor:default;touch-action:auto}
/* Leave room for the fixed mobile contact bar below the author credit. */
@media(max-width:800px){
.footer{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
.footer-credit{scroll-margin-bottom:calc(115px + env(safe-area-inset-bottom,0px))}
.mobile-contact{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}

/* Wide documentary scenes shared by the hero and service cards. */
#hero-panel-6 .hero-photo img{object-position:65% 50%}
#hero-panel-8 .hero-photo img{object-position:70% 55%}
.card-photo img[src*="service-clearing-v2"]{object-position:67% 50%}
.card-photo img[src*="service-waste-v2"]{object-position:72% 50%}
@media(max-width:600px){#hero-panel-6 .hero-photo img{object-position:65% 50%}#hero-panel-8 .hero-photo img{object-position:70% 55%}}
/* Keep the wheelbarrow body and wheel in the leaf-service card crop. */
.card-photo img[src*="service-leaves-"]{object-position:50% 100%}

/* Market-specific copy stays within the established components. */
.hero-slider .hero-market{display:block;margin-bottom:18px;color:#e0f1d2;font-size:10px;letter-spacing:2px}
.hero-slider .hero-local{font-size:13px!important;margin-top:20px!important;line-height:1.6;min-height:0!important}
#hero-panel-0 .hero-content h1{font-size:clamp(38px,4.5vw,66px);max-width:1050px;line-height:1.1}
#hero-panel-0 .hero-content>p{max-width:760px;line-height:1.7}
.gallery-disclosure{display:block;margin-top:8px;font-size:13px}
.service-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-editorial-grid h2{font-size:24px;line-height:1.25;margin-bottom:14px}.service-editorial-grid p{margin-bottom:0;font-size:15px;line-height:1.8}
.cleanup-details{grid-template-columns:1fr 1fr;margin-top:24px}.service-local{margin-top:40px;max-width:1050px}.service-local h2{font-size:30px}.origin-story{background:#f6f8f3;border-radius:20px}.origin-story p{max-width:1050px;font-size:16px}.contact-choice{font-size:13px!important;color:#385d32}
@media(max-width:800px){.service-editorial-grid,.cleanup-details{grid-template-columns:1fr}.hero-slider .hero-content{padding-top:48px;padding-bottom:92px}#hero-panel-0 .hero-content h1{font-size:clamp(32px,7.8vw,44px)}#hero-panel-0 .hero-content>p{font-size:14px;line-height:1.65}.hero-slider .hero-market{font-size:9px;letter-spacing:1px}.hero-slider .hero-local{font-size:11px!important;margin-top:14px!important}.service-local h2{font-size:27px}}

.service-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:800px){.service-editorial-grid{grid-template-columns:1fr}}

/* Services overview reuses the existing service cards, benefit and process components. */


.offer-category-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:26px}.offer-category{grid-column:span 2}.offer-category:nth-child(-n+2){grid-column:span 3}.offer-category .card-photo{height:235px}.offer-category .card-photo img{height:100%;width:100%;object-fit:cover}.offer-category .card-copy{display:flex;flex-direction:column}.offer-category .card-copy>p{min-height:0;font-size:15px;line-height:1.8;margin-bottom:18px}.offer-category .card-copy h3{font-size:25px;line-height:1.25}.offer-scope{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:8px}.offer-scope li{position:relative;padding-left:18px;font-size:13px;color:#52644b;line-height:1.65}.offer-scope li::before{content:'•';position:absolute;left:0;color:#60933e;font-weight:800}.offer-category .text-link{margin-top:auto}
.offer-benefits{display:grid;gap:14px;margin:22px 0 26px}.offer-benefits article{border-left:3px solid #b1d992;padding-left:16px}.offer-benefits h3{font-size:17px;margin:0 0 5px}.offer-benefits p{margin:0;font-size:14px}.offer-combined .benefit-image img{height:100%;min-height:580px;object-fit:cover}
@media(max-width:1100px){.offer-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-category,.offer-category:nth-child(-n+2){grid-column:auto}.offer-category:last-child{grid-column:1/-1}}
@media(max-width:800px){.offer-combined .benefit-image img{min-height:0;height:340px}}
@media(max-width:600px){.offer-category-grid{grid-template-columns:1fr;gap:22px}.offer-category:last-child{grid-column:auto}.offer-category .card-photo{height:220px}.offer-category .card-copy h3{font-size:25px}.offer-category .card-copy>p{font-size:15px}.offer-scope li{font-size:13px}}
/* Shared full-width photographic headers and explicit gaps between section cards. */
:root{--section-gap:36px}
main{display:flow-root}
main>.section{margin-bottom:var(--section-gap)}
.subpage-hero{position:relative;isolation:isolate;overflow:hidden;width:calc(100% - 48px);max-width:none;margin:12px 24px var(--section-gap);border-radius:20px;min-height:590px;display:grid;place-items:center;padding:84px max(48px,calc((100% - 1400px)/2));color:#fff;background:#183b28}
.subpage-hero-photo,.subpage-hero-shade{position:absolute;inset:0;z-index:-1;display:block}
.subpage-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;user-select:none}
.subpage-hero-shade{background:linear-gradient(90deg,#09271799,#09271766 55%,#09271733),linear-gradient(0deg,#09271755,transparent 65%)}
.subpage-hero-content{text-align:center;width:100%;max-width:1080px;margin:0 auto}
.subpage-hero .eyebrow{color:#e2efda;margin-bottom:20px;display:block;text-shadow:0 1px 8px #0a261c66}
.subpage-hero h1{font-size:clamp(38px,4.5vw,67px);font-weight:750;line-height:1.1;letter-spacing:-.045em;margin:0 auto 24px;max-width:1050px;color:white;text-shadow:0 2px 20px #09271755}
.subpage-hero-content>p{color:#fff;font-size:17px;line-height:1.8;max-width:800px;margin:0 auto 30px;text-shadow:0 1px 8px #09271788}
.subpage-hero .actions{justify-content:center;gap:14px;flex-wrap:wrap}
.subpage-hero .button.white{background:#c4eb94;color:#214b2d;border-color:#c4eb94}
.subpage-hero .subpage-secondary{background:#ffffff12;color:#fff;border:1px solid #ffffffa0;backdrop-filter:blur(12px)}
.subpage-hero .subpage-secondary .button-icon{background:#ffffff24;color:#fff}
.subpage-hero-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;list-style:none;padding:0;margin:28px 0 0}
.subpage-hero-badges li{font-size:13px;color:#f0f7ea;line-height:1.6}.subpage-hero-badges li>span{margin-right:8px;color:#c4eb94;font-weight:800}
.offer-category-grid{row-gap:32px;align-items:stretch}.offer-category{min-width:0;height:auto}.offer-category .card-photo{flex-shrink:0}.offer-category .card-copy{min-height:0}.offer-category .text-link{flex-shrink:0}
.offer-combined .benefit-image img{height:580px;min-height:0}
@media(max-width:1100px){:root{--section-gap:30px}.subpage-hero{padding:72px 40px;min-height:550px}.subpage-hero-content>p{font-size:16px}}
@media(max-width:800px){:root{--section-gap:26px}.subpage-hero{padding:64px 30px;min-height:540px}.subpage-hero h1{font-size:40px}.offer-combined .benefit-image img{height:340px}.offer-category-grid{row-gap:24px}}
@media(max-width:600px){:root{--section-gap:24px}.subpage-hero{width:calc(100% - 24px);margin:10px 12px var(--section-gap);border-radius:16px;min-height:590px;padding:56px 24px}.subpage-hero h1{font-size:clamp(31px,8vw,39px);line-height:1.15;margin-bottom:20px}.subpage-hero-content>p{font-size:14px;line-height:1.75;margin-bottom:24px}.subpage-hero .eyebrow{font-size:9px;letter-spacing:1.4px}.subpage-hero .actions{display:grid;grid-template-columns:1fr;max-width:300px;margin:0 auto}.subpage-hero .actions .button{width:100%;justify-content:space-between;font-size:14px;min-height:54px}.subpage-hero-badges{gap:8px 16px;margin-top:22px}.subpage-hero-badges li{font-size:11px}.subpage-hero-shade{background:linear-gradient(0deg,#09271780,#09271788 45%,#09271744)}}
/* Keep the shared section spacing above older compound selectors. */
main>.section.section{margin-top:0;margin-bottom:var(--section-gap)}

/* A distinct, readable enquiry form shared by both markets. */
main .contact.section{background:linear-gradient(135deg,#edf5e7,#f6f8f3);border:1px solid #cfdfc4;border-radius:22px;padding:48px;gap:48px;align-items:start;box-shadow:0 14px 40px #244c2d0a}
.contact>div{padding:18px 0}.contact h2{font-weight:750;line-height:1.15}.contact>div>p{font-size:15px;line-height:1.8;color:#465c46}
.contact .phone{display:inline-flex;align-items:center;min-height:62px;padding:14px 20px;background:#244c2d;color:#fff;border-radius:12px;font-size:clamp(20px,2vw,27px);font-weight:750;box-shadow:0 6px 18px #244c2d18;transition:background .2s,transform .2s}.contact .phone:hover{background:#367a2b;transform:translateY(-2px)}
.contact .notice{border:1px solid #d0dfc7;border-left:4px solid #6c9c45;border-radius:10px;background:#ffffffb3;padding:16px 18px;line-height:1.7}
.contact>form{min-width:0;background:#fff;border:1px solid #d7e3cf;border-top:5px solid #4f8736;border-radius:18px;padding:32px;box-shadow:0 12px 32px #244c2d10}
.contact .contact-choice{font-size:15px!important;font-weight:650;color:#294e2c;background:#eff6e9;padding:14px 16px;border-radius:9px;margin:0 0 24px;line-height:1.6}
.contact label,.contact legend{font-size:14px;font-weight:700;color:#29432d}.contact label{margin-bottom:20px}.contact .form-grid{gap:0 18px}
.contact input:not([type=checkbox]):not([type=hidden]):not([type=file]),.contact textarea{font:inherit;font-size:15px;font-weight:450;line-height:1.5;padding:13px 14px;border:1.5px solid #bdcdb6;border-radius:9px;background:#fbfcfa;min-height:51px;margin-top:8px;transition:border-color .2s,box-shadow .2s}
.contact textarea{min-height:145px;resize:vertical}.contact input:focus-visible,.contact textarea:focus-visible{outline:0;border-color:#42852e;box-shadow:0 0 0 3px #73a74b26;background:#fff}
.contact fieldset{margin:0 0 22px}.contact legend{margin-bottom:12px}.contact .checks{gap:9px}.contact .checks label{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.5;padding:10px 12px;margin:0;border:1px solid #cfddc6;border-radius:9px;background:#f6f9f2;cursor:pointer}.contact .checks label:has(input:checked){border-color:#58983b;background:#eaf5df;color:#244c2d}.contact input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
.contact .upload{border:1.5px dashed #9ab88a;background:#f5f9f0;border-radius:10px;padding:18px}.contact .upload input{font-size:13px;max-width:100%;margin:12px 0}.contact .upload small{font-size:12px;color:#586b50}
.contact .consent{font-size:12px;font-weight:500;line-height:1.75;gap:10px;align-items:start}.contact .consent a{color:#347826;text-decoration:underline;text-underline-offset:3px}.contact form>.button{width:100%;justify-content:space-between;min-height:60px;font-size:17px;font-weight:750;background:#347b29;color:#fff;box-shadow:0 6px 16px #347b2926}.contact form>.button:hover{background:#245d20}.contact .form-status{font-size:14px;line-height:1.7}
@media(max-width:1000px){main .contact.section{gap:30px;padding:34px}.contact>form{padding:26px}}
@media(max-width:800px){main .contact.section{grid-template-columns:1fr;padding:30px;gap:26px}.contact>div{padding:0}.contact .phone{margin:20px 0}.contact>div>p:last-child{margin-bottom:0}}
@media(max-width:600px){main .contact.section{padding:24px 18px;border-radius:18px;gap:24px}.contact>form{padding:22px 16px;border-radius:14px}.contact .form-grid{grid-template-columns:1fr}.contact h2{font-size:30px}.contact .contact-choice{font-size:14px!important;padding:12px}.contact .checks{display:grid;grid-template-columns:1fr}.contact .checks label{font-size:13px}.contact .upload{padding:14px}.contact form>.button{font-size:16px}.contact>div>p{font-size:14px}}

/* Keep contact details beside the form while scrolling on larger screens. */
.contact>div:first-child{position:sticky;top:130px;align-self:start}.contact .phone{gap:14px;white-space:nowrap}.contact .phone .button-icon{display:grid;place-items:center;width:36px;height:36px;background:#ffffff20;border-radius:9px;flex-shrink:0}.contact .phone svg{width:23px;height:23px}.contact .phone>span:last-child{min-width:0}
@media(max-width:1100px){.contact .phone{font-size:20px;padding:12px 14px;gap:10px}}
@media(max-width:800px),(max-height:650px){.contact>div:first-child{position:static}}

/* The phone action shares the quote button's dimensions and icon treatment. */
.cta .button.cta-phone,.service-invite.cta .button.cta-phone{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;padding:10px 12px 10px 23px;border:1px solid #d7edc57a;border-radius:12px;background:#ffffff12;backdrop-filter:blur(10px);color:#fff;text-align:left;font-size:15px;font-weight:750;line-height:1.5;white-space:normal;box-shadow:0 6px 18px #061d161a;transition:background .2s,border-color .2s,transform .2s}.cta .cta-phone .button-label{flex:1}.cta .cta-phone .button-icon{background:#ffffff20;color:#fff;flex-shrink:0}.cta .button.cta-phone:hover,.service-invite.cta .button.cta-phone:hover{background:#ffffff26;border-color:#dcf4bf;transform:translateY(-2px)}.cta .button.cta-phone:focus-visible{outline:3px solid #c3ed8d;outline-offset:4px}
@media(max-width:600px){.cta .button.cta-phone,.service-invite.cta .button.cta-phone{min-height:62px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.cta .button.cta-phone{transition:none}}

/* New service photography retains full natural landscape framing. */
.service-photography.section{padding-top:24px;padding-bottom:24px}.service-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.service-photo-pair figure{margin:0;min-width:0;overflow:hidden;border-radius:18px;background:#f0f3ec;box-shadow:0 8px 28px #244c2d10}.service-photo-pair img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:filter .25s}.service-photo-pair figure:hover img{filter:brightness(1.035)}.service-photo-note{font-size:11px!important;line-height:1.7;color:#72806b;margin:14px 0 0!important}@media(max-width:800px){.service-photo-pair{grid-template-columns:1fr;gap:20px}.service-photography.section{padding-top:12px;padding-bottom:12px}.service-photo-pair figure{border-radius:14px}}

.cta .cta-actions .button.white{min-height:66px}@media(max-width:600px){.cta .cta-actions .button.white{min-height:62px}}
#leistungen > section[aria-labelledby="home-comparisons-title"] { margin-top: clamp(32px, 5vw, 64px); }

/* Shared service detail components: scope, cards, plans, costs and related services. */
html[lang="de"] .legal h1 {
  overflow-wrap: anywhere;
  hyphens: auto;
}
@media (max-width: 600px) {
  html[lang="de"] .legal h1 {
    font-size: clamp(26px, 7vw, 38px);
  }
}
.service-detail-section {
  scroll-margin-top: 130px;
}
.service-detail-section .service-intro {
  padding-top: 0;
}
.service-detail-prose {
  max-width: 1000px;
}
.service-detail-prose > p:first-child {
  margin-top: 0;
}
.service-detail-prose > p:last-child {
  margin-bottom: 0;
}
.service-detail-highlights {
  margin-top: 28px;
}
.service-detail-section .service-intro figure {
  min-width: 0;
  margin: 0;
}
.service-detail-section .service-intro figure img {
  display: block;
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 18px;
}
@media (max-width: 800px) {
  .service-detail-section .service-intro figure img {
    height: 320px;
  }
}
.service-detail-hero .subpage-hero-content {
  text-align: center;
  max-width: 1080px;
}
.service-detail-hero h1 {
  max-width: 1050px;
  margin-left: auto;
}
.service-detail-hero .subpage-hero-content > p {
  max-width: 800px;
  margin-left: auto;
}
.service-detail-hero .actions,
.service-detail-hero .subpage-hero-badges {
  justify-content: center;
}
.service-detail-hero .subpage-hero-shade {
  background: linear-gradient(90deg, #092717db, #092717a8 48%, #09271733);
}
.service-detail-hero .subpage-hero-photo img {
  object-position: 70% center;
}
.service-detail-section .section-heading {
  margin-bottom: 30px;
}
.service-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.service-detail-grid .info-card,
.service-detail-plans .info-card {
  min-width: 0;
  background: white;
  border: 1px solid #d9e5d0;
  border-radius: 18px;
  box-shadow: 0 8px 24px #244c2d08;
  padding: 26px;
}
.service-detail-number {
  display: inline-grid;
  place-items: center;
  min-width: 40px;
  height: 40px;
  background: #edf6e5;
  color: #3c782e;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 750;
  margin-bottom: 20px;
}
.service-detail-section h3 {
  font-size: 23px;
  font-weight: 750;
  line-height: 1.25;
  margin: 0 0 14px;
  color: #244c2d;
}
.service-detail-section p {
  font-size: 15px;
  line-height: 1.8;
  color: #51624c;
}
.service-detail-grid p {
  margin: 0;
}
.service-detail-soft {
  background: #f6f8f3;
  border-radius: 20px;
}
.service-detail-plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.service-detail-plans .info-card {
  display: flex;
  flex-direction: column;
  padding: 34px;
}
.service-detail-plans .info-card:last-child {
  border-top: 4px solid #558e3b;
}
.service-detail-plans .offer-scope {
  margin-top: 8px;
}
.service-detail-plans .button {
  margin-top: auto;
  align-self: flex-start;
}
.service-detail-plans .service-detail-secondary {
  background: #edf5e5;
  color: #2b5c2c;
}
.service-detail-cost-layout {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 26px;
  align-items: stretch;
}
.service-detail-cost-layout > img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  border-radius: 18px;
}
.service-detail-cost-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.service-detail-cost-grid h3 {
  font-size: 20px;
}
.service-detail-cost-grid .service-detail-number {
  margin-bottom: 14px;
}
.service-detail-quote {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 28px;
}
.service-detail-quote > p {
  margin: 0;
  max-width: 850px;
}
.service-detail-quote > .button {
  flex-shrink: 0;
}
.service-detail-prep {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.service-detail-related {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.service-detail-related .card-photo img {
  height: 230px;
}
.service-detail-related .card-copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 26px;
}
.service-detail-related .card-copy h3 {
  font-size: 24px;
  min-height: 0;
}
.service-detail-related .card-copy p {
  min-height: 0;
  margin-bottom: 24px;
}
.service-detail-related .text-link {
  margin-top: auto;
}
.service-detail-all {
  display: inline-flex;
  margin-top: 26px;
}
@media (max-width: 1100px) {
  .service-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service-detail-prep {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .service-detail-cost-layout {
    grid-template-columns: 1fr;
  }
  .service-detail-cost-layout > img {
    height: 340px;
    min-height: 0;
  }
  .service-detail-quote {
    flex-wrap: wrap;
  }
  .service-detail-related .card-copy {
    padding: 20px;
  }
  .service-detail-related .card-copy h3 {
    font-size: 22px;
  }
}
@media (max-width: 800px) {
  .service-detail-plans,
  .service-detail-prep {
    grid-template-columns: 1fr;
  }
  .service-detail-related {
    grid-template-columns: 1fr;
  }
  .service-detail-related .card-photo img {
    height: 260px;
  }
  .service-detail-hero h1 {
    font-size: 38px;
  }
  .service-detail-hero .subpage-hero-content > p {
    font-size: 15px;
  }
  .service-detail-hero .subpage-hero-shade {
    background: linear-gradient(90deg, #092717d9, #09271780);
  }
  .service-detail-grid .info-card,
  .service-detail-plans .info-card {
    padding: 24px;
  }
}
@media (max-width: 600px) {
  .service-detail-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .service-detail-hero {
    min-height: 650px;
  }
  .service-detail-hero h1 {
    font-size: 34px;
  }
  .service-detail-hero .actions {
    max-width: none;
  }
  .service-detail-hero .subpage-hero-badges {
    display: grid;
    gap: 7px;
  }
  .service-detail-section h3 {
    font-size: 23px;
  }
  .service-detail-section .section-heading {
    margin-bottom: 24px;
  }
  .service-detail-plans .button {
    width: 100%;
    font-size: 14px;
    white-space: normal;
  }
  .service-detail-quote {
    gap: 20px;
  }
  .service-detail-quote > .button {
    width: 100%;
  }
  .service-detail-cost-layout > img {
    height: 270px;
  }
  .service-detail-related .card-photo img {
    height: 220px;
  }
}

.service-detail-note {
  margin-top: 24px;
}
.service-detail-photo-note {
  margin: 14px 0 0;
  font-size: 11px !important;
  color: #72806b;
}

/* Optional variants used by the removal page without changing other forms. */
.service-detail-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.contact .contact-choice-plain {
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-weight: 500;
}
@media (max-width: 600px) {
  .service-detail-grid-two {
    grid-template-columns: 1fr;
  }
}

/* Photographic subpages share an edge-to-edge cover under the floating menu. */
body.has-subpage-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.has-subpage-hero > .offer-strip {
  grid-area: 1 / 1;
  min-width: 0;
}
.has-subpage-hero > .header {
  grid-area: 2 / 1;
  align-self: start;
}
.has-subpage-hero > main {
  grid-area: 2 / 1;
  min-width: 0;
}
.has-subpage-hero > .footer {
  grid-area: 3 / 1;
}
.has-subpage-hero .subpage-hero {
  width: 100%;
  max-width: none;
  margin: 0 0 var(--section-gap);
  border-radius: 0 0 26px 26px;
  min-height: 700px;
  padding-top: 200px;
}
.has-subpage-hero .subpage-breadcrumbs {
  position: absolute;
  top: 136px;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  padding: 0 var(--page-gutter);
  color: #edf5e8;
  text-shadow: 0 1px 8px #09271799;
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
}
.subpage-breadcrumbs a {
  color: inherit;
}
.subpage-breadcrumbs a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 800px) {
  .has-subpage-hero .subpage-hero {
    min-height: 660px;
    padding-top: 170px;
    border-radius: 0 0 20px 20px;
  }
  .has-subpage-hero .subpage-breadcrumbs {
    top: 112px;
  }
}
@media (max-width: 600px) {
  .has-subpage-hero .subpage-hero {
    margin-left: 0;
    margin-right: 0;
    padding-top: 164px;
    min-height: 700px;
  }
  .has-subpage-hero .subpage-breadcrumbs {
    font-size: 10px;
  }
}

.subpage-hero .subpage-hero-content > .subpage-hero-lead {
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 650;
  line-height: 1.3;
  margin-bottom: 18px;
}
.contact-method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 1080px;
  margin: 0 auto;
}
.contact-method-card {
  padding: 32px;
  border: 1px solid #d9e5d0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px #244c2d08;
  position: relative;
}
.contact-method-card h2 {
  font-size: 23px;
  margin: 18px 0 12px;
}
.contact-market {
  position: absolute;
  right: 30px;
  top: 32px;
  color: #5c7852;
  font-weight: 750;
}
.contact-method-icon .button-icon {
  width: 48px;
  height: 48px;
  background: #edf5e6;
  color: #35752c;
  border-radius: 13px;
}
.contact-method-value {
  display: block;
  color: #244c2d;
  font-size: clamp(23px, 2.3vw, 30px);
  font-weight: 750;
  line-height: 1.45;
  overflow-wrap: anywhere;
  margin-bottom: 22px;
}
.contact-method-value:hover {
  color: #42842f;
}
.contact-method-email {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 24px;
}
.contact-method-email > div {
  min-width: 0;
  flex: 1;
}
.contact-method-email h2 {
  margin-top: 0;
}
.contact-method-email .contact-method-value {
  font-size: clamp(19px, 2vw, 26px);
  margin-bottom: 0;
}
.contact.contact-simple {
  display: block;
  background: #f5f8f1;
  border-radius: 22px;
}
.contact.contact-simple > .contact-form-heading {
  position: static;
  top: auto;
  text-align: center;
  max-width: 800px;
  margin: 0 auto 30px;
}
.contact-simple form {
  max-width: 1080px;
  margin: 0 auto;
  padding: 32px;
}
.contact-simple .contact-choice-plain {
  font-size: 13px;
}
.contact-origin address {
  font-style: normal;
  font-weight: 650;
  color: #244c2d;
  font-size: 15px;
  line-height: 1.7;
  margin: 14px 0;
}
.contact-origin h3 {
  font-size: 24px;
  line-height: 1.3;
  color: #244c2d;
}
.footer-contact-card > div {
  min-width: 0;
}
.footer-contact-card strong {
  overflow-wrap: anywhere;
}
.footer-phone-link {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 8px 0 !important;
  border-radius: 7px;
}
.footer-phone-link small {
  min-width: 20px;
  margin: 0 !important;
}
.footer-contact-icon .button-icon {
  background: transparent;
  width: 24px;
  height: 24px;
  padding: 0;
}
@media (max-width: 700px) {
  .contact-method-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .contact-method-card {
    padding: 26px;
  }
  .contact-method-email {
    grid-column: auto;
    display: block;
  }
  .contact-method-email h2 {
    margin-top: 18px;
  }
  .contact-method-email .contact-method-value {
    margin-bottom: 22px;
  }
  .contact-method-card .button {
    width: 100%;
  }
  .contact-simple form {
    padding: 24px;
  }
  .contact.contact-simple {
    border-radius: 0;
  }
}

.project-page-hero {
  padding-top: 70px;
  padding-bottom: 48px;
  max-width: 1100px;
  text-align: center;
}
.project-page-hero h1 {
  font-size: clamp(36px, 4.5vw, 64px);
  color: #21492e;
  margin-bottom: 22px;
}
.project-page-hero > p {
  max-width: 790px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.85;
}
.project-page-hero .actions {
  justify-content: center;
  flex-wrap: wrap;
}
.project-page-hero .project-secondary {
  background: #edf4e7;
  color: #244c2d;
  border-color: #d9e5d0;
}
.project-gallery-anchor {
  scroll-margin-top: 130px;
}
.project-gallery-section {
  padding-top: 28px;
}
.project-empty {
  padding: clamp(32px, 5vw, 74px);
  border: 1px solid #dce6d7;
  border-radius: 22px;
  background: linear-gradient(135deg, #f5f8f1, #fff);
  text-align: center;
}
.project-empty > p {
  max-width: 660px;
  margin: 0 auto 28px;
  font-size: 16px;
}
.project-empty > h2 {
  font-size: clamp(29px, 3vw, 43px);
  color: #244c2d;
}
.project-empty-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  margin-top: 48px;
  padding-top: 30px;
  border-top: 1px solid #dce6d7;
}
.project-empty-notes h3 {
  font-size: 18px;
  color: #244c2d;
  margin-bottom: 10px;
}
.project-empty-notes p {
  font-size: 14px;
  margin: 0;
}
.project-related-grid,
.project-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.project-related .card-copy h3,
.project-related .card-copy p {
  min-height: 0;
}
.project-related {
  padding-top: 0;
}
.project-editorial {
  padding-top: 0;
  max-width: 980px;
}
.project-editorial h2 {
  font-size: clamp(28px, 3vw, 40px);
}
.project-editorial p {
  font-size: 16px;
  line-height: 1.9;
}
.project-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.project-comparison-grid > .project-comparison:first-child {
  grid-column: 1/-1;
}
.project-comparison-frame {
  width: 100%;
  background: #edf2e8;
}
.project-comparison-frame > img {
  object-fit: contain;
}
.project-comparison .comparison-copy h3 {
  font-size: clamp(22px, 2.1vw, 30px);
  margin: 0 0 12px;
}
.project-comparison .text-link {
  background: transparent;
  border: 0;
  padding: 0;
  font-size: 15px;
}
.project-comparison .comparison-handle {
  width: 54px;
  height: 54px;
}
.project-gallery-list {
  margin-top: 58px;
}
.project-gallery-list:first-child {
  margin-top: 0;
}
.project-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.project-filters button {
  padding: 12px 18px;
  border: 1px solid #dce6d7;
  border-radius: 10px;
  background: #fff;
  color: #244c2d;
  font-size: 14px;
  font-weight: 700;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.project-filters button[aria-pressed="true"] {
  background: #244c2d;
  color: #fff;
  border-color: #244c2d;
}
.project-filters button:hover {
  border-color: #508a35;
}
.project-count {
  font-size: 13px;
  margin-bottom: 20px;
}
.project-card {
  border: 1px solid #dce6d7;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px #244c2d06;
}
.project-card-photo {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: #edf2e8;
  aspect-ratio: 4/3;
}
.project-card-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.project-card-photo:hover > img {
  transform: scale(1.025);
}
.project-photo-open {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: #244c2d;
  font-size: 22px;
}
.project-card-copy {
  padding: 24px;
}
.project-category {
  display: block;
  font-size: 12px;
  color: #52724a;
  font-weight: 700;
  margin-bottom: 12px;
}
.project-card h3 {
  font-size: 23px;
  color: #244c2d;
  margin-bottom: 18px;
}
.project-card summary {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  color: #244c2d;
  font-weight: 700;
  font-size: 14px;
  list-style: none;
}
.project-card summary::-webkit-details-marker {
  display: none;
}
.project-card details[open] summary > span {
  transform: rotate(45deg);
}
.project-card dl {
  font-size: 14px;
  margin: 20px 0;
}
.project-card dt {
  font-weight: 700;
  color: #244c2d;
  margin-top: 14px;
}
.project-card dd {
  margin: 5px 0;
  color: #63715e;
}
html.project-lightbox-open {
  overflow: hidden;
  scrollbar-gutter: stable;
}
.project-lightbox {
  width: min(1200px, 94vw);
  max-width: 94vw;
  max-height: 94svh;
  margin: auto;
  padding: 22px;
  border: 1px solid #dce6d7;
  border-radius: 20px;
  background: #fff;
  color: #244c2d;
  overflow: auto;
}
.project-lightbox::backdrop {
  background: #071b0fe8;
  backdrop-filter: blur(5px);
}
.project-lightbox-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}
.project-lightbox-top h2 {
  font-size: clamp(18px, 2vw, 25px);
  margin: 0;
}
.project-lightbox button {
  display: grid;
  place-items: center;
  min-width: 46px;
  min-height: 46px;
  border: 1px solid #dce6d7;
  border-radius: 10px;
  background: #f3f7ee;
  color: #244c2d;
  font-size: 24px;
}
.project-lightbox-stage {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  gap: 14px;
  align-items: center;
}
.project-lightbox-stage img {
  height: min(64svh, 700px);
  width: 100%;
  object-fit: contain;
  background: #f5f7f2;
  border-radius: 10px;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-drag: none;
}
.project-lightbox-stage button[hidden] {
  display: block !important;
  visibility: hidden;
  pointer-events: none;
}
.project-lightbox-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  align-items: center;
  margin-top: 16px;
  font-size: 14px;
}
.project-lightbox-bottom p {
  margin: 0;
}
.project-lightbox-bottom > [data-project-caption] {
  flex: 1;
  min-width: 160px;
}
.project-lightbox-bottom a {
  font-weight: 700;
  text-decoration: underline;
}
@media (max-width: 1100px) {
  .project-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .project-page-hero {
    padding-top: 36px;
    padding-bottom: 32px;
  }
  .project-page-hero > p {
    font-size: 15px;
  }
  .project-page-hero .actions {
    flex-direction: column;
  }
  .project-empty {
    padding: 32px 22px;
  }
  .project-empty-notes,
  .project-related-grid,
  .project-card-grid,
  .project-comparison-grid {
    grid-template-columns: 1fr;
  }
  .project-empty-notes {
    margin-top: 30px;
    gap: 22px;
  }
  .project-gallery-section {
    padding-top: 12px;
  }
  .project-card-copy {
    padding: 20px;
  }
  .project-filters {
    gap: 8px;
  }
  .project-filters button {
    font-size: 13px;
    padding: 10px 13px;
  }
  .project-lightbox {
    padding: 14px;
    width: 96vw;
    max-width: 96vw;
  }
  .project-lightbox-stage {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .project-lightbox-stage img {
    grid-column: 1/-1;
    grid-row: 1;
    height: 58svh;
  }
  .project-lightbox-stage [data-project-next] {
    justify-self: end;
  }
  .project-lightbox-stage [data-project-prev] {
    justify-self: start;
  }
  .project-lightbox-bottom {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .project-card-photo > img,
  .project-filters button {
    transition: none;
  }
}
/* Photo-only inspiration gallery, with uncropped images in natural proportions. */
.inspiration-photo-gallery {
  padding-top: 64px;
}
.inspiration-photo-gallery .project-filters {
  margin-bottom: 30px;
}
.inspiration-photo-grid {
  columns: 3;
  column-gap: 22px;
}
.inspiration-photo {
  break-inside: avoid;
  margin: 0 0 22px;
}
.inspiration-photo > button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  border-radius: 14px;
  overflow: hidden;
  cursor: zoom-in;
}
.inspiration-photo img {
  width: 100%;
  height: auto;
  display: block;
  transition: filter 0.25s;
}
.inspiration-photo button:hover img {
  filter: brightness(1.04);
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.photo-only-lightbox #project-lightbox-title,
.photo-only-lightbox [data-project-caption] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.photo-only-lightbox .project-lightbox-top {
  justify-content: flex-end;
}
.photo-only-lightbox .project-lightbox-bottom {
  justify-content: space-between;
}
@media (max-width: 1000px) {
  .inspiration-photo-grid {
    columns: 2;
  }
}
@media (max-width: 600px) {
  .inspiration-photo-gallery {
    padding-top: 38px;
  }
  .inspiration-photo-grid {
    columns: 1;
  }
  .inspiration-photo-grid,
  .inspiration-photo {
    column-gap: 16px;
    margin-bottom: 16px;
  }
}

.inspiration-photo-pair {
  column-span: all;
}
.inspiration-comparisons {
  margin-bottom: clamp(48px, 7vw, 100px);
}
.comparison-diptych > img {
  object-fit: cover;
  object-position: right center;
}
.comparison-diptych > img.comparison-before {
  object-position: left center;
}
.inspiration-gallery-controls {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.inspiration-gallery-controls .project-filters {
  margin-bottom: 0;
}
.inspiration-gallery-controls label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.inspiration-gallery-controls select {
  font: inherit;
  color: inherit;
  padding: 10px;
  border: 1px solid #dce6d7;
  border-radius: 8px;
  background: white;
}
.inspiration-comparisons .comparison-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.inspiration-comparisons .comparison-frame > img {
  object-fit: cover;
}
.comparison-panel {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.comparison-panel > img {
  position: absolute;
  right: 0;
  width: 202%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.comparison-panel.comparison-before > img {
  right: auto;
  left: 0;
}
@media (max-width: 950px) {
  .inspiration-comparisons .comparison-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .inspiration-comparisons .comparison-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.privacy-banner {
  position: fixed;
  z-index: 1000;
  inset: auto auto 24px 24px;
  width: min(440px, calc(100% - 48px));
  padding: 22px;
  background: #fff;
  color: #203d2a;
  border: 1px solid #d4e4ce;
  border-radius: 18px;
  box-shadow: 0 12px 48px #17381f30;
}
.privacy-banner h2 {
  font-size: 1.2rem;
  margin: 0 0 8px;
}
.privacy-banner p {
  font-size: 0.9rem;
  margin: 0 0 16px;
}
.privacy-banner a {
  text-decoration: underline;
}
.privacy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.privacy-actions button,
.map-privacy-button {
  padding: 9px 14px;
  min-height: 44px;
  font: inherit;
  font-weight: 700;
  background: #edf5e9;
  color: #20462c;
  border: 1px solid #c7dbc0;
  border-radius: 8px;
  cursor: pointer;
}
.privacy-actions button:hover,
.map-privacy-button:hover {
  background: #dbeed4;
}
.privacy-actions button:focus-visible,
.map-privacy-button:focus-visible,
.footer-privacy:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.footer-privacy {
  border: 0;
  padding: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}
.map-loading .map-privacy-button {
  margin-block-start: 8px;
}
@media (max-width: 760px) {
  .privacy-banner {
    inset: auto 12px calc(82px + env(safe-area-inset-bottom)) 12px;
    width: auto;
    max-height: 60dvh;
    overflow: auto;
    padding: 16px;
  }
}

.map-loading:has(.map-privacy-button) {
  flex-direction: column;
}
