/* Intrinsic sizing prevents children from stretching the mobile page. */
html{box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow-x:hidden}
body{box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow-x:hidden}
.hfeed.site{box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%}
@supports(overflow-x:clip){html,body{overflow-x:clip}}
.henke-mobile-header,.henke-menu-drawer,.henke-menu-trigger,.henke-side-actions{box-sizing:border-box}
.henke-menu-drawer{max-inline-size:100vw}
.henke-lightbox{box-sizing:border-box;width:min(920px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:16px}
.henke-lightbox img{max-inline-size:100%;max-height:80dvh}
.henke-contact{box-sizing:border-box;inline-size:100%;max-inline-size:1240px;margin:0 auto;padding:90px 30px 70px;color:#333;font-family:Montserrat,Arial,sans-serif}
.henke-contact *{box-sizing:border-box;min-inline-size:0}
.henke-contact-heading{max-inline-size:850px;margin-bottom:32px}
.henke-contact .henke-contact-eyebrow{color:#c90076;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.6;margin:0 0 12px}
.henke-contact h1{font-size:clamp(28px,3.5vw,43px);font-weight:650;line-height:1.25;letter-spacing:0;text-transform:none;color:#333;margin:0 0 18px;overflow-wrap:break-word;hyphens:auto}
.henke-contact-heading>p:last-child{font-size:16px;line-height:1.8;color:#555;margin:0}
.henke-contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:32px;align-items:start}
.henke-contact-form-card{padding:27px 28px;border:1px solid #e5e5e5;border-radius:10px;background:#fff}
.henke-contact h2{font-size:22px;line-height:1.4;font-weight:600;letter-spacing:0;text-transform:none;color:#333;margin:0 0 13px}
.henke-contact-form-card>p{font-size:13px;line-height:1.8;color:#666;margin:0 0 22px}
.henke-contact .henke-form{inline-size:100%;max-inline-size:none;margin:0}
.henke-contact .henke-form label{font-size:12px;line-height:1.6;font-weight:600;color:#444;margin:0 0 19px}
.henke-contact .henke-form input,.henke-contact .henke-form select,.henke-contact .henke-form textarea{display:block;box-sizing:border-box;inline-size:100%;max-inline-size:100%;min-inline-size:0;margin-top:7px;padding:12px;border:1px solid #cfcfcf;border-radius:6px;background:#fff;box-shadow:none;color:#333;font:400 16px/1.5 Montserrat,Arial,sans-serif}
.henke-contact .henke-form input,.henke-contact .henke-form select{min-height:47px}
.henke-contact .henke-form textarea{min-height:140px;resize:vertical}
.henke-contact .henke-form input:focus,.henke-contact .henke-form select:focus,.henke-contact .henke-form textarea:focus{outline:2px solid #ed028d;outline-offset:2px}
.henke-contact .henke-form input::placeholder,.henke-contact .henke-form textarea::placeholder{font-size:13px;color:#777;opacity:1}
.henke-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.henke-contact .henke-form .henke-contact-privacy{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;margin:4px 0 20px}
.henke-contact .henke-contact-privacy input[type=checkbox]{inline-size:18px;block-size:18px;min-height:0;min-width:18px;flex:0 0 18px;margin:1px 0 0;padding:0;accent-color:#ed028d}
.henke-contact-privacy span{overflow-wrap:anywhere;line-height:1.7}
.henke-contact-privacy a{color:#c90076;text-decoration:underline}
.henke-contact .henke-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;inline-size:100%;max-inline-size:100%;min-inline-size:0;min-height:49px;white-space:normal;margin:0;border-radius:6px;text-align:left;line-height:1.5;font-size:13px}
.henke-contact .henke-status{background:none;font-size:11px;font-weight:400;line-height:1.7;color:#777;padding:0;margin:13px 0 0;overflow-wrap:break-word}
.henke-contact-visit{border:1px solid #e5e5e5;border-radius:10px;background:#f8f8f8;overflow:hidden}
.henke-contact-visit figure{margin:0;inline-size:100%}
.henke-contact-visit figure img{display:block;inline-size:100%;max-inline-size:100%;height:auto;aspect-ratio:1024/417;object-fit:cover}
.henke-contact-visit-body{padding:25px}
.henke-contact address{font:400 14px/1.9 Montserrat,Arial,sans-serif;color:#555;margin:0 0 18px}
.henke-contact address strong{font-weight:600;color:#444}
.henke-contact-direct{display:grid;gap:6px;margin-bottom:24px}
.henke-contact-direct a{display:flex;align-items:center;gap:11px;min-height:44px;padding:8px 0;font:500 14px/1.7 Montserrat,Arial,sans-serif;color:#444;text-decoration:none}
.henke-contact-direct a svg{width:20px;height:20px;flex:0 0 20px;color:#c90076}
.henke-contact-direct a span{overflow-wrap:anywhere}
.henke-contact h3{font-size:15px;font-weight:600;line-height:1.5;margin:0 0 13px;letter-spacing:0;text-transform:none;color:#444}
.henke-contact-opening{border-top:1px solid #ddd;padding-top:23px;margin-bottom:23px}
.henke-contact dl{margin:0;color:#555;font-size:12px;line-height:1.9}
.henke-contact dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 10px}
.henke-contact dt{font-weight:400}.henke-contact dd{margin:0;font-variant-numeric:tabular-nums}
.henke-contact-route{border-top:1px solid #ddd;padding-top:23px}
.henke-contact-route p{font-size:12px;line-height:1.85;color:#666;margin:0 0 14px}
@media(max-width:1024px){
 .henke-contact{padding:32px 26px 48px}
 .henke-contact-layout{gap:24px}
 .henke-contact-form-card{padding:24px}.henke-contact-visit-body{padding:22px}
 /* Keep flexible Elementor descendants within their section. */
 [data-elementor-type=wp-page],.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget,.e-con-inner{min-inline-size:0;max-inline-size:100%}
 .elementor-image-carousel-wrapper{inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain;contain:inline-size}
 .elementor-widget-image-carousel{inline-size:100%;min-inline-size:0;max-inline-size:100%}
 .elementor-widget-image-carousel .swiper-wrapper{min-inline-size:0;max-inline-size:100%}
 .henke-region,.henke-region-grid,.henke-region-list{min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
 .henke-region-grid>*{min-inline-size:0}
}
@media(max-width:900px){.henke-contact-layout{grid-template-columns:minmax(0,1fr)}.henke-contact-visit-body{padding:24px}.henke-contact-visit figure img{max-height:290px}.henke-contact-heading{margin-bottom:25px}}
@media(max-width:600px){
 .henke-contact{padding:25px 18px 40px}
 .henke-contact h1{font-size:28px;line-height:1.3;margin-bottom:15px}
 .henke-contact-heading>p:last-child{font-size:14px;line-height:1.85}
 .henke-contact h2{font-size:21px}
 .henke-contact-form-card{padding:21px 18px}
 .henke-contact-fields{grid-template-columns:minmax(0,1fr);gap:0}
 .henke-contact .henke-form label{font-size:12px;margin-bottom:17px}
 .henke-contact .henke-form input,.henke-contact .henke-form select,.henke-contact .henke-form textarea{padding:11px 10px;font-size:16px}
 .henke-contact-visit-body{padding:21px 19px}
 .henke-contact-direct a{font-size:14px}
 .henke-contact-layout{gap:22px}
 .henke-menu-drawer{box-sizing:border-box}
 .elementor-widget-heading,.qodef-qi-section-title{min-inline-size:0;max-inline-size:100%}
 .qodef-qi-section-title .qodef-m-title,.qodef-qi-section-title .qodef-m-text{overflow-wrap:break-word;hyphens:auto}
 .elementor-icon-box-title a{overflow-wrap:anywhere}
}
