/* Responsive refinement (Phase 1C-R). Loaded after every page stylesheet. These rules fix layout defects of the original WordPress
   build (content shifted by the Bootstrap row, text wider than its box, negative margins that clip at tablet widths, small tap
   targets). Branding, type, colours and content are unchanged. */

/* Services: the four-panel image strip has wide letter-spaced captions that exceeded a quarter of the viewport on tablets. */
@media (min-width:768px) and (max-width:1199px){
  .elementor-407 .elementor-element-fdbc794 .ct-heading .item--title{font-size:clamp(13px,2vw,28px) !important;letter-spacing:.3em !important}
}

/* Contact: the left image sits 35px outside its column; that only works inside the boxed container (>= 1200px). */
@media (max-width:1199px){
  .elementor-24 .elementor-element.elementor-element-a9cd000{margin-left:0}
}
/* Contact: the e-mail line is offset 60px under the icons and had a fixed 330px width, so it ran past the screen on phones. */
@media (max-width:767px){
  .elementor-24 .elementor-element.elementor-element-1e98b159{width:auto;max-width:calc(100% - 60px)}
}
.elementor-24 .elementor-element.elementor-element-1e98b159 p,.elementor-24 .elementor-element.elementor-element-1e98b159 a{overflow-wrap:anywhere}

/* Footer links: touch targets of at least 24px height on tablets and phones. */
@media (max-width:1024px){
  footer .cms-footer a{display:inline-flex;align-items:center;min-height:24px}
}

/* Service card lists: the theme sets list-style-position:inside, so wrapped lines fell back under the bullet. Hanging indent instead. */
.elementor-widget-image-box .elementor-image-box-content ul{padding-left:1.25em;margin-left:0}
.elementor-widget-image-box .elementor-image-box-content ul li{list-style-position:outside}

/* Headings built from inline-block word wrappers must never be wider than their column. */
.ct-heading .item--title .slide-in-container,.ct-heading .item--title .d-inline-block{max-width:100%}
.ct-heading .item--title{overflow-wrap:break-word}
.ct-heading .ct-item--inner{max-width:100% !important}

/* Services: the centred carousel lets neighbouring slides peek out; clip them at the section edge so the page cannot be scrolled sideways. */
.elementor-407 .e-parent:has(.my-carousel){overflow-x:clip}
