.elementor-kit-154{--e-global-color-primary:#3C992F;--e-global-color-secondary:#BFD569;--e-global-color-text:#000000;--e-global-color-accent:#FFFFFF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-154 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:10px;}.elementor-element{--widgets-spacing:10px 10px;--widgets-spacing-row:10px;--widgets-spacing-column:10px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== Pinterest-style Hero Slider (for section class: .ab-pinterest-hero) ===== */

/* Layout */
.ab-pinterest-hero .elementor-widget-slides,
.ab-pinterest-hero .elementor-slides-wrapper,
.ab-pinterest-hero .swiper-container,
.ab-pinterest-hero .swiper-wrapper,
.ab-pinterest-hero .swiper-slide{
  height: 100vh;
}

/* Content placement: push big title to the right like the video */
.ab-pinterest-hero .elementor-slide-content{
  max-width: 1100px;
  margin-left: auto;
  padding-right: clamp(20px, 6vw, 90px);
  padding-left: clamp(20px, 6vw, 90px);
}

/* Typography */
.ab-pinterest-hero .elementor-slide-heading{
  white-space: pre-line; /* allow line breaks from \n */
  font-family: "Playfair Display", serif;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 0.90;
  font-size: clamp(44px, 7vw, 92px);
}

/* Small gold label before the title (use slide description first line if you want) */
.ab-pinterest-hero .elementor-slide-heading::before{
  content: "CREATIVE VISION.";
  display: block;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: 0.18em;
  font-size: 12px;
  color: #c78b3b;
  margin-bottom: 12px;
}

/* Description block bottom-left like the video */
.ab-pinterest-hero .elementor-slide-description{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  max-width: 280px;
  position: absolute;
  left: clamp(20px, 5vw, 70px);
  bottom: clamp(20px, 5vw, 60px);
  opacity: 0.92;
}

/* Round button bottom-right */
.ab-pinterest-hero .elementor-slide-button{
  position: absolute;
  right: clamp(20px, 5vw, 70px);
  bottom: clamp(20px, 5vw, 60px);
  width: 48px;
  height: 48px;
  border-radius: 999px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  background: #c78b3b !important;
  color: #111 !important;
  font-weight: 700;
}

/* ===== Staggered entrance animation (heading -> description -> button) ===== */
.ab-pinterest-hero .elementor-slide-heading{
  animation-delay: 0.10s !important;
}
.ab-pinterest-hero .elementor-slide-description{
  animation-delay: 0.35s !important;
}
.ab-pinterest-hero .elementor-slide-button{
  animation-delay: 0.55s !important;
}

/* ===== “Big letter sweep/zoom” transition vibe (approximation) =====
   Elementor doesn't support the exact cinematic letter-zoom transition natively,
   but this adds a subtle scale-in + blur to the heading on each slide change. */
@keyframes abTitleZoom {
  0% { transform: translateY(14px) scale(0.92); filter: blur(2px); opacity: 0; }
  100% { transform: translateY(0) scale(1); filter: blur(0); opacity: 1; }
}
.ab-pinterest-hero .swiper-slide-active .elementor-slide-heading{
  animation-name: abTitleZoom;
  animation-duration: 1.05s;
  animation-timing-function: cubic-bezier(.2,.8,.2,1);
}

/* Mobile tweaks */
@media (max-width: 767px){
  .ab-pinterest-hero .elementor-slide-description{
    max-width: 240px;
    font-size: 11px;
  }
  .ab-pinterest-hero .elementor-slide-button{
    width: 44px; height: 44px;
  }
}


/* Optional styling polish for the imported section */
.services-dark .elementor-heading-title{ line-height: 1.05; }
.services-dark .svc-card{ border:1px solid rgba(255,255,255,.06); transition: transform .25s ease, border-color .25s ease; }
.services-dark .svc-card:hover{ transform: translateY(-6px); border-color: rgba(255,255,255,.16); }
.services-dark .is-featured{ border-color: transparent !important; }/* End custom CSS */