/* Native interaction and accessibility support for the preserved ISPC design. */
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
}
button,
input,
textarea,
select {
  font: inherit;
}
img {
  max-width: 100%;
}
button {
  cursor: pointer;
}
[hidden] {
  display: none !important;
}
.ispc-sr-only,
.ispc-skip:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.ispc-skip:focus {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 9999;
  background: white;
  color: #222;
  padding: 12px;
}
body :is(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid #334651 !important;
  outline-offset: 4px;
}
.ispc-form-preview-note,
[data-ispc-form-status] {
  font-size: 14px;
  line-height: 1.5;
}
.ispc-redesign .faqs-section {
  display: block;
}
.ispc-redesign:not(.ispc-interactive) .faq__answer {
  max-height: none;
  padding-top: 16px;
}
.nav-item-dropdown:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.ispc-not-found {
  padding: 120px 24px;
  max-width: 1000px;
  margin: auto;
  font-family: Lato, sans-serif;
}
.ispc-redesign .ispc-slider {
  overflow: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scroll-behavior: smooth;
}
.ispc-redesign .services__ispc-slider {
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ispc-redesign .services__ispc-slider::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.ispc-redesign .ispc-slider-wrapper {
  display: flex;
  width: 100%;
}
.ispc-redesign .ispc-slider-slide {
  flex: 0 0 100%;
  min-width: 0;
  scroll-snap-align: start;
}
.ispc-redesign .testimonials__ispc-slider .ispc-slider-wrapper {
  gap: 24px;
}
.ispc-redesign .testimonials__ispc-slider .ispc-slider-slide {
  flex-basis: calc((100% - 48px) / 3);
}
.ispc-redesign .services__ispc-slider .ispc-slider-slide {
  flex-basis: 350px;
}
.ispc-redesign .testimonials__pagination {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.ispc-redesign .testimonials__pagination button {
  width: 10px;
  height: 10px;
  border: 0;
  padding: 0;
  background: #aab7a0;
  border-radius: 50%;
}
.ispc-redesign .testimonials__pagination button[aria-current='true'] {
  background: #354a25;
}
.ispc-redesign .faqs-section[hidden] {
  display: none;
}
.ispc-redesign:not(.ispc-interactive) .faq__answer {
  max-height: none;
  padding-top: 16px;
}
.ispc-redesign .faq__item--active .faq__answer {
  max-height: none;
}

.ispc-redesign .services__ispc-slider .ispc-slider-wrapper {
  gap: 24px;
}
.ispc-redesign .testimonials__pagination button:first-child {
  background: #354a25;
}
@media (max-width: 1023px) {
  .ispc-redesign .testimonials__ispc-slider .ispc-slider-slide {
    flex-basis: calc((100% - 24px) / 2);
  }
}
@media (max-width: 767px) {
  .ispc-redesign .testimonials__ispc-slider .ispc-slider-slide {
    flex-basis: 100%;
  }
  .ispc-redesign .services__ispc-slider .ispc-slider-slide {
    flex-basis: min(85vw, 350px);
  }
}
@media (prefers-reduced-motion: reduce) {
  html,
  .ispc-redesign .ispc-slider {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

.ispc-source-h1 {
  font-size: var(--ispc--preset--font-size--h1);
}

.ispc-upload {
  position: relative;
}
.ispc-upload > input[type='file'] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.ispc-upload:focus-within {
  outline: 3px solid #334651;
  outline-offset: 4px;
}
.ispc-upload .dz-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px;
  text-align: center;
}
.ispc-upload .modern-title span {
  text-decoration: underline;
}
.ispc-form-datepicker-clear {
  border: 0;
  background: transparent;
  cursor: pointer;
}
/* Keep the original service-card widths and spacing at each breakpoint. */
.ispc-redesign .services__ispc-slider .ispc-slider-wrapper {
  gap: 0;
}
.ispc-redesign .services__ispc-slider .ispc-slider-slide {
  flex-basis: auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ispc-redesign .testimonials__ispc-slider .ispc-slider-wrapper {
    gap: 20px;
  }
  .ispc-redesign .testimonials__ispc-slider .ispc-slider-slide {
    flex-basis: calc((100% - 20px) / 2);
  }
}
@media (max-width: 767px) {
  .ispc-redesign .testimonials__ispc-slider .ispc-slider-wrapper {
    gap: 16px;
  }
}

/* Long localized headings and contact addresses must reflow on narrow screens. */
.ispc-redesign .ispc-block-query-title,
.ispc-redesign a[href^='mailto:'] {
  overflow-wrap: anywhere;
}

.ispc-block-navigation__responsive-container.is-menu-open {
  padding: 24px;
}
.ispc-block-navigation__responsive-container.is-menu-open
  .ispc-block-navigation-item__content {
  display: flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.ispc-block-navigation__responsive-container-open,
.ispc-block-navigation__responsive-container-close {
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

#enquiry,
#contact-form {
  scroll-margin-top: 24px;
}
