/* V82: clearer controls, reliable wrapping and inexpensive scrolling. */
header,body #mobileMenu.mobile-menu{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
img,video{max-width:100%}
.card,.video-card,.contact-field,.config-field{min-width:0}
p,li,dd{overflow-wrap:break-word}
@media(max-width:600px){.btn{min-height:44px}.mobile-contact-bar a.btn{min-height:44px}.config-actions{gap:12px}.config-actions .btn{padding:12px 16px}.video-card h3{line-height:1.4}.video-card p{line-height:1.65}}
.hero{grid-template-columns:minmax(0,1fr)}.hero>.wrap{min-width:0;box-sizing:border-box}.hero h1{overflow-wrap:anywhere;hyphens:none}
.video-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#080808}

/* One header offset only: scroll padding and margin must not add up. */
html{scroll-padding-top:80px!important}[id],#angebot,#fileServiceForm,#fsHandoff{scroll-margin-top:0!important}
.hero h1{word-break:normal;hyphens:none!important}
@media(max-width:600px){.hero h1{font-size:clamp(26px,8vw,38px);line-height:1.15}}

header{background:#090909!important}

/* Homepage: use the full line, keep the place name intact. */
#home h1{max-width:100%;width:100%;text-wrap:wrap;overflow-wrap:normal;hyphens:none!important}#home .home-place,#home .home-region{white-space:nowrap}
@media(max-width:600px){#home h1{font-size:clamp(22px,6.7vw,36px);line-height:1.2}#home .home-region{display:block}}

/* Centre introductions and section titles; keep form inputs readable. */
.hero>.wrap,.config-hero,.fs-intro{text-align:center}
.hero .inline{justify-content:center}
.hero p{margin-left:auto!important;margin-right:auto!important}
#leistungen>.wrap>h2,#leistungen>.wrap>p,#ablauf>.wrap>h2,#galerie>.wrap>h2,#galerie>.wrap>p,#kontakt>.wrap>h2,#kontakt>.wrap>p{text-align:center}
#galerie>.wrap>p{margin-inline:auto}
@media(max-width:600px){.hero .inline:last-child{margin-inline:auto}.fs-intro{padding-inline:20px}}
