/* Hero two-step quote form */
body:not(.elementor-editor-active) .pm-hero .pm-hero-details{display:none}
body:not(.elementor-editor-active) .pm-hero.is-open .pm-hero-intro{display:none}
body:not(.elementor-editor-active) .pm-hero.is-open .pm-hero-details{display:flex;animation:pmHeroIn .35s ease}
@keyframes pmHeroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Step 1: email box + button */
.pm-quick{display:flex;gap:10px;background:#fff;border-radius:50px;padding:6px;max-width:560px;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.pm-quick .pm-quick-email{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;padding:12px 18px;font:400 16px/1.4 "DM Sans",sans-serif;color:#10201A}
.pm-quick .pm-quick-btn{flex:0 0 auto;border:0;cursor:pointer;border-radius:50px;padding:14px 26px;background:#FABC12;color:#10201A;font:600 15px/1.2 "Poppins",sans-serif;letter-spacing:1px;transition:background .2s}
.pm-quick .pm-quick-btn:hover{background:#E0A800}
.pm-quick.is-invalid{box-shadow:0 0 0 3px #FF6B6B,0 14px 30px rgba(0,0,0,.18)}
.pm-quick-msg{color:#FFD5D5;font:500 14px/1.4 "DM Sans",sans-serif;margin-top:8px}
@media (max-width:767px){.pm-quick{flex-direction:column;border-radius:16px}.pm-quick .pm-quick-btn{width:100%}}

/* Step 2: WPForms form in the FirstPage style (2 columns, white fields, yellow button) */
.pm-hero .pm-wpforms .wpforms-container{margin:0!important}
.pm-hero .pm-wpforms .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pm-hero .pm-wpforms .wpforms-field{padding:0!important;margin:0!important;max-width:none!important}
.pm-hero .pm-wpforms .wpforms-field-textarea,.pm-hero .pm-wpforms .wpforms-field-hidden{grid-column:1/-1}
.pm-hero .pm-wpforms .wpforms-field-label{color:#fff!important;font:500 14px/1.3 "DM Sans",sans-serif!important;margin-bottom:6px!important}
.pm-hero .pm-wpforms .wpforms-required-label{color:#FABC12!important}
.pm-hero .pm-wpforms input:not([type=hidden]),.pm-hero .pm-wpforms select,.pm-hero .pm-wpforms textarea{width:100%!important;max-width:none!important;min-height:52px;border:0!important;border-radius:10px!important;background:#fff!important;color:#10201A!important;padding:12px 16px!important;font:400 16px/1.4 "DM Sans",sans-serif!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
.pm-hero .pm-wpforms textarea{min-height:96px;height:96px!important}
.pm-hero .pm-wpforms .wpforms-submit-container{padding:18px 0 0!important;margin:0!important}
.pm-hero .pm-wpforms button[type=submit]{width:100%;min-height:54px;border:0!important;border-radius:10px!important;background:#FABC12!important;color:#10201A!important;font:600 16px/1.2 "Poppins",sans-serif!important;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .2s}
.pm-hero .pm-wpforms button[type=submit]:hover{background:#E0A800!important}
.pm-hero .pm-wpforms label.wpforms-error,.pm-hero .pm-wpforms em.wpforms-error{color:#FFD5D5!important}
.pm-hero .pm-wpforms .wpforms-confirmation-container-full{background:#E9F6EE!important;border:0!important;border-radius:12px;color:#0F3B26!important}
.pm-hero .pm-wpforms .wpforms-field-label,.pm-hero .pm-wpforms .wpforms-field-sublabel{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:0!important}
.pm-hero .pm-wpforms .wpforms-field-container > .wpforms-field:last-child{grid-column:1/-1}
@media (max-width:767px){.pm-hero .pm-wpforms .wpforms-field-container{grid-template-columns:1fr}}

/* Case study + review sliders */
body:not(.elementor-editor-active) .pm-slides > .pm-slide:not(.is-active){display:none !important}
body:not(.elementor-editor-active) .pm-slides > .pm-slide.is-active{animation:pmSlideIn .5s ease}
@keyframes pmSlideIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.pm-slides{touch-action:pan-y}

/* Client logo marquee slider */
.pm-logo-slider .elementor-image-carousel-wrapper {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
/* constant marquee-style motion */
.pm-logo-slider .swiper-wrapper { transition-timing-function: linear !important; }
/* logo cards */
.pm-logo-slider .swiper-slide {
  height: 140px;
  display: flex; align-items: center; justify-content: center;
  padding: 22px 34px;
  background: #FFFFFF;
  border: 1.5px solid #ECECEC;
  border-radius: 22px;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.pm-logo-slider .swiper-slide:hover { border-color: #25A44C; box-shadow: 0 8px 24px rgba(15,59,38,.08); }
.pm-logo-slider .swiper-slide-image { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
@media (max-width: 1024px) {
  .pm-logo-slider .swiper-slide { height: 112px; padding: 18px 26px; border-radius: 18px; }
}
@media (max-width: 767px) {
  .pm-logo-slider .swiper-slide { height: 84px; padding: 14px 18px; border-radius: 14px; }
}
