/* CBM sitewide responsive layer. Presentation only; deliberately loaded last. */
html{box-sizing:border-box;overflow-x:hidden;-webkit-text-size-adjust:100%}
*,*:before,*:after{box-sizing:inherit}
body.cbm-responsive-enabled{max-width:100%;overflow-x:hidden}
body.cbm-responsive-enabled img,body.cbm-responsive-enabled svg,body.cbm-responsive-enabled video,body.cbm-responsive-enabled iframe{max-width:100%;height:auto}
body.cbm-responsive-enabled input,body.cbm-responsive-enabled select,body.cbm-responsive-enabled textarea,body.cbm-responsive-enabled button{max-width:100%}
body.cbm-responsive-enabled p,body.cbm-responsive-enabled h1,body.cbm-responsive-enabled h2,body.cbm-responsive-enabled h3,body.cbm-responsive-enabled a{overflow-wrap:anywhere}
body.cbm-responsive-enabled .cbm-render-root,
body.cbm-responsive-enabled .cbm-native-booking,
body.cbm-responsive-enabled .cbm-contact-booking-layout{max-width:100vw!important}
body.cbm-responsive-enabled .elementor-container,
body.cbm-responsive-enabled .elementor-column,
body.cbm-responsive-enabled .elementor-widget-wrap,
body.cbm-responsive-enabled .elementor-widget-container{min-width:0}

