h1.introtext {
	font-size: clamp(1.41rem, 0.66vi + 1.28rem, 1.8rem)!important;
	font-weight: 800!important;
	line-height: 1.2;
	margin-bottom: 2rem;
}

h2.introtext {
	font-size: clamp(1.25rem, 0.42vi + 1.17rem, 1.5rem)!important;
	font-weight: 800!important;
	line-height: 1.2;
	margin-bottom: 2rem;
}

h3.introtext {
	font-size: clamp(1.11rem, 0.23vi + 1.06rem, 1.25rem)!important;
	font-weight: 800!important;
	line-height: 1.2;
	margin-bottom: 2rem;
}

/* Card wrapper: make sure the image stays clipped */
.my-service-card{
  position: relative;
  overflow: hidden;           /* prevents overflow */
  isolation: isolate;         /* safer stacking for effects */
}

/* Image wrapper: ensure it clips the img and avoids gaps */
.my-service-image{
  overflow: hidden;           /* double-safety clip */
  line-height: 0;             /* removes inline-img whitespace */
  contain: paint;             /* limits repaints to this box */
}

/* The image itself: smooth, GPU-accelerated zoom */
.my-service-image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transform-origin: center center;
  will-change: transform;
  backface-visibility: hidden;
  /* ultra-smooth easing */
  transition: transform 1200ms cubic-bezier(.2,.6,0,.99);
}

/* Hover/focus zoom (desktop/keyboard) */
@media (hover: hover){
  .my-service-card:hover .my-service-image img{
    transform: scale(1.08);   /* tweak 1.06–1.12 to taste */
  }
}

/* Keyboard accessibility: zoom on focus within card */
.my-service-card:focus-within .my-service-image img{
  transform: scale(1.08);
  outline: none;
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce){
  .my-service-image img{
    transition: none;
  }
}

/* Contact CSS */

.inner-column .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

@media (min-width: 1025px) {
.inner-column .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 2fr 1fr!important;
  gap: 3rem;
}
}

.inner-column .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 1025px) {
.inner-column-half-half .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr!important;
  gap: 3rem;
}
}

.inner-column-half-half-center .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (min-width: 1025px) {
.inner-column-half-half-center .vc_column-inner>.wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr!important;
  gap: 3rem;
}
}

.w-tabs-section-header {
    background: #6fbde5;
    border-radius: 12px;
    margin-bottom: 0.4rem;
}

.no-touch .w-tabs-section-header:hover,
.no-touch .w-tabs-section-header:focus {
    background: #E0E0E0!important;
}

.w-tabs-section-title {
  font-weight: 700;
}

.w-tabs.accordion>div>div>.w-tabs-section-content {
    display: none;
    padding-top: 0.6rem!important;
    padding-left: 1.5rem!important;
    padding-right: 1.5rem!important;
    padding-bottom: 1.5!important;
}

/* Gravity Forms CSS */
/* general */
.grecaptcha-badge { 
    visibility: hidden!important;
}

.gfield_label {
    display: none!important;
}

.contact-form #input_1_1 {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
}

@media (max-width: 600px) {
    .contact-form [id^="input_"][id$="_1"] {
        flex-direction: column!important;
    }
}

.contact-form fieldset#input_1_1 {
    margin-bottom: 0!important;
}

.contact-form #input_1_1 span {
    width: 100%!important;
    padding: 0.3rem!important;
}

.contact-form [id^="field_"][id$="_3"],
.contact-form [id^="field_"][id$="_4"],
.contact-form [id^="field_"][id$="_5"] {
    padding: 0.3rem !important;
    width: 100% !important;
}

.contact-form fieldset[id^="field_"][id$="_1"] {
    margin-bottom: 0 !important;
}

.contact-form input[type=submit]:not(.w-btn) {
    margin: 0.3rem !important;
}

.about-us-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1025px) {
  .about-us-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center!important;
}
}

.about-us-media img {
  border-radius: 20px 0 !important;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transform-origin: center center;
  will-change: transform;
  backface-visibility: hidden;
  transition: transform 1200ms cubic-bezier(.2,.6,0,.99);
}

@media (hover: hover){
  .about-us-media:hover img{
    transform: scale(1.08);   /* tweak 1.06–1.12 to taste */
  }
}