/* Static support for the supplied EcoSleeve design. */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
[hidden] { display: none !important; }
.img-all:not([hidden]) { display: block !important; }
.eco-layout-location-header { position: sticky; top: 0; z-index: 100; }
.eco-layout-invisible { visibility: visible; }
[data-showme] button { cursor: pointer; font-family: inherit; }
[data-showme] button[aria-pressed="true"] { outline: 2px solid #517762; outline-offset: 4px; }
a:focus-visible, button:focus-visible, video:focus-visible { outline: 3px solid #517762; outline-offset: 4px; }
.bc-menu-toggle { display: none; }
video { max-width: 100%; height: auto; }
.bc-carousel { overflow: hidden; position: relative; padding-bottom: 34px; }
.bc-carousel .eco-layout-image-carousel { display: flex; width: max-content; animation: bc-logos 55s linear infinite; }
.bc-carousel .swiper-slide { width: 150px !important; flex: 0 0 150px; padding: 0 15px; }
.bc-carousel .swiper-slide figure { height: 80px; display: flex; align-items: center; justify-content: center; margin: 0; }
.bc-carousel .swiper-slide img { max-width: 120px; max-height: 70px; width: auto; height: auto; object-fit: contain; }
.bc-carousel:hover .eco-layout-image-carousel,
.bc-carousel:focus-within .eco-layout-image-carousel,
.bc-carousel.bc-paused .eco-layout-image-carousel { animation-play-state: paused; }
.bc-carousel-pause { position: absolute; right: 4px; bottom: 0; padding: 3px 8px; font: inherit; font-size: 12px; color: #315a43; background: #fff; border: 1px solid #517762; border-radius: 4px; cursor: pointer; }
@keyframes bc-logos { to { transform: translateX(-50%); } }
@media (max-width: 767px) {
  html { scroll-padding-top: 90px; }
  .eco-layout-location-header .eco-layout-element-08a4e74 { width: 45%; }
  .eco-layout-location-header .eco-layout-element-ab27c37 { width: 55%; }
  .bc-js .bc-menu-toggle { display: inline-flex; margin-left: auto; padding: 9px 16px; background: #315a43; border: 0; border-radius: 4px; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
  .bc-js #primary-navigation { display: none; position: absolute; top: 100%; right: 0; width: min(320px, 90vw); padding: 12px; background: #fff; box-shadow: 0 10px 20px #0002; border-radius: 4px; }
  .bc-js .bc-menu-toggle[aria-expanded="true"] + #primary-navigation { display: block; }
  #primary-navigation ul { display: flex; flex-direction: column; margin: 0; padding: 0; gap: 6px; }
  #primary-navigation a { display: block; padding: 12px !important; }
  #primary-navigation li { width: 100%; }
  .eco-layout-counter .eco-layout-counter-number-wrapper { font-size: clamp(42px, 12vw, 64px) !important; line-height: 1.15; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .bc-carousel { overflow-x: auto; padding-bottom: 0; }
  .bc-carousel-pause, .bc-carousel .swiper-slide[aria-hidden="true"] { display: none; }
}

.bc-enquiry-popup { position:fixed; inset:0; margin:auto; box-sizing:border-box; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:44px 32px 36px; border:0; border-radius:18px; background:#f4f2eb; color:#203e31; box-shadow:0 20px 80px #0004; font-family:'DM Sans',sans-serif; text-align:left; }
.bc-enquiry-popup::backdrop { background:#10291fcc; }
.bc-enquiry-popup h2 { font-family:'Hanken Grotesk',sans-serif; font-size:clamp(28px,6vw,38px); line-height:1.12; margin:12px 0 18px; color:#203e31; }
.bc-enquiry-popup p { line-height:1.65; }
.bc-popup-eyebrow { font-size:11px; font-weight:700; letter-spacing:2px; color:#517762; }
.bc-enquiry-popup .bc-popup-close { position:absolute; right:12px; top:8px; border:0; background:transparent; color:#203e31; padding:8px 12px; font-size:28px; cursor:pointer; }
.bc-enquiry-popup .bc-popup-cta { display:inline-block; margin-top:12px; padding:14px 22px; border-radius:30px; background:#203e31; color:white; text-decoration:none; font-weight:600; }
