/*
 * Site-level CSS that WordPress/Elementor printed inline and the Laravel renderer needs.
 * Keep this file tiny — the design itself comes from the published Elementor CSS in /wp-content.
 */
.elementor-message[hidden] { display: none; }
.venda-hp { position: absolute !important; left: -9999px !important; }
.e-loop-item[hidden] { display: none !important; }
.ti-widget .ti-review-content.ti-show-all { -webkit-line-clamp: unset !important; max-height: none !important; }

/* Loop grid items must not grow past their 1fr column because of a large featured image
   (e.g. the 1920px "custom" image size in loop template 6711 used by related/blog posts). */
.elementor-loop-container.elementor-grid > .e-loop-item { min-width: 0; }

/* Safety net for header site logo & nav SVGs */
.elementor-widget-theme-site-logo img,
.elementor-widget-theme-site-logo svg,
.elementor-element-7734af8 img {
  max-width: 130px !important;
  height: auto !important;
  display: block;
}

.elementor-widget-nav-menu svg,
.elementor-widget-mega-menu svg,
.elementor-widget-icon-box svg,
.elementor-widget-icon-list svg {
  max-width: 100%;
}

/* Inline SVG icons (Elementor "Inline Font Icons"): zero-specificity defaults, Elementor's own rules win. */
:where(.e-font-icon-svg) { display: inline-block; width: 1em; height: 1em; fill: currentColor; }

