/* Shared layout refinements; preserve the site's established color palette. */
:root{--page-gutter:clamp(20px,6vw,100px)}
html{scrollbar-gutter:stable}body{min-width:0}*,*:before,*:after{box-sizing:border-box}
main,section,form,.fields,.fields>*,.service-grid>*,.footer-columns>*,.locations-heading>*{min-width:0}
img,video,iframe{max-width:100%}input,select,textarea{max-width:100%}
.contact#anfrage,.faq#ratgeber,.locations-preview#einsatzgebiete{padding-left:max(var(--page-gutter),calc((100% - 1300px)/2));padding-right:max(var(--page-gutter),calc((100% - 1300px)/2))}
#request-form{width:100%;min-width:0}.fields input,.fields select,.fields textarea{width:100%;min-width:0}.fields input[type=file]{white-space:normal;overflow-wrap:anywhere}.fields small,.form-direct,.footer-details a{overflow-wrap:anywhere}
#request-form button[type=submit]{min-height:50px;white-space:normal}
.faq#ratgeber summary{overflow-wrap:break-word}.faq#ratgeber details p{line-height:1.75}
.contact-page a[href^="mailto:"],.contact-options address{overflow-wrap:anywhere}.contact-options>div{min-width:0;flex:1 1 220px}
@media(min-width:761px) and (max-width:1100px){
 header:has(.mobile-menu-toggle){position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:88px;padding:12px 5%;gap:12px 20px;background:#f0f4f9}
 header .header-brand{top:0}header .header-brand img{width:138px;height:70px}
 header .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:86px;padding:10px 14px;border:1px solid #cfdae8;border-radius:8px;background:#fff;color:#152c45;font-size:14px;cursor:pointer}
 header .mobile-project-cta{display:none!important}
 header #main-navigation{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:0;width:100%;max-height:65svh;overflow-y:auto;padding-top:8px;border-top:1px solid #d4dfe8}
 header.nav-ready #main-navigation{display:none}header.nav-ready.is-open #main-navigation{display:grid}
 header #main-navigation>a,header #main-navigation .career-link,header #main-navigation .nav-services>summary{min-height:46px;padding:10px 4px;font-size:14px;white-space:normal}
 header #main-navigation .header-cta{display:flex;margin-top:10px;padding:12px 18px}
 #main-navigation .nav-services{width:100%;padding:0}#main-navigation .services-dropdown{position:static;width:100%;min-width:0;box-shadow:none}
 .intro,.about,.contact{grid-template-columns:minmax(0,1fr);gap:36px}
 .hero{height:auto;min-height:620px;max-height:none}.hero-content{padding:60px 6% 95px}
 .locations-heading{gap:30px}.featured-cities{grid-template-columns:repeat(3,minmax(0,1fr))}
 .service{padding:30px 24px}.service h3{overflow-wrap:break-word}
}
@media(max-width:760px){
 :root{--page-gutter:22px}html{scrollbar-gutter:auto}
 input,select,textarea{font-size:16px!important}
 header #main-navigation{overflow-y:auto;overscroll-behavior:contain}
 .fields{grid-template-columns:minmax(0,1fr)}.fields .full{grid-column:1}
 .contact#anfrage{padding-top:48px;padding-bottom:40px}
 .faq#ratgeber{padding-top:48px;padding-bottom:56px}
 .locations-preview#einsatzgebiete{padding-top:48px;padding-bottom:48px}
 .locations-heading{grid-template-columns:minmax(0,1fr);gap:20px}.featured-cities{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
 .contact-page header{gap:12px}.location-heading{gap:20px}.location-heading .button{min-height:48px}
 .contact-page-footer{gap:16px 22px}.contact-page-footer>*{max-width:100%}
 .app-preview{min-width:0}.app-preview-copy{min-width:0}
}
@media(max-width:560px){.service-grid{grid-template-columns:minmax(0,1fr)}.contact-actions .button{width:100%}.location-map{height:360px}.map-placeholder small{line-height:1.6}}
@media(max-width:360px){:root{--page-gutter:18px}.footer-columns{gap:24px 14px}.footer-brand strong{font-size:20px}.faq#ratgeber>details{padding-left:14px;padding-right:14px}}
