/* Shared, non-interactive water canvas across all Visual Unlimited routes. */
.vu-water-canvas{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;pointer-events:none!important;z-index:2147483000!important;display:block;background:transparent!important;contain:strict}
.vu-water-toggle{position:fixed!important;right:14px!important;bottom:12px!important;z-index:2147483001!important;appearance:none;border:1px solid #777!important;border-radius:0!important;background:#323232e8!important;color:#eee!important;padding:7px 11px!important;font:12px/1.5 Muli,Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;box-shadow:none!important;margin:0!important;min-height:34px}
.vu-water-toggle:focus-visible{outline:3px solid #f39200!important;outline-offset:3px}
.vu-water-canvas[hidden],.vu-water-toggle[hidden]{display:none!important}
/* Remove decorative frames from every native gallery playback control. */
body .vu-carousel-tools button,body .vu-slider-controls button,body .vu-slider-pause{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
body .vu-carousel-tools button::before,body .vu-carousel-tools button::after,body .vu-slider-controls button::before,body .vu-slider-controls button::after,body .vu-slider-pause::before,body .vu-slider-pause::after{border:0!important;box-shadow:none!important}
/* Keep the keyboard focus visible only during keyboard navigation. */
body .vu-carousel-tools button:focus-visible,body .vu-slider-controls button:focus-visible,body .vu-slider-pause:focus-visible{outline:2px solid #f39200!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.vu-water-canvas,.vu-water-toggle{display:none!important}}
@media print{.vu-water-canvas,.vu-water-toggle{display:none!important}}
/* Flat VU buttons. SHK keeps its approved presentation styles. */
:root{--vu-surface-orange:#ffcf88}
html body.vu-rebuild :is(button,a.button,a.dfd-button-link,a.vd-button,a.nav-action):not(.expertise-toggle):not(.vu-slider-pause):not(.vu-carousel-tools button):not(.vu-slider-controls button){
 --button-fill:#f7931e;--button-text:#323232;--button-padding:13px 24px;
 box-sizing:border-box!important;max-width:100%;height:auto!important;min-height:44px;
 padding:var(--button-padding)!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.45!important;
 color:var(--button-text)!important;text-shadow:none!important;
 background:var(--button-fill)!important;
 border:0!important;border-radius:3px!important;
 box-shadow:none!important;filter:none!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 transition:none!important;animation:none!important;transform:none!important;
}
html body.vu-rebuild :is(.vd-contact .vd-button,.vu-water-toggle,.vu-header button,.vu-search button,.vu-consent button,.vu-lightbox button){--button-fill:#323232!important;--button-text:#fff!important}

html body.vu-rebuild .vd-goal-buttons button{margin-bottom:12px;text-align:left}
html body.vu-rebuild .vd-goal-buttons button[aria-pressed=true]{--button-fill:#323232!important;--button-text:#fff!important;outline:1px solid #f7931e;outline-offset:0}
html body.vu-rebuild :is(.menu-toggle,.search-toggle,.vu-lightbox button){min-width:44px;--button-padding:10px 12px!important}
html body.vu-rebuild .vu-header .nav-dropdown>button{--button-padding:11px 18px!important}
html body.vu-rebuild .vu-water-toggle{--button-padding:9px 16px!important;min-height:38px;font-size:12px!important}
html body.vu-rebuild .vd-button{gap:20px;align-items:center}
html body.vu-rebuild .vd-button span{min-width:0}
html body.vu-rebuild .vd-button svg{flex-shrink:0}
/* Preserve the intentionally frameless playback icons. */
html body :is(.vu-carousel-tools button,.vu-slider-controls button,.vu-slider-pause){border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
/* Allow long SHK action labels to wrap without changing their presentation look. */
body:not(.vu-rebuild) :is(.primary,.secondary,.consultation-button,.reference-action button,.guide-action button,a.button){box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere;height:auto;min-height:44px}
@media(prefers-reduced-motion:reduce){html body button,html body a.vd-button{transition:none!important}}

html body.vu-rebuild .menu-toggle span{background:#fff!important}
/* Keep arrow glyphs inside their frameless hit areas. */
html body :is(.vu-carousel-tools button,.vu-slider-controls button,.vu-slider-pause){min-width:40px;min-height:40px;line-height:1!important}

/* Text-only services menu; current section follows the page being viewed. */
html body.vu-rebuild .vu-header #navigation .expertise-toggle{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;filter:none!important;padding:0!important;color:#28262b!important;min-height:44px}
html body.vu-rebuild .vu-header #navigation .expertise-toggle::before,html body.vu-rebuild .vu-header #navigation .expertise-toggle::after{display:none!important}
html body.vu-rebuild .vu-header #navigation a[aria-current="page"],html body.vu-rebuild .vu-header #navigation .is-current-section{color:#f39200!important}


html body.vu-rebuild #footer h6.dfd-title{color:#fff!important}
/* Compact legal links in the VU footer. */
html body.vu-rebuild #footer .widget-sidebar-menu li{margin:0!important;padding:0!important;min-height:0!important;line-height:1.5!important}
html body.vu-rebuild #footer .widget-sidebar-menu li a{display:block;padding:3px 0!important;margin:0!important;min-height:0!important;height:auto!important;line-height:1.5!important}
/* Remove legacy decorative markers that overlap the compact legal links. */
html body.vu-rebuild #footer .widget-sidebar-menu li::before,
html body.vu-rebuild #footer .widget-sidebar-menu li::after,
html body.vu-rebuild #footer .widget-sidebar-menu a::before,
html body.vu-rebuild #footer .widget-sidebar-menu a::after{content:none!important;display:none!important}
html body.vu-rebuild #footer .widget-sidebar-menu{list-style:none!important;padding-left:0!important}
html body.vu-rebuild #footer .widget-sidebar-menu li{list-style:none!important}

/* Consistent slim action triangle, aligned with the text and inheriting its color. */
html body.vu-rebuild .vu-action-triangle{display:inline-block!important;flex:0 0 auto!important;width:0!important;height:0!important;padding:0!important;margin:0 0 0 10px!important;border:0!important;border-top:5px solid transparent!important;border-bottom:5px solid transparent!important;border-left:7px solid currentColor!important;vertical-align:middle!important;align-self:center;transform:none!important;background:none!important;line-height:0!important}

/* Quiet utility control, on VU and SHK alike; animated independently of mouse effects. */
html body #vu-pastel-toggle.vu-water-toggle{
 --button-fill:var(--vu-toggle-pastel,#c6e1e3)!important;--button-text:#323b3e!important;
 background:var(--vu-toggle-pastel,#c6e1e3)!important;color:#323b3e!important;
 border:1px solid rgba(50,59,62,.2)!important;font-weight:600!important;
 transition:background-color 900ms ease,border-color 900ms ease!important;
}
@media(prefers-reduced-motion:reduce){html body #vu-pastel-toggle.vu-water-toggle{transition:none!important}}

.vu-seo-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Quiet availability note below direct phone contacts; the number stays primary. */
html body.vu-rebuild .vu-phone-hours{max-width:42rem;margin:7px 0 14px!important;color:#5e6968!important;font:400 13px/1.55 Muli,Arial,sans-serif!important;letter-spacing:0!important}
html body.vu-rebuild .vu-phone-hours strong{font-weight:700!important;color:#394443!important}
html body.vu-rebuild .vu-phone-hours span{font-size:12px;color:#6b7574!important}
@media(max-width:700px){html body.vu-rebuild .vu-phone-hours{font-size:12px!important;line-height:1.55!important}html body.vu-rebuild .vu-phone-hours span{font-size:11px!important}}

/* Legal link in standalone SHK package footers. */
html body .site-footer{position:relative}
html body .site-footer .shk-impressum{position:absolute!important;right:7%!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;color:#35464e!important;font:400 11px/1.4 Arial,sans-serif!important;text-decoration:none!important;border:0!important;padding:0!important}
html body .site-footer .shk-impressum:hover{text-decoration:none!important;border:0!important;color:#35464e!important}
html body .site-footer .shk-impressum:focus-visible{outline:2px solid #168fc8;outline-offset:4px}
@media(max-width:700px){html body .site-footer .shk-impressum{top:auto!important;bottom:31px!important;transform:none!important}}

/* Keep the dynamically inserted cookie control on the footer baseline. */
html body .site-footer .vu-consent-settings{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#35464e!important;font:400 11px/1.4 Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;white-space:nowrap}
html body .site-footer .vu-consent-settings:hover{text-decoration:none!important}
html body .site-footer .vu-consent-settings:focus-visible{outline:2px solid #168fc8!important;outline-offset:4px!important}
@media(max-width:700px){html body .site-footer .vu-consent-settings{top:auto!important;bottom:31px!important;transform:translateX(-50%)!important}}

/* Mobile SHK contact spacing and footer flow, 2026-09-16. */
@media(max-width:560px){
 html body #vu-shk-hero-concept .consultation-person{min-height:0!important;height:auto!important}
}
@media(max-width:720px){
 html body .site-footer{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
 html body .site-footer>strong{display:block;max-width:100%;line-height:1.6}
 html body .site-footer .footer-mobile{display:block}
 html body .site-footer .footer-marketing{display:block;white-space:normal}
 html body .site-footer :is(.shk-impressum,.vu-consent-settings){position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;white-space:normal;max-width:100%;text-align:left;line-height:1.6!important}
}

/* Mobile text flow and undistorted SHK badges, 2026-09-16. */
html body .member-icon{flex:0 0 42px;width:42px;min-width:42px;height:42px;min-height:42px;aspect-ratio:1;border-radius:50%;box-sizing:border-box}
@media(max-width:720px){
 html body.vu-rebuild #sub-footer,html body.vu-rebuild #sub-footer .row,html body.vu-rebuild #sub-footer .subfooter-copyright{height:auto!important;min-height:0!important;max-height:none!important;line-height:1.6!important;overflow:visible!important;white-space:normal!important}
 html body.vu-rebuild #sub-footer .subfooter-copyright{float:none!important;padding-top:12px;padding-bottom:12px;overflow-wrap:break-word}
 html body.vu-rebuild #sub-footer .vu-consent-settings{display:block;margin:14px auto 0;line-height:1.6}
 html body .profile-visual{padding:10px!important}
 html body .profile-visual figcaption{position:static!important;margin:0;padding:12px 9px 4px;line-height:1.5;height:auto}
 html body .hero-visual:has(.hero-caption){min-height:0;padding-top:0;background-size:0 0;background-repeat:no-repeat;display:flex;flex-direction:column}
 html body .hero-visual:has(.hero-caption)::before{content:"";display:block;flex:none;height:365px;width:100%;background-image:inherit;background-position:center;background-size:cover}
 html body .hero-visual:has(.hero-caption)::after{display:none}
 html body .hero-visual .hero-caption{position:static;margin:0;background:#073b50;padding:20px 24px}
}
