/* Targeted production additions; original design lives unchanged in original.css. */
.language-picker{position:relative;font-size:11px;flex:none}.language-picker summary{cursor:pointer;padding:12px 4px;list-style:none}.language-picker nav{position:absolute;inset-inline-end:0;top:100%;background:#f9faf3;border:1px solid var(--line);padding:8px;min-width:125px;border-radius:4px;box-shadow:0 10px 35px #10251c22;z-index:90}.language-picker a{display:block;padding:10px 12px}.language-picker a[aria-current]{background:#e4e8dd}.footer-notes{flex-wrap:wrap}.footer-notes a[aria-current]{text-decoration:underline}.floating-help:before{content:attr(data-tooltip)}.contact-email{margin-top:20px!important;overflow-wrap:anywhere}.contact-email a,.legal-page-content a{text-decoration:underline;text-underline-offset:4px}.service-page .section-intro{padding-top:190px}.section-intro h1{font-size:clamp(41px,4.1vw,65px);line-height:1.1;margin:0}.legal-page-content{padding-top:185px;padding-bottom:85px;max-width:980px}.legal-page-content h1{font-size:clamp(36px,4.1vw,65px);line-height:1.12;margin:0 0 45px}.legal-page-content h2{font-size:25px;margin:35px 0 15px}.legal-page-content p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.field-error{display:block;margin-top:8px;color:#9b2727;font-size:12px}.field-error[hidden]{display:none}[aria-invalid=true]{border-color:#9b2727!important}.no-js-services{position:relative;z-index:81;margin:0}.js .no-js-services{display:none}.wizard-option{text-align:start}.contact-phone{direction:ltr;unicode-bidi:isolate}.brand{flex-shrink:0}.brand span{font-size:8px}.photo-title,.photo-type{max-width:calc(100% - 50px)}
[dir=rtl] .eyebrow{letter-spacing:0}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .statement{letter-spacing:0}[dir=rtl] .photo-title small,[dir=rtl] .footer-meta,[dir=rtl] .contact-bottom p{text-align:start}[dir=rtl] .hero h1{max-width:100%}[dir=rtl] .hero-card{right:auto;left:0}[dir=rtl] .hero-desc{align-self:flex-start}[dir=rtl] .quicknav .arrow{margin-left:0;margin-right:auto}[dir=rtl] .hero:before{background:linear-gradient(270deg,rgba(9,24,16,.83) 0%,rgba(12,29,19,.6) 43%,rgba(15,29,17,.1) 76%),linear-gradient(0deg,#0d211be6,transparent 50%)}
@media(max-width:1300px) and (min-width:741px){.navlinks{gap:20px}.nav-shell{gap:18px}.nav-right{gap:12px}.nav-phone{display:none}.nav-right .btn{padding-inline:12px;gap:12px}.brand{min-width:220px}}
@media(max-width:1100px) and (min-width:741px){.nav-right .btn{display:none}}
@media(max-width:740px){.service-page .section-intro{padding-top:135px}.section-intro h1{font-size:38px}.legal-page-content{padding-top:135px;padding-bottom:60px}.nav-right{gap:7px}.brand span{font-size:7px;letter-spacing:.055em}.language-picker summary{font-size:10px;padding:12px 3px}.footer-notes{gap:16px}.photo-title span{overflow-wrap:anywhere}.photo-title small{min-width:45px}.hero h1{overflow-wrap:normal}.legal-page-content h1{overflow-wrap:anywhere}.hero .eyebrow{max-width:100%}.wizard-final-actions .btn{max-width:100%}.request-preview{overflow-wrap:anywhere}[dir=rtl] .hero:before{background:linear-gradient(270deg,#0e211ae3,#10241c70),linear-gradient(0deg,#0f251be0,transparent 65%)}}
@media(max-width:360px){.nav-shell{padding-inline:10px;gap:5px}.brand{gap:7px}.brand img{width:36px}.brand strong{font-size:11px}.brand span{font-size:6px}.nav-right{gap:3px}.menu-toggle{padding:7px}.hero h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){.hero-bg,.hero-content,.care-photo{transform:none!important;translate:none!important;scale:1!important}.service-photo:before{transform:none!important}.reveal{opacity:1!important;transform:none!important}}
.hero-bottom .photo-credit{margin-inline-end:64px}
@media(max-width:740px){.hero-bottom .photo-credit{margin-inline-end:0;position:absolute;inset-inline-end:0;bottom:62px;max-width:160px}}
[dir=rtl] .floating-help{right:auto;left:24px}[dir=rtl] .floating-help:before{right:auto;left:68px}.legal-page .floating-help{display:none}
@media(max-width:740px){[dir=rtl] .floating-help{left:17px}}

/* Revised motion and quieter, more architectural panel treatment. */
.care-band{height:auto;min-height:430px;padding-block:70px}.care-band .wrap{height:auto;min-height:290px}.care-band .round-cta{flex-shrink:0;background:#173329e6}.care-band .round-cta:hover{background:#bdd591;color:#172c24}.care-copy{max-width:620px;font-size:15px;line-height:1.8;color:#e7eddf;margin-top:25px}.region-number .region-city{font-size:clamp(28px,3.4vw,48px);letter-spacing:-.045em}.region-center p{max-width:250px;margin-inline:auto;line-height:1.7}.detail-copy section:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:740px){.care-band{min-height:0;padding-block:55px}.care-band .wrap{min-height:0}.care-copy{font-size:13px;line-height:1.75;margin-bottom:0}.region-number .region-city{font-size:34px}.region-center p{max-width:190px}}
.brand img,.footer .brand img{background:transparent;padding:0;mix-blend-mode:normal;border-radius:0}
.nav-shell{border-radius:3px;box-shadow:0 8px 24px #08160d0d}
.hero-bg{animation:heroPan 18s ease-in-out infinite alternate}
@keyframes heroPan{from{scale:1.045;translate:-.7% .2%}to{scale:1.13;translate:1.1% -.9%}}
.hero-card{border:0;border-inline-start:1px solid #c2d79e;border-radius:0;background:linear-gradient(90deg,#10251ce6,#10251c60);backdrop-filter:none;box-shadow:none;animation:heroNote 7s ease-in-out infinite;transform-origin:center}
.hero-card a{border-color:#ffffff40}.hero-card strong{font-family:LocalRubik,Arial,sans-serif;font-size:22px}
@keyframes heroNote{0%,100%{translate:0 0}50%{translate:0 -18px}}
.service-stack{perspective:none;isolation:isolate}
.service-card{position:relative!important;top:auto!important;border:0;border-radius:1px;box-shadow:none;grid-template-columns:1.08fr .92fr;transform-origin:50% 0}
.service-card:nth-child(2){grid-template-columns:.92fr 1.08fr}
.service-stack.stack-enabled .service-card{position:sticky!important;top:var(--stack-top)!important;box-shadow:0 -1px 0 #f3f2ec66}
.service-stack.stack-enabled .service-card:last-child{margin-bottom:34px}
.service-photo:before{transition:scale .8s var(--ease)}
.photo-type{border:0;border-bottom:1px solid #ffffff8c;border-radius:0;background:none;backdrop-filter:none;padding:0 0 9px}
.service-list li{gap:10px}.service-list li:before{content:'—';font-size:11px}
.home-services .service-card,.home-services .service-photo{min-height:480px}
.home-services .service-text{padding-block:48px;justify-content:center}
.home-services .service-text .text-link{margin-top:22px}
.home-services .service-text h3{max-width:420px}
.home-services .service-text>p:not(.eyebrow){margin-bottom:0}
.dialog{border-radius:4px}.wizard-option{border:0;border-bottom:1px solid #c5d1b9;border-radius:0;background:transparent;padding:16px 10px}.wizard-option.selected{border-color:#7b9552;background:#e7eddd;box-shadow:inset 3px 0 #7b9552}
[dir=rtl] .hero-card{background:linear-gradient(270deg,#10251ce6,#10251c60)}
[dir=rtl] .wizard-option.selected{box-shadow:inset -3px 0 #7b9552}
@media(max-width:960px) and (min-width:741px){.home-services .service-card,.home-services .service-photo{min-height:440px}.home-services .service-text{padding:32px 28px}.home-services .photo-title span{font-size:36px}}
@media(max-width:740px){
 .service-card,.service-card:nth-child(2){grid-template-columns:1fr}
 .home-services .service-card{min-height:0;margin-bottom:28px}
 .home-services .service-photo{min-height:clamp(210px,29svh,290px)}
 .home-services .service-text{padding:26px}
 .home-services .service-text h3{font-size:28px;line-height:1.15;margin-bottom:16px}
 .home-services .service-text .eyebrow{margin-bottom:14px}
 .home-services .service-text .text-link{margin-top:18px}
 .home-services .photo-title span{font-size:34px!important}
 .hero-bg{animation-duration:16s}
}
@media(prefers-reduced-motion:reduce){
 .hero-bg,.hero-card{animation:none!important;translate:none!important;transform:none!important;scale:1!important}
 .service-stack.stack-enabled .service-card{position:relative!important;top:auto!important;transform:none!important;filter:none!important}
}

/* Individual service pages retain the original type, colours and photography. */
.services-menu{position:relative;flex:none}
.services-menu>summary{display:flex;align-items:center;gap:9px;padding:12px 0;list-style:none;cursor:pointer;white-space:nowrap}
.services-menu>summary::-webkit-details-marker{display:none}
.submenu-chevron{display:block;width:6px;height:6px;border-inline-end:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .2s}
.services-menu[open] .submenu-chevron{transform:rotate(225deg);margin-top:3px}
.services-menu>summary.active{text-decoration:underline;text-underline-offset:10px}
.services-submenu{position:absolute;top:calc(100% + 12px);inset-inline-start:-20px;width:280px;padding:10px 0;background:#f9faf3;border:1px solid #d3d8cc;box-shadow:0 16px 35px #10251c1f;z-index:95}
.navlinks .services-submenu a{display:block;white-space:normal;padding:13px 20px;font-size:13px;line-height:1.45}
.navlinks .services-submenu a:after{display:none}
.navlinks .services-submenu a:first-child{border-bottom:1px solid #d3d8cc;margin-bottom:5px}
.navlinks .services-submenu a:hover,.navlinks .services-submenu a[aria-current]{background:#e4e8dd}
.hero{height:auto;min-height:0;max-height:none}
.hero-content{height:auto;min-height:clamp(760px,100svh,1050px)}
.hero-rotation{display:flex;align-items:center;gap:22px;width:min(470px,100%);margin-top:25px;position:relative}
.hero-service-list{display:grid;flex:1;min-width:0}
.hero-service-list a{grid-area:1/1;font-family:LocalRubik,Arial,sans-serif;font-size:25px;line-height:1.4;letter-spacing:-.025em;color:#c2d79e;opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .3s,transform .3s,visibility .3s;overflow-wrap:anywhere;width:fit-content;max-width:100%;text-underline-offset:6px}
.hero-service-list a.is-current{opacity:1;visibility:visible;transform:none}
.hero-service-list a.is-leaving{transform:translateY(-9px)}
.hero-service-list a:hover{text-decoration:underline}
.rotation-toggle{display:none;border:0;border-bottom:1px solid #ffffff50;background:none;padding:7px 0;color:#d7e2cd;font-size:10px;line-height:1.5;flex:none;min-width:48px}
.js .rotation-toggle{display:block}
@media(max-width:740px){.services-menu>summary{font-size:14px;padding:15px 0}.services-submenu{position:static;width:100%;box-shadow:none;border:0;border-inline-start:1px solid #bdccb0;margin:0 0 10px;padding:0 0 0 8px}.navlinks .services-submenu a{font-size:12px;padding:12px 14px}.navlinks.open{max-height:calc(100svh - 115px);overflow:auto}.hero-content{min-height:clamp(790px,100svh,1050px);padding-bottom:155px}.hero-rotation{margin-top:22px;gap:15px}.hero-service-list a{font-size:21px}.rotation-toggle{font-size:9px;min-width:45px}}
@media(prefers-reduced-motion:reduce){.hero-service-list a{transition:none;transform:none}.js .rotation-toggle{display:none}}
.quicknav a{gap:0;padding:26px 30px;min-height:88px}
.quicknav strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.quicknav small{font-size:10px;line-height:1.5}
.quicknav a:hover strong,.quicknav a:focus-visible strong,.service-directory a:hover,.service-directory a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.scroll-cue{width:fit-content;min-height:44px;padding-block:10px;border-bottom:1px solid #ffffff5c;transition:border-color .2s}
.scroll-cue:hover{border-color:var(--lime)}
@media(max-width:740px){.quicknav a{padding:20px 14px;min-height:88px}.quicknav strong{font-size:12px}.quicknav small{font-size:9px}}
a[href^="tel:"]{direction:ltr;unicode-bidi:isolate}
.footer-services{display:flex;flex-wrap:wrap;gap:14px 30px;padding:24px 0;border-bottom:1px solid #ffffff20;font-size:11px}
.footer-services a:hover{text-decoration:underline;text-underline-offset:5px}
.service-directory{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #b6c2aa;margin-bottom:36px}
.service-directory a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 20px;font-size:13px;border-inline-end:1px solid #b6c2aa;min-width:0;overflow-wrap:anywhere}
.service-directory a:last-child{border-inline-end:0}.service-directory a:hover,.service-directory a[aria-current]{background:#e3e9d8}
.service-directory span{font-size:20px}.detail-link{margin-top:24px!important}
.detail-header{padding-top:155px;padding-bottom:65px;max-width:1320px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#56674a;margin-bottom:50px;line-height:1.8}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.detail-header .eyebrow{color:#6e825b}
.detail-header h1{font-size:clamp(42px,5.4vw,78px);max-width:1080px;line-height:1.08;margin:0 0 28px;overflow-wrap:anywhere}
.detail-lead{max-width:760px;font-size:16px;line-height:1.85;color:#52634b;margin:0 0 30px}
.detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px}.detail-actions .text-link{overflow-wrap:anywhere;max-width:100%}
.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;background:#e3e9d8}
.detail-figure{margin:0;position:relative;min-width:0}.detail-figure picture{display:block;height:100%}.detail-figure img{width:100%;height:100%;min-height:490px;object-fit:cover;aspect-ratio:1.2}
.detail-figure figcaption{position:absolute;bottom:15px;inset-inline:20px;width:fit-content;max-width:calc(100% - 40px);padding:6px 8px;background:#10251cbb;color:white;font-size:9px;line-height:1.5}
.detail-scope{padding:50px 40px}.detail-scope h2{font-size:36px;line-height:1.1;margin:0 0 26px}.detail-scope .service-list li{font-size:14px;line-height:1.6;padding:14px 0}
.detail-copy{display:grid;grid-template-columns:1fr 1fr;gap:44px 85px;padding-block:80px;max-width:1200px}.detail-copy section{border-top:1px solid #aebda2;padding-top:28px;min-width:0}
.detail-copy h2{font-size:30px;line-height:1.2;margin:0 0 22px}.detail-copy p{font-size:15px;line-height:1.85;color:#52634b;margin:0}
.detail-contact{background:#1d352b;color:#f5f7ed;padding-block:60px}.detail-contact h2{font-size:clamp(34px,4vw,55px);margin:0 0 20px}.detail-contact p{font-size:13px;color:#c1cfb8;line-height:1.8;margin:0 0 30px}
.related-services{padding-block:60px}.related-services h2{font-size:30px;margin:0 0 28px}.related-services .service-directory{margin:0}
@media(max-width:960px){.service-directory{grid-template-columns:1fr 1fr}.service-directory a:nth-child(2){border-inline-end:0}.service-directory a:nth-child(-n+2){border-bottom:1px solid #b6c2aa}.detail-grid{grid-template-columns:1fr 1fr}.detail-scope{padding:32px 28px}.detail-scope h2{font-size:30px}.detail-copy{column-gap:40px}.detail-figure img{min-height:440px}}
@media(max-width:740px){.detail-header{padding-top:116px;padding-bottom:40px}.breadcrumbs{margin-bottom:30px;font-size:10px;gap:9px}.detail-header h1{font-size:40px;line-height:1.12}.detail-lead{font-size:14px}.detail-header .eyebrow{font-size:9px}.detail-grid{grid-template-columns:1fr}.detail-figure img{height:290px;min-height:0;aspect-ratio:auto}.detail-scope{padding:30px 25px}.detail-scope .service-list li{font-size:13px}.detail-copy{grid-template-columns:1fr;padding-block:45px;gap:32px}.detail-copy h2{font-size:28px}.detail-copy p{font-size:14px}.detail-contact{padding-block:42px}.detail-actions{gap:22px}.detail-actions .text-link{font-size:11px}.related-services{padding-block:40px}.service-directory a{font-size:12px;padding:18px 12px}.footer-services{gap:15px 22px;font-size:11px}}

/* Editorial typography and local region map. */
.hero .subline{display:block;font-family:Arial,sans-serif;font-size:15px;line-height:1.5;letter-spacing:.015em;color:#e3eada;margin:0 0 18px}.hero h1{font-size:clamp(48px,5.6vw,88px);max-width:1050px}.hero-desc{max-width:620px}.hero-content{padding-top:185px}.home-services .service-text h3{font-size:clamp(29px,3.1vw,46px);line-height:1.13}.care-band h2{font-size:clamp(38px,4.1vw,60px)}
.service-area-map{width:100%;margin:0;min-width:0;color:#f1f2e9}.region-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:50px}.map-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:640/600;border:1px solid #476050;background:#152e25;overflow:hidden}.area-map{display:block;width:100%;height:100%;direction:ltr}.map-land{fill:#152e25}.map-boundary{stroke:#71896c;stroke-width:1.1;stroke-linejoin:round;fill:#243f31}.map-wiesbaden{fill:#35533a;stroke:#91aa7a}.map-river{fill:none;stroke:#91b8ac;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.map-marker-ring{fill:#c1d89722;stroke:#c1d897;stroke-width:1.3}.map-marker{fill:#d3e7ac}.map-label{position:absolute;left:var(--map-x);top:var(--map-y);font-family:LocalRubik,Arial,sans-serif;font-size:15px;line-height:1.25;transform:translate(-50%,-50%);text-align:center;color:#f3f3e9;text-shadow:0 1px 4px #0a211b;pointer-events:none}.map-city{font-size:20px;font-weight:500;white-space:nowrap;transform:translate(-50%,-130%);padding-bottom:10px}.map-city small{display:block;font:11px/1.5 Arial,sans-serif;font-weight:400;color:#d2dfa9;margin-top:4px}.map-city-wiesbaden{transform:translate(-28%,-130%)}.map-city-geisenheim{transform:translate(-50%,14%);padding-bottom:0}.map-district-label{max-width:190px;width:36%;font-size:18px;line-height:1.5;letter-spacing:.025em}.map-rheingau-label{font-size:20px;color:#c5daab;letter-spacing:.04em}.map-river-label{font-style:italic;font-size:14px;color:#b4d0c7}.service-area-map figcaption{font-size:12px;line-height:1.7;margin-top:17px;color:#d2ddca}.service-area-map figcaption p{margin:0 0 9px;font-size:12px!important;line-height:1.7!important}.service-area-map figcaption small{font-size:11px;color:#b8c8ae}.service-area-map figcaption a{text-decoration:underline;text-underline-offset:3px}.motion .service-area-map.reveal{transition-duration:.45s;transform:translateY(12px)}.motion .service-area-map.reveal.seen{transform:none}
@media(max-width:1000px) and (min-width:741px){.region-grid{gap:25px}.map-city{font-size:17px}.map-city small{font-size:10px;line-height:1.3;margin-top:2px}.map-district-label{font-size:15px}.map-rheingau-label{font-size:17px}}
@media(max-width:740px){.hero h1{font-size:clamp(28px,7.7vw,44px);line-height:1.13;letter-spacing:-.045em}.hero .subline{font-size:12px;margin-bottom:20px}.hero-content{padding-top:155px}.hero-desc{font-size:13px;line-height:1.8;max-width:100%}.home-services .service-text h3{font-size:29px}.region-grid{grid-template-columns:1fr;gap:35px}.service-area-map{max-width:570px;margin-inline:auto}.map-city{font-size:16px}.map-city small{font-size:10px;line-height:1.3;margin-top:2px}.map-city-wiesbaden{transform:translate(-45%,18%);padding-bottom:0}.map-district-label{font-size:14px;width:43%;line-height:1.4}.map-rheingau-label{font-size:17px}.map-river-label{font-size:12px}.care-band h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.service-area-map.reveal{opacity:1!important;transform:none!important;transition:none!important}}
/* Keep longer service and FAQ headings inside their existing grid columns. */
.service-text,.faq-intro,.detail-scope{min-width:0}.service-text h3,.faq-intro h2,.detail-scope h2{overflow-wrap:anywhere;hyphens:auto}
.contact h2{min-width:0;overflow-wrap:anywhere;hyphens:auto}