/* ---- Standardized article bodies (blog posts / services / case studies) ---- */
.venda-article > :first-child { margin-top: 0; }
.venda-article figure { margin: 1.75em 0; }
.venda-article figure img { display: block; max-width: 100%; height: auto; border-radius: var(--venda-radius-sm, 10px); }
.venda-article figcaption { margin-top: .5em; font-size: .875em; opacity: .7; }
.venda-article .venda-embed { position: relative; aspect-ratio: 16 / 9; }
.venda-article .venda-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--venda-radius-sm, 10px); }
.venda-article .venda-button-row { margin: 1.5em 0; }
.venda-article .venda-button {
  display: inline-flex; align-items: center; gap: .5em; padding: 16px 24px; border-radius: var(--venda-radius-pill, 999px);
  background: var(--e-global-color-vamtam_accent_3, #171D2E); color: #fff; text-decoration: none; font-weight: 500;
  transition: transform .2s ease, opacity .2s ease;
}
.venda-article .venda-button:hover { transform: translateY(-1px); opacity: .92; color: #fff; }
.venda-article table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: .95em; }
.venda-article th, .venda-article td { border: 1px solid rgba(23, 29, 46, .12); padding: .65em .8em; text-align: left; vertical-align: top; }
.venda-article th { background: rgba(23, 29, 46, .04); font-weight: 600; }
.venda-article blockquote { margin: 1.5em 0; padding: .25em 0 .25em 1.25em; border-left: 3px solid var(--e-global-color-vamtam_accent_1, #0052FF); }
.venda-article .has-text-align-center { text-align: center; }
.venda-article .has-text-align-right { text-align: right; }
.venda-article .has-text-align-justify { text-align: justify; }

/* ==========================================================================
   Hero Curved 3D Panoramic Projects Carousel (Dribbble Design)
   ========================================================================== */
html {
  scroll-behavior: smooth;
  overflow-x: clip !important;
}

body {
  overflow-x: clip !important;
}

/* Ensure hero section parents don't clip full-bleed width */
.elementor-element-6c3a20a,
.elementor-element-6c3a20a > .e-con-inner,
.elementor-element-800d792,
.elementor-element-fdd47d2 {
  overflow: visible !important;
  max-width: 100% !important;
  width: 100% !important;
}

.venda-hero-carousel-wrap {
  position: relative !important;
  width: 99vw !important;
  max-width: 99vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -49.5vw !important;
  margin-right: -49.5vw !important;
  margin-top: 36px !important;
  margin-bottom: 24px !important;
  padding: 10px 0 20px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  user-select: none;
  -webkit-user-select: none;
}

.venda-carousel-stage-container {
  position: relative;
  width: 100%;
  min-height: 480px;
  perspective: 1500px;
  perspective-origin: 50% 48%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.venda-carousel-arc-stage {
  position: relative;
  width: 100%;
  height: 440px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-style: preserve-3d;
}

/* Pure, Minimalistic Card - Clean photography, equal size, no margin colors */
.venda-carousel-card {
  position: absolute;
  width: 440px;
  height: 293px;
  border-radius: 16px;
  overflow: hidden;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: 0 14px 34px -8px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.04);
  transform-style: preserve-3d;
  cursor: pointer;
  will-change: transform, opacity;
  transition: transform 0.65s cubic-bezier(0.2, 0.85, 0.3, 1),
              opacity 0.65s cubic-bezier(0.2, 0.85, 0.3, 1),
              box-shadow 0.35s ease;
}

.venda-carousel-card.is-active {
  z-index: 15;
  box-shadow: 0 20px 48px -10px rgba(0, 0, 0, 0.24), 0 4px 14px rgba(0, 0, 0, 0.06);
}

.venda-carousel-card:hover {
  box-shadow: 0 24px 56px -12px rgba(0, 82, 255, 0.35), 0 6px 18px rgba(0, 0, 0, 0.15);
}

.venda-card-link {
  display: block;
  width: 100% !important;
  height: 100% !important;
  position: relative;
  text-decoration: none;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit;
}

.venda-card-img-wrap {
  position: absolute;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

.venda-card-img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border: none !important;
  outline: none !important;
  border-radius: 16px !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.venda-carousel-card:hover .venda-card-img {
  transform: scale(1.05);
}

/* Dark gradient scrim - HIDDEN by default, visible ONLY on hover */
.venda-card-gradient {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0.78) 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.venda-carousel-card:hover .venda-card-gradient {
  opacity: 1;
}

/* Card details info - HIDDEN by default, subtle white text on hover */
.venda-card-info {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.venda-carousel-card:hover .venda-card-info {
  opacity: 1;
  transform: translateY(0);
}

.venda-card-heading {
  margin: 0;
  font-family: 'Outfit', 'Inter', -apple-system, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #FFFFFF !important;
  line-height: 1.35;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.venda-card-action {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8) !important;
  margin-top: 1px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  transition: color 0.2s ease, transform 0.2s ease;
}

.venda-carousel-card:hover .venda-card-action {
  color: #FFFFFF !important;
  transform: translateX(3px);
}

/* Sleek black progress bar BEFORE the word explore more */
.venda-black-bar-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 28px;
  margin-bottom: 8px;
  width: 100%;
  position: relative;
  z-index: 20;
}

.venda-black-bar-track {
  width: 240px;
  height: 3.5px;
  background: rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}

.venda-black-bar-fill {
  height: 100%;
  width: 0%;
  background: #0F172A;
  border-radius: 999px;
  transition: width 0.08s linear;
}

/* Explore More in center below carousel */
.venda-explore-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 6px auto 4px;
  color: #475569;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
  width: fit-content;
  position: relative;
  z-index: 20;
}

.venda-explore-link:hover {
  color: #0052FF;
}

.venda-explore-dash-circle {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px dashed #3B82F6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3B82F6;
  transition: all 0.25s ease;
  animation: vendaExploreBounce 2.4s ease-in-out infinite;
}

.venda-explore-link:hover .venda-explore-dash-circle {
  border-color: #0052FF;
  color: #0052FF;
  transform: translateY(3px) scale(1.08);
}

@keyframes vendaExploreBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}

@media (max-width: 1024px) {
  .venda-carousel-card {
    width: 350px;
    height: 233px;
  }
  .venda-carousel-stage-container {
    min-height: 340px;
  }
  .venda-carousel-arc-stage {
    height: 300px;
  }
  .venda-black-bar-track {
    width: 180px;
  }
}

@media (max-width: 767px) {
  .venda-carousel-card {
    width: min(calc(100vw - 32px), 440px) !important;
    aspect-ratio: 16 / 10.5 !important;
    height: auto !important;
    border-radius: 16px !important;
  }
  .venda-card-heading {
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
  }
  .venda-card-info {
    padding: 16px 20px !important;
  }
  .venda-carousel-stage-container {
    min-height: 330px !important;
    perspective: 900px !important;
  }
  .venda-carousel-arc-stage {
    height: 280px !important;
  }
  .venda-black-bar-track {
    width: 160px !important;
  }
}

/* Remove background on View Project buttons across all loop cards and portfolio grids */
.e-loop-item .elementor-button,
.elementor-element-429e9ea .elementor-button,
.elementor-987959 .elementor-element-429e9ea .elementor-button,
.elementor-widget-loop-grid .elementor-button,
.e-loop-item .elementor-widget-button .elementor-button {
  background-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.e-loop-item .elementor-button:hover,
.elementor-element-429e9ea .elementor-button:hover,
.elementor-987959 .elementor-element-429e9ea .elementor-button:hover,
.elementor-widget-loop-grid .elementor-button:hover,
.e-loop-item .elementor-widget-button .elementor-button:hover {
  background-color: transparent !important;
  background: transparent !important;
  color: #0052FF !important;
}

.e-loop-item .elementor-button:hover .elementor-button-icon,
.elementor-element-429e9ea .elementor-button:hover .elementor-button-icon {
  transform: translateX(4px);
  transition: transform 0.2s ease;
}

/* Google Calendar Appointment Button - Venda Brand Blue */
.calendar-scheduling-button,
button.calendar-scheduling-button,
.qxCTlb,
button.qxCTlb,
button[class*="qxCTlb"],
[data-elementor-type="header"] .calendar-scheduling-button,
.elementor-element-36d87d7 .calendar-scheduling-button,
.elementor-element-36d87d7 button,
.elementor-element-6341da4 button,
.elementor-element-01dd2f7 button,
.elementor-element-31e6748 button,
.elementor-element-2dee6ac button {
  background-color: #0052FF !important;
  background: #0052FF !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  border: none !important;
  font-weight: 600 !important;
  transition: all 0.25s ease !important;
}

.calendar-scheduling-button:hover,
button.calendar-scheduling-button:hover,
.qxCTlb:hover,
button.qxCTlb:hover,
button[class*="qxCTlb"]:hover,
[data-elementor-type="header"] .calendar-scheduling-button:hover,
.elementor-element-36d87d7 .calendar-scheduling-button:hover,
.elementor-element-36d87d7 button:hover,
.elementor-element-6341da4 button:hover,
.elementor-element-01dd2f7 button:hover,
.elementor-element-31e6748 button:hover,
.elementor-element-2dee6ac button:hover {
  background-color: #0040CC !important;
  background: #0040CC !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 16px rgba(0, 82, 255, 0.4) !important;
  transform: translateY(-1px);
}

/* Book a discovery call in mega menu */
.elementor-element-95c7414 .elementor-button {
  background-color: #0052FF !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
}
.elementor-element-95c7414 .elementor-button:hover {
  background-color: #0040CC !important;
  box-shadow: 0 4px 16px rgba(0, 82, 255, 0.35) !important;
}

/* Mega Menu Icon Boxes - Flat Normal Size Icons, NO Backgrounds */
.e-n-menu-content .elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-n-menu .elementor-widget-icon-box .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.e-n-menu-content .elementor-widget-icon-box .elementor-icon-box-icon,
.elementor-widget-n-menu .elementor-widget-icon-box .elementor-icon-box-icon {
  margin: 0 !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.e-n-menu-content .elementor-widget-icon-box .elementor-icon,
.elementor-widget-n-menu .elementor-widget-icon-box .elementor-icon,
.elementor-widget-icon-box.elementor-view-stacked .elementor-icon {
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  color: #0052FF !important;
  fill: #0052FF !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.e-n-menu-content .elementor-widget-icon-box .elementor-icon svg,
.elementor-widget-n-menu .elementor-widget-icon-box .elementor-icon svg,
.elementor-widget-icon-box.elementor-view-stacked .elementor-icon svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  fill: #0052FF !important;
  color: #0052FF !important;
  transition: transform 0.2s ease !important;
}

.e-n-menu-content .elementor-widget-icon-box:hover .elementor-icon svg,
.elementor-widget-n-menu .elementor-widget-icon-box:hover .elementor-icon svg {
  transform: scale(1.15) !important;
}

.e-n-menu-content .elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-n-menu .elementor-widget-icon-box .elementor-icon-box-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-n-menu-content .elementor-widget-icon-box .elementor-icon-box-title a,
.elementor-widget-n-menu .elementor-widget-icon-box .elementor-icon-box-title a {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0F172A !important;
  transition: color 0.2s ease !important;
  text-decoration: none !important;
}

.e-n-menu-content .elementor-widget-icon-box:hover .elementor-icon-box-title a,
.elementor-widget-n-menu .elementor-widget-icon-box:hover .elementor-icon-box-title a {
  color: #0052FF !important;
}

.elementor-widget-mega-menu .elementor-widget-icon-box:hover .elementor-icon svg {
  fill: #FFFFFF !important;
  color: #FFFFFF !important;
}

.elementor-widget-mega-menu .elementor-widget-icon-box .elementor-icon-box-title a {
  font-weight: 500 !important;
  color: #0F172A !important;
  transition: color 0.2s ease !important;
}

.elementor-widget-mega-menu .elementor-widget-icon-box:hover .elementor-icon-box-title a {
  color: #0052FF !important;
}

/* Flat icons for dropdown navigation menus (Industries, About, Resources) */
.e-n-menu-content .elementor-nav-menu .menu-item a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  font-weight: 500 !important;
}

.e-n-menu-content .elementor-nav-menu .menu-item a:hover {
  background: rgba(0, 82, 255, 0.06) !important;
  color: #0052FF !important;
}

.e-n-menu-content .elementor-nav-menu .menu-item a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.82;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.e-n-menu-content .elementor-nav-menu .menu-item a:hover::before {
  opacity: 1;
  transform: scale(1.15);
}

/* Industries flat icons */
.e-n-menu-content a[href*="e-commerce"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'%3E%3C/path%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="education"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10v6M2 10l10-5 10 5-10 5z'%3E%3C/path%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'%3E%3C/path%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="events"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="finance"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'%3E%3C/line%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'%3E%3C/path%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="healthcare"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'%3E%3C/path%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="logistics"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'%3E%3C/rect%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'%3E%3C/polygon%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'%3E%3C/circle%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'%3E%3C/circle%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="ngos"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'%3E%3C/path%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="real-estate"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'%3E%3C/path%3E%3Cpolyline points='9 22 9 12 15 12 15 22'%3E%3C/polyline%3E%3C/svg%3E");
}

/* About flat icons */
.e-n-menu-content a[href*="web-designers-in-nairobi"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='9' cy='7' r='4'%3E%3C/circle%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'%3E%3C/path%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'%3E%3C/path%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="our-process"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'%3E%3C/polyline%3E%3Cpolyline points='8 6 2 12 8 18'%3E%3C/polyline%3E%3C/svg%3E");
}

/* Resources flat icons */
.e-n-menu-content a[href*="backend-access"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'%3E%3C/path%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'%3E%3C/path%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="guide"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'%3E%3C/polygon%3E%3C/svg%3E");
}
.e-n-menu-content a[href*="faq"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230052FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'%3E%3C/path%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E");
}

/* ==========================================================================
   Our Services Accordion Section (Harmonized with Venda Design System)
   ========================================================================== */
/* Align Services container identically to Portfolio (250c1c6) and header */
.elementor-22 .elementor-element.elementor-element-v7s0c01,
.elementor-element.elementor-element-v7s0c01 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --margin-top: 0%;
  --margin-bottom: 5%;
  --margin-left: 0%;
  --margin-right: 0%;
  --padding-top: 3%;
  --padding-bottom: 3%;
  --padding-left: 0%;
  --padding-right: 0%;
  width: 100% !important;
  box-sizing: border-box !important;
}

.elementor-element-v7s0c01 > .e-con-inner {
  max-width: var(--container-max-width, 1400px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.elementor-element-v7s0c01,
.elementor-element-v7s0w01,
.elementor-element-v7s0w01 > .elementor-widget-container,
.venda-services-section {
  position: relative;
  background-color: transparent;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-family: inherit;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.venda-services-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: minmax(280px, 34%) 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start !important;
  box-sizing: border-box;
  position: relative !important;
}

/* Left Column: Fixed / Sticky strictly on desktop (>1024px); strictly static / unfixed on mobile and tablet */
.venda-services-left {
  position: static !important;
  top: auto !important;
  align-self: auto !important;
  height: auto !important;
  padding-right: 0 !important;
  z-index: auto !important;
}

@media (min-width: 1025px) {
  .venda-services-left {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 120px !important;
    align-self: start !important;
    height: fit-content !important;
    padding-right: 12px !important;
    z-index: 10 !important;
  }
}

.venda-services-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #64748B !important;
  margin-bottom: 12px !important;
}

.venda-services-eyebrow svg {
  color: #0052FF;
  flex-shrink: 0;
}

.venda-services-heading {
  font-family: var(--e-global-typography-vamtam_h2-font-family, inherit) !important;
  font-size: var(--e-global-typography-vamtam_h2-font-size, 46px) !important;
  font-weight: var(--e-global-typography-vamtam_h2-font-weight, 400) !important;
  line-height: var(--e-global-typography-vamtam_h2-line-height, 1em) !important;
  letter-spacing: -0.5px !important;
  color: var(--e-global-color-vamtam_accent_6, #000000) !important;
  text-transform: none !important;
  margin: 0 0 16px 0 !important;
}

@media (max-width: 1024px) {
  .venda-services-heading {
    font-size: 30px !important;
  }
}
@media (max-width: 767px) {
  .venda-services-heading {
    font-size: 23px !important;
  }
}

.venda-services-intro {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #64748B !important;
  margin: 0 !important;
  max-width: 380px !important;
  font-weight: 400 !important;
}

/* Right Column */
.venda-services-right {
  display: flex;
  flex-direction: column;
}

.venda-service-item {
  border-top: 1px solid #E2E8F0;
  background: transparent !important;
  transition: border-color 0.25s ease;
}

.venda-service-item:last-child {
  border-bottom: 1px solid #E2E8F0;
}

/* Header row - strictly transparent, NO blue button styling */
.venda-services-section button.venda-service-header,
.venda-service-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 22px 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

.venda-service-title-group {
  display: flex;
  align-items: baseline;
  gap: clamp(16px, 3vw, 32px);
}

.venda-service-num {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #94A3B8 !important;
  letter-spacing: 0.04em !important;
  min-width: 24px !important;
  transition: color 0.2s ease;
}

.venda-service-item.is-active .venda-service-num {
  color: #0052FF !important;
}

.venda-service-title {
  font-family: var(--e-global-typography-vamtam_h4-font-family, inherit) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.2px !important;
  color: var(--e-global-color-vamtam_accent_6, #000000) !important;
  text-transform: none !important;
  transition: color 0.2s ease !important;
}

.venda-service-header:hover .venda-service-title {
  color: #0052FF !important;
}

.venda-service-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1;
  color: #64748B;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease;
  user-select: none;
}

.venda-service-header:hover .venda-service-toggle {
  color: #0052FF;
}

.venda-service-item.is-active .venda-service-toggle {
  transform: rotate(45deg);
  color: #0F172A;
}

/* Expandable content using grid template rows */
.venda-service-collapse {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
  opacity: 0;
  overflow: hidden;
}

.venda-service-item.is-active .venda-service-collapse {
  grid-template-rows: 1fr;
  opacity: 1;
}

.venda-service-content {
  overflow: hidden;
  padding-bottom: 32px;
  padding-left: clamp(44px, 5.5vw, 64px);
}

.venda-service-desc {
  font-size: 0.95rem;
  line-height: 1.68;
  color: #64748B;
  max-width: 660px;
  margin: 0 0 20px 0;
  font-weight: 400;
}

/* Badges / Pill tags */
.venda-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.venda-tag-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid #E2E8F0;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  color: #334155 !important;
  background: #F8FAFC;
  text-decoration: none !important;
  transition: all 0.2s ease;
  cursor: pointer;
}

.venda-tag-pill:hover {
  border-color: #0052FF !important;
  color: #0052FF !important;
  background: #EFF6FF !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 82, 255, 0.12);
}

/* CTA Learn More Button */
.venda-service-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0F172A;
  color: #FFFFFF !important;
  padding: 9px 20px;
  border-radius: 999px;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: all 0.22s ease;
  width: fit-content;
}

.venda-service-btn svg {
  transition: transform 0.22s ease;
}

.venda-service-btn:hover {
  background: #0052FF !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0, 82, 255, 0.25);
}

.venda-service-btn:hover svg {
  transform: translateX(4px);
}

/* Responsive: Services on Mobile & Tablet */
@media (max-width: 1024px) {
  .elementor-element-v7s0c01 > .e-con-inner {
    padding-inline-start: max(var(--venda-gutter, 24px), 24px) !important;
    padding-inline-end: max(var(--venda-gutter, 24px), 24px) !important;
  }
  .venda-services-container {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 0 !important;
  }
  .venda-services-left {
    position: static !important;
    top: auto !important;
    height: auto !important;
    align-self: stretch !important;
    padding-right: 0 !important;
    margin-bottom: 8px !important;
    z-index: auto !important;
  }
  .venda-services-intro {
    max-width: 100% !important;
  }
}

@media (max-width: 900px) {
  .venda-services-container {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 0 !important;
  }
  .venda-services-left {
    position: static !important;
    top: auto !important;
    height: auto !important;
    align-self: stretch !important;
    padding-right: 0 !important;
    margin-bottom: 8px !important;
    z-index: auto !important;
  }
  .venda-service-content {
    padding-left: 0 !important;
  }
  .venda-service-title-group {
    gap: 16px !important;
  }
}

@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-v7s0c01,
  .elementor-element.elementor-element-v7s0c01 {
    --padding-top: 0%;
    --padding-bottom: 0%;
    --padding-left: 4%;
    --padding-right: 4%;
  }
  .elementor-element-v7s0c01 > .e-con-inner {
    padding-inline-start: 16px !important;
    padding-inline-end: 16px !important;
  }
}

@media (max-width: 640px) {
  .venda-services-section {
    padding: 10px 0 50px 0;
  }
  .venda-service-header {
    padding: 20px 0 !important;
  }
  .venda-service-num {
    font-size: 0.9rem;
    min-width: 20px;
  }
  .venda-service-title {
    font-size: 1.3rem !important;
  }
  .venda-service-toggle {
    font-size: 1.5rem;
  }
}

/* ==========================================================================
   Trustindex Testimonials Carousel - One Card at a Time on Mobile + Google Icon
   ========================================================================== */
.ti-widget .ti-footer .ti-profile-img img {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/%3E%3Cpath fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/%3E%3C/svg%3E") !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  padding: 4px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  display: block !important;
}

@media (max-width: 767px) {
  .ti-widget .ti-widget-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
  }

  .ti-widget .ti-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
  }

  .ti-widget .ti-footer .ti-row {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .ti-widget .ti-reviews-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .ti-widget .ti-reviews-container-wrapper {
    display: flex !important;
    width: 100% !important;
    gap: 0 !important;
  }

  .ti-widget .ti-review-item {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ti-widget .ti-inner {
    border-radius: 16px !important;
    padding: 22px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .ti-widget .ti-controls {
    display: flex !important;
    justify-content: space-between !important;
    position: absolute !important;
    top: 50% !important;
    left: -4px !important;
    right: -4px !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
  }

  .ti-widget .ti-next,
  .ti-widget .ti-prev {
    pointer-events: auto !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    backdrop-filter: blur(4px) !important;
  }
}

/* Loop template 987959 styles */
.elementor-987959 .elementor-element.elementor-element-f135336 {
  --display: flex;
  --background-transition: 0.3s;
  border-style: solid;
  --border-style: solid;
  border-width: 1px 1px 1px 1px;
  --border-top-width: 1px;
  --border-right-width: 1px;
  --border-bottom-width: 1px;
  --border-left-width: 1px;
  border-color: #DBDBDBCC;
  --border-color: #DBDBDBCC;
  border-radius: 4px 4px 4px 4px;
  --padding-top: 20px;
  --padding-bottom: 20px;
  --padding-left: 20px;
  --padding-right: 20px;
}
.elementor-987959 .elementor-element.elementor-element-f135336:hover {
  background-color: var(--e-global-color-vamtam_accent_4);
}
.elementor-987959 .elementor-element.elementor-element-f135336.e-con:hover {
  --e-con-transform-scale: 1.01;
}
.elementor-987959 .elementor-element.elementor-element-ba633a7 .elementor-heading-title {
  font-size: 20px;
}
.elementor-987959 .elementor-element.elementor-element-429e9ea .elementor-button {
  background-color: transparent;
  fill: var(--e-global-color-vamtam_accent_3);
  color: var(--e-global-color-vamtam_accent_3);
  border-style: none;
}
.elementor-987959 .elementor-element.elementor-element-429e9ea > .elementor-widget-container {
  border-style: none;
}
.elementor-987959 .elementor-element.elementor-element-429e9ea .elementor-button-content-wrapper {
  flex-direction: row;
}

/* ==========================================================================
   Industry Pages - Dark Hero Section
   Uses Venda's signature dark navy (#171D2E) for the hero section background
   ========================================================================== */

/* Subpages Hero Containers */
.elementor-40 .elementor-element.elementor-element-5e563f66,
.elementor-42 .elementor-element.elementor-element-379909a,
.elementor-44 .elementor-element.elementor-element-31d1f0ae,
.elementor-46 .elementor-element.elementor-element-73ec2561,
.elementor-48 .elementor-element.elementor-element-30452460,
.elementor-50 .elementor-element.elementor-element-53222038,
.elementor-52 .elementor-element.elementor-element-1060094b,
.elementor-54 .elementor-element.elementor-element-5407f399,
body.parent-pageid-38 .elementor > .e-parent > .e-child:nth-child(2),
body.parent-pageid-3 .elementor > .e-parent > .e-child:nth-child(2),
body.elementor-page-5989 .elementor > .e-parent > .e-child:nth-child(2) {
  background-color: var(--e-global-color-vamtam_accent_3, #171D2E) !important;
  background-image: none !important;
  border-radius: 0 0 24px 24px !important;
  overflow: visible !important;
}

/* Remove the washed-out black/grey overlay on industry subpage heroes */
.elementor-40 .elementor-element.elementor-element-5e563f66::before,
.elementor-42 .elementor-element.elementor-element-379909a::before,
.elementor-44 .elementor-element.elementor-element-31d1f0ae::before,
.elementor-46 .elementor-element.elementor-element-73ec2561::before,
.elementor-48 .elementor-element.elementor-element-30452460::before,
.elementor-50 .elementor-element.elementor-element-53222038::before,
.elementor-52 .elementor-element.elementor-element-1060094b::before,
.elementor-54 .elementor-element.elementor-element-5407f399::before,
body.parent-pageid-38 .elementor > .e-parent > .e-child:nth-child(2)::before,
body.parent-pageid-3 .elementor > .e-parent > .e-child:nth-child(2)::before,
body.elementor-page-5989 .elementor > .e-parent > .e-child:nth-child(2)::before,
body.parent-pageid-38 .elementor > .e-parent > .e-child:nth-child(2) > .elementor-motion-effects-container > .elementor-motion-effects-layer::before,
body.parent-pageid-3 .elementor > .e-parent > .e-child:nth-child(2) > .elementor-motion-effects-container > .elementor-motion-effects-layer::before,
body.elementor-page-5989 .elementor > .e-parent > .e-child:nth-child(2) > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
  display: none !important;
  background: transparent !important;
  opacity: 0 !important;
}

/* Typography & Content inside Industry subpage heroes */
.elementor-40 .elementor-element.elementor-element-5e563f66 .elementor-heading-title,
.elementor-42 .elementor-element.elementor-element-379909a .elementor-heading-title,
.elementor-44 .elementor-element.elementor-element-31d1f0ae .elementor-heading-title,
.elementor-46 .elementor-element.elementor-element-73ec2561 .elementor-heading-title,
.elementor-48 .elementor-element.elementor-element-30452460 .elementor-heading-title,
.elementor-50 .elementor-element.elementor-element-53222038 .elementor-heading-title,
.elementor-52 .elementor-element.elementor-element-1060094b .elementor-heading-title,
.elementor-54 .elementor-element.elementor-element-5407f399 .elementor-heading-title,
body.parent-pageid-38 .elementor > .e-parent > .e-child:nth-child(2) .elementor-heading-title,
body.parent-pageid-3 .elementor > .e-parent > .e-child:nth-child(2) .elementor-heading-title,
body.elementor-page-5989 .elementor > .e-parent > .e-child:nth-child(2) .elementor-heading-title {
  color: #FFFFFF !important;
}

.elementor-40 .elementor-element.elementor-element-5e563f66 .elementor-widget-theme-post-excerpt,
.elementor-42 .elementor-element.elementor-element-379909a .elementor-widget-theme-post-excerpt,
.elementor-44 .elementor-element.elementor-element-31d1f0ae .elementor-widget-theme-post-excerpt,
.elementor-46 .elementor-element.elementor-element-73ec2561 .elementor-widget-theme-post-excerpt,
.elementor-48 .elementor-element.elementor-element-30452460 .elementor-widget-theme-post-excerpt,
.elementor-50 .elementor-element.elementor-element-53222038 .elementor-widget-theme-post-excerpt,
.elementor-52 .elementor-element.elementor-element-1060094b .elementor-widget-theme-post-excerpt,
.elementor-54 .elementor-element.elementor-element-5407f399 .elementor-widget-theme-post-excerpt,
body.parent-pageid-38 .elementor > .e-parent > .e-child:nth-child(2) .elementor-widget-theme-post-excerpt,
body.parent-pageid-3 .elementor > .e-parent > .e-child:nth-child(2) .elementor-widget-theme-post-excerpt,
body.elementor-page-5989 .elementor > .e-parent > .e-child:nth-child(2) .elementor-widget-theme-post-excerpt {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Industries Hub Page (/web-design-for-industries) Hero */
.elementor-38 .elementor-element.elementor-element-6eae162 {
  background-color: var(--e-global-color-vamtam_accent_3, #171D2E) !important;
  border-radius: 0 0 24px 24px !important;
}

.elementor-38 .elementor-element.elementor-element-6eae162 .elementor-heading-title,
.elementor-38 .elementor-element.elementor-element-6eae162 h2,
.elementor-38 .elementor-element.elementor-element-6eae162 h3 {
  color: #FFFFFF !important;
}

.elementor-38 .elementor-element.elementor-element-6eae162 .elementor-icon-box-title span {
  color: var(--e-global-color-vamtam_accent_2, #C6FF00) !important;
}

.elementor-38 .elementor-element.elementor-element-6eae162 p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* ==========================================================================
   Industries Hub Page (/web-design-for-industries) Cards Redesign
   Light Backgrounds, Modern Structured Hierarchy, Premium Aesthetics
   ========================================================================== */

/* Grid container alignment and spacing */
.elementor-38 .elementor-element.elementor-element-2ffb700,
.elementor-38 .elementor-widget-loop-grid {
  margin-top: 20px !important;
  margin-bottom: 40px !important;
}

.elementor-38 .elementor-element.elementor-element-2ffb700 .elementor-grid,
.elementor-38 .elementor-element-2ffb700 .elementor-loop-container,
.elementor-38 .elementor-loop-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

@media (max-width: 1024px) {
  .elementor-38 .elementor-element.elementor-element-2ffb700 .elementor-grid,
  .elementor-38 .elementor-element-2ffb700 .elementor-loop-container,
  .elementor-38 .elementor-loop-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

@media (max-width: 640px) {
  .elementor-38 .elementor-element.elementor-element-2ffb700 .elementor-grid,
  .elementor-38 .elementor-element-2ffb700 .elementor-loop-container,
  .elementor-38 .elementor-loop-container {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* Loop Item Outer Container */
.elementor-38 .e-loop-item,
.elementor-38 .elementor-element-2ffb700 .e-loop-item,
.elementor-682 {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: transparent !important;
  border: none !important;
}

/* Inner Card Container (id 961e959) */
.elementor-38 .e-loop-item .elementor-element.elementor-element-961e959,
.elementor-682 .elementor-element.elementor-element-961e959,
.elementor-38 .elementor-element-2ffb700 .elementor-element-961e959 {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 350px !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 18px !important;
  padding: 36px 32px 32px 32px !important;
  box-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.03), 0 10px 24px -4px rgba(15, 23, 42, 0.05) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 1 !important;
}

/* Top subtle brand accent line */
.elementor-38 .e-loop-item .elementor-element.elementor-element-961e959::before,
.elementor-682 .elementor-element.elementor-element-961e959::before,
.elementor-38 .elementor-element-2ffb700 .elementor-element-961e959::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #0052FF 0%, #3B82F6 100%) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 2 !important;
}

/* Remove all dark video/slideshow/background overlays */
.elementor-682 .elementor-element.elementor-element-961e959 > .elementor-background-video-container::before,
.elementor-682 .elementor-element.elementor-element-961e959 > .e-con-inner > .elementor-background-video-container::before,
.elementor-682 .elementor-element.elementor-element-961e959 > .elementor-background-slideshow::before,
.elementor-682 .elementor-element.elementor-element-961e959 > .e-con-inner > .elementor-background-slideshow::before,
.elementor-682 .elementor-element.elementor-element-961e959 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before,
.elementor-682 .elementor-background-overlay {
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

/* Card Hover State: physical lift, radiant border, top accent highlight */
.elementor-38 .e-loop-item:hover .elementor-element.elementor-element-961e959,
.elementor-682 .elementor-element.elementor-element-961e959:hover,
.elementor-38 .elementor-element-2ffb700 .e-loop-item:hover .elementor-element-961e959 {
  transform: translateY(-6px) !important;
  border-color: rgba(0, 82, 255, 0.32) !important;
  box-shadow: 0 20px 35px -8px rgba(0, 82, 255, 0.12), 0 8px 16px -4px rgba(15, 23, 42, 0.05), 0 0 0 1px rgba(0, 82, 255, 0.15) !important;
  background-color: #FFFFFF !important;
}

.elementor-38 .e-loop-item:hover .elementor-element.elementor-element-961e959::before,
.elementor-682 .elementor-element.elementor-element-961e959:hover::before,
.elementor-38 .elementor-element-2ffb700 .e-loop-item:hover .elementor-element-961e959::before {
  opacity: 1 !important;
}

/* Remove 50px blank spacer widget so title sits cleanly at top */
.elementor-682 .elementor-element.elementor-element-d256d19,
.elementor-38 .elementor-element-d256d19 {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card Industry Title */
.elementor-682 .elementor-element.elementor-element-d1484e6,
.elementor-38 .elementor-element-d1484e6 {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.elementor-682 .elementor-element.elementor-element-d1484e6 .elementor-heading-title,
.elementor-682 .elementor-element.elementor-element-d1484e6 h4,
.elementor-682 .elementor-element.elementor-element-d1484e6 h3,
.elementor-682 .elementor-element.elementor-element-d1484e6 a,
.elementor-38 .elementor-element-d1484e6 .elementor-heading-title,
.elementor-38 .elementor-element-d1484e6 a {
  font-family: inherit !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.02em !important;
  color: #0F172A !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.elementor-38 .e-loop-item:hover .elementor-element-d1484e6 .elementor-heading-title,
.elementor-38 .e-loop-item:hover .elementor-element-d1484e6 a,
.elementor-682 .elementor-element-d1484e6 .elementor-heading-title:hover {
  color: #0052FF !important;
}

/* Card Excerpt / Description */
.elementor-682 .elementor-element.elementor-element-f080ffa,
.elementor-38 .elementor-element-f080ffa {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex: 1 1 auto !important;
  margin: 0 0 28px 0 !important;
  transform: none !important;
}

.elementor-682 .elementor-element.elementor-element-f080ffa .elementor-widget-container,
.elementor-682 .elementor-element.elementor-element-f080ffa p,
.elementor-38 .elementor-element-f080ffa .elementor-widget-container,
.elementor-38 .elementor-element-f080ffa p {
  font-family: inherit !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  font-weight: 400 !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Card CTA Button ("See how we can help") */
.elementor-682 .elementor-element.elementor-element-0b99a5a,
.elementor-38 .elementor-element-0b99a5a {
  margin-top: auto !important;
  align-self: flex-start !important;
  padding: 0 !important;
}

.elementor-682 .elementor-element.elementor-element-0b99a5a .elementor-button,
.elementor-38 .elementor-element-0b99a5a .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: #F1F5F9 !important;
  color: #0052FF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 9999px !important;
  padding: 10px 20px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-682 .elementor-element.elementor-element-0b99a5a .elementor-button-content-wrapper,
.elementor-38 .elementor-element-0b99a5a .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-direction: row !important;
}

.elementor-682 .elementor-element.elementor-element-0b99a5a .elementor-button-icon,
.elementor-38 .elementor-element-0b99a5a .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 11px !important;
  color: #0052FF !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
}

.elementor-682 .elementor-element.elementor-element-0b99a5a .elementor-button-icon i,
.elementor-682 .elementor-element.elementor-element-0b99a5a .elementor-button-icon svg,
.elementor-38 .elementor-element-0b99a5a .elementor-button-icon i,
.elementor-38 .elementor-element-0b99a5a .elementor-button-icon svg {
  fill: currentColor !important;
  color: currentColor !important;
}

/* Button on Card Hover or Button Hover */
.elementor-38 .e-loop-item:hover .elementor-element-0b99a5a .elementor-button,
.elementor-682 .elementor-element.elementor-element-0b99a5a .elementor-button:hover,
.elementor-38 .elementor-element-0b99a5a .elementor-button:hover {
  background-color: #0052FF !important;
  color: #FFFFFF !important;
  border-color: #0052FF !important;
  box-shadow: 0 4px 14px rgba(0, 82, 255, 0.3) !important;
}

.elementor-38 .e-loop-item:hover .elementor-element-0b99a5a .elementor-button-icon,
.elementor-682 .elementor-element.elementor-element-0b99a5a .elementor-button:hover .elementor-button-icon,
.elementor-38 .elementor-element-0b99a5a .elementor-button:hover .elementor-button-icon {
  color: #FFFFFF !important;
  transform: translateX(4px) !important;
}

@media (max-width: 1024px) {
  .elementor-38 .e-loop-item .elementor-element.elementor-element-961e959,
  .elementor-682 .elementor-element.elementor-element-961e959 {
    padding: 30px 26px 26px 26px !important;
    min-height: 320px !important;
  }
}

@media (max-width: 640px) {
  .elementor-38 .e-loop-item .elementor-element.elementor-element-961e959,
  .elementor-682 .elementor-element.elementor-element-961e959 {
    padding: 26px 22px 22px 22px !important;
    min-height: auto !important;
  }
}

/* Primary "Book a discovery call" button in industry heroes */
.elementor-40 .elementor-element.elementor-element-5e563f66 a[href*="book-a-discovery-call"].elementor-button,
.elementor-42 .elementor-element.elementor-element-379909a a[href*="book-a-discovery-call"].elementor-button,
.elementor-44 .elementor-element.elementor-element-31d1f0ae a[href*="book-a-discovery-call"].elementor-button,
.elementor-46 .elementor-element.elementor-element-73ec2561 a[href*="book-a-discovery-call"].elementor-button,
.elementor-48 .elementor-element.elementor-element-30452460 a[href*="book-a-discovery-call"].elementor-button,
.elementor-50 .elementor-element.elementor-element-53222038 a[href*="book-a-discovery-call"].elementor-button,
.elementor-52 .elementor-element.elementor-element-1060094b a[href*="book-a-discovery-call"].elementor-button,
.elementor-54 .elementor-element.elementor-element-5407f399 a[href*="book-a-discovery-call"].elementor-button,
body.parent-pageid-38 .elementor > .e-parent > .e-child:nth-child(2) a[href*="book-a-discovery-call"].elementor-button {
  background-color: var(--e-global-color-vamtam_accent_1, #0052FF) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(0, 82, 255, 0.35) !important;
  transition: all 0.25s ease !important;
}

.elementor-40 .elementor-element.elementor-element-5e563f66 a[href*="book-a-discovery-call"].elementor-button:hover,
.elementor-42 .elementor-element.elementor-element-379909a a[href*="book-a-discovery-call"].elementor-button:hover,
.elementor-44 .elementor-element.elementor-element-31d1f0ae a[href*="book-a-discovery-call"].elementor-button:hover,
.elementor-46 .elementor-element.elementor-element-73ec2561 a[href*="book-a-discovery-call"].elementor-button:hover,
.elementor-48 .elementor-element.elementor-element-30452460 a[href*="book-a-discovery-call"].elementor-button:hover,
.elementor-50 .elementor-element.elementor-element-53222038 a[href*="book-a-discovery-call"].elementor-button:hover,
.elementor-52 .elementor-element.elementor-element-1060094b a[href*="book-a-discovery-call"].elementor-button:hover,
.elementor-54 .elementor-element.elementor-element-5407f399 a[href*="book-a-discovery-call"].elementor-button:hover,
body.parent-pageid-38 .elementor > .e-parent > .e-child:nth-child(2) a[href*="book-a-discovery-call"].elementor-button:hover {
  background-color: #0040cc !important;
  transform: translateY(-2px);
}

/* ==========================================================================
   Book An Appointment Native CTA Button & Lead Collection Modal
   ========================================================================== */
.venda-book-cta-wrapper {
  display: inline-flex;
  align-items: center;
}

.venda-book-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--e-global-color-vamtam_accent_1, #0052FF) !important;
  color: #FFFFFF !important;
  font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding: 12px 24px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 82, 255, 0.35) !important;
  transition: all 0.25s ease-in-out !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.venda-book-cta-btn:hover {
  background-color: #0040cc !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 20px rgba(0, 82, 255, 0.5) !important;
  transform: translateY(-2px) !important;
}

/* Modal styling */
.venda-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 15, 30, 0.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.venda-modal-backdrop.is-active {
  opacity: 1;
  visibility: visible;
}

.venda-modal-card {
  background: #FFFFFF;
  color: #171D2E;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  max-width: 580px;
  width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25), 0 0 40px rgba(0, 0, 0, 0.06);
  transform: scale(0.95) translateY(10px);
  transition: transform 0.25s ease;
  position: relative;
  padding: 36px 32px;
  box-sizing: border-box;
}

.venda-modal-backdrop.is-active .venda-modal-card {
  transform: scale(1) translateY(0);
}

.venda-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  color: #171D2E;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  transition: all 0.2s ease;
}

.venda-modal-close:hover {
  background: rgba(0, 0, 0, 0.12);
  transform: rotate(90deg);
}

.venda-modal-header {
  text-align: center;
  margin-bottom: 24px;
}

.venda-modal-phone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #171D2E;
  margin-bottom: 10px;
}

.venda-modal-phone-icon svg {
  width: 38px;
  height: 38px;
  stroke: #171D2E;
  fill: none;
}

.venda-modal-title {
  font-size: 26px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: #171D2E;
  letter-spacing: -0.01em;
}

.venda-modal-sub {
  font-size: 14.5px;
  color: #667085;
  margin: 0 auto;
  max-width: 460px;
  line-height: 1.5;
}

.venda-modal-row {
  display: flex;
  gap: 16px;
  margin-bottom: 14px;
}

.venda-modal-col-50 {
  flex: 1;
  min-width: 0;
}

.venda-modal-col-100 {
  width: 100%;
  margin-bottom: 14px;
}

.venda-modal-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #475467;
  margin-bottom: 6px;
}

.venda-modal-input,
.venda-modal-select,
.venda-modal-textarea {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #D0D5DD;
  border-radius: 8px;
  padding: 11px 14px;
  color: #171D2E;
  font-family: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.venda-modal-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  padding-right: 36px;
  cursor: pointer;
}

.venda-modal-input:focus,
.venda-modal-select:focus,
.venda-modal-textarea:focus {
  border-color: #0052FF;
  box-shadow: 0 0 0 3px rgba(0, 82, 255, 0.12);
}

.venda-modal-disclaimer {
  font-size: 12.5px;
  color: #667085;
  line-height: 1.5;
  margin: 12px 0 20px 0;
}

.venda-modal-disclaimer a {
  color: #0052FF;
  text-decoration: underline;
}

.venda-modal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: #171D2E;
  color: #FFFFFF;
  border: none;
  padding: 14px 28px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(23, 29, 46, 0.15);
}

.venda-modal-btn:hover {
  background-color: #0052FF;
  box-shadow: 0 6px 20px rgba(0, 82, 255, 0.35);
  transform: translateY(-1px);
}

.venda-modal-btn svg {
  margin-left: 4px;
}

.venda-modal-success {
  padding: 24px;
  text-align: center;
  background: rgba(0, 200, 83, 0.08);
  border: 1px solid rgba(0, 200, 83, 0.3);
  border-radius: 14px;
  margin-top: 14px;
}

@media (max-width: 600px) {
  .venda-modal-row {
    flex-direction: column;
    gap: 14px;
  }
  .venda-modal-card {
    padding: 28px 20px;
  }
}

/* ==========================================================================
   Exact Contact Page Form Card for Book a Discovery Call Page (Document 215)
   ========================================================================== */
.elementor-215 .elementor-element-22ebf3f,
.elementor-215 .elementor-element-f1d589c,
.elementor-215 [data-id="22ebf3f"],
.elementor-215 [data-id="f1d589c"] {
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  border-radius: 20px !important;
  padding: 40px !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12) !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 5 !important;
}

.elementor-215 .elementor-element-eb39eed,
.elementor-215 .elementor-element-eb39eed .elementor-icon-wrapper,
.elementor-215 [data-id="eb39eed"] {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 6px !important;
}

.elementor-215 .elementor-element-eb39eed .elementor-icon,
.elementor-215 [data-id="eb39eed"] .elementor-icon {
  font-size: 38px !important;
  color: #171D2E !important;
}

.elementor-215 .elementor-element-eb39eed .elementor-icon svg,
.elementor-215 [data-id="eb39eed"] .elementor-icon svg {
  width: 38px !important;
  height: 38px !important;
  fill: #171D2E !important;
  stroke: #171D2E !important;
}

.elementor-215 .elementor-element-20a5cea,
.elementor-215 .elementor-element-20a5cea .elementor-heading-title,
.elementor-215 [data-id="20a5cea"],
.elementor-215 [data-id="20a5cea"] .elementor-heading-title {
  text-align: center !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  color: #171D2E !important;
  margin: 0 0 8px 0 !important;
}

.elementor-215 .elementor-element-88b5fa7,
.elementor-215 .elementor-element-88b5fa7 p,
.elementor-215 [data-id="88b5fa7"],
.elementor-215 [data-id="88b5fa7"] p {
  text-align: center !important;
  font-size: 15px !important;
  color: #64748B !important;
  line-height: 1.5 !important;
  margin: 0 auto 24px auto !important;
  max-width: 440px !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-form-fields-wrapper,
.elementor-215 [data-id="0334f32"] .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -7.5px !important;
  margin-right: -7.5px !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-field-group,
.elementor-215 [data-id="0334f32"] .elementor-field-group {
  padding-right: 7.5px !important;
  padding-left: 7.5px !important;
  margin-bottom: 16px !important;
  box-sizing: border-box !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-field-group.elementor-column-width-100,
.elementor-215 [data-id="0334f32"] .elementor-field-group.elementor-column-width-100 {
  width: 100% !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-field-group.elementor-column-width-50,
.elementor-215 [data-id="0334f32"] .elementor-field-group.elementor-column-width-50 {
  width: 50% !important;
}

@media (max-width: 640px) {
  .elementor-215 .elementor-element-0334f32 .elementor-field-group.elementor-column-width-50,
  .elementor-215 [data-id="0334f32"] .elementor-field-group.elementor-column-width-50 {
    width: 100% !important;
  }
}

.elementor-215 .elementor-element-0334f32 .elementor-field-group > label,
.elementor-215 [data-id="0334f32"] .elementor-field-group > label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #475467 !important;
  margin-bottom: 6px !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-field-group .elementor-field:not(.elementor-select-wrapper),
.elementor-215 .elementor-element-0334f32 .elementor-field-group .elementor-select-wrapper select,
.elementor-215 [data-id="0334f32"] .elementor-field-group .elementor-field:not(.elementor-select-wrapper),
.elementor-215 [data-id="0334f32"] .elementor-field-group .elementor-select-wrapper select {
  background-color: #FFFFFF !important;
  border: 1px solid #D0D5DD !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  color: #171D2E !important;
  box-sizing: border-box !important;
  outline: none !important;
  width: 100% !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-field-group .elementor-select-wrapper select,
.elementor-215 [data-id="0334f32"] .elementor-field-group .elementor-select-wrapper select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E") !important;
  background-position: right 14px center !important;
  background-repeat: no-repeat !important;
  background-size: 16px 16px !important;
  padding-right: 36px !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-field-group .elementor-field:focus,
.elementor-215 .elementor-element-0334f32 .elementor-field-group .elementor-select-wrapper select:focus,
.elementor-215 [data-id="0334f32"] .elementor-field-group .elementor-field:focus,
.elementor-215 [data-id="0334f32"] .elementor-field-group .elementor-select-wrapper select:focus {
  border-color: #0052FF !important;
  box-shadow: 0 0 0 3px rgba(0, 82, 255, 0.12) !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-button[type="submit"],
.elementor-215 [data-id="0334f32"] .elementor-button[type="submit"] {
  background-color: #171D2E !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(23, 29, 46, 0.15) !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-button[type="submit"]:hover,
.elementor-215 [data-id="0334f32"] .elementor-button[type="submit"]:hover {
  background-color: #0052FF !important;
  box-shadow: 0 6px 20px rgba(0, 82, 255, 0.35) !important;
  transform: translateY(-1px) !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-button-content-wrapper,
.elementor-215 [data-id="0334f32"] .elementor-button-content-wrapper {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-button-icon,
.elementor-215 [data-id="0334f32"] .elementor-button-icon {
  order: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.elementor-215 .elementor-element-0334f32 .elementor-button-text,
.elementor-215 [data-id="0334f32"] .elementor-button-text {
  order: 1 !important;
}

/* ==========================================================================
   Homepage Hero Section Overhaul & Responsive Architecture
   ========================================================================== */

/* 1. Main Hero Container */
.elementor-22 .elementor-element.elementor-element-6c3a20a,
.elementor-element-6c3a20a {
  margin-top: 0 !important;
  --margin-top: 0px !important;
  padding-top: clamp(40px, 6vw, 75px) !important;
  padding-bottom: clamp(30px, 4vw, 50px) !important;
  padding-left: clamp(16px, 4vw, 32px) !important;
  padding-right: clamp(16px, 4vw, 32px) !important;
  min-height: auto !important;
  --min-height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  background: radial-gradient(circle at 50% 10%, rgba(0, 82, 255, 0.035) 0%, rgba(255, 255, 255, 0) 70%) !important;
  position: relative !important;
  z-index: 1 !important;
}

.elementor-element-6c3a20a > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  max-width: 1240px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* 2. Top Pill Badge (h1: Best Web Design Agency in Kenya) */
.elementor-22 .elementor-element.elementor-element-fa7618d,
.elementor-element-fa7618d {
  display: inline-flex !important;
  justify-content: center !important;
  margin: 0 auto 18px auto !important;
  width: auto !important;
}

.elementor-22 .elementor-element.elementor-element-fa7618d > .elementor-widget-container,
.elementor-element-fa7618d > .elementor-widget-container {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #EEF4FF !important;
  border: 1px solid #D0E1FD !important;
  border-radius: 9999px !important;
  padding: 7px 18px !important;
  box-shadow: 0 2px 8px rgba(0, 82, 255, 0.06) !important;
  transition: all 0.25s ease !important;
}

.elementor-22 .elementor-element.elementor-element-fa7618d .elementor-heading-title,
.elementor-element-fa7618d .elementor-heading-title {
  color: #0052FF !important;
  font-family: var(--e-global-typography-vamtam_primary_font-font-family, inherit) !important;
  font-size: clamp(12px, 1.5vw, 14px) !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.elementor-element-fa7618d .elementor-heading-title::before {
  content: "" !important;
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #0052FF !important;
  box-shadow: 0 0 0 3px rgba(0, 82, 255, 0.2) !important;
  animation: pulse-dot 2s infinite ease-in-out !important;
}

@keyframes pulse-dot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}

/* 3. Hero Animated Headline (h2: We build websites that sell) */
.elementor-22 .elementor-element.elementor-element-fe162c8,
.elementor-element-fe162c8 {
  display: block !important;
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto 20px auto !important;
  text-align: center !important;
}

.elementor-22 .elementor-element.elementor-element-fe162c8 .elementor-headline,
.elementor-element-fe162c8 .elementor-headline {
  font-family: var(--e-global-typography-vamtam_h2-font-family, inherit) !important;
  font-size: clamp(26px, 3.8vw, 46px) !important;
  font-weight: var(--e-global-typography-vamtam_h2-font-weight, 400) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: #0A0D14 !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.elementor-headline-plain-text {
  color: #0A0D14 !important;
  font-weight: inherit !important;
  display: inline !important;
}

/* Dynamic rotating words (sell, turn heads, generate leads, actually work) */
.elementor-headline-dynamic-wrapper {
  display: inline-block !important;
  position: relative !important;
  text-align: center !important;
  vertical-align: top !important;
  perspective: none !important;
  transition: width 0.35s ease-in-out !important;
}

.elementor-headline-dynamic-text {
  color: #0052FF !important;
  background: linear-gradient(135deg, #0052FF 0%, #0099FF 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: inherit !important;
  letter-spacing: -0.02em !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: none !important;
  transition: opacity 0.35s ease-in-out !important;
}

/* Active word: fully visible */
.elementor-headline-text-active,
.elementor-headline-dynamic-text.elementor-headline-text-active {
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-block !important;
  transform: none !important;
}

/* Fading state: pure opacity transition without translation or flip */
.elementor-headline-dynamic-text.elementor-headline-text-fading-out {
  opacity: 0 !important;
  visibility: visible !important;
  display: inline-block !important;
  transform: none !important;
}

/* 4. Action CTA Buttons Group */
.elementor-22 .elementor-element.elementor-element-237ce6a,
.elementor-element-237ce6a {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin: 12px auto 36px auto !important;
  width: 100% !important;
  max-width: 600px !important;
}

/* Button 1: View Work Examples */
.elementor-element-5a4cc30 .elementor-button {
  background: #0052FF !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  border-radius: 9999px !important;
  padding: 14px 30px !important;
  border: 1px solid #0052FF !important;
  box-shadow: 0 4px 14px rgba(0, 82, 255, 0.28) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.elementor-element-5a4cc30 .elementor-button:hover {
  background: #0043D1 !important;
  border-color: #0043D1 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 82, 255, 0.38) !important;
  color: #FFFFFF !important;
}

/* Button 2: Book a discovery call */
.elementor-element-6341da4 .elementor-button {
  background: #0F172A !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  border-radius: 9999px !important;
  padding: 14px 30px !important;
  border: 1px solid #0F172A !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.15) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.elementor-element-6341da4 .elementor-button:hover {
  background: #1E293B !important;
  border-color: #1E293B !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.25) !important;
  color: #FFFFFF !important;
}

/* 5. Hero Video Showcase Container */
.elementor-22 .elementor-element.elementor-element-800d792,
.elementor-element-800d792 {
  width: 100% !important;
  max-width: 1080px !important;
  margin: 24px auto 0 auto !important;
  overflow: visible !important;
}

.elementor-element-800d792 .e-hosted-video,
.elementor-element-800d792 .elementor-wrapper {
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px -15px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
  background: #0B0F19 !important;
}

.elementor-element-800d792 video.elementor-video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 20px !important;
  object-fit: cover !important;
}

/* 6. Mobile Responsiveness (<= 768px) */
@media (max-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-6c3a20a,
  .elementor-element-6c3a20a {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-top: 0 !important;
  }

  .elementor-22 .elementor-element.elementor-element-fe162c8 .elementor-headline,
  .elementor-element-fe162c8 .elementor-headline {
    font-size: 32px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
  }

  .elementor-22 .elementor-element.elementor-element-237ce6a,
  .elementor-element-237ce6a {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin-bottom: 24px !important;
  }

  .elementor-element-5a4cc30,
  .elementor-element-6341da4,
  .elementor-element-5a4cc30 .elementor-button-wrapper,
  .elementor-element-6341da4 .elementor-button-wrapper,
  .elementor-element-5a4cc30 .elementor-button,
  .elementor-element-6341da4 .elementor-button {
    width: 100% !important;
    text-align: center !important;
  }
}
