.elementor-invisible{visibility:visible!important}
.elementor-gallery__container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.elementor-gallery__container .e-gallery-item{position:relative!important;width:100%!important;height:auto!important;transform:none!important}
.tt-gallery-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
/* Actual image thumbnails need neither native background paint nor aspect-ratio padding. */
img.tt-gallery-image.e-gallery-image{padding:0;background-image:none!important}
.elementor-gallery-item:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #b78c52;outline-offset:4px}
#quote,#contact{scroll-margin-top:24px}
@media(max-width:767px){.elementor-gallery__container{grid-template-columns:1fr}.quote-fallback{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.animated,.elementor-element{animation:none!important;transition:none!important}}

/* Keep offscreen carousel clones inside their visible slider. */
.elementor-widget-image-carousel,.elementor-image-carousel-wrapper,.swiper,.swiper-container{overflow:hidden}

.elementor-gallery__container.e-gallery-container{height:auto!important;min-height:1px;position:relative!important}
.elementor-gallery__container.e-gallery-container .e-gallery-item{height:auto!important;min-height:1px;aspect-ratio:1;display:block!important;position:relative!important;top:auto!important;left:auto!important}

/* Give the stacked contact content explicit mobile bounds, including the iframe. */
@media(max-width:767px){
  #contact .elementor-element-1f00879f{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;align-items:stretch}
  #contact .e-con-inner,#contact .e-con,#contact .elementor-widget,#contact .elementor-widget-container,#quote{min-width:0;max-width:100%}
  #contact .elementor-element-56cfaebd,#contact .elementor-element-2b466568{width:100%;flex-basis:auto}
  #contact .elementor-element-2b466568{--padding-left:16px;--padding-right:16px}
  #quote iframe{width:100%;max-width:100%;min-width:0}
}
