/* Focused hierarchy, accessible controls, and a quieter reading flow. */
.service-direct-links{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #657c9166;font-size:14px;line-height:1.6}
.service-direct-links>span{color:#c4d0dc}.service-direct-links>a{color:#efcf93;padding:9px 0;text-underline-offset:5px}
.review-invite .text-action{font-size:14px;line-height:1.5;margin:10px 18px 10px 0}
.water-surface.water-fallback{background:none!important;overflow:hidden;pointer-events:none}
.water-fallback::before,.water-fallback::after{content:'';position:absolute;left:53%;top:67%;width:90px;height:90px;border-radius:50%;border:2px solid #c6ebff8a;box-shadow:0 0 0 8px #a7dfff15,0 0 0 14px #b1e5ff45,inset 0 0 16px #c9ecff44;animation:water-fallback-ring 4s ease-out infinite;transform:translate(-50%,-50%) scale(.2);opacity:0}
.water-fallback::after{left:72%;top:55%;animation-delay:1.8s}
@keyframes water-fallback-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}15%{opacity:.65}100%{opacity:0;transform:translate(-50%,-50%) scale(3.8)}}
.fx-off .water-fallback::before,.fx-off .water-fallback::after{animation:none}
/* Button geometry: text determines width; touch targets keep a 44px floor. */
:root body :is(.btn,.hero-contact a,.quick-contact a,.menu){width:fit-content!important;max-width:100%;min-width:0!important;min-height:44px!important;height:auto!important;padding:11px 18px!important;gap:9px;line-height:1.3!important;white-space:normal;text-align:center;flex:0 1 auto;box-sizing:border-box}
:root body .hero .hero-cta{font-size:17px!important;padding:13px 21px!important;min-height:48px!important;gap:13px}
:root body .premium-header .btn{font-size:12px!important;padding:10px 15px!important;white-space:nowrap}
:root body .hero-contact a{font-size:13px!important;padding:10px 13px!important;gap:7px}
:root body .hero-contact{gap:12px;flex-wrap:wrap}
:root body .btn svg,:root body .hero-contact svg{width:20px;height:20px;flex-shrink:0}
:root body .service-tab{padding:14px 16px!important;min-height:64px!important;gap:12px}
:root body [data-showroom]{min-height:48px!important;padding:11px 14px!important;line-height:1.3}
:root body .mobile-actions{justify-content:center;gap:9px}
:root body .mobile-actions a{flex:0 1 auto!important;width:auto!important;min-height:44px!important;padding:10px 16px!important;line-height:1.3}
:root body #request-form .btn{font-size:15px!important;padding:12px 17px!important}
@media(max-width:760px){:root body .hero .hero-cta{font-size:16px!important;padding:12px 18px!important}:root body .hero-contact{gap:10px}:root body .hero-contact a{font-size:12px!important;padding:10px 12px!important}:root body .service-tab{padding:12px!important;min-height:60px!important}:root body .mobile-actions a{font-size:12px!important;padding:10px 14px!important}}
#start .hero-copy{max-width:740px!important}
#start h1{font-size:clamp(44px,5.3vw,76px)!important;line-height:1.04!important;letter-spacing:-.025em!important;max-width:740px}
#start .hero-local{font-size:clamp(17px,1.6vw,22px)!important;line-height:1.55!important;max-width:620px}
.hero:after{pointer-events:none}
.cockpit-disclosure{margin:30px auto 60px;width:min(1240px,90%);border:1px solid #657c91;border-radius:20px;background:#0b2033;color:#fff;overflow:hidden}
.cockpit-disclosure>summary{padding:25px 30px;cursor:pointer;font-size:24px;font-weight:700}
.cockpit-disclosure>summary small{display:block;font-size:15px;font-weight:400;color:#c9d7e3;margin-top:8px}
.cockpit-disclosure .dashboard{width:100%;margin:0;border-radius:0}
.contact-extras{max-width:1240px;margin:auto;padding:0 5% 50px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-extras .section{width:auto;margin:0;padding:28px;border:1px solid #50677b;border-radius:18px;display:block}
.contact-extras>div{min-width:0;overflow-wrap:anywhere}.contact-extras #haendler h2,.contact-extras #kundenservice h2{font-size:26px!important}.contact-extras .text-action{display:inline-block;margin-top:14px}
.review-stage .review-locations{display:block;overflow:visible;min-height:0}
.review-stage .review-location{position:relative;width:100%;opacity:1;visibility:visible;transform:none;display:block}
.ksn-rating{display:grid;gap:8px;padding:20px;border:1px solid #b59a5c;border-radius:16px;color:#f0d69b;background:#10243b}
.ksn-rating strong{font-size:30px}.ksn-rating small{color:#d7e3ec}
.other-reviews{grid-column:1/-1;border-top:1px solid #577087;margin-top:20px;padding-top:20px}
.other-reviews>summary{cursor:pointer;color:#c9d7e3}.other-reviews>p{line-height:1.7;max-width:800px}
.other-reviews .review-location{margin-top:20px;max-width:760px}
.optional-water{position:absolute;right:24px;bottom:24px;z-index:5;border:1px solid #8eabbe;border-radius:8px;padding:10px 14px;background:#0a2038;color:white;cursor:pointer}
.legal-page{color:#e5edf4;background:#0b1d31;border:1px solid #486078;border-radius:20px;padding:32px;line-height:1.75}
.legal-page h1{font-size:clamp(36px,6vw,60px);line-height:1.15}.legal-page h2{font-size:24px;margin:28px 0 10px}.legal-page a{color:#f4d790}
.text-action:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #77d6ff;outline-offset:5px}
#copy-request{display:block;margin:16px 0;color:#e5d1a4;background:transparent;border:1px solid #8d7955;padding:12px;border-radius:9px;cursor:pointer}
@media(max-width:760px){#start h1{font-size:clamp(30px,8.4vw,58px)!important}#start .hero-copy{max-width:100%!important}.contact-extras{grid-template-columns:1fr}.cockpit-disclosure>summary{padding:20px;font-size:20px}.optional-water{display:none}.legal-page{margin:100px 5% 30px;padding:24px}#start .hero-local{font-size:17px!important}.other-reviews .review-location{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