/* Tablet and smaller laptops */
@media (max-width:1050px){
 body.cbm-responsive-enabled .cbm-site-header .cbm-header-inner{width:100%!important;min-height:88px!important;padding:10px 24px!important;gap:18px!important}
 body.cbm-responsive-enabled .cbm-site-header .cbm-header-logo img{width:clamp(150px,23vw,205px)!important;max-height:68px!important}
 body.cbm-responsive-enabled .cbm-menu-toggle{display:block!important;position:relative;z-index:2;flex:0 0 auto;min-width:46px;min-height:44px}
 body.cbm-responsive-enabled .cbm-primary-navigation{display:none!important;position:absolute!important;top:100%!important;right:0!important;left:0!important;width:100%!important;max-height:calc(100vh - 88px);overflow-y:auto;padding:15px 24px 24px!important;background:#faf6ef!important;box-shadow:0 16px 35px rgba(30,40,45,.14)!important}
 body.cbm-responsive-enabled.cbm-menu-open .cbm-primary-navigation{display:block!important}
 body.cbm-responsive-enabled .cbm-menu{display:block!important;width:100%!important}
 body.cbm-responsive-enabled .cbm-menu>li{display:block!important;margin:0!important;border-bottom:1px solid #e4dfd0!important}
 body.cbm-responsive-enabled .cbm-menu>li>a{display:block!important;padding:14px 2px!important;font-size:14px!important;white-space:normal!important}
 body.cbm-responsive-enabled .cbm-menu>li>a:after{display:none!important}
 body.cbm-responsive-enabled .cbm-menu .sub-menu{position:static!important;display:block!important;width:100%!important;min-width:0!important;max-width:none!important;padding:0 0 10px 18px!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;grid-template-columns:1fr!important}
 body.cbm-responsive-enabled .cbm-menu .sub-menu a{padding:9px 2px!important;white-space:normal!important}
 body.cbm-responsive-enabled .cbm-header-cta{display:flex!important;justify-content:center;width:100%;margin:18px 0 0!important}

 body.cbm-responsive-enabled .cbm-home-inner,
 body.cbm-responsive-enabled .elementor-section[class*="cbm-"]>.elementor-container{padding:76px 30px!important}
 body.cbm-responsive-enabled .cbm-home-hero-grid,
 body.cbm-responsive-enabled .cbm-why-grid,
 body.cbm-responsive-enabled .cbmapp-hero .cbmapp-shell,
 body.cbm-responsive-enabled .cbmapp-grid,
 body.cbm-responsive-enabled .cbmapp-promo-card{grid-template-columns:1fr!important;gap:42px!important;min-height:0!important}
 body.cbm-responsive-enabled .cbm-editorial-hero>.elementor-container>.elementor-column>.elementor-widget-wrap,
 body.cbm-responsive-enabled .cbm-editorial-why>.elementor-container>.elementor-column>.elementor-widget-wrap{display:block!important}
 body.cbm-responsive-enabled .cbm-editorial-hero .elementor-widget-shortcode{margin-top:35px!important;padding:25px!important}
 body.cbm-responsive-enabled .cbm-service-grid,
 body.cbm-responsive-enabled .cbm-news-grid,
 body.cbm-responsive-enabled .cbm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.cbm-responsive-enabled .cbm-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.cbm-responsive-enabled .cbm-service-grid article,
 body.cbm-responsive-enabled .cbm-audience-grid article{min-height:0!important;padding:28px!important}
 body.cbm-responsive-enabled .cbm-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:42px!important;padding:58px 30px 45px!important}
 body.cbm-responsive-enabled .cbm-contact-booking-layout{display:flex!important;flex-direction:column!important;width:100%!important;margin:0!important;padding:22px!important}
 body.cbm-responsive-enabled .cbm-contact-booking-layout>.cbm-native-booking,
 body.cbm-responsive-enabled .cbm-contact-booking-layout>.cbm-contact-page{width:100%!important}
}

/* Phones */
@media (max-width:767px){
 body.cbm-responsive-enabled .cbm-site-header .cbm-header-inner{min-height:76px!important;padding:8px 16px!important}
 body.cbm-responsive-enabled .cbm-site-header .cbm-header-logo img{width:145px!important;max-height:58px!important}
 body.cbm-responsive-enabled .cbm-primary-navigation{max-height:calc(100vh - 76px);padding:10px 18px 20px!important}

 body.cbm-responsive-enabled .cbm-home-inner,
 body.cbm-responsive-enabled .elementor-section[class*="cbm-"]>.elementor-container{padding:56px 18px!important}
 body.cbm-responsive-enabled .cbm-premium-home h1,
 body.cbm-responsive-enabled .elementor-section[class*="cbm-"] h1,
 body.cbm-responsive-enabled .cbmapp-page h1,
 body.cbm-responsive-enabled .cbmwws-page h1{font-size:clamp(38px,12vw,48px)!important;line-height:1.02!important;letter-spacing:-.035em!important}
 body.cbm-responsive-enabled .cbm-premium-home h2,
 body.cbm-responsive-enabled .elementor-section[class*="cbm-"] h2,
 body.cbm-responsive-enabled .cbmapp-page h2,
 body.cbm-responsive-enabled .cbmwws-page h2{font-size:clamp(30px,9.5vw,39px)!important;line-height:1.08!important}
 body.cbm-responsive-enabled h3{line-height:1.22}
 body.cbm-responsive-enabled .cbm-lead,
 body.cbm-responsive-enabled .cbm-section-intro,
 body.cbm-responsive-enabled .cbmapp-lead{font-size:17px!important;line-height:1.6!important}
 body.cbm-responsive-enabled .cbm-btn{display:flex!important;width:100%;justify-content:center;margin:10px 0 0!important;text-align:center}
 body.cbm-responsive-enabled .cbm-hero-actions{margin-bottom:35px!important}

 body.cbm-responsive-enabled .cbm-service-grid,
 body.cbm-responsive-enabled .cbm-news-grid,
 body.cbm-responsive-enabled .cbm-audience-grid,
 body.cbm-responsive-enabled .cbm-card-grid,
 body.cbm-responsive-enabled .cbm-hero-stats,
 body.cbm-responsive-enabled .cbm-mtd-grid{grid-template-columns:1fr!important}
 body.cbm-responsive-enabled .cbm-service-grid{margin-top:35px!important}
 body.cbm-responsive-enabled .cbm-service-grid article,
 body.cbm-responsive-enabled .cbm-audience-grid article{padding:24px 20px!important;border-right:0!important}
 body.cbm-responsive-enabled .cbm-service-grid p{min-height:0!important}
 body.cbm-responsive-enabled .cbm-trust-row{align-items:flex-start!important;flex-direction:column!important;gap:18px!important}
 body.cbm-responsive-enabled .cbm-why-list article,
 body.cbm-responsive-enabled .cbmwws-steps article{grid-template-columns:42px 1fr!important;gap:14px!important;padding:20px 16px!important}
 body.cbm-responsive-enabled .cbmapp-shell,
 body.cbm-responsive-enabled .cbmwws-inner{width:calc(100% - 32px)!important}
 body.cbm-responsive-enabled .cbmapp-hero,
 body.cbm-responsive-enabled .cbmapp-workspace{padding:58px 0!important}
 body.cbm-responsive-enabled .cbmapp-chat{padding:12px!important}
 body.cbm-responsive-enabled .cbmapp-next .cbmapp-shell{display:block!important}
 body.cbm-responsive-enabled .cbmapp-next a{width:100%;margin-top:24px}

 body.cbm-responsive-enabled .cbm-native-booking{width:100%!important;margin:0!important;padding:42px 12px!important}
 body.cbm-responsive-enabled .cbm-contact-booking-layout{padding:0!important;gap:0!important}
 body.cbm-responsive-enabled .cbm-book-shell{border-radius:0!important;box-shadow:none!important}
 body.cbm-responsive-enabled .cbm-book-intro{grid-template-columns:1fr!important;padding:34px 20px 0!important;gap:24px!important}
 body.cbm-responsive-enabled .cbm-book-intro h2{font-size:34px!important}
 body.cbm-responsive-enabled .cbm-book-trust{grid-template-columns:1fr!important;margin:0 -20px!important}
 body.cbm-responsive-enabled .cbm-book-trust>span{padding:14px 20px!important;border-right:0!important}
 body.cbm-responsive-enabled .cbm-book-panel{padding:26px 18px 32px!important}
 body.cbm-responsive-enabled .cbm-step{grid-template-columns:1fr!important;gap:12px!important}
 body.cbm-responsive-enabled .cbm-divider{margin-left:0!important}
 body.cbm-responsive-enabled .cbm-fields{grid-template-columns:1fr!important;gap:13px!important}
 body.cbm-responsive-enabled .cbm-wide{grid-column:auto!important}
 body.cbm-responsive-enabled .cbm-slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.cbm-responsive-enabled .cbm-slots button{min-width:0!important}
 body.cbm-responsive-enabled .cbm-form-footer{align-items:stretch!important;flex-direction:column!important}
 body.cbm-responsive-enabled .cbm-submit{width:100%!important}

 body.cbm-responsive-enabled .cbm-footer-inner{grid-template-columns:1fr!important;padding:48px 20px 36px!important;gap:30px!important}
 body.cbm-responsive-enabled .cbm-footer-legal{display:block!important;width:calc(100% - 40px)!important;text-align:left}
 body.cbm-responsive-enabled .cbm-footer-legal span{display:block;margin:6px 0}

 body.cbm-responsive-enabled table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 body.cbm-responsive-enabled .elementor-button,
 body.cbm-responsive-enabled button:not(.cbm-menu-toggle){white-space:normal}
}

/* Narrow phones */
@media (max-width:390px){
 body.cbm-responsive-enabled .cbm-site-header .cbm-header-logo img{width:128px!important}
 body.cbm-responsive-enabled .cbm-slots{grid-template-columns:1fr!important}
 body.cbm-responsive-enabled .cbm-book-intro h2{font-size:31px!important}
 body.cbm-responsive-enabled .cbm-home-inner,
 body.cbm-responsive-enabled .elementor-section[class*="cbm-"]>.elementor-container{padding-right:15px!important;padding-left:15px!important}
}

