.elementor-kit-17{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--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;--e-global-typography-47e4372-font-family:"Roboto";--e-global-typography-47e4372-font-weight:600;}.elementor-kit-17 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* ══════════════════════════════════════════════════════════════════════════════════════════
   
   UNITY PLUS - GLOBAL CSS
   Riorganizzato per Breakpoint
   
   ══════════════════════════════════════════════════════════════════════════════════════════
   
   STRUTTURA FILE
   ──────────────
   1. MOBILE GLOBAL FIXES (correzioni generali)
   2. DESKTOP - Tutti gli stili base (no media query)
   3. TABLET - @media (max-width: 1024px)
   4. MOBILE - @media (max-width: 768px)
   5. SMALL MOBILE - @media (max-width: 480px)
   6. TINY - @media (max-width: 400px)
   
   ══════════════════════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════════
   MOBILE GLOBAL FIXES
   ══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  .elementor-heading-title,
  .elementor-text-editor p {
    white-space: normal !important;
    word-wrap: break-word !important;
  }
  
  img {
    max-width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  body, p, span, li {
    font-size: max(12px, 1rem) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HERO GOOGLE TRUST BADGE - PREMIUM GLOW
   ═══════════════════════════════════════════════════════════════ */

/* Forza il badge su una nuova riga sotto il pulsante */
.hero-actions,
.hero-actions.e-con {
  flex-wrap: wrap !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 24px !important;
}

.hero-trust-badge {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 8px !important;
  animation: badgeFadeIn 1s ease 0.5s both !important;
}

.trust-badge-inner {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.12) 0%,
    rgba(255, 255, 255, 0.06) 100%
  ) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 100px !important;
  padding: 14px 28px !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  transition: all 0.4s ease !important;
}

.trust-badge-inner:hover {
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.18) 0%,
    rgba(255, 255, 255, 0.08) 100%
  ) !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.25),
    0 0 30px rgba(242, 174, 49, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

.google-icon {
  flex-shrink: 0 !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)) !important;
}

.trust-stars {
  display: flex !important;
  gap: 2px !important;
}

.trust-stars .star {
  font-size: 18px !important;
  color: #f2ae31 !important;
  text-shadow:
    0 0 10px rgba(242, 174, 49, 0.8),
    0 0 20px rgba(242, 174, 49, 0.6),
    0 0 30px rgba(242, 174, 49, 0.4),
    0 0 40px rgba(242, 174, 49, 0.2) !important;
  animation: starPulse 2s ease-in-out infinite !important;
}

.trust-stars .star:nth-child(1) { animation-delay: 0s !important; }
.trust-stars .star:nth-child(2) { animation-delay: 0.1s !important; }
.trust-stars .star:nth-child(3) { animation-delay: 0.2s !important; }
.trust-stars .star:nth-child(4) { animation-delay: 0.3s !important; }
.trust-stars .star:nth-child(5) { animation-delay: 0.4s !important; }

@keyframes starPulse {
  0%, 100% {
    text-shadow:
      0 0 10px rgba(242, 174, 49, 0.8),
      0 0 20px rgba(242, 174, 49, 0.6),
      0 0 30px rgba(242, 174, 49, 0.4);
  }
  50% {
    text-shadow:
      0 0 15px rgba(242, 174, 49, 1),
      0 0 30px rgba(242, 174, 49, 0.8),
      0 0 45px rgba(242, 174, 49, 0.6),
      0 0 60px rgba(242, 174, 49, 0.3);
  }
}

.trust-text {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.trust-rating {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
}

.trust-divider {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 14px !important;
}

.trust-count {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  letter-spacing: 0.01em !important;
}

@keyframes badgeFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* TRUST BADGE RESPONSIVE */
@media (max-width: 768px) {
  .trust-badge-inner {
    padding: 12px 20px !important;
    gap: 10px !important;
  }
  
  .trust-stars .star {
    font-size: 15px !important;
  }
  
  .trust-rating {
    font-size: 14px !important;
  }
  
  .trust-count {
    font-size: 12px !important;
  }
  
  .google-icon {
    width: 18px !important;
    height: 18px !important;
  }
}


/* ══════════════════════════════════════════════════════════════════════════════════════════
   
   ▼▼▼ DESKTOP - TUTTI GLI STILI BASE ▼▼▼
   
   ══════════════════════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE TEMPLATE
   ════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════


/* ══════════════════════════════════════════════════════════════════
   ELEMENTOR EDITOR - DISABILITA ANIMAZIONI
   ══════════════════════════════════════════════════════════════════ */

.elementor-editor-active .expertise-main-image-wrap,
.elementor-editor-active .expertise-row,
.elementor-editor-active .expertise-features,
.elementor-editor-active .solutions-card {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   HERO SECTION - DESKTOP
   ═══════════════════════════════════════════════════════════════ */

.hero-section {
  position: relative !important;
  min-height: 100vh !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.hero-section > .elementor-background-video-container {
  z-index: 0 !important;
}

.hero-section::before {
  content: none !important;
}

/* Content Container */
.hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1000px !important;
  text-align: center !important;
  padding: 0 52px !important;
}

/* Headline H1 */
.hero-headline .elementor-heading-title {
  font-weight: 500 !important;
  font-size: clamp(36px, 5vw, 72px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
  margin: 0 0 16px 0 !important;
  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.45),
    0 8px 40px rgba(27, 40, 89, 0.5) !important;
  white-space: nowrap !important;
}

/* Subheadline */
.hero-subheadline .elementor-heading-title {
  font-size: 1.125rem !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  margin: 0 0 40px 0 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
}

/* Actions Container */
.hero-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* CTA Primary */
.hero-cta-primary .elementor-button {
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: 16px 40px !important;
  border-radius: 8px !important;
  border: none !important;
  text-align: center !important;
  color: #ffffff !important;
  background: #003366 !important;
  box-shadow: 0 4px 20px rgba(0, 51, 102, 0.3) !important;
  transition:
    background 0.2s,
    transform 0.2s,
    box-shadow 0.2s !important;
  text-decoration: none !important;
}

.hero-cta-primary .elementor-button:hover {
  background: #002244 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 28px rgba(0, 51, 102, 0.4) !important;
}

/* ═══════════════════════════════════════════════════════════════
   HERO - TABLET (1024px)
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   HERO - MOBILE (768px)
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   HERO - SMALL MOBILE (480px)
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   CORE VALUES - 5 CARD GLASSMORPHISM
   ═══════════════════════════════════════════════════════════════ */

.corevalues-section {
  background: #fafafa !important;
  position: relative !important;
  overflow: visible !important;
  padding: 30px 20px !important;
}

.corevalues-title .elementor-heading-title {
  font-weight: 600 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  color: #003366 !important;
  text-align: center !important;
  margin-bottom: 10px !important;
}

.corevalues-viewport {
  display: flex !important;
  gap: 20px !important;
  justify-content: center !important;
  align-items: flex-end !important;
  padding: 30px 20px 20px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.corevalues-card {
  position: relative !important;
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
  height: 140px !important;
  min-height: 140px !important;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(248, 250, 255, 0.85) 50%,
    rgba(240, 245, 250, 0.9) 100%
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  border-radius: 24px !important;
  padding: 45px 16px 20px !important;
  text-align: center !important;
  box-shadow:
    0 10px 40px rgba(0, 51, 102, 0.12),
    0 6px 20px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(0, 51, 102, 0.05) !important;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

.corevalues-card:hover {
  transform: translateY(-8px) !important;
  box-shadow:
    0 20px 50px rgba(0, 51, 102, 0.18),
    0 10px 30px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

.corevalues-card-active {
  background: linear-gradient(
    145deg,
    rgba(0, 60, 120, 0.92) 0%,
    rgba(0, 45, 90, 0.95) 50%,
    rgba(0, 35, 70, 0.9) 100%
  ) !important;
  border: 1px solid rgba(100, 150, 200, 0.3) !important;
  transform: translateY(-16px) !important;
  box-shadow:
    0 20px 50px rgba(0, 51, 102, 0.35),
    0 10px 30px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2) !important;
}

.corevalues-card-active:hover {
  transform: translateY(-24px) !important;
}

.corevalues-card-active .corevalues-card-title .elementor-heading-title {
  color: #ffffff !important;
}

.corevalues-card-active .corevalues-card-subtitle .elementor-heading-title {
  color: rgba(255, 255, 255, 0.75) !important;
}

.corevalues-icon {
  position: absolute !important;
  top: -28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 56px !important;
  height: 56px !important;
  background: linear-gradient(145deg, #ffffff 0%, #f0f4f8 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  border-radius: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow:
    0 6px 20px rgba(0, 51, 102, 0.12),
    0 3px 10px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.4s ease !important;
  z-index: 10 !important;
}

.corevalues-icon img,
.corevalues-icon .e-lottie {
  width: 32px !important;
  height: 32px !important;
  object-fit: contain !important;
}

.corevalues-card:hover .corevalues-icon {
  transform: translateX(-50%) scale(1.1) !important;
}

.corevalues-card-title .elementor-heading-title {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #003366 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  margin: 0 0 6px 0 !important;
}

.corevalues-card-subtitle .elementor-heading-title {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(0, 51, 102, 0.6) !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* TABLET */


/* MOBILE - GRID: NAVY RIGA 1, POI 2+2 */


/* SMALL MOBILE */


/* ═══════════════════════════════════════════════════════════════
   SOLUTIONS SECTION - BENTO GRID
   ═══════════════════════════════════════════════════════════════ */

.solutions-section {
  background: linear-gradient(180deg, #f0f4f8 0%, #e8f0f6 100%) !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 80px 20px !important;
}

/* ── Header ── */
.solutions-header {
  text-align: center !important;
  margin-bottom: 50px !important;
  max-width: 800px !important;
}

.solutions-title .elementor-heading-title {
  font-weight: 600 !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  color: #003366 !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}

.solutions-subtitle,
.solutions-subtitle p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: rgba(27, 40, 89, 0.7) !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   BENTO GRID LAYOUT - DESKTOP
   ═══════════════════════════════════════════════════════════════ */

.solutions-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.3fr 1fr !important;
  grid-template-rows: 240px 260px !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ═══════════════════════════════════════════════════════════════
   CARD BASE
   ═══════════════════════════════════════════════════════════════ */

.solutions-card {
  position: relative !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease !important;
  padding: 0 !important;
}

.solutions-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15) !important;
}

/* ═══════════════════════════════════════════════════════════════
   GRID POSITIONING - DESKTOP
   ═══════════════════════════════════════════════════════════════ */

.solutions-card-1 {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}

.solutions-card-2 {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.solutions-card-3 {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

.solutions-card-4 {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.solutions-card-5 {
  grid-column: 3 !important;
  grid-row: 2 !important;
}

/* ═══════════════════════════════════════════════════════════════
   CARD IMAGE
   ═══════════════════════════════════════════════════════════════ */

.solutions-card-img,
.solutions-card .elementor-widget-image,
.solutions-card .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.solutions-card:hover .elementor-widget-image img {
  transform: scale(1.06) !important;
}

/* ═══════════════════════════════════════════════════════════════
   CARD OVERLAY + TITLE (BASSO SINISTRA)
   ═══════════════════════════════════════════════════════════════ */

.solutions-card-overlay,
.solutions-card-overlay.e-con {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.7) 0%,
    rgba(0, 0, 0, 0.2) 50%,
    transparent 100%
  ) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding: 20px !important;
  z-index: 2 !important;
  transition: background 0.3s ease !important;
}

.solutions-card-title,
.solutions-card-title .elementor-widget-container,
.solutions-card-title .elementor-heading-title {
  text-align: left !important;
  width: auto !important;
  margin: 0 !important;
}

.solutions-card-title .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #fff !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5) !important;
  line-height: 1.3 !important;
}

/* ═══════════════════════════════════════════════════════════════
   DECORATIVE DOTS (TUTTI IN BASSO A DESTRA + GLOW ANIMATION)
   ═══════════════════════════════════════════════════════════════ */

.solutions-card::after {
  content: "" !important;
  position: absolute !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  z-index: 3 !important;
  bottom: 20px !important;
  right: 20px !important;
  transition: transform 0.3s ease !important;
  pointer-events: none !important;
  animation: dotGlow 2.5s ease-in-out infinite !important;
}

.solutions-card:hover::after {
  transform: scale(1.4) !important;
}

/* Colori alternati Gold / Navy */
.solutions-card-1::after,
.solutions-card-3::after,
.solutions-card-5::after {
  background: #f2ae31 !important;
  box-shadow: 0 0 12px 3px rgba(242, 174, 49, 0.5) !important;
}

.solutions-card-2::after,
.solutions-card-4::after {
  background: #003366 !important;
  box-shadow: 0 0 12px 3px rgba(0, 51, 102, 0.4) !important;
}

/* Glow Animation */
@keyframes dotGlow {
  0%,
  100% {
    box-shadow: 0 0 8px 2px rgba(242, 174, 49, 0.4);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 18px 6px rgba(242, 174, 49, 0.7);
    transform: scale(1.15);
  }
}

/* Navy dots glow */
.solutions-card-2::after,
.solutions-card-4::after {
  animation: dotGlowNavy 2.5s ease-in-out infinite !important;
}

@keyframes dotGlowNavy {
  0%,
  100% {
    box-shadow: 0 0 8px 2px rgba(0, 51, 102, 0.3);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 18px 6px rgba(0, 51, 102, 0.6);
    transform: scale(1.15);
  }
}

/* ═══════════════════════════════════════════════════════════════
   SCROLL ANIMATION
   ═══════════════════════════════════════════════════════════════ */

.solutions-card {
  opacity: 0 !important;
  transition:
    opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.solutions-card-1 {
  transform: translateX(-120px) scale(0.9) !important;
  transition-delay: 0s !important;
}

.solutions-card-2 {
  transform: translateY(-100px) scale(0.9) !important;
  transition-delay: 0.15s !important;
}

.solutions-card-3 {
  transform: translateX(120px) translateY(-60px) scale(0.9) !important;
  transition-delay: 0.3s !important;
}

.solutions-card-4 {
  transform: translateX(-60px) translateY(100px) scale(0.9) !important;
  transition-delay: 0.45s !important;
}

.solutions-card-5 {
  transform: translateX(120px) translateY(80px) scale(0.9) !important;
  transition-delay: 0.6s !important;
}

.solutions-card.is-visible {
  opacity: 1 !important;
  transform: translateX(0) translateY(0) scale(1) !important;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE - TABLET
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE - MOBILE (LAYOUT COME DA FOTO)
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE - SMALL MOBILE
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   CTA BANNER SECTION - VIDEO BACKGROUND
   ═══════════════════════════════════════════════════════════════ */

.cta-section,
.cta-section.e-con {
  position: relative !important;
  min-height: 350px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 60px 20px !important;
  width: 100% !important;
}

/* Video Background - Elementor Structure */
.cta-section > .elementor-background-video-container,
.cta-section > .e-con-inner > .elementor-background-video-container {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
}

.cta-section .elementor-background-video-embed,
.cta-section .elementor-background-video-hosted,
.cta-section video {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  min-width: 100% !important;
  min-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: cover !important;
  z-index: 0 !important;
}

/* Video Overlay */
.cta-section::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(0, 51, 102, 0.65) 0%,
    rgba(0, 51, 102, 0.45) 50%,
    rgba(0, 51, 102, 0.65) 100%
  ) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   CONTENT
   ══════════════════════════════════════════════════════════════════ */

.cta-content,
.cta-content.e-con {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 16px !important;
  max-width: 800px !important;
  padding: 20px !important;
  width: 100% !important;
}

/* ── Title ── */
.cta-title .elementor-heading-title {
  font-weight: 700 !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5) !important;
  margin: 0 !important;
}

/* ── Description ── */
.cta-text,
.cta-text p,
.cta-text .elementor-widget-container,
.cta-text .elementor-widget-container p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  max-width: 650px !important;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.4) !important;
  margin: 0 !important;
  text-align: center !important;
}

/* ══════════════════════════════════════════════════════════════════
   CTA BUTTON
   ══════════════════════════════════════════════════════════════════ */

.cta-button .elementor-button {
  font-weight: 600 !important;
  font-size: 16px !important;
  color: #003366 !important;
  background: #f2ae31 !important;
  padding: 16px 40px !important;
  border-radius: 50px !important;
  letter-spacing: 0.02em !important;
  margin-top: 16px !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 20px rgba(242, 174, 49, 0.4) !important;
  gap: 10px !important;
}

.cta-button .elementor-button-icon,
.cta-button .elementor-button-icon svg,
.cta-button .elementor-button-icon i {
  color: #003366 !important;
  fill: #003366 !important;
  transition:
    transform 0.25s ease,
    color 0.3s ease !important;
}

.cta-button .elementor-button:hover {
  background: #003366 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(0, 51, 102, 0.4) !important;
}

.cta-button .elementor-button:hover .elementor-button-icon,
.cta-button .elementor-button:hover .elementor-button-icon svg,
.cta-button .elementor-button:hover .elementor-button-icon i {
  color: #ffffff !important;
  fill: #ffffff !important;
  transform: translateX(6px) !important;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - TABLET
   ══════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - MOBILE
   ══════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - SMALL MOBILE
   ══════════════════════════════════════════════════════════════════ */


.expertise-section {
  background: #fafbfc !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 20px !important;
}

.expertise-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ═══════════════════════════════════════════════════════════════
   EXPERTISE SECTION - BENTO GRID COMPLETO
   ═══════════════════════════════════════════════════════════════ */

.expertise-section,
.expertise-section.e-con {
  background: #fafbfc !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 20px !important;
}

.expertise-wrapper,
.expertise-wrapper.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* ══════════════════════════════════════════════════════════════════
   COLONNA SINISTRA - FOTO GRANDE
   ══════════════════════════════════════════════════════════════════ */

.expertise-main-image-wrap,
.expertise-main-image-wrap.e-con {
  position: relative !important;
  border-radius: 24px !important;
  overflow: visible !important;
  width: 100% !important;
}

.expertise-main-image img,
.expertise-main-image .elementor-widget-container,
.expertise-main-image .elementor-widget-container img {
  width: 100% !important;
  height: auto !important;
  min-height: 520px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
}

/* ══════════════════════════════════════════════════════════════════
   FLOATING CARD - GLASSMORPHISM
   ══════════════════════════════════════════════════════════════════ */

.expertise-floating-card,
.expertise-floating-card.e-con {
  position: absolute !important;
  bottom: -30px !important;
  left: 24px !important;
  background: rgba(0, 51, 102, 0.75) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  padding: 18px 22px !important;
  border-radius: 16px !important;
  width: auto !important;
  max-width: 200px !important;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.25),
    0 8px 16px rgba(0, 51, 102, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.expertise-card-label .elementor-heading-title {
  font-size: 9px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 0 !important;
}

.expertise-card-value,
.expertise-card-value.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 3px !important;
  margin-top: 2px !important;
}

.expertise-card-num .elementor-heading-title {
  font-size: 36px !important;
  font-weight: 300 !important;
  color: #fff !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.expertise-card-sup .elementor-heading-title {
  font-size: 18px !important;
  color: #f2ae31 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

.expertise-card-unit .elementor-heading-title {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin: 0 0 0 6px !important;
}

/* PROGRESS BAR */
.expertise-card-progress,
.expertise-card-progress.e-con {
  width: 100% !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 4px !important;
  margin-top: 10px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.expertise-card-progress-bar,
.expertise-card-progress-bar.e-con {
  width: 85% !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  background: linear-gradient(90deg, #f2ae31 0%, #ffd280 100%) !important;
  border-radius: 4px !important;
  padding: 0 !important;
}

.expertise-card-subtext,
.expertise-card-subtext p,
.expertise-card-subtext .elementor-widget-container,
.expertise-card-subtext .elementor-widget-container p {
  font-size: 10px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin-top: 6px !important;
  line-height: 1.4 !important;
}

/* ══════════════════════════════════════════════════════════════════
   COLONNA DESTRA - GRIGLIA BENTO
   ══════════════════════════════════════════════════════════════════ */

.expertise-right,
.expertise-right.e-con {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  width: 100% !important;
}

.expertise-row,
.expertise-row.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  align-items: center !important;
  width: 100% !important;
}

.expertise-text-block,
.expertise-text-block.e-con {
  padding: 12px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.expertise-title .elementor-heading-title {
  font-size: clamp(22px, 2.5vw, 28px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}

.expertise-subtitle .elementor-heading-title {
  font-size: clamp(18px, 2vw, 24px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.expertise-desc,
.expertise-desc p,
.expertise-desc .elementor-widget-container,
.expertise-desc .elementor-widget-container p {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: rgba(27, 40, 89, 0.7) !important;
  margin: 0 !important;
}

/* IMMAGINI PICCOLE */
.expertise-img-small,
.expertise-img-small.e-con {
  border-radius: 16px !important;
  overflow: hidden !important;
  height: 160px !important;
  min-height: 160px !important;
  width: 100% !important;
}

.expertise-img-small img,
.expertise-img-small .elementor-widget-container,
.expertise-img-small .elementor-widget-container img,
.expertise-img-small .elementor-image img {
  width: 100% !important;
  height: 160px !important;
  min-height: 160px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  transition: transform 0.5s ease !important;
}

.expertise-img-small:hover img {
  transform: scale(1.05) !important;
}

/* ══════════════════════════════════════════════════════════════════
   FEATURES BOX
   ══════════════════════════════════════════════════════════════════ */

.expertise-features,
.expertise-features.e-con {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  margin-top: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.expertise-features-label .elementor-heading-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #f2ae31 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   PILLS - DESKTOP: 3 SOPRA + 1 SOTTO (CSS GRID)
   ══════════════════════════════════════════════════════════════════ */

.expertise-pills,
.expertise-pills.e-con {
  display: grid !important;
  grid-template-columns: repeat(3, auto) !important;
  gap: 10px !important;
  width: fit-content !important;
  justify-content: start !important;
}

.expertise-pill,
.expertise-pill.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  background: rgba(0, 51, 102, 0.75) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow:
    0 6px 20px rgba(0, 51, 102, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

/* 4a pill: nuova riga, colonna 1 */
.expertise-pill:nth-child(4) {
  grid-column: 1 / 2 !important;
}

.expertise-pill:hover {
  background: rgba(0, 30, 60, 0.95) !important;
  box-shadow:
    0 10px 28px rgba(0, 51, 102, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  transform: translateY(-2px) !important;
}

.expertise-pill-icon .elementor-heading-title {
  font-size: 12px !important;
  color: #f2ae31 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.expertise-pill-label .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

.expertise-pill:hover .expertise-pill-icon .elementor-heading-title {
  color: #f2ae31 !important;
}

.expertise-pill:hover .expertise-pill-label .elementor-heading-title {
  color: #ffffff !important;
}

/* ══════════════════════════════════════════════════════════════════
   SCROLL ANIMATION
   ══════════════════════════════════════════════════════════════════ */

.expertise-main-image-wrap,
.expertise-row,
.expertise-features {
  opacity: 0 !important;
  transition:
    opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.expertise-main-image-wrap {
  transform: translateX(-80px) scale(0.95) !important;
}

.expertise-row:nth-child(1) {
  transform: translateX(60px) translateY(-30px) scale(0.95) !important;
  transition-delay: 0.1s !important;
}

.expertise-row:nth-child(2) {
  transform: translateX(-50px) translateY(30px) scale(0.95) !important;
  transition-delay: 0.2s !important;
}

.expertise-features {
  transform: translateY(50px) scale(0.95) !important;
  transition-delay: 0.3s !important;
}

.expertise-main-image-wrap.is-visible,
.expertise-row.is-visible,
.expertise-features.is-visible {
  opacity: 1 !important;
  transform: translateX(0) translateY(0) scale(1) !important;
}

/* EDITOR ELEMENTOR: visibilità garantita */
.elementor-editor-active .expertise-main-image-wrap,
.elementor-editor-active .expertise-row,
.elementor-editor-active .expertise-features,
.elementor-editor-active .expertise-floating-card {
  opacity: 1 !important;
  transform: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - TABLET (max 1024px)
   ══════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - MOBILE (max 768px) - LAYOUT VERTICALE COMPLETO
   ══════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - MOBILE SMALL (max 480px)
   ══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   WHAT MAKES US DIFFERENT - STATS SECTION
   ═══════════════════════════════════════════════════════════════ */

.stats-section,
.stats-section.e-con {
  background: #f8fafc !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 20px 120px 20px !important;
  min-height: 600px !important;
}

/* ══════════════════════════════════════════════════════════════════
   SKYLINE PARALLAX BACKGROUND
   ══════════════════════════════════════════════════════════════════ */

.stats-skyline,
.stats-skyline.e-con {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  z-index: 0 !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  overflow: visible !important;
}

.stats-skyline img,
.stats-skyline .elementor-widget-container img {
  width: 100% !important;
  max-width: 1500px !important;
  height: auto !important;
  opacity: 0.2 !important;
  object-fit: contain !important;
  object-position: bottom center !important;
  filter: grayscale(20%) !important;
  will-change: transform !important;
}

/* ══════════════════════════════════════════════════════════════════
   INNER CONTENT
   ══════════════════════════════════════════════════════════════════ */

.stats-inner,
.stats-inner.e-con {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* TITLE */
.stats-title,
.stats-title.e-con,
.stats-inner .stats-title {
  margin-bottom: 60px !important;
  opacity: 0 !important;
  transform: translateY(30px) !important;
  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.stats-title.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.stats-title .elementor-heading-title {
  font-size: clamp(28px, 3.5vw, 42px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   CARDS GRID
   ══════════════════════════════════════════════════════════════════ */

.stats-grid,
.stats-grid.e-con {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
}

/* ══════════════════════════════════════════════════════════════════
   SINGLE CARD - GLASSMORPHISM + 3D TILT
   ══════════════════════════════════════════════════════════════════ */

.stats-card,
.stats-card.e-con {
  background: rgba(255, 255, 255, 0.6) !important;
  backdrop-filter: blur(24px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.8) !important;
  border-radius: 20px !important;
  padding: 44px 28px 32px 28px !important;
  box-shadow:
    0 15px 35px rgba(0, 51, 102, 0.15),
    0 5px 15px rgba(0, 0, 0, 0.08),
    0 25px 50px rgba(0, 51, 102, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -1px 0 rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;

  /* 3D TILT SUPPORT */
  transform-style: preserve-3d !important;
  will-change: transform, background, box-shadow !important;
  transition:
    transform 0.12s ease-out,
    background 0.3s ease,
    box-shadow 0.3s ease,
    border 0.3s ease !important;

  /* SCROLL ANIMATION - Initial State */
  opacity: 0 !important;
}

/* SCROLL ANIMATION - Stagger Delays */
.stats-card:nth-child(1) {
  transition-delay: 0.1s !important;
}
.stats-card:nth-child(2) {
  transition-delay: 0.2s !important;
}
.stats-card:nth-child(3) {
  transition-delay: 0.3s !important;
}
.stats-card:nth-child(4) {
  transition-delay: 0.4s !important;
}

/* SCROLL ANIMATION - Visible State */
.stats-card.is-visible {
  opacity: 1 !important;
}

/* HOVER - NAVY GLASS + 3D SHADOW */
.stats-card:hover {
  background: rgba(0, 51, 102, 0.88) !important;
  backdrop-filter: blur(28px) saturate(2) !important;
  -webkit-backdrop-filter: blur(28px) saturate(2) !important;
  box-shadow:
    0 35px 70px rgba(0, 51, 102, 0.35),
    0 20px 40px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    inset 0 -1px 0 rgba(0, 0, 0, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

/* ══════════════════════════════════════════════════════════════════
   CARD INNER ELEMENTS - 3D DEPTH
   ══════════════════════════════════════════════════════════════════ */

.stats-card .stats-num,
.stats-card .stats-label,
.stats-card .stats-card-image {
  transform: translateZ(25px) !important;
  transition: transform 0.3s ease !important;
}

.stats-card:hover .stats-num,
.stats-card:hover .stats-label {
  transform: translateZ(45px) !important;
}

.stats-card:hover .stats-card-image {
  transform: translateZ(35px) !important;
}

/* ══════════════════════════════════════════════════════════════════
   COUNTER STYLING
   ══════════════════════════════════════════════════════════════════ */

.stats-num,
.stats-num.e-con {
  width: 100% !important;
  text-align: center !important;
}

.stats-num .elementor-counter-number-wrapper,
.stats-num .elementor-counter {
  font-size: clamp(38px, 4vw, 52px) !important;
  font-weight: 300 !important;
  color: #003366 !important;
  line-height: 1 !important;
  font-style: italic !important;
  letter-spacing: -0.02em !important;
  transition: color 0.4s ease !important;
}

.stats-num .elementor-counter-number {
  font-weight: 300 !important;
  color: #003366 !important;
  transition: color 0.4s ease !important;
}

.stats-num .elementor-counter-number-suffix {
  font-size: 0.5em !important;
  font-weight: 600 !important;
  color: #f2ae31 !important;
  transition: color 0.4s ease !important;
}

/* HOVER: Counter bianco */
.stats-card:hover .elementor-counter-number-wrapper,
.stats-card:hover .elementor-counter,
.stats-card:hover .elementor-counter-number {
  color: #ffffff !important;
}

.stats-card:hover .elementor-counter-number-suffix {
  color: #f2ae31 !important;
}

/* ══════════════════════════════════════════════════════════════════
   LABEL STYLING
   ══════════════════════════════════════════════════════════════════ */

.stats-label .elementor-heading-title {
  font-size: 10px !important;
  font-weight: 600 !important;
  color: rgba(0, 51, 102, 0.6) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin: 0 !important;
  text-align: center !important;
  transition: color 0.4s ease !important;
}

.stats-card:hover .stats-label .elementor-heading-title {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* ══════════════════════════════════════════════════════════════════
   CARD IMAGE
   ══════════════════════════════════════════════════════════════════ */

.stats-card-image,
.stats-card-image.e-con {
  width: 100% !important;
  min-height: 150px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 12px !important;
}

.stats-card-image img,
.stats-card-image .elementor-widget-container img {
  max-width: 140px !important;
  max-height: 150px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.1)) !important;
  transition: transform 0.4s ease !important;
}

.stats-card:hover .stats-card-image img {
  transform: scale(1.08) translateY(-6px) !important;
}

/* ══════════════════════════════════════════════════════════════════
   ELEMENTOR EDITOR - FORCE VISIBLE
   ══════════════════════════════════════════════════════════════════ */

.elementor-editor-active .stats-title,
.elementor-editor-active .stats-card {
  opacity: 1 !important;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - TABLET
   ══════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE - MOBILE (2x2 GRID)
   ══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE - FORZA 4 LOGHI VISIBILI
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   PARTNERS CAROUSEL - WIDGET ELEMENTOR
   ═══════════════════════════════════════════════════════════════════════════ */

.partners-section {
  background: #fafafa;
  padding: 48px 0 !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Canvas aurora */
.partners-gradient-canvas {
  position: absolute !important;
  top: -20px !important;
  left: -20px !important;
  width: calc(100% + 40px) !important;
  height: calc(100% + 40px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  filter: blur(40px) !important;
  opacity: 1 !important;
}

.partners-section > .e-con-inner,
.partners-section > .elementor-element {
  position: relative !important;
  z-index: 1 !important;
}

/* Titolo */
.partners-label .elementor-heading-title {
  font-size: 24px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(0, 51, 102, 0.75) !important;
  text-align: center !important;
  margin-bottom: 28px !important;
}

/* Carousel container */
.partners-carousel {
  width: 100% !important;
  position: relative !important;
}

/* Immagini */
.partners-carousel .swiper-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 80px !important;
}

.partners-carousel .swiper-slide img {
  height: 55px !important;
  width: auto !important;
  max-width: 140px !important;
  object-fit: contain !important;
  opacity: 0.8 !important;
  filter: grayscale(10%) !important;
  transition:
    opacity 0.3s ease,
    filter 0.3s ease,
    transform 0.3s ease !important;
}

.partners-carousel .swiper-slide:hover img {
  opacity: 1 !important;
  filter: grayscale(0%) !important;
  transform: scale(1.08) !important;
}

/* Nascondi frecce e dots */
.partners-carousel .elementor-swiper-button,
.partners-carousel .swiper-pagination {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE
   ═══════════════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════════════════
   GOOGLE REVIEWS SECTIONS - COMPLETE
   ══════════════════════════════════════════════════════════════════════════════ */

.google-reviews-sections {
  position: relative !important;
  background: #fafafa !important;
  padding: 80px 20px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.google-reviews-sections > .e-con,
.google-reviews-sections > .elementor-element {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   TITLE
   ══════════════════════════════════════════════════════════════════════════════ */

.gr-title-section,
.gr-title-section * {
  font-weight: 600 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  color: #003366 !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   GOOGLE BADGE
   ══════════════════════════════════════════════════════════════════════════════ */

.google-badge-wrapper {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 40px !important;
}

.google-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #fff !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}

.google-badge img {
  width: 20px !important;
  height: 20px !important;
}

.badge-stars,
.badge-stars * {
  color: #f2ae31 !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.badge-text,
.badge-text * {
  font-size: 13px !important;
  color: #003366 !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   LAPTOP MOCKUP + REVIEWS
   ══════════════════════════════════════════════════════════════════════════════ */

.laptop-wrapper {
  position: relative !important;
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 auto 48px !important;
  z-index: 3 !important;
}

.laptop-wrapper > .elementor-widget-image {
  position: relative !important;
  z-index: 10 !important;
  display: block !important;
  pointer-events: none !important;
}

.laptop-wrapper > .elementor-widget-image img {
  max-width: 550px !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.laptop-wrapper .laptop-reviews,
.laptop-wrapper .elementor-widget-html.laptop-reviews {
  position: absolute !important;
  top: 4% !important;
  left: 13.5% !important;
  width: 73% !important;
  height: 90% !important;
  z-index: 1 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.laptop-reviews .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.reviews-scroll {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  animation: rvScrollUp 25s linear infinite;
}

@keyframes rvScrollUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}

.laptop-wrapper:hover .reviews-scroll {
  animation-play-state: paused;
}

.rv-card {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 10px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  flex-shrink: 0;
}

.rv-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.rv-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 11px;
  flex-shrink: 0;
}

.rv-meta {
  display: flex;
  flex-direction: column;
}

.rv-meta strong {
  display: block;
  font-family: "HaasGrot", sans-serif;
  font-size: 10px;
  color: #003366;
}

.rv-meta small {
  font-family: "HaasGrot", sans-serif;
  font-size: 8px;
  color: rgba(27, 40, 89, 0.5);
}

.rv-stars {
  color: #f2ae31;
  font-size: 9px;
  margin-bottom: 4px;
}

.rv-card p {
  font-family: "HaasGrot", sans-serif;
  font-size: 9px;
  line-height: 1.3;
  color: rgba(27, 40, 89, 0.7);
  margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════════════
   BOTTOM ROW - TROPHY CAROUSEL + ZOHO
   ══════════════════════════════════════════════════════════════════════════════ */

.bottom-row {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 40px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  width: 100% !important;
  position: relative !important;
  z-index: 3 !important;
}

.bottom-row > .e-con,
.bottom-row > .elementor-element {
  flex: 1 !important;
}

/* Trophy Carousel - SINISTRA */
.trophy-wrapper {
  max-width: 450px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   ZOHO CARD - DESTRA
   ══════════════════════════════════════════════════════════════════════════════ */

.zoho-card {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 32px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 12px !important;
  max-width: 350px !important;
}

.zoho-card > .elementor-widget-image img {
  width: 120px !important;
  height: auto !important;
}

.zoho-divider {
  width: 40px !important;
  height: 3px !important;
  min-height: 3px !important;
  background: #f2ae31 !important;
  border-radius: 2px !important;
}

.zoho-title,
.zoho-title * {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  margin: 0 !important;
}

.zoho-text,
.zoho-text * {
  font-size: 13px !important;
  color: rgba(27, 40, 89, 0.6) !important;
  margin: 0 !important;
}

.zoho-badges {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 12px !important;
  width: 100% !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   ZOHO BUTTONS - ORANGE GLOW
   ══════════════════════════════════════════════════════════════════════════════ */

.zoho-btn .elementor-button {
  background: linear-gradient(135deg, #f2ae31 0%, #e09422 100%) !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  font-family: "HaasGrot", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  box-shadow:
    0 4px 15px rgba(242, 174, 49, 0.4),
    0 0 20px rgba(242, 174, 49, 0.2) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
}

.zoho-btn .elementor-button:hover {
  background: linear-gradient(135deg, #e09422 0%, #d08515 100%) !important;
  box-shadow:
    0 6px 25px rgba(242, 174, 49, 0.5),
    0 0 30px rgba(242, 174, 49, 0.4) !important;
  transform: translateY(-2px) !important;
}

.zoho-btn .elementor-button-text {
  color: #fff !important;
}

.zoho-btn .elementor-button-icon {
  color: #fff !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════════════════ */


/* ============================================
   CSS COMPLETO - UNITY PARTNERS
   HERO + STEPS + STATS + JURISDICTION + AWARDS + WHY
   ============================================ */

/* ============================================
   HERO SECTION
   ============================================ */

.hero-section {
  position: relative !important;
  min-height: 80vh !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 140px 5% 100px 5% !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}

.hero-section.e-con {
  --content-width: 100% !important;
  margin-bottom: 0 !important;
}

.hero-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 51, 102, 0.55);
  z-index: 1;
  pointer-events: none;
}

.hero-section > * {
  position: relative;
  z-index: 2;
}

.hero-section .elementor-widget-heading:first-of-type .elementor-heading-title {
  font-size: 68px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
  text-shadow: 2px 4px 20px rgba(0, 0, 0, 0.4);
  margin-bottom: 25px !important;
}

.hero-subheadline .elementor-heading-title,
.hero-subheadline p {
  font-size: 18px !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.7 !important;
  max-width: 650px !important;
  margin: 0 auto 45px auto !important;
  text-shadow: 1px 2px 8px rgba(0, 0, 0, 0.3);
}

.hero-section .elementor-widget-button .elementor-button {
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 18px 45px !important;
  border-radius: 50px !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
}

/* ============================================
   STEPS SECTION
   ============================================ */

.steps-section {
  position: relative !important;
  min-height: 700px !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 80px 5% !important;
  overflow: hidden !important;
  margin: 0 !important;
  z-index: 1 !important;
  margin-top: -1px !important;
}

.steps-section.e-con {
  --content-width: 100% !important;
  margin: 0 !important;
}

.steps-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 51, 102, 0.55);
  z-index: 1;
  pointer-events: none;
}

.steps-section > * {
  position: relative;
  z-index: 2;
}

.steps-header {
  text-align: left !important;
  margin-bottom: 50px !important;
  width: 100% !important;
  max-width: 1200px !important;
}

.steps-header.e-con {
  --gap: 5px !important;
  align-items: flex-start !important;
}

.steps-header .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  text-shadow: 2px 4px 15px rgba(0, 0, 0, 0.4);
  margin: 0 !important;
  text-align: left !important;
}

.steps-content {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 60px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.steps-content.e-con {
  --gap: 60px !important;
  --flex-direction: row !important;
}

.steps-list {
  flex: 0 0 40% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  position: relative !important;
  padding-left: 25px !important;
}

.steps-list.e-con {
  --gap: 0px !important;
}

.steps-list::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: rgba(242, 174, 49, 0.3) !important;
  border-radius: 2px !important;
}

.step-item {
  padding: 18px 0 !important;
  padding-left: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  position: relative !important;
}

.step-item.e-con {
  --gap: 0px !important;
}

.step-item::before {
  content: "" !important;
  position: absolute !important;
  left: -25px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: transparent !important;
  border-radius: 2px !important;
  transition: background 0.3s ease !important;
}

.step-item.active::before {
  background: #f2ae31 !important;
}

.step-item .elementor-heading-title {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  line-height: 1.5 !important;
  transition: all 0.3s ease !important;
  margin: 0 !important;
}

.step-item:hover .elementor-heading-title {
  color: #ffffff !important;
}

.step-item.active .elementor-heading-title {
  color: #f2ae31 !important;
  font-weight: 500 !important;
}

.steps-box {
  flex: 0 0 55% !important;
  background: rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 12px !important;
  padding: 50px 45px !important;
  min-height: 350px !important;
}

.steps-box.e-con {
  --gap: 15px !important;
}

.step-number {
  margin-bottom: 5px !important;
}

.step-number .elementor-heading-title {
  font-size: 72px !important;
  font-weight: 700 !important;
  color: #f2ae31 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.step-title {
  margin-bottom: 20px !important;
}

.step-title .elementor-heading-title {
  font-size: 28px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.step-description,
.step-description p,
.step-description .elementor-widget-text-editor,
.step-description .elementor-widget-text-editor p {
  font-size: 15px !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* ============================================
   STATS SECTION - SFONDO GRIGIO #F5F5F5
   ============================================ */

.stats-section {
  position: relative !important;
  background: #f5f5f5 !important;
  background-color: #f5f5f5 !important;
  background-image: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  overflow: hidden !important;
  margin: 0 !important;
  width: 100% !important;
  padding: 80px 5% !important;
}

.stats-section.e-con {
  --content-width: 100% !important;
  --flex-direction: column !important;
  --gap: 50px !important;
  margin: 0 !important;
  width: 100% !important;
  background: #f5f5f5 !important;
}

.stats-content {
  position: relative;
  max-width: 500px !important;
  padding: 0 !important;
}

.stats-content.e-con {
  --gap: 0px !important;
  align-items: flex-start !important;
}

.stats-content .elementor-heading-title {
  color: #003366 !important;
  font-family: "Playfair Display", serif !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.stats-numbers {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 15px !important;
  width: 100% !important;
}

.stats-numbers.e-con {
  --gap: 15px !important;
  --flex-direction: row !important;
  --flex-wrap: nowrap !important;
  --justify-content: space-between !important;
}

.stats-numbers > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  width: 100% !important;
  gap: 15px !important;
}

.stat-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 0 10px !important;
  position: relative;
}

.stat-item.e-con {
  --gap: 8px !important;
  --flex-direction: column !important;
  flex: 1 1 0 !important;
}

.stat-item .elementor-widget-counter {
  margin-bottom: 8px !important;
}

.stat-item .elementor-counter {
  display: flex !important;
  justify-content: center !important;
}

.stat-item .elementor-counter-number-wrapper {
  color: #003366 !important;
  font-family: "Playfair Display", serif !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.stat-item .elementor-counter-number {
  font-size: 52px !important;
  font-weight: 700 !important;
  color: #003366 !important;
}

.stat-item .elementor-counter-number-prefix,
.stat-item .elementor-counter-number-suffix {
  font-size: 34px !important;
  font-weight: 600 !important;
  color: #003366 !important;
}

.stat-item .elementor-widget-heading .elementor-heading-title {
  color: #666666 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-transform: capitalize !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* ============================================
   AWARDS SECTION
   ============================================ */

.awards-section {
  background-color: #003366 !important;
  padding: 50px 5% !important;
  position: relative !important;
}

.awards-section.e-con {
  --content-width: 100% !important;
}

.awards-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background-color: #f2ae31;
}

.awards-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 40px !important;
}

.awards-row.e-con {
  --gap: 40px !important;
  --flex-direction: row !important;
}

.award-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 160px !important;
}

.award-item.e-con {
  --gap: 8px !important;
}

.award-item .elementor-widget-image img {
  max-height: 55px !important;
  width: auto !important;
  filter: brightness(0) invert(1);
  opacity: 0.85;
  transition: opacity 0.3s ease;
}

.award-item:hover .elementor-widget-image img {
  opacity: 1;
}

.award-item .elementor-heading-title {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  opacity: 0.85;
  line-height: 1.4 !important;
}

/* ============================================
   JURISDICTION HEADER
   ============================================ */

.jurisdiction-header {
  background-color: #f5f5f5 !important;
  padding: 50px 20px !important;
  margin: 0 !important;
}

.jurisdiction-header.e-con {
  --gap: 0px !important;
  --content-width: 100% !important;
  margin: 0 !important;
  padding: 50px 20px !important;
  background-color: #f5f5f5 !important;
}

.jurisdiction-header .elementor-heading-title {
  color: #003366 !important;
  font-family: "Playfair Display", serif !important;
  font-size: 42px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ============================================
   JURISDICTION SECTION
   ============================================ */

.jurisdiction-section {
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  --gap: 0px !important;
  --content-width: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

.jurisdiction-section.e-con {
  --gap: 0px !important;
  --flex-gap: 0px !important;
  --container-widget-width: 100% !important;
  --content-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jurisdiction-section.e-con > .e-con-inner {
  gap: 0 !important;
  --gap: 0px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jurisdiction-card-1,
.jurisdiction-card-2,
.jurisdiction-card-3 {
  position: relative !important;
  min-height: 650px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  cursor: pointer !important;
  flex: 1 !important;
  border: none !important;
  border-radius: 0 !important;
}

.jurisdiction-card-1.e-con,
.jurisdiction-card-2.e-con,
.jurisdiction-card-3.e-con {
  --gap: 0px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

.jurisdiction-card-1::before,
.jurisdiction-card-2::before,
.jurisdiction-card-3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.3) 40%,
    rgba(0, 0, 0, 0.7) 100%
  );
  z-index: 1;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.jurisdiction-card-1::after,
.jurisdiction-card-2::after,
.jurisdiction-card-3::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0%;
  background-color: #f5f5f5;
  z-index: 2;
  transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

.jurisdiction-card-1:hover::after,
.jurisdiction-card-2:hover::after,
.jurisdiction-card-3:hover::after {
  height: 100%;
}

.jurisdiction-card-1:hover::before,
.jurisdiction-card-2:hover::before,
.jurisdiction-card-3:hover::before {
  opacity: 0;
}

.jurisdiction-card-1 > .e-con-inner,
.jurisdiction-card-2 > .e-con-inner,
.jurisdiction-card-3 > .e-con-inner {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 3;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 40px 35px !important;
  height: auto !important;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.jurisdiction-card-1:hover > .e-con-inner,
.jurisdiction-card-2:hover > .e-con-inner,
.jurisdiction-card-3:hover > .e-con-inner {
  top: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  justify-content: center !important;
  padding: 50px 35px !important;
}

.jurisdiction-card-1 .elementor-widget,
.jurisdiction-card-2 .elementor-widget,
.jurisdiction-card-3 .elementor-widget {
  position: relative;
  z-index: 4;
  transition: all 0.5s ease;
}

.jurisdiction-card-1 .elementor-heading-title,
.jurisdiction-card-2 .elementor-heading-title,
.jurisdiction-card-3 .elementor-heading-title {
  color: #ffffff !important;
  font-family: "Playfair Display", serif !important;
  text-align: center !important;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6);
  transition: all 0.5s ease;
  margin: 0 0 5px 0 !important;
}

.jurisdiction-card-1
  .elementor-widget-heading:first-of-type
  .elementor-heading-title,
.jurisdiction-card-2
  .elementor-widget-heading:first-of-type
  .elementor-heading-title,
.jurisdiction-card-3
  .elementor-widget-heading:first-of-type
  .elementor-heading-title {
  font-size: 34px !important;
  font-weight: 500 !important;
  font-style: italic !important;
}

.jurisdiction-card-1
  .elementor-widget-heading:nth-of-type(2)
  .elementor-heading-title,
.jurisdiction-card-2
  .elementor-widget-heading:nth-of-type(2)
  .elementor-heading-title,
.jurisdiction-card-3
  .elementor-widget-heading:nth-of-type(2)
  .elementor-heading-title {
  font-size: 28px !important;
  font-weight: 600 !important;
  font-style: italic !important;
}

.jurisdiction-card-1:hover .elementor-heading-title,
.jurisdiction-card-2:hover .elementor-heading-title,
.jurisdiction-card-3:hover .elementor-heading-title {
  color: #003366 !important;
  text-shadow: none !important;
}

.jurisdiction-card-1 .elementor-widget-divider,
.jurisdiction-card-2 .elementor-widget-divider,
.jurisdiction-card-3 .elementor-widget-divider {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  width: 60px !important;
  margin: 0 auto !important;
  transition: all 0.5s ease;
}

.jurisdiction-card-1 .elementor-divider-separator,
.jurisdiction-card-2 .elementor-divider-separator,
.jurisdiction-card-3 .elementor-divider-separator {
  border-top-color: #f2ae31 !important;
  border-top-width: 3px !important;
}

.jurisdiction-card-1:hover .elementor-widget-divider,
.jurisdiction-card-2:hover .elementor-widget-divider,
.jurisdiction-card-3:hover .elementor-widget-divider {
  opacity: 1;
  max-height: 50px;
  margin: 20px auto !important;
}

.jurisdiction-card-1 .desc-short,
.jurisdiction-card-2 .desc-short,
.jurisdiction-card-3 .desc-short {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  text-align: center !important;
  line-height: 1.7 !important;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
  max-width: 300px !important;
  margin: 10px auto 0 auto !important;
  transition: all 0.5s ease;
  opacity: 1;
  max-height: 200px;
}

.jurisdiction-card-1:hover .desc-short,
.jurisdiction-card-2:hover .desc-short,
.jurisdiction-card-3:hover .desc-short {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

.jurisdiction-card-1 .desc-long,
.jurisdiction-card-2 .desc-long,
.jurisdiction-card-3 .desc-long {
  color: #555555 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-align: center !important;
  line-height: 1.8 !important;
  max-width: 320px !important;
  margin: 0 auto !important;
  transition: all 0.5s ease;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
}

.jurisdiction-card-1:hover .desc-long,
.jurisdiction-card-2:hover .desc-long,
.jurisdiction-card-3:hover .desc-long {
  opacity: 1;
  max-height: 500px;
  margin-top: 15px !important;
}

.jurisdiction-card-1 .elementor-widget-button,
.jurisdiction-card-2 .elementor-widget-button,
.jurisdiction-card-3 .elementor-widget-button {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(20px);
  transition: all 0.5s ease;
  margin: 0 !important;
}

.jurisdiction-card-1 .elementor-button,
.jurisdiction-card-2 .elementor-button,
.jurisdiction-card-3 .elementor-button {
  background-color: #f2ae31 !important;
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 14px 32px !important;
  border-radius: 4px !important;
  border: none !important;
}

.jurisdiction-card-1 .elementor-button:hover,
.jurisdiction-card-2 .elementor-button:hover,
.jurisdiction-card-3 .elementor-button:hover {
  background-color: #d99a2a !important;
}

.jurisdiction-card-1:hover .elementor-widget-button,
.jurisdiction-card-2:hover .elementor-widget-button,
.jurisdiction-card-3:hover .elementor-widget-button {
  opacity: 1;
  max-height: 100px;
  transform: translateY(0);
  margin-top: 25px !important;
}

/* ============================================
   WHY SECTION - STILE MEYDAN
   SFONDO GRIGIO #F5F5F5 - BOX BIANCHE
   ============================================ */

.why-section,
.why-section.e-con,
.why-section.e-con > .e-con-inner {
  background: #fafafa !important;
  background-color: #fafafa !important;
  background-image: none !important;
  padding: 80px 5% !important;
  overflow: hidden !important;
  position: relative !important;
}

.why-section.e-con {
  --content-width: 100% !important;
  --gap: 40px !important;
}

/* ============================================
   HEADER
   ============================================ */

.why-header {
  display: flex !important;
  flex-direction: column !important;
  background: #fafafa !important;
  background-color: #fafafa !important;
  align-items: flex-start !important;
  margin-bottom: 40px !important;
  gap: 10px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.why-header.e-con {
  --gap: 10px !important;
  --flex-direction: column !important;
  align-items: flex-start !important;
  background: transparent !important;
}

.why-title .elementor-heading-title {
  font-family: "Playfair Display", serif !important;
  font-weight: 600 !important;
  font-size: 42px !important;
  color: #003366 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-align: left !important;
}

.why-title-animated .elementor-heading-title {
  font-family: "Playfair Display", serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-size: 32px !important;
  color: #f2ae31 !important;
  animation: whySlideText 9s ease-in-out infinite !important;
  margin: 0 !important;
  text-align: left !important;
}

@keyframes whySlideText {
  0% {
    opacity: 0;
    transform: translateX(-28px);
  }
  12% {
    opacity: 1;
    transform: translateX(0);
  }
  72% {
    opacity: 1;
    transform: translateX(0);
  }
  88% {
    opacity: 0;
    transform: translateX(-12px);
  }
  100% {
    opacity: 0;
    transform: translateX(-28px);
  }
}

/* Descrizione sotto titolo */
.why-description,
.why-description p,
.why-description .elementor-widget-text-editor,
.why-description .elementor-widget-text-editor p {
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #555555 !important;
  line-height: 1.7 !important;
  margin: 10px 0 0 0 !important;
  max-width: 600px !important;
  text-align: left !important;
}

/* ============================================
   SLIDER WRAPPER
   ============================================ */

.why-slider-wrapper {
  position: relative !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.why-slider-wrapper.e-con {
  --gap: 0px !important;
  background: transparent !important;
}

/* ============================================
   GRID CARDS - SCROLL ORIZZONTALE
   ============================================ */

.why-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  overflow-x: auto !important;
  padding: 10px 0 30px !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}

.why-grid.e-con {
  --gap: 20px !important;
  --flex-direction: row !important;
  --flex-wrap: nowrap !important;
  background: transparent !important;
}

.why-grid::-webkit-scrollbar {
  display: none !important;
}

/* ============================================
   SINGOLA CARD
   ============================================ */

.why-card {
  flex: 0 0 320px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  scroll-snap-align: start !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}

.why-card.e-con {
  --gap: 0px !important;
  --flex-direction: column !important;
  background: transparent !important;
}

/* ============================================
   BOX CARD - BIANCA
   ============================================ */

.why-card-box {
  position: relative !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  min-height: 380px !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer !important;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease !important;
}

.why-card-box.e-con {
  --gap: 0px !important;
  background: #ffffff !important;
}

.why-card-box:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15) !important;
}

/* ============================================
   TESTO IN ALTO A SINISTRA
   ============================================ */

.why-card-head {
  padding: 24px 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: flex-start !important;
}

.why-card-head.e-con {
  --gap: 8px !important;
  align-items: flex-start !important;
  background: transparent !important;
}

.why-card-label .elementor-heading-title {
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #666666 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  text-align: left !important;
}

.why-card-highlight .elementor-heading-title {
  font-family: "Playfair Display", serif !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: #003366 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* ============================================
   IMMAGINE - FULL WIDTH BOTTOM
   ============================================ */

.why-card-image {
  margin-top: auto !important;
  width: 100% !important;
  flex-grow: 1 !important;
  min-height: 200px !important;
  position: relative !important;
  overflow: hidden !important;
}

.why-card-image.e-con {
  --gap: 0px !important;
  background: transparent !important;
}

.why-card-image .elementor-widget-image,
.why-card-image .elementor-image {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

.why-card-image img,
.why-card-image .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

/* ============================================
   CONTENUTO SOTTO CARD - ALLINEATO SINISTRA
   ============================================ */

.why-card-content {
  padding: 20px 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: flex-start !important;
  max-width: 100% !important;
}

.why-card-content.e-con {
  --gap: 12px !important;
  align-items: flex-start !important;
  background: transparent !important;
}

.why-card-title .elementor-heading-title {
  font-family: "Playfair Display", serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  text-align: left !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}

.why-card-desc,
.why-card-desc p,
.why-card-desc .elementor-widget-text-editor,
.why-card-desc .elementor-widget-text-editor p {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #666666 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  text-align: left !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
  white-space: normal !important;
}

/* ============================================
   BOTTONE - ALLINEATO SINISTRA
   ============================================ */

.why-card-btn {
  align-self: flex-start !important;
}

.why-card-btn .elementor-button {
  background: #003366 !important;
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 28px !important;
  border: none !important;
  border-radius: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: all 0.3s ease !important;
}

.why-card-btn .elementor-button:hover {
  background: #f2ae31 !important;
  transform: translateX(5px) !important;
}

.why-card-btn .elementor-button-icon {
  transition: transform 0.3s ease !important;
}

.why-card-btn .elementor-button:hover .elementor-button-icon {
  transform: translateX(4px) !important;
}

/* ============================================
   NAVIGAZIONE FRECCE - GRIGIO SCURO
   ============================================ */

.why-nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 15px !important;
  margin-top: 30px !important;
}

.why-nav.e-con {
  --gap: 15px !important;
  --flex-direction: row !important;
  --justify-content: center !important;
  background: transparent !important;
}

/* BOTTONI FRECCE - SFONDO GRIGIO SCURO */
.why-nav-btn,
.why-nav-btn.elementor-button,
.why-nav .elementor-button {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  border-radius: 50% !important;
  background: #d9d9d9 !important;
  background-color: #d9d9d9 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.why-nav-btn:hover,
.why-nav-btn.elementor-button:hover,
.why-nav .elementor-button:hover {
  background: #003366 !important;
  background-color: #003366 !important;
}

/* ICONE FRECCE - COLORE GRIGIO SCURO */
.why-nav-btn .elementor-button-content-wrapper,
.why-nav .elementor-button .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.why-nav-btn .elementor-button-icon,
.why-nav-btn .elementor-button-icon i,
.why-nav-btn .elementor-button-icon svg,
.why-nav-btn i,
.why-nav-btn svg,
.why-nav .elementor-button i,
.why-nav .elementor-button svg {
  color: #555555 !important;
  fill: #555555 !important;
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  transition: all 0.3s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.why-nav-btn:hover .elementor-button-icon i,
.why-nav-btn:hover .elementor-button-icon svg,
.why-nav-btn:hover i,
.why-nav-btn:hover svg,
.why-nav .elementor-button:hover i,
.why-nav .elementor-button:hover svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Nascondi testo bottone */
.why-nav-btn .elementor-button-text,
.why-nav .elementor-button .elementor-button-text {
  display: none !important;
}

/* Override Elementor default button styles */
.why-nav .elementor-widget-button .elementor-button {
  background: #d9d9d9 !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

.why-nav .elementor-widget-button .elementor-button:hover {
  background: #003366 !important;
}

.why-footer {
  display: none !important;
}

/* ============================================
   RESPONSIVE WHY SECTION
   ============================================ */


/* ============================================
   RESPONSIVE
   ============================================ */


/* ============================================
   COST CALCULATOR SECTION
   ============================================ */

.cc-section {
  background: #fafafa !important;
  background-color: #fafafa !important;
  background-image: none !important;
  padding: 80px 5% !important;
}

.cc-section.e-con {
  --content-width: 100% !important;
  --gap: 40px !important;
}

/* TITLE */
.cc-title .elementor-heading-title {
  font-family: "Playfair Display", serif !important;
  font-size: 42px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: #003366 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}


/* ============================================
   NUMBERS SECTION - FIX COMPLETO
   ============================================ */

/* SECTION - NO MARGINE */
.numbers-section,
.numbers-section.e-con {
  background: #fafafa !important;
  padding: 0 !important;
  margin: 0 !important;
  --gap: 0px !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
}

/* HERO BOX */
.numbers-hero,
.numbers-hero.e-con {
  position: relative !important;
  max-width: 100% !important;
  margin: 0 5% !important;
  padding: 50px 50px 60px 50px !important;
  background-size: cover !important;
  background-position: center !important;
  --gap: 30px !important;
  --flex-direction: column !important;
  --align-items: flex-start !important;
}

/* OVERLAY PIU CHIARO */
.numbers-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 51, 102, 0.65) !important;
  z-index: 1;
}

.numbers-hero > *,
.numbers-hero.e-con > .e-con-inner,
.numbers-hero.e-con > .e-con-inner > * {
  position: relative;
  z-index: 2;
}

/* TITOLO */
.numbers-title-box,
.numbers-title-box.e-con {
  --gap: 5px !important;
  background: transparent !important;
}

.numbers-pre .elementor-heading-title {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #f2ae31 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.numbers-main .elementor-heading-title {
  font-family: "Playfair Display", serif !important;
  font-size: 44px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.15 !important;
}

/* ============================================
   NUMERI - 6 IN RIGA
   ============================================ */

.numbers-grid,
.numbers-grid.e-con,
.numbers-grid.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 40px !important;
  width: 100% !important;
  background: transparent !important;
  --gap: 40px !important;
  --flex-direction: row !important;
  --flex-wrap: nowrap !important;
  --justify-content: flex-start !important;
  --align-items: flex-start !important;
}

.stat-box,
.stat-box.e-con {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 5px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  background: transparent !important;
  --gap: 5px !important;
  --flex-direction: column !important;
  --width: auto !important;
}

.stat-box .elementor-counter-number-wrapper,
.stat-box .elementor-counter-number {
  font-family: "Playfair Display", serif !important;
  font-size: 46px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1 !important;
}

.stat-box .elementor-counter-number-suffix,
.stat-box .elementor-counter-number-prefix {
  font-size: 30px !important;
  color: #fff !important;
}

.stat-box .elementor-heading-title {
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  line-height: 1.3 !important;
}

/* LINEA */
.numbers-line,
.numbers-line.e-con {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

.numbers-line .elementor-divider-separator {
  border-top: 3px solid #f2ae31 !important;
}

/* ============================================
   AWARDS
   ============================================ */

.awards-grid,
.awards-grid.e-con,
.awards-grid.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 40px !important;
  width: 100% !important;
  background: transparent !important;
  --gap: 40px !important;
  --flex-direction: row !important;
  --justify-content: center !important;
}

.award-box,
.award-box.e-con {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  max-width: 140px !important;
  background: transparent !important;
  --gap: 10px !important;
}

.award-box .elementor-widget-image img {
  height: 45px !important;
  width: auto !important;
  opacity: 0.9 !important;
}

.award-box .elementor-heading-title {
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  line-height: 1.4 !important;
}

/* RESPONSIVE */


/* TEAMS IMAGE */
.teams-image,
.teams-image.e-con,
.teams-image.e-con > .e-con-inner {
  width: 100% !important;
  min-height: 500px !important;
  height: auto !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  display: block !important;
}

/* ============================================
   EXPERTISE SECTION
   ============================================ */

.expertise-section,
.expertise-section.e-con {
  background: #fafafa !important;
  background-color: #fafafa !important;
  padding: 100px 5% !important;
  --gap: 60px !important;
  --flex-direction: row !important;
}

.expertise-section > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  gap: 60px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  align-items: center !important;
}

/* LEFT */
.expertise-left,
.expertise-left.e-con {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 30px !important;
  --gap: 30px !important;
  background: transparent !important;
}

/* TITLE ROW */
.expertise-title-row,
.expertise-title-row.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 15px !important;
  --gap: 15px !important;
  --flex-direction: row !important;
  background: transparent !important;
}

/* ICONA */
.expertise-title-row .elementor-widget-icon,
.expertise-title-row .elementor-icon-wrapper,
.expertise-title-row .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.expertise-title-row .elementor-icon i,
.expertise-title-row .elementor-icon svg {
  color: #f2ae31 !important;
  fill: #f2ae31 !important;
  font-size: 28px !important;
  width: 28px !important;
  height: 28px !important;
}

/* TITOLO */
.expertise-title-row .elementor-widget-heading .elementor-heading-title,
.expertise-title-row .elementor-heading-title {
  font-family: "Playfair Display", serif !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  font-style: italic !important;
  color: #003366 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* PARAGRAPHS CONTAINER */
.expertise-paragraphs,
.expertise-paragraphs.e-con {
  display: flex !important;
  flex-direction: column !important;
  gap: 25px !important;
  --gap: 25px !important;
  --flex-direction: column !important;
  background: transparent !important;
}

/* PARAGRAPH BASE STYLE */
.expertise-paragraph,
.expertise-paragraph p,
.expertise-paragraph .elementor-widget-text-editor,
.expertise-paragraph .elementor-widget-text-editor p {
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #555555 !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* ===== SCROLL BLUR REVEAL ANIMATION ===== */
@keyframes blurRevealScroll {
  0% {
    opacity: 0;
    filter: blur(15px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

/* Stato iniziale: nascosto (solo frontend) */
.expertise-paragraph.scroll-hidden,
.expertise-paragraph.scroll-hidden .elementor-widget-container,
.expertise-paragraph.scroll-hidden p {
  opacity: 0 !important;
  filter: blur(15px) !important;
  transform: translateY(20px) !important;
}

/* Stato animato: quando entra in viewport */
.expertise-paragraph.scroll-visible,
.expertise-paragraph.scroll-visible .elementor-widget-container,
.expertise-paragraph.scroll-visible p {
  animation: blurRevealScroll 0.8s ease-out forwards !important;
}

/* Delay staggerato per ogni paragrafo */
.expertise-paragraph.scroll-visible:nth-child(1),
.expertise-paragraph.scroll-visible:nth-child(1) .elementor-widget-container,
.expertise-paragraph.scroll-visible:nth-child(1) p {
  animation-delay: 0s !important;
}

.expertise-paragraph.scroll-visible:nth-child(2),
.expertise-paragraph.scroll-visible:nth-child(2) .elementor-widget-container,
.expertise-paragraph.scroll-visible:nth-child(2) p {
  animation-delay: 0.15s !important;
}

.expertise-paragraph.scroll-visible:nth-child(3),
.expertise-paragraph.scroll-visible:nth-child(3) .elementor-widget-container,
.expertise-paragraph.scroll-visible:nth-child(3) p {
  animation-delay: 0.3s !important;
}

.expertise-paragraph.scroll-visible:nth-child(4),
.expertise-paragraph.scroll-visible:nth-child(4) .elementor-widget-container,
.expertise-paragraph.scroll-visible:nth-child(4) p {
  animation-delay: 0.45s !important;
}

/* RIGHT */
.expertise-right,
.expertise-right.e-con {
  flex: 0 0 45% !important;
  max-width: 45% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}

/* IMAGE */
.expertise-image,
.expertise-image.e-con {
  width: 100% !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  aspect-ratio: 1 !important;
  box-shadow: 0 20px 60px rgba(0, 51, 102, 0.2) !important;
}

.expertise-image img,
.expertise-image .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* RESPONSIVE */


/* ═══════════════════════════════════════════════════════════════════════════
OUR TEAM SECTION - CSS COMPLETO E PULITO

═══════════════════════════════════════════════════════════════════════════ */

.team-section {
  padding: 60px 0 !important;
  background: #fafafa !important;
}

.team-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 5% !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
TITOLO - CENTRATO

═══════════════════════════════════════════════════════════════════════════ */

.team-title-wrap,
.team-title-wrap.e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  gap: 0.3em !important;
  margin-bottom: 40px !important;
}

.team-title-wrap > *,
.team-title-wrap > .elementor-element {
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.team-title-fixed {
  width: auto !important;
  flex: none !important;
}

/* OUR - NAVY */
.team-title-fixed .elementor-heading-title {
  color: #003366 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.team-title-animated,
.team-title-animated.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
  width: auto !important;
  flex: none !important;
}

/* TEAM/PEOPLE/EXPERTS - GOLD */
.team-word .elementor-heading-title {
  color: #f2ae31 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

/* Cursore GOLD */
@keyframes cursorBlink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
}

.team-cursor {
  animation: cursorBlink 0.8s ease-in-out infinite !important;
}

.team-cursor .elementor-divider-separator {
  background-color: #f2ae31 !important;
  width: 3px !important;
  height: 1em !important;
  border-radius: 2px !important;
}

@keyframes teamWordReveal {
  0% {
    opacity: 0;
    transform: translateY(8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
FEATURED MEMBER - FOTO + BIO

═══════════════════════════════════════════════════════════════════════════ */

.team-featured,
.team-featured.e-con {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 72px !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

.team-featured > .left,
.team-featured .left {
  width: 380px !important;
  max-width: 380px !important;
  flex-shrink: 0 !important;
}

.team-featured .left img {
  width: 100% !important;
  height: auto !important;
  max-height: 360px !important;
  object-fit: contain !important;
  transition: transform 0.4s ease !important;
}

.team-featured .left:hover img {
  transform: scale(1.03) !important;
}

.team-featured > .right,
.team-featured .right {
  flex: 1 !important;
  max-width: 520px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

/* CHEVRON - GOLD + PULSE */
@keyframes chevronPulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.25);
  }
}

.team-chevron {
  animation: chevronPulse 1.5s ease-in-out infinite !important;
}

.team-chevron i,
.team-chevron svg,
.team-chevron .elementor-icon i,
.team-chevron .elementor-icon svg {
  color: #f2ae31 !important;
  fill: #f2ae31 !important;
  font-size: 18px !important;
}

/* NOME ELIE - NAVY */
.team-featured-name .elementor-heading-title,
[class*="team-featured-na"] .elementor-heading-title,
.team-name .elementor-heading-title,
.team-featured .right .elementor-widget-heading .elementor-heading-title {
  color: #003366 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* RUOLO ELIE - NAVY MUTED */
.team-featured-role .elementor-heading-title,
.team-role .elementor-heading-title {
  color: rgba(27, 40, 89, 0.6) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Bio testo */
.team-featured-bio .elementor-text-editor,
.team-featured-bio .elementor-text-editor p,
.team-featured .right .elementor-text-editor,
.team-featured .right .elementor-text-editor p {
  color: rgba(27, 40, 89, 0.75) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  text-align: justify !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
VIDEO SECTION

═══════════════════════════════════════════════════════════════════════════ */

.team-video-section,
.team-video-section.e-con {
  margin-top: 20px !important;
  padding: 0 !important;
}

.team-videos-wrapper,
.team-videos-wrapper.e-con {
  position: relative !important;
  width: 100% !important;
  max-width: 500px !important;
  min-height: 400px !important;
  height: auto !important;
  margin: 0 auto !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding-bottom: 70px !important;
}

/* Video sovrapposti */
.team-videos-wrapper .elementor-widget-video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(100% - 70px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.8s ease !important;
}

.team-videos-wrapper .elementor-widget-video.active-video {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}

.team-videos-wrapper video {
  background: transparent !important;
  object-fit: contain !important;
  max-height: 500px !important;
}

/* NOME - in fondo al wrapper */
.team-name-video,
.team-name-video.e-con {
  position: absolute !important;
  bottom: 30px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
}

.team-name-video .elementor-heading-title {
  color: #003366 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  transition: opacity 0.3s ease !important;
}

/* RUOLO - subito sotto nome */
.team-role-video,
.team-role-video.e-con {
  position: absolute !important;
  bottom: 5px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
}

.team-role-video .elementor-heading-title {
  color: rgba(27, 40, 89, 0.6) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  transition: opacity 0.3s ease !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
VIDEO VISIBILI IN EDITOR - GRIGLIA 3 COLONNE

═══════════════════════════════════════════════════════════════════════════ */

.elementor-editor-active .team-videos-wrapper .elementor-widget-video {
  position: relative !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  margin: 0 !important;
  height: auto !important;
}

.elementor-editor-active .team-videos-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  max-width: 100% !important;
  height: auto !important;
  padding-bottom: 0 !important;
}

.elementor-editor-active .team-videos-wrapper .elementor-widget-video video {
  width: 100% !important;
  height: 150px !important;
  object-fit: cover !important;
}

.elementor-editor-active .team-name-video,
.elementor-editor-active .team-role-video {
  position: relative !important;
  bottom: auto !important;
  grid-column: 1 / -1 !important;
  margin-top: 10px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
ANIMAZIONI SCROLL - FOTO DA SINISTRA, BIO DA DESTRA

═══════════════════════════════════════════════════════════════════════════ */

.team-featured .left {
  opacity: 0;
  transform: translateX(-60px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.team-featured .right {
  opacity: 0;
  transform: translateX(60px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.team-featured .left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.team-featured .right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.team-video-section {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.team-video-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* EDITOR - mostra sempre */
.elementor-editor-active .team-featured .left,
.elementor-editor-active .team-featured .right,
.elementor-editor-active .team-video-section {
  opacity: 1 !important;
  transform: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
TABLET

═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
MOBILE - FOTO SOPRA, BIO SOTTO FULL WIDTH

═══════════════════════════════════════════════════════════════════════════ */


/* ============================================
QA / FAQ SECTION

   ============================================ */

.qa-section,
.qa-section.e-con {
  background: #fafafa !important;
  background-color: #fafafa !important;
  padding: 0 !important;
  margin: 0 !important;
}

.qa-section > .e-con-inner {
  background: #fafafa !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

.qa-section .elementor-widget-html {
  width: 100% !important;
}

.qa-section .elementor-widget-container {
  background: #fafafa !important;
}

/* ============================================
BACKGROUND GOOGLE REVIEW

   ============================================ */

.google-reviews-sections,
.google-reviews-sections.e-con {
  background: #fafafa !important;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   CONTACT SECTION
   ═══════════════════════════════════════════════════════════════════════════════ */

.contact-section,
.contact-section.e-con {
  background: #fafafa !important;
}
Se vuoi anche uniformare il padding e gestire il responsive:

/* ═══════════════════════════════════════════════════════════════════════════════
   CONTACT SECTION - COMPLETO
   ═══════════════════════════════════════════════════════════════════════════════ */

.contact-section,
.contact-section.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}


/* ========== CLASSE CONTENITORE unity plus ========== */
.up-section-fafafa,
.up-section-fafafa.e-con,
.elementor-element.up-section-fafafa,
section.up-section-fafafa {
  background: #fafafa !important;
  background-color: #fafafa !important;
}

/* ========== CLASSE CONTENITORE skyline ========== */

.skyline-section,
.skyline-section.e-con,
.elementor-element.skyline-section {
  background: #fafafa !important;
  background-color: #fafafa !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE - HERO SECTION TEMPLATE
   ═══════════════════════════════════════════════════════════════ */

/* HERO TAG */
.about-hero-tag .elementor-heading-title {
  display: inline-block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #f2ae31 !important;
  background: rgba(242, 174, 49, 0.15) !important;
  padding: 10px 20px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(242, 174, 49, 0.3) !important;
}

/* HERO TITLE */
.about-hero-title .elementor-heading-title {
  font-size: 72px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
}

/* HERO SUBTITLE */
.about-hero-subtitle p {
  font-size: 20px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  line-height: 1.7 !important;
}

/* ═══════════════════════════════════════════════════════════════
   STATS ROW
   ═══════════════════════════════════════════════════════════════ */

.about-stats-row,
.about-stats-row.e-con {
  margin-top: 48px !important;
}

.about-stat,
.about-stat.e-con {
  text-align: center !important;
  position: relative !important;
  padding: 0 40px !important;
}

/* DIVIDER LINE VIA CSS */
.about-stat:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1px !important;
  height: 50px !important;
  background: rgba(255, 255, 255, 0.2) !important;
}

/* STAT NUMBER CON GLOW */
.about-stat-number .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 500 !important;
  color: #f2ae31 !important;
  line-height: 1 !important;
  -webkit-animation: statGlow 3s ease-in-out infinite;
  animation: statGlow 3s ease-in-out infinite;
}

/* STAGGER ANIMATION */
.about-stat:nth-child(1) .about-stat-number .elementor-heading-title {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.about-stat:nth-child(2) .about-stat-number .elementor-heading-title {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.about-stat:nth-child(3) .about-stat-number .elementor-heading-title {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

/* GLOW KEYFRAMES */
@-webkit-keyframes statGlow {
  0%,
  100% {
    text-shadow: 0 0 0 transparent;
    filter: brightness(1);
  }
  50% {
    text-shadow:
      0 0 15px rgba(242, 174, 49, 0.8),
      0 0 30px rgba(242, 174, 49, 0.6),
      0 0 45px rgba(242, 174, 49, 0.4);
    filter: brightness(1.3);
  }
}

@keyframes statGlow {
  0%,
  100% {
    text-shadow: 0 0 0 transparent;
    filter: brightness(1);
  }
  50% {
    text-shadow:
      0 0 15px rgba(242, 174, 49, 0.8),
      0 0 30px rgba(242, 174, 49, 0.6),
      0 0 45px rgba(242, 174, 49, 0.4);
    filter: brightness(1.3);
  }
}

/* STAT LABEL */
.about-stat-label .elementor-heading-title {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-top: 8px !important;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE - EXPERTISE SECTION
   ═══════════════════════════════════════════════════════════════ */

.about-expertise,
.about-expertise.e-con {
  background: #fafafa !important;
  background-color: #fafafa !important;
}

/* ═══════════════════════════════════════════════════════════════
   EDITOR MODE - TUTTO VISIBILE
   ═══════════════════════════════════════════════════════════════ */

body.elementor-editor-active .about-exp-title,
body.elementor-editor-active .about-exp-img1,
body.elementor-editor-active .about-exp-stats,
body.elementor-editor-active .about-exp-desc,
body.elementor-editor-active .about-exp-img2,
body.elementor-editor-active .about-exp-features {
  opacity: 1 !important;
  transform: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   TUTTE LE BOX - COLORE SOLIDO + STESSA ALTEZZA
   ═══════════════════════════════════════════════════════════════ */

.about-exp-title,
.about-exp-title.e-con,
.about-exp-stats,
.about-exp-stats.e-con,
.about-exp-desc,
.about-exp-desc.e-con {
  background: #003366 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.25),
    0 8px 16px rgba(0, 51, 102, 0.2) !important;
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease,
    opacity 0.8s ease !important;
  transform-style: preserve-3d !important;
  min-height: 300px !important;
}

.about-exp-title:hover,
.about-exp-stats:hover,
.about-exp-desc:hover {
  box-shadow:
    0 30px 60px rgba(0, 0, 0, 0.3),
    0 15px 30px rgba(0, 51, 102, 0.25) !important;
}

/* ═══════════════════════════════════════════════════════════════
   IMAGE BLOCKS - STESSA ALTEZZA
   ═══════════════════════════════════════════════════════════════ */

.about-exp-img1,
.about-exp-img1.e-con,
.about-exp-img2,
.about-exp-img2.e-con {
  overflow: hidden !important;
  min-height: 300px !important;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.25),
    0 8px 16px rgba(0, 51, 102, 0.2) !important;
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease,
    opacity 0.8s ease !important;
}

.about-exp-img1:hover,
.about-exp-img2:hover {
  box-shadow:
    0 30px 60px rgba(0, 0, 0, 0.3),
    0 15px 30px rgba(0, 51, 102, 0.25) !important;
}

.about-overlay,
.about-overlay.e-con {
  background: rgba(10, 22, 40, 0.85) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.about-overlay-text p {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   SCROLL ANIMATION - ENTRATA DA DIREZIONI DIVERSE
   ═══════════════════════════════════════════════════════════════ */

.about-exp-title {
  opacity: 0;
  transform: translateX(-80px);
}

.about-exp-img1 {
  opacity: 0;
  transform: translateY(80px);
}

.about-exp-stats {
  opacity: 0;
  transform: translateX(80px);
}

.about-exp-desc {
  opacity: 0;
  transform: translateX(-80px);
}

.about-exp-img2 {
  opacity: 0;
  transform: translateY(80px);
}

.about-exp-features {
  opacity: 0;
  transform: translateX(80px);
}

.about-exp-title.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0s;
}

.about-exp-img1.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}

.about-exp-stats.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}

.about-exp-desc.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.3s;
}

.about-exp-img2.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.4s;
}

.about-exp-features.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.5s;
}

/* ═══════════════════════════════════════════════════════════════
   TITLE BLOCK - TESTI
   ═══════════════════════════════════════════════════════════════ */

.about-exp-tag .elementor-heading-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #f2ae31 !important;
}

.about-exp-title-text .elementor-heading-title {
  font-size: 36px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
}

/* ═══════════════════════════════════════════════════════════════
   STATS BLOCK - TESTI + PROGRESS BAR CON GLOW
   ═══════════════════════════════════════════════════════════════ */

.about-big-number .elementor-heading-title {
  font-size: 64px !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.about-big-label .elementor-heading-title {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.about-progress-wrap,
.about-progress-wrap.e-con {
  position: relative !important;
  padding-top: 14px !important;
}

.about-progress-wrap::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 6px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 3px !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

.about-progress-wrap::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 75% !important;
  height: 6px !important;
  background: linear-gradient(90deg, #f2ae31 0%, #ffd280 100%) !important;
  border-radius: 3px !important;
  box-shadow:
    0 0 10px rgba(242, 174, 49, 0.6),
    0 0 20px rgba(242, 174, 49, 0.4),
    0 0 30px rgba(242, 174, 49, 0.2) !important;
  animation: progressGlow 2s ease-in-out infinite alternate !important;
}

@keyframes progressGlow {
  0% {
    box-shadow:
      0 0 10px rgba(242, 174, 49, 0.6),
      0 0 20px rgba(242, 174, 49, 0.4),
      0 0 30px rgba(242, 174, 49, 0.2);
  }
  100% {
    box-shadow:
      0 0 15px rgba(242, 174, 49, 0.8),
      0 0 30px rgba(242, 174, 49, 0.5),
      0 0 45px rgba(242, 174, 49, 0.3);
  }
}

.about-progress-label .elementor-heading-title {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-align: center !important;
  margin-top: 8px !important;
}

/* ═══════════════════════════════════════════════════════════════
   DESCRIPTION BLOCK - TESTI
   ═══════════════════════════════════════════════════════════════ */

.about-desc-text p {
  font-size: 17px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.about-cta-link .elementor-button {
  background: transparent !important;
  color: #f2ae31 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.about-cta-link .elementor-button:hover {
  color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════
   FEATURES BLOCK - TRASPARENTE (NO BOX)
   ═══════════════════════════════════════════════════════════════ */

.about-exp-features,
.about-exp-features.e-con {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
  min-height: auto !important;
  transition:
    transform 0.8s ease,
    opacity 0.8s ease !important;
}

.about-exp-features:hover {
  transform: none !important;
  box-shadow: none !important;
}

.about-features-label .elementor-heading-title {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #003366 !important;
  margin-bottom: 16px !important;
}

/* ═══════════════════════════════════════════════════════════════
   FEATURE PILLS - EFFETTO VETRO + TESTO COMPLETO
   ═══════════════════════════════════════════════════════════════ */

.about-features-grid,
.about-features-grid.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  width: 100% !important;
}

.about-feature-item,
.about-feature-item.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.6) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 50px !important;
  padding: 14px 24px !important;
  width: 100% !important;
  box-shadow:
    0 10px 25px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
  transition: all 0.3s ease !important;
}

.about-feature-item:hover {
  background: rgba(255, 255, 255, 0.8) !important;
  transform: translateY(-3px) !important;
  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

.about-feature-item i,
.about-feature-item svg,
.about-feature-item .elementor-icon {
  color: #f2ae31 !important;
  fill: #f2ae31 !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
}

.about-feature-text .elementor-heading-title {
  font-size: 13px !important;
  color: #003366 !important;
  font-weight: 600 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  text-align: center !important;
  line-height: 1.3 !important;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE EXPERTISE
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE - TEAM SECTION
   ═══════════════════════════════════════════════════════════════ */

.about-team,
.about-team.e-con {
  background: #fafafa !important;
  background-color: #fafafa !important;
  padding: 80px 40px !important;
}

/* EDITOR MODE */
body.elementor-editor-active .about-team-photo,
body.elementor-editor-active .about-team-info,
body.elementor-editor-active .about-team-card,
body.elementor-editor-active .card-3d {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════════ */

.about-team-title .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 400 !important;
  color: #003366 !important;
}

.about-team-title-accent .elementor-heading-title {
  font-size: 48px !important;
  font-weight: 400 !important;
  color: #f2ae31 !important;
}

.about-team-subtitle .elementor-heading-title,
.about-team-subtitle p {
  font-size: 16px !important;
  color: rgba(0, 51, 102, 0.6) !important;
  text-align: center !important;
}

/* ═══════════════════════════════════════════════════════════════
   GRID PRINCIPALE
   ═══════════════════════════════════════════════════════════════ */

.about-team-grid,
.about-team-grid.e-con {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ═══════════════════════════════════════════════════════════════
   LEFT - BLOCCO ELIE
   ═══════════════════════════════════════════════════════════════ */

.about-team-left,
.about-team-left.e-con {
  width: 55% !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  box-shadow: 0 15px 40px rgba(0, 51, 102, 0.15) !important;
}

/* ═══════════════════════════════════════════════════════════════
   FOTO ELIE - CON GRADIENTE HOVER
   ═══════════════════════════════════════════════════════════════ */

.about-team-photo,
.about-team-photo.e-con {
  border-radius: 30px 0 0 30px !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.about-team-photo::before,
.about-team-photo.e-con::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    to top,
    rgba(0, 30, 60, 0.9) 0%,
    rgba(0, 30, 60, 0.5) 40%,
    rgba(0, 30, 60, 0.2) 70%,
    transparent 100%
  ) !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease !important;
  pointer-events: none !important;
  z-index: 99 !important;
  border-radius: 30px 0 0 30px !important;
}

.about-team-photo:hover::before,
.about-team-photo.e-con:hover::before {
  opacity: 1 !important;
}

/* INFO ELIE */
.about-team-info,
.about-team-info.e-con {
  background: #003366 !important;
  border-radius: 0 30px 30px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   INFO TESTI
   ═══════════════════════════════════════════════════════════════ */

.about-team-name .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

.about-team-role .elementor-heading-title {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #f2ae31 !important;
}

.about-team-bio p,
.about-team-bio .elementor-text-editor p {
  font-size: 15px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  line-height: 1.7 !important;
}

/* ═══════════════════════════════════════════════════════════════
   STATS - ALLINEAMENTO ORIZZONTALE
   ═══════════════════════════════════════════════════════════════ */

.about-team-stats,
.about-team-stats.e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 40px !important;
  margin-top: auto !important;
}

.about-team-stat,
.about-team-stat.e-con {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}

.about-team-stat-num .elementor-heading-title {
  font-size: 36px !important;
  font-weight: 300 !important;
  color: #f2ae31 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.about-team-stat-label .elementor-heading-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   RIGHT - GRID CARDS
   ═══════════════════════════════════════════════════════════════ */

.about-team-right,
.about-team-right.e-con {
  width: 45% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.about-team-row,
.about-team-row.e-con {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  position: relative !important;
}

/* ═══════════════════════════════════════════════════════════════
   CARDS - EFFETTO FLOATING
   ═══════════════════════════════════════════════════════════════ */

.about-team-card,
.about-team-card.e-con {
  background: #fff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow:
    0 10px 30px rgba(0, 51, 102, 0.12),
    0 5px 15px rgba(0, 0, 0, 0.08) !important;
  border: none !important;
}

.about-team-card:hover {
  transform: translateY(-6px) !important;
  box-shadow:
    0 20px 50px rgba(0, 51, 102, 0.2),
    0 10px 25px rgba(0, 0, 0, 0.12) !important;
}

.about-team-card-img,
.about-team-card-img.e-con {
  flex-grow: 1 !important;
  min-height: 140px !important;
  border-radius: 20px 20px 0 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.about-team-card-title,
.about-team-card-title.e-con {
  background: #003366 !important;
  flex-shrink: 0 !important;
  border-radius: 0 0 20px 20px !important;
  padding: 16px !important;
  margin: 0 !important;
}

.about-team-card-title .elementor-heading-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════
   CARD 3D - POSIZIONAMENTO ASSOLUTO (BACKGROUND)
   ═══════════════════════════════════════════════════════════════ */

.card-3d {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 50% !important;
  height: 100% !important;
  z-index: 0 !important;
}

.card-3d .elementor-widget-container,
.card-3d model-viewer,
.card-3d [class*="3d-viewer"],
.card-3d canvas {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

.about-team-card {
  position: relative !important;
  z-index: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════
   SCROLL ANIMATION - STATO INIZIALE (INVISIBILE)
   ═══════════════════════════════════════════════════════════════ */

.about-team-photo {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(-60px) !important;
  transition:
    opacity 0.8s ease,
    visibility 0.8s ease,
    transform 0.8s ease !important;
}

.about-team-info {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(60px) !important;
  transition:
    opacity 0.8s ease 0.1s,
    visibility 0.8s ease 0.1s,
    transform 0.8s ease 0.1s !important;
}

.about-team-card {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(40px) !important;
  transition:
    opacity 0.6s ease,
    visibility 0.6s ease,
    transform 0.6s ease,
    box-shadow 0.4s ease !important;
}

.card-3d {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(40px) scale(0.95) !important;
  transition:
    opacity 0.8s ease,
    visibility 0.8s ease,
    transform 0.8s ease !important;
}

/* DELAY SEQUENZIALE */
.about-team-row:first-child .about-team-card:first-child {
  transition-delay: 0.2s !important;
}
.about-team-row:first-child .about-team-card:last-child {
  transition-delay: 0.3s !important;
}
.about-team-row:last-child .about-team-card:first-child {
  transition-delay: 0.4s !important;
}
.card-3d {
  transition-delay: 0.5s !important;
}

/* ═══════════════════════════════════════════════════════════════
   SCROLL ANIMATION - STATO FINALE (VISIBILE)
   ═══════════════════════════════════════════════════════════════ */

.about-team-photo.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
}

.about-team-info.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
}

.about-team-card.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.card-3d.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE TEAM
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════════
   TEMPLATE: BSC- (OUR SERVICE)
   ═══════════════════════════════════════════════════════════════════════════════ */

/* 
   0. EDITOR MODE - FORZA VISIBILITÀ
*/

.elementor-editor-active .svc-hero-content,
.elementor-editor-active .svc-benefits-grid .svc-benefit-card-1,
.elementor-editor-active .svc-benefits-grid .svc-benefit-card-2,
.elementor-editor-active .svc-benefits-grid .svc-benefit-card-3,
.elementor-editor-active .svc-benefits-grid .svc-benefit-card-4,
.elementor-editor-active .svc-benefits-grid .svc-benefit-card-5,
.elementor-editor-active .svc-service-card,
.elementor-editor-active .svc-process-left,
.elementor-editor-active .svc-floating-card,
.elementor-editor-active .svc-step {
  opacity: 1 !important;
  transform: none !important;
}

/*
   1. HERO SECTION
*/

.svc-hero,
.svc-hero.e-con {
  position: relative !important;
  min-height: 50vh !important;
  display: flex !important;
  align-items: center !important;
  padding: 100px 52px 60px !important;
  overflow: hidden !important;
}

/* Overlay più leggero per mostrare immagine di sfondo */
.svc-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(0, 26, 51, 0.85) 0%,
    rgba(0, 51, 102, 0.7) 40%,
    rgba(0, 51, 102, 0.4) 70%,
    rgba(0, 51, 102, 0.2) 100%
  ) !important;
  z-index: 1 !important;
}

.svc-hero > .e-con-inner {
  position: relative !important;
  z-index: 2 !important;
}

.svc-hero-content,
.svc-hero-content.e-con {
  max-width: 650px !important;
}

.svc-hero-tag .elementor-heading-title {
  display: inline-block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #f2ae31 !important;
  background: rgba(242, 174, 49, 0.15) !important;
  padding: 8px 16px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(242, 174, 49, 0.3) !important;
  margin-bottom: 16px !important;
}

.svc-hero-title .elementor-heading-title {
  font-size: clamp(36px, 4.5vw, 56px) !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin-bottom: 16px !important;
}

.svc-hero-subtitle .elementor-heading-title {
  font-size: clamp(18px, 2vw, 24px) !important;
  font-weight: 400 !important;
  color: #f2ae31 !important;
  line-height: 1.4 !important;
  margin-bottom: 16px !important;
}

.svc-hero-desc,
.svc-hero-desc p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  margin-bottom: 24px !important;
}

/* BOTTONE */
.svc-hero-cta .elementor-button {
  padding: 14px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  background: #f2ae31 !important;
  border-radius: 100px !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

.svc-hero-cta .elementor-button:hover {
  background: #fff !important;
  color: #003366 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 30px rgba(242, 174, 49, 0.3) !important;
}

.svc-hero-cta .elementor-button-text,
.svc-hero-cta .elementor-button span {
  color: #003366 !important;
}

.svc-hero-cta .elementor-button-icon,
.svc-hero-cta .elementor-button-icon i,
.svc-hero-cta .elementor-button-icon svg,
.svc-hero-cta .elementor-button svg,
.svc-hero-cta .elementor-button i {
  color: #003366 !important;
  fill: #003366 !important;
}

.svc-hero-cta .elementor-button:hover .elementor-button-text,
.svc-hero-cta .elementor-button:hover span,
.svc-hero-cta .elementor-button:hover .elementor-button-icon,
.svc-hero-cta .elementor-button:hover .elementor-button-icon i,
.svc-hero-cta .elementor-button:hover .elementor-button-icon svg,
.svc-hero-cta .elementor-button:hover svg,
.svc-hero-cta .elementor-button:hover i {
  color: #003366 !important;
  fill: #003366 !important;
}

/*
   2. BENEFITS BENTO GRID
*/

.svc-benefits,
.svc-benefits.e-con {
  padding: 40px 24px 80px 24px !important;
  background: #fafafa !important;
}

.svc-benefits-inner,
.svc-benefits-inner.e-con {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.svc-section-header,
.svc-section-header.e-con {
  text-align: center !important;
  margin-bottom: 40px !important;
}

.svc-section-title .elementor-heading-title {
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 12px !important;
}

.svc-section-text,
.svc-section-text p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: rgba(27, 40, 89, 0.7) !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* Grid Container */
.svc-benefits-grid,
.svc-benefits-grid.e-con,
.svc-benefits-grid.e-con-boxed {
  display: grid !important;
  grid-template-columns: 1fr 1.3fr 1fr !important;
  grid-template-rows: 240px 260px !important;
  gap: 14px !important;
  width: 100% !important;
}

.svc-benefits-grid > .e-con-inner {
  display: contents !important;
}

/* Card Base */
.svc-benefit-card,
.svc-benefit-card.e-con {
  position: relative !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease !important;
  padding: 0 !important;
  min-height: unset !important;
  height: 100% !important;
}

.svc-benefit-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15) !important;
}

.svc-benefit-card > .e-con-inner {
  position: absolute !important;
  inset: 0 !important;
  padding: 0 !important;
}

/* Grid Positioning */
.svc-benefit-card-1,
.svc-benefit-card-1.e-con {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}

.svc-benefit-card-2,
.svc-benefit-card-2.e-con {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.svc-benefit-card-3,
.svc-benefit-card-3.e-con {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

.svc-benefit-card-4,
.svc-benefit-card-4.e-con {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.svc-benefit-card-5,
.svc-benefit-card-5.e-con {
  grid-column: 3 !important;
  grid-row: 2 !important;
}

/* Card Image */
.svc-benefit-img,
.svc-benefit-img.e-con,
.svc-benefit-img .elementor-widget-image,
.svc-benefit-img .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}

.svc-benefit-img img,
.svc-benefit-card .elementor-widget-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.svc-benefit-card:hover .svc-benefit-img img,
.svc-benefit-card:hover .elementor-widget-image img {
  transform: scale(1.06) !important;
}

/* Card Overlay */
.svc-benefit-overlay,
.svc-benefit-overlay.e-con {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0.1) 100%
  ) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  padding: 24px !important;
  z-index: 2 !important;
  transition: background 0.3s ease !important;
}

.svc-benefit-card:hover .svc-benefit-overlay {
  background: linear-gradient(
    to top,
    rgba(0, 51, 102, 0.9) 0%,
    rgba(0, 51, 102, 0.5) 60%,
    rgba(0, 51, 102, 0.2) 100%
  ) !important;
}

/* Card Title */
.svc-benefit-title,
.svc-benefit-title .elementor-widget-container,
.svc-benefit-title .elementor-heading-title {
  text-align: left !important;
  width: auto !important;
  margin: 0 !important;
}

.svc-benefit-title .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #fff !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5) !important;
  line-height: 1.3 !important;
}

.svc-benefit-card-1 .svc-benefit-title .elementor-heading-title {
  font-size: 22px !important;
}

.svc-benefit-desc,
.svc-benefit-desc p {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

/* FORZA BORDI ARROTONDATI */
.svc-benefit-card,
.svc-benefit-card.e-con,
.svc-benefit-card-1,
.svc-benefit-card-2,
.svc-benefit-card-3,
.svc-benefit-card-4,
.svc-benefit-card-5,
[class*="svc-benefit-card"] {
  border-radius: 16px !important;
  -webkit-border-radius: 16px !important;
  overflow: hidden !important;
}

/* PALLINI DECORATIVI */
.svc-benefit-card-1::after,
.svc-benefit-card-2::after,
.svc-benefit-card-3::after,
.svc-benefit-card-4::after,
.svc-benefit-card-5::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  z-index: 100 !important;
  bottom: 20px !important;
  right: 20px !important;
  pointer-events: none !important;
}

.svc-benefit-card-1::after,
.svc-benefit-card-3::after,
.svc-benefit-card-5::after {
  background: #f2ae31 !important;
  box-shadow: 0 0 12px 3px rgba(242, 174, 49, 0.6) !important;
  animation: svcDotGlow 2.5s ease-in-out infinite !important;
}

.svc-benefit-card-2::after,
.svc-benefit-card-4::after {
  background: #003366 !important;
  box-shadow: 0 0 12px 3px rgba(0, 51, 102, 0.5) !important;
  animation: svcDotGlowNavy 2.5s ease-in-out infinite !important;
}

@keyframes svcDotGlow {
  0%,
  100% {
    box-shadow: 0 0 8px 2px rgba(242, 174, 49, 0.4);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 18px 6px rgba(242, 174, 49, 0.7);
    transform: scale(1.15);
  }
}

@keyframes svcDotGlowNavy {
  0%,
  100% {
    box-shadow: 0 0 8px 2px rgba(0, 51, 102, 0.3);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 18px 6px rgba(0, 51, 102, 0.6);
    transform: scale(1.15);
  }
}

/* 
   3. SERVICES SECTION - DESKTOP (PIÙ RETTANGOLARI & A FILO)
 */

.svc-services,
.svc-services.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}

/* Wrapper principale */
.svc-services-wrapper.e-con,
.svc-services-wrapper > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.8fr 1fr !important;
  gap: 60px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Griglia card 2x2 */
.svc-services-left,
.svc-services-left.e-con {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}

/* Card: rettangolare e pulita */
.svc-service-card,
.svc-service-card.e-con {
  background: #fafbfc !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  padding: 0 !important;
  transition: all 0.4s ease !important;
}

/* IMMAGINE */
.svc-service-img img,
.svc-service-img .elementor-widget-container img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

/* Spazio interno solo per il testo */
.svc-service-content,
.svc-service-content.e-con {
  padding: 20px 24px !important;
}

.svc-service-title .elementor-heading-title {
  font-size: 19px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  margin-bottom: 8px !important;
}

.svc-service-desc p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: rgba(27, 40, 89, 0.7) !important;
}

/* Colonna destra ferma */
.svc-services-right,
.svc-services-right.e-con {
  position: relative !important;
  top: 0 !important;
  align-self: start !important;
}

/* ── TAG: Sopratitolo gold ── */
.svc-services-tag .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #f2ae31 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 0 0 10px 0 !important;
}

/* ── TITLE: Titolo principale navy ── */
.svc-services-title .elementor-heading-title {
  font-size: clamp(26px, 2.8vw, 36px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px 0 !important;
}

/* ── TEXT: Descrizione grigia ── */
.svc-services-text,
.svc-services-text p,
.svc-services-text .elementor-widget-container p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: rgba(27, 40, 89, 0.7) !important;
  margin: 0 !important;
}

/* ── CTA Button ── */
.svc-services-cta .elementor-button {
  padding: 12px 26px !important;
  background: #003366 !important;
  border-radius: 100px !important;
}

/* 
   4. PROCESS SECTION - MATCH ESATTO FOTO TARGET
*/

.svc-process,
.svc-process.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.svc-process-wrapper,
.svc-process-wrapper.e-con {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1.1fr !important; /* Più spazio a destra */
  gap: 60px !important;
  align-items: start !important;
}

/* 
   COLONNA SINISTRA
 */

.svc-process-left,
.svc-process-left.e-con {
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* CONTENITORE IMMAGINE - PIÙ VERTICALE */
.svc-process-img-wrap,
.svc-process-img-wrap.e-con {
  position: relative !important;
  width: 100% !important;
  height: 720px !important; /* ← PIÙ ALTA = PIÙ VERTICALE */
  border-radius: 24px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
}

.svc-process-img-wrap .elementor-widget-container,
.svc-process-img-wrap .elementor-image,
.svc-process-img-wrap .elementor-widget-image,
.svc-process-img,
.svc-process-img.e-con {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.svc-process-img img,
.svc-process-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
   FLOATING CARD - DIMENSIONI E TESTI ESATTI DA FOTO
 */

.svc-floating-card,
.svc-floating-card.e-con {
  position: absolute !important;
  bottom: 35px !important;
  left: 25px !important;
  background: rgba(0, 51, 102, 0.92) !important;
  backdrop-filter: blur(20px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.5) !important;
  padding: 24px 28px 22px 28px !important;
  border-radius: 16px !important;
  width: 230px !important;
  max-width: 230px !important;
  min-width: 230px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* ── LABEL: "POLICIES ISSUED" ── */
.svc-floating-label,
.svc-floating-label.e-con,
.svc-floating-card > .svc-floating-label {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.svc-floating-label .elementor-heading-title,
.svc-floating-label .elementor-widget-container {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin: 0 !important;
  line-height: 1 !important;
}

/* ── VALUE ROW: "600" + "+" + "Policies" ── */
.svc-floating-value,
.svc-floating-value.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  width: 100% !important;
}

/* "600" - GRANDE */
.svc-floating-num,
.svc-floating-num.e-con {
  padding: 0 !important;
  margin: 0 !important;
}

.svc-floating-num .elementor-heading-title,
.svc-floating-num .elementor-widget-container {
  font-size: 52px !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: -0.02em !important;
  font-style: italic !important;
}

/* "+" - GOLD */
.svc-floating-suffix,
.svc-floating-suffix.e-con {
  padding: 0 !important;
  margin: 0 0 0 2px !important;
}

.svc-floating-suffix .elementor-heading-title,
.svc-floating-suffix .elementor-widget-container {
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #f2ae31 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* "Policies" */
.svc-floating-unit,
.svc-floating-unit.e-con {
  padding: 0 !important;
  margin: 0 0 0 8px !important;
}

.svc-floating-unit .elementor-heading-title,
.svc-floating-unit .elementor-widget-container {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* 
PROGRESS BAR - DUE COLORI (GOLD + GRIGIO)
*/

.svc-floating-progress,
.svc-floating-progress.e-con {
  width: 100% !important;
  height: 5px !important;
  min-height: 5px !important;
  max-height: 5px !important;
  background: rgba(255, 255, 255, 0.2) !important; /* PARTE GRIGIA */
  border-radius: 3px !important;
  margin: 0 0 14px 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: block !important;
}

.svc-floating-progress-bar,
.svc-floating-progress-bar.e-con {
  width: 65% !important; /* PARTE GOLD RIEMPITA */
  height: 5px !important;
  min-height: 5px !important;
  max-height: 5px !important;
  background: #f2ae31 !important;
  border-radius: 3px 0 0 3px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/*
   SUBTEXT: "Trusted by 500+ businesses"
 */

.svc-floating-subtext,
.svc-floating-subtext.e-con {
  padding: 0 !important;
  margin: 0 !important;
}

.svc-floating-subtext p,
.svc-floating-subtext .elementor-widget-container,
.svc-floating-subtext .elementor-widget-container p,
.svc-floating-subtext .elementor-heading-title {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.5) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* 
   COLONNA DESTRA - HEADER + STEPS
*/

.svc-process-right,
.svc-process-right.e-con {
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
  padding-top: 10px !important;
}

.svc-process-header,
.svc-process-header.e-con {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.svc-process-subtitle .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #f2ae31 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 0 !important;
}

.svc-process-title .elementor-heading-title {
  font-size: clamp(30px, 3.2vw, 40px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

/* GRIGLIA 2x2 STEPS */
.svc-process-row,
.svc-process-row.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  width: 100% !important;
}

/* SINGOLO STEP */
.svc-step,
.svc-step.e-con {
  background: #ffffff !important;
  padding: 28px 24px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease !important;
}

.svc-step:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 18px 45px rgba(0, 51, 102, 0.12) !important;
}

/* NUMERO STEP */
.svc-step-num,
.svc-step-num.e-con {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  background: #f2ae31 !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.svc-step-num .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #003366 !important;
  margin: 0 !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
}

/* TITOLO STEP */
.svc-step-title .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

/* DESC STEP */
.svc-step-desc,
.svc-step-desc p,
.svc-step-desc .elementor-widget-container p {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(27, 40, 89, 0.6) !important;
  margin: 0 !important;
}

/*
   5. CTA SECTION - SERVICES TEMPLATE
*/

.svc-cta,
.svc-cta.e-con {
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.svc-cta-content,
.svc-cta-content.e-con {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* TITOLO STATICO (ANIMAZIONE RIMOSSA) */
.svc-cta-title .elementor-heading-title {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 16px !important;
}

.svc-cta-text,
.svc-cta-text p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: rgba(0, 51, 102, 0.75) !important;
  margin-bottom: 32px !important;
}

.svc-cta-btn .elementor-button {
  padding: 16px 40px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  background: #f2ae31 !important;
  border-radius: 100px !important;
  box-shadow: 0 4px 20px rgba(242, 174, 49, 0.35) !important;
  transition: all 0.3s ease !important;
}

.svc-cta-btn .elementor-button:hover {
  background: #003366 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(0, 51, 102, 0.25) !important;
}

/*
 6. SCROLL ANIMATIONS (VERSIONE CICLICA & PREMIUM)
 */

/* Reset di base per tutti gli elementi animati */
.svc-hero-content,
.svc-service-card,
.svc-process-left,
.svc-floating-card,
.svc-step,
[class*="svc-benefit-card-"] {
  opacity: 0;
  will-change: transform, opacity;
  transition:
    opacity 0.8s cubic-bezier(0.2, 0, 0.2, 1),
    transform 1.1s cubic-bezier(0.2, 0, 0.2, 1) !important;
}

/* --- STATI INIZIALI SPECIFICI --- */

/* Bento Grid */
.svc-benefit-card-1 {
  transform: translateX(-50px) scale(0.95);
}
.svc-benefit-card-2,
.svc-benefit-card-4 {
  transform: translateY(50px) scale(0.95);
}
.svc-benefit-card-3,
.svc-benefit-card-5 {
  transform: translateX(50px) scale(0.95);
}

/* Service Cards (Sezione 3) */
.svc-service-card {
  transform: translateY(60px);
}

/* Process Section (Sezione 4) */
.svc-process-left {
  transform: translateX(-60px);
}
.svc-floating-card {
  transform: scale(0.8) translateY(30px);
}
.svc-step {
  transform: translateX(50px);
}

/* --- STATO FINALE (QUANDO IS-VISIBLE) --- */
.is-visible {
  opacity: 1 !important;
  transform: translate(0, 0) scale(1) !important;
}

/* --- DELAYS PER EFFETTO CASCATA --- */

/* Bento Grid Delay */
.svc-benefit-card-1.is-visible {
  transition-delay: 0.1s !important;
}
.svc-benefit-card-2.is-visible {
  transition-delay: 0.2s !important;
}
.svc-benefit-card-3.is-visible {
  transition-delay: 0.3s !important;
}
.svc-benefit-card-4.is-visible {
  transition-delay: 0.4s !important;
}
.svc-benefit-card-5.is-visible {
  transition-delay: 0.5s !important;
}

/* Service Cards Delay */
.svc-service-card:nth-child(1).is-visible {
  transition-delay: 0.1s !important;
}
.svc-service-card:nth-child(2).is-visible {
  transition-delay: 0.2s !important;
}
.svc-service-card:nth-child(3).is-visible {
  transition-delay: 0.3s !important;
}
.svc-service-card:nth-child(4).is-visible {
  transition-delay: 0.4s !important;
}

/* Steps Delay */
.svc-step:nth-child(1).is-visible {
  transition-delay: 0.1s !important;
}
.svc-step:nth-child(2).is-visible {
  transition-delay: 0.2s !important;
}

/*
   7. RESPONSIVE - TABLET & MOBILE
   */

/* 
   TABLET (max-width: 1024px)
 */


/*
   TABLET SMALL (max-width: 900px)
 */


/* 
   MOBILE (max-width: 768px)
 */


/*
   MOBILE SMALL (max-width: 480px)
*/


/*
   VERY SMALL MOBILE (max-width: 380px)
*/


/* ═══════════════════════════════════════════════════════════════════════════════
   BUSINESS SETUP TEMPLATE - CSS COMPLETO
   ═══════════════════════════════════════════════════════════════════════════════ */

/* 
   1. HERO SECTION
 */

.biz-hero,
.biz-hero.e-con {
  position: relative !important;
  min-height: 70vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 160px 52px 80px !important;
  overflow: hidden !important;
}

.biz-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    135deg,
    rgba(0, 51, 102, 0.88) 0%,
    rgba(0, 51, 102, 0.75) 50%,
    rgba(0, 51, 102, 0.65) 100%
  ) !important;
  z-index: 1 !important;
}

.biz-hero::after {
  content: "" !important;
  position: absolute !important;
  top: -50% !important;
  right: -30% !important;
  width: 80% !important;
  height: 150% !important;
  background: radial-gradient(
    ellipse,
    rgba(242, 174, 49, 0.12) 0%,
    transparent 70%
  ) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.biz-hero > .e-con-inner {
  position: relative !important;
  z-index: 3 !important;
}

.biz-hero-content,
.biz-hero-content.e-con {
  max-width: 800px !important;
  text-align: center !important;
}

.biz-hero-tag .elementor-heading-title {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(8px) !important;
  padding: 8px 16px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.biz-hero-title .elementor-heading-title {
  font-size: clamp(32px, 5vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  color: #fff !important;
  margin-top: 20px !important;
}

.biz-hero-tagline .elementor-heading-title {
  font-size: clamp(18px, 2.5vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-top: 16px !important;
}

.biz-hero-cta .elementor-button {
  padding: 18px 40px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #003366 !important;
  background: #ffffff !important;
  border: none !important;
  border-radius: 100px !important;
  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.3) !important;
  margin-top: 32px !important;
  transition: all 0.4s ease !important;
}

.biz-hero-cta .elementor-button:hover {
  color: #003366 !important;
  background: #f2ae31 !important;
  transform: translateY(-3px) !important;
  box-shadow:
    0 8px 30px rgba(242, 174, 49, 0.5),
    0 0 40px rgba(242, 174, 49, 0.3),
    0 0 60px rgba(242, 174, 49, 0.2) !important;
}

/*
   2. BENTO SECTION
 */

.biz-bento,
.biz-bento.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.biz-bento-wrapper,
.biz-bento-wrapper.e-con {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1.1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

/* LEFT COLUMN */
.biz-bento-left,
.biz-bento-left.e-con {
  position: relative !important;
  border-radius: 24px !important;
  overflow: visible !important;
  width: 100% !important;
}

.biz-bento-img img {
  width: 100% !important;
  height: auto !important;
  min-height: 520px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
}

/* FLOATING CARD */
.biz-floating-card,
.biz-floating-card.e-con {
  position: absolute !important;
  bottom: -30px !important;
  left: 24px !important;
  background: rgba(0, 51, 102, 0.75) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  padding: 18px 22px !important;
  border-radius: 16px !important;
  width: auto !important;
  max-width: 200px !important;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.25),
    0 8px 16px rgba(0, 51, 102, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.biz-card-label .elementor-heading-title {
  font-size: 9px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 0 !important;
}

.biz-card-value,
.biz-card-value.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 3px !important;
  margin-top: 2px !important;
}

.biz-card-num .elementor-heading-title {
  font-size: 36px !important;
  font-weight: 300 !important;
  color: #fff !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.biz-card-suffix .elementor-heading-title {
  font-size: 18px !important;
  color: #f2ae31 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

.biz-card-progress,
.biz-card-progress.e-con {
  width: 100% !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 4px !important;
  margin-top: 10px !important;
  overflow: visible !important;
  padding: 0 !important;
}

.biz-card-progress-bar,
.biz-card-progress-bar.e-con {
  width: 75% !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  background: linear-gradient(90deg, #f2ae31 0%, #ffd280 100%) !important;
  border-radius: 4px !important;
  padding: 0 !important;
  box-shadow:
    0 0 8px rgba(242, 174, 49, 0.8),
    0 0 16px rgba(242, 174, 49, 0.5) !important;
}

.biz-card-subtext .elementor-heading-title,
.biz-card-subtext p {
  font-size: 10px !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin-top: 8px !important;
  line-height: 1.4 !important;
}

/* RIGHT COLUMN */
.biz-bento-right,
.biz-bento-right.e-con {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  width: 100% !important;
}

.biz-about-block,
.biz-about-block.e-con {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 32px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.biz-about-title .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 20px !important;
}

.biz-about-text p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: rgba(27, 40, 89, 0.75) !important;
}

/* WHY ROW */
.biz-why-row,
.biz-why-row.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  align-items: center !important;
}

.biz-why-img img {
  width: 100% !important;
  height: 100% !important;
  min-height: 280px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.biz-why-text,
.biz-why-text.e-con {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.biz-why-title .elementor-heading-title {
  font-size: 24px !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 16px !important;
}

.biz-why-desc p {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: rgba(27, 40, 89, 0.7) !important;
}

/* FEATURES */
.biz-features,
.biz-features.e-con {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.biz-features-label .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #f2ae31 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 !important;
}

/* PILLS */
.biz-pills,
.biz-pills.e-con {
  display: grid !important;
  grid-template-columns: repeat(3, auto) !important;
  gap: 10px !important;
  width: fit-content !important;
  justify-content: start !important;
}

.biz-pills > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, auto) !important;
  gap: 10px !important;
  width: fit-content !important;
}

.biz-pill,
.biz-pill.e-con {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  background: rgba(0, 51, 102, 0.75) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow:
    0 6px 20px rgba(0, 51, 102, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  transition: all 0.3s ease !important;
  width: fit-content !important;
}

.biz-pill > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
}

.biz-pill:nth-child(4) {
  grid-column: 1 / 2 !important;
}

.biz-pill:hover {
  background: rgba(0, 30, 60, 0.95) !important;
  transform: translateY(-2px) !important;
}

.biz-pill-icon .elementor-heading-title {
  font-size: 12px !important;
  color: #f2ae31 !important;
  margin: 0 !important;
}

.biz-pill-label .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

/* 
   3. BENEFITS SECTION
 */

.biz-benefits,
.biz-benefits.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.biz-benefits-inner,
.biz-benefits-inner.e-con {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.biz-section-header,
.biz-section-header.e-con {
  text-align: center !important;
  margin-bottom: 48px !important;
}

.biz-section-tag .elementor-heading-title {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #f2ae31 !important;
  margin-bottom: 12px !important;
}

.biz-section-title .elementor-heading-title {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  line-height: 1.2 !important;
}

/* ANIMAZIONE TESTO ORO */
@keyframes textScale {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.04);
  }
}

@keyframes underlineSlide {
  0%,
  100% {
    width: 0%;
  }
  50% {
    width: 100%;
  }
}

.biz-section-title .elementor-heading-title span,
.biz-section-title .elementor-heading-title strong {
  color: #f2ae31 !important;
  font-weight: inherit !important;
  position: relative !important;
  display: inline-block !important;
  animation: textScale 4s ease-in-out infinite !important;
}

.biz-section-title .elementor-heading-title span::after,
.biz-section-title .elementor-heading-title strong::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 3px !important;
  background: #f2ae31 !important;
  animation: underlineSlide 5s ease-in-out infinite !important;
}

/* GRID */
.biz-benefits-grid,
.biz-benefits-grid.e-con {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

/* CARD */
.biz-benefit-card,
.biz-benefit-card.e-con {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 28px !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  transition: all 0.3s ease !important;
}

.biz-benefit-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0, 51, 102, 0.1) !important;
  border-color: rgba(242, 174, 49, 0.3) !important;
}

/* ICON BOX */
.biz-benefit-icon,
.biz-benefit-icon.elementor-widget-icon {
  width: 56px !important;
  height: 56px !important;
  background: #003366 !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 20px !important;
}

.biz-benefit-icon .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

.biz-benefit-icon .elementor-icon i,
.biz-benefit-icon .elementor-icon svg {
  font-size: 24px !important;
  width: 24px !important;
  height: 24px !important;
  color: #f2ae31 !important;
  fill: #f2ae31 !important;
}

.biz-benefit-title .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 8px !important;
}

.biz-benefit-desc,
.biz-benefit-desc p {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(27, 40, 89, 0.7) !important;
}

/*
   4. SERVICES SECTION
 */

.biz-services,
.biz-services.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.biz-services-inner,
.biz-services-inner.e-con {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.biz-services-grid,
.biz-services-grid.e-con {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.biz-service-card,
.biz-service-card.e-con {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 28px !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  transition: all 0.3s ease !important;
}

.biz-service-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0, 51, 102, 0.08) !important;
}

.biz-service-title .elementor-heading-title {
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 8px !important;
}

.biz-service-desc,
.biz-service-desc p {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: rgba(27, 40, 89, 0.7) !important;
}

/* 
   5. CTA SECTION
 */

.biz-cta,
.biz-cta.e-con {
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.biz-cta-content,
.biz-cta-content.e-con {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* TITOLO STATICO (ANIMAZIONE RIMOSSA) */
.biz-cta-title .elementor-heading-title {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 16px !important;
}

.biz-cta-text,
.biz-cta-text p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: rgba(0, 51, 102, 0.75) !important;
  margin-bottom: 32px !important;
}

/* BOTTONE */
.biz-cta-btn .elementor-button {
  padding: 16px 40px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  background: #f2ae31 !important;
  border-radius: 100px !important;
  box-shadow: 0 4px 20px rgba(242, 174, 49, 0.35) !important;
  transition: all 0.3s ease !important;
}

.biz-cta-btn .elementor-button:hover {
  background: #003366 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(0, 51, 102, 0.25) !important;
}

/*
   6. SCROLL ANIMATIONS
 */

.biz-section-title,
.biz-bento-left {
  opacity: 0;
  transform: translateX(-60px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.biz-about-block,
.biz-why-row,
.biz-features {
  opacity: 0;
  transform: translateX(60px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.biz-about-block {
  transition-delay: 0.1s;
}
.biz-why-row {
  transition-delay: 0.2s;
}
.biz-features {
  transition-delay: 0.3s;
}

.biz-floating-card {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.6s ease 0.4s,
    transform 0.6s ease 0.4s;
}

.biz-benefit-card,
.biz-service-card {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease,
    box-shadow 0.3s ease;
}

.biz-benefit-card:nth-child(1),
.biz-service-card:nth-child(1) {
  transition-delay: 0.1s;
}
.biz-benefit-card:nth-child(2),
.biz-service-card:nth-child(2) {
  transition-delay: 0.2s;
}
.biz-benefit-card:nth-child(3),
.biz-service-card:nth-child(3) {
  transition-delay: 0.3s;
}
.biz-benefit-card:nth-child(4),
.biz-service-card:nth-child(4) {
  transition-delay: 0.4s;
}
.biz-benefit-card:nth-child(5) {
  transition-delay: 0.5s;
}
.biz-benefit-card:nth-child(6) {
  transition-delay: 0.6s;
}

.biz-section-title.is-visible,
.biz-bento-left.is-visible,
.biz-about-block.is-visible,
.biz-why-row.is-visible,
.biz-features.is-visible,
.biz-floating-card.is-visible,
.biz-benefit-card.is-visible,
.biz-service-card.is-visible {
  opacity: 1 !important;
  transform: translate(0) !important;
}

/*
   7. RESPONSIVE
 */


/* ═══════════════════════════════════════════════════════════════════════════════
   INVESTMENT TEMPLATE (inv-) - CSS COMPLETO CORRETTO
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════
   1. HERO SECTION
   ═══════════════════════════════════════════════════ */

.inv-hero,
.inv-hero.e-con {
  position: relative !important;
  min-height: 50vh !important;
  display: flex !important;
  align-items: center !important;
  padding: 100px 52px 60px !important;
  overflow: hidden !important;
}

.inv-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(0, 26, 51, 0.85) 0%,
    rgba(0, 51, 102, 0.7) 40%,
    rgba(0, 51, 102, 0.4) 70%,
    rgba(0, 51, 102, 0.2) 100%
  ) !important;
  z-index: 1 !important;
}

.inv-hero > .e-con-inner {
  position: relative !important;
  z-index: 2 !important;
}

.inv-hero-content,
.inv-hero-content.e-con {
  max-width: 650px !important;
}

.inv-hero-tag .elementor-heading-title {
  display: inline-block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #f2ae31 !important;
  background: rgba(242, 174, 49, 0.15) !important;
  padding: 8px 16px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(242, 174, 49, 0.3) !important;
  margin-bottom: 16px !important;
}

.inv-hero-title .elementor-heading-title {
  font-size: clamp(36px, 4.5vw, 56px) !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin-bottom: 16px !important;
}

.inv-hero-subtitle .elementor-heading-title {
  font-size: clamp(18px, 2vw, 24px) !important;
  font-weight: 400 !important;
  color: #f2ae31 !important;
  line-height: 1.4 !important;
  margin-bottom: 16px !important;
}

.inv-hero-desc,
.inv-hero-desc p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  margin-bottom: 24px !important;
}

.inv-hero-cta .elementor-button {
  padding: 14px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  background: #f2ae31 !important;
  border-radius: 100px !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

.inv-hero-cta .elementor-button:hover {
  background: #fff !important;
  color: #003366 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 30px rgba(242, 174, 49, 0.3) !important;
}

.inv-hero-cta .elementor-button-text,
.inv-hero-cta .elementor-button span,
.inv-hero-cta .elementor-button-icon,
.inv-hero-cta .elementor-button-icon i,
.inv-hero-cta .elementor-button-icon svg,
.inv-hero-cta .elementor-button svg,
.inv-hero-cta .elementor-button i {
  color: #003366 !important;
  fill: #003366 !important;
}

/* ═══════════════════════════════════════════════════
   2. SERVICES SECTION
   ═══════════════════════════════════════════════════ */

.inv-services,
.inv-services.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.inv-services-wrapper.e-con,
.inv-services-wrapper > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.8fr 1fr !important;
  gap: 60px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.inv-services-left,
.inv-services-left.e-con {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}

/* SERVICE CARD - CON TILT 3D (usa CSS custom properties) */
.inv-service-card,
.inv-service-card.e-con {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  --tilt-lift: 0px;
  background: #ffffff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  padding: 0 !important;
  will-change: transform;
  transform-style: preserve-3d;
  transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))
    translateY(var(--tilt-lift));
  transition:
    transform 0.15s ease-out,
    box-shadow 0.3s ease !important;
}

.inv-service-card:hover {
  box-shadow: 0 20px 50px rgba(0, 51, 102, 0.15) !important;
}

.inv-service-img img,
.inv-service-img .elementor-widget-container img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

.inv-service-content,
.inv-service-content.e-con {
  padding: 20px 24px !important;
}

.inv-service-title .elementor-heading-title {
  font-size: 19px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  margin-bottom: 8px !important;
}

.inv-service-desc p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: rgba(27, 40, 89, 0.7) !important;
}

.inv-services-right,
.inv-services-right.e-con {
  position: relative !important;
  top: 0 !important;
  align-self: start !important;
}

.inv-services-tag .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #f2ae31 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 0 0 10px 0 !important;
}

.inv-services-title .elementor-heading-title {
  font-size: clamp(26px, 2.8vw, 36px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px 0 !important;
}

.inv-services-text,
.inv-services-text p,
.inv-services-text .elementor-widget-container p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: rgba(27, 40, 89, 0.7) !important;
  margin: 0 !important;
}

.inv-services-cta .elementor-button {
  padding: 12px 26px !important;
  background: #003366 !important;
  border-radius: 100px !important;
}

/* ═══════════════════════════════════════════════════
   3. PROCESS SECTION
   ═══════════════════════════════════════════════════ */

.inv-process,
.inv-process.e-con {
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.inv-process-wrapper,
.inv-process-wrapper.e-con {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1.1fr !important;
  gap: 60px !important;
  align-items: start !important;
}

.inv-process-left,
.inv-process-left.e-con {
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
}

.inv-process-img-wrap,
.inv-process-img-wrap.e-con {
  position: relative !important;
  width: 100% !important;
  height: 720px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
}

.inv-process-img-wrap .elementor-widget-container,
.inv-process-img-wrap .elementor-image,
.inv-process-img-wrap .elementor-widget-image,
.inv-process-img,
.inv-process-img.e-con {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.inv-process-img img,
.inv-process-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* FLOATING CARD */
.inv-floating-card,
.inv-floating-card.e-con {
  position: absolute !important;
  bottom: 35px !important;
  left: 25px !important;
  background: rgba(0, 51, 102, 0.92) !important;
  backdrop-filter: blur(20px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.5) !important;
  padding: 24px 28px 22px 28px !important;
  border-radius: 16px !important;
  width: 230px !important;
  max-width: 230px !important;
  min-width: 230px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.inv-floating-label,
.inv-floating-label.e-con {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.inv-floating-label .elementor-heading-title,
.inv-floating-label .elementor-widget-container {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.inv-floating-value,
.inv-floating-value.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  width: 100% !important;
}

.inv-floating-num,
.inv-floating-num.e-con {
  padding: 0 !important;
  margin: 0 !important;
}

.inv-floating-num .elementor-heading-title,
.inv-floating-num .elementor-widget-container {
  font-size: 52px !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: -0.02em !important;
}

.inv-floating-suffix,
.inv-floating-suffix.e-con {
  padding: 0 !important;
  margin: 0 0 0 2px !important;
}

.inv-floating-suffix .elementor-heading-title,
.inv-floating-suffix .elementor-widget-container {
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #f2ae31 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.inv-floating-unit,
.inv-floating-unit.e-con {
  padding: 0 !important;
  margin: 0 0 0 8px !important;
}

.inv-floating-unit .elementor-heading-title,
.inv-floating-unit .elementor-widget-container {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* PROGRESS BAR */
.inv-floating-progress,
.inv-floating-progress.e-con {
  width: 100% !important;
  height: 5px !important;
  min-height: 5px !important;
  max-height: 5px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 3px !important;
  margin: 0 0 14px 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: block !important;
}

.inv-floating-progress-bar,
.inv-floating-progress-bar.e-con {
  width: 65% !important;
  height: 5px !important;
  min-height: 5px !important;
  max-height: 5px !important;
  background: #f2ae31 !important;
  border-radius: 3px 0 0 3px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.inv-floating-subtext,
.inv-floating-subtext.e-con {
  padding: 0 !important;
  margin: 0 !important;
}

.inv-floating-subtext p,
.inv-floating-subtext .elementor-widget-container,
.inv-floating-subtext .elementor-widget-container p,
.inv-floating-subtext .elementor-heading-title {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.5) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* COLONNA DESTRA */
.inv-process-right,
.inv-process-right.e-con {
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
  padding-top: 10px !important;
}

.inv-process-header,
.inv-process-header.e-con {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.inv-process-subtitle .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #f2ae31 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 0 !important;
}

.inv-process-title .elementor-heading-title {
  font-size: clamp(30px, 3.2vw, 40px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

/* GRIGLIA STEPS */
.inv-process-row,
.inv-process-row.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  width: 100% !important;
}

/* STEP - CON TILT 3D (usa CSS custom properties) */
.inv-step,
.inv-step.e-con {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  --tilt-lift: 0px;
  background: #ffffff !important;
  padding: 28px 24px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  will-change: transform;
  transform-style: preserve-3d;
  transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))
    translateY(var(--tilt-lift));
  transition:
    transform 0.15s ease-out,
    box-shadow 0.3s ease !important;
}

.inv-step:hover {
  box-shadow: 0 18px 45px rgba(0, 51, 102, 0.12) !important;
}

.inv-step-num,
.inv-step-num.e-con {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  background: #f2ae31 !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.inv-step-num .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #003366 !important;
  margin: 0 !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
}

.inv-step-title .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.inv-step-desc,
.inv-step-desc p,
.inv-step-desc .elementor-widget-container p {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(27, 40, 89, 0.6) !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════
   4. CTA SECTION
   ═══════════════════════════════════════════════════ */

.inv-cta,
.inv-cta.e-con {
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 24px !important;
  background: #fafafa !important;
}

.inv-cta-content,
.inv-cta-content.e-con {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* TITOLO STATICO (ANIMAZIONE RIMOSSA) */
.inv-cta-title .elementor-heading-title {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 500 !important;
  color: #003366 !important;
  margin-bottom: 16px !important;
}

.inv-cta-text,
.inv-cta-text p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: rgba(0, 51, 102, 0.75) !important;
  margin-bottom: 32px !important;
}

.inv-cta-btn .elementor-button {
  padding: 16px 40px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #003366 !important;
  background: #f2ae31 !important;
  border-radius: 100px !important;
  box-shadow: 0 4px 20px rgba(242, 174, 49, 0.35) !important;
  transition: all 0.3s ease !important;
}

.inv-cta-btn .elementor-button:hover {
  background: #003366 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(0, 51, 102, 0.25) !important;
}

/* ═══════════════════════════════════════════════════
   5. SCROLL ANIMATIONS (NO !important su transform per tilt)
   ═══════════════════════════════════════════════════ */

/* Elementi SENZA tilt */
.inv-hero-content,
.inv-process-left,
.inv-floating-card {
  opacity: 0 !important;
  transform: translateY(40px) !important;
  transition:
    opacity 0.8s ease,
    transform 0.8s ease !important;
}

.inv-hero-content.is-visible,
.inv-process-left.is-visible,
.inv-floating-card.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Elementi CON tilt - solo opacity, transform gestito da CSS variables */
.inv-service-card,
.inv-step {
  opacity: 0 !important;
  --tilt-lift: 30px;
}

.inv-service-card.is-visible,
.inv-step.is-visible {
  opacity: 1 !important;
  --tilt-lift: 0px;
}

/* ═══════════════════════════════════════════════════
   6. RESPONSIVE - TABLET
   ═══════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════
   7. RESPONSIVE - MOBILE
   ═══════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════════════════════════════
   
   ▼▼▼ TABLET - max-width: 1024px ▼▼▼
   
   ══════════════════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
.hero-headline .elementor-heading-title {
    white-space: normal !important;
  }

  .hero-subheadline .elementor-heading-title {
    white-space: normal !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-content {
    padding: 0 32px !important;
  }

.corevalues-viewport {
    gap: 14px !important;
    padding: 25px 20px 20px !important;
  }

  .corevalues-card {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
    height: 120px !important;
    min-height: 120px !important;
    padding: 38px 12px 16px !important;
  }

  .corevalues-icon {
    width: 48px !important;
    height: 48px !important;
    top: -24px !important;
  }

  .corevalues-icon img,
  .corevalues-icon .e-lottie {
    width: 28px !important;
    height: 28px !important;
  }

  .corevalues-card-title .elementor-heading-title {
    font-size: 12px !important;
  }

  .corevalues-card-subtitle .elementor-heading-title {
    font-size: 9px !important;
  }

.solutions-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 280px 140px 140px !important;
    gap: 12px !important;
  }

  .solutions-card-1 {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  .solutions-card-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .solutions-card-3 {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .solutions-card-4 {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  .solutions-card-5 {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

.cta-section {
    min-height: 320px !important;
    padding: 50px 30px !important;
  }

  .cta-title .elementor-heading-title {
    font-size: clamp(28px, 5vw, 40px) !important;
  }

  .cta-text,
  .cta-text p {
    font-size: 16px !important;
  }

.expertise-wrapper {
    gap: 36px !important;
  }

  .expertise-main-image img,
  .expertise-main-image .elementor-widget-container img {
    min-height: 450px !important;
  }

  .expertise-floating-card {
    bottom: -25px !important;
    left: 20px !important;
    max-width: 180px !important;
    padding: 16px 20px !important;
  }

  .expertise-card-num .elementor-heading-title {
    font-size: 32px !important;
  }

  .expertise-img-small,
  .expertise-img-small img,
  .expertise-img-small .elementor-widget-container img {
    height: 140px !important;
    min-height: 140px !important;
  }

.stats-title,
  .stats-title.e-con {
    margin-bottom: 50px !important;
  }

  .stats-grid,
  .stats-grid.e-con {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  .stats-card {
    padding: 36px 22px 28px 22px !important;
  }

  .stats-card-image img {
    max-width: 120px !important;
    max-height: 130px !important;
  }

.why-section {
    padding: 60px 5% !important;
  }

  .why-title .elementor-heading-title {
    font-size: 36px !important;
  }

  .why-title-animated .elementor-heading-title {
    font-size: 26px !important;
  }

  .why-card {
    flex: 0 0 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
  }

  .why-card-box {
    min-height: 340px !important;
  }

  .why-card-highlight .elementor-heading-title {
    font-size: 24px !important;
  }

  .why-nav-btn,
  .why-nav .elementor-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }

.hero-section
    .elementor-widget-heading:first-of-type
    .elementor-heading-title {
    font-size: 58px !important;
  }

  .steps-content {
    gap: 40px !important;
  }

  .steps-box {
    padding: 40px 35px !important;
  }

  .stat-item .elementor-counter-number-wrapper,
  .stat-item .elementor-counter-number {
    font-size: 44px !important;
  }

  .stat-item .elementor-counter-number-prefix,
  .stat-item .elementor-counter-number-suffix {
    font-size: 28px !important;
  }

  .why-card {
    flex: 0 0 290px !important;
    min-width: 290px !important;
  }

.hero-section {
    min-height: 70vh !important;
    padding: 120px 5% 80px 5% !important;
    background-attachment: scroll !important;
  }

  .hero-section
    .elementor-widget-heading:first-of-type
    .elementor-heading-title {
    font-size: 50px !important;
  }

  .hero-subheadline .elementor-heading-title,
  .hero-subheadline p {
    font-size: 16px !important;
  }

  .steps-section {
    background-attachment: scroll !important;
    padding: 60px 5% !important;
  }

  .steps-header .elementor-heading-title {
    font-size: 40px !important;
  }

  .steps-content {
    flex-direction: column !important;
    gap: 40px !important;
  }

  .steps-content.e-con {
    --flex-direction: column !important;
  }

  .steps-list {
    flex: none !important;
    width: 100% !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-left: 0 !important;
  }

  .steps-list.e-con {
    --flex-direction: row !important;
    --flex-wrap: wrap !important;
  }

  .steps-list::before {
    display: none !important;
  }

  .step-item {
    flex: 0 0 calc(50% - 10px) !important;
    padding: 12px 15px !important;
    border-bottom: 2px solid rgba(242, 174, 49, 0.3) !important;
  }

  .step-item::before {
    display: none !important;
  }

  .step-item.active {
    border-bottom-color: #f2ae31 !important;
  }

  .steps-box {
    flex: none !important;
    width: 100% !important;
    min-height: 300px !important;
  }

  .stats-section {
    padding: 60px 5% !important;
  }

  .stats-content .elementor-heading-title {
    font-size: 44px !important;
  }

  .stat-item .elementor-counter-number-wrapper,
  .stat-item .elementor-counter-number {
    font-size: 38px !important;
  }

  .stat-item .elementor-counter-number-prefix,
  .stat-item .elementor-counter-number-suffix {
    font-size: 24px !important;
  }

  .stat-item .elementor-widget-heading .elementor-heading-title {
    font-size: 12px !important;
  }

  .jurisdiction-header .elementor-heading-title {
    font-size: 36px !important;
  }

  .jurisdiction-card-1,
  .jurisdiction-card-2,
  .jurisdiction-card-3 {
    min-height: 550px !important;
  }

  /* WHY RESPONSIVE */
  .why-title .elementor-heading-title {
    font-size: 36px !important;
  }

  .why-title-animated .elementor-heading-title {
    font-size: 26px !important;
  }

  .why-card {
    flex: 0 0 280px !important;
    min-width: 280px !important;
  }

  .why-card-box {
    min-height: 340px !important;
  }

  .why-card-highlight .elementor-heading-title {
    font-size: 24px !important;
  }

.numbers-grid,
  .numbers-grid.e-con,
  .numbers-grid.e-con > .e-con-inner {
    flex-wrap: wrap !important;
    --flex-wrap: wrap !important;
    gap: 25px 35px !important;
  }

  .stat-box .elementor-counter-number {
    font-size: 38px !important;
  }

.expertise-section,
  .expertise-section.e-con {
    padding: 80px 5% !important;
  }

  .expertise-section > .e-con-inner {
    flex-direction: column !important;
    gap: 50px !important;
  }

  .expertise-right,
  .expertise-right.e-con {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .expertise-image {
    max-width: 400px !important;
    margin: 0 auto !important;
  }

  .expertise-title-row .elementor-heading-title {
    font-size: 36px !important;
  }

.team-featured,
  .team-featured.e-con {
    flex-direction: column !important;
    text-align: center !important;
    gap: 30px !important;
  }
  .team-featured > .left,
  .team-featured .left,
  .team-featured > .left.e-con,
  .team-featured .left.e-con {
    width: 280px !important;
    max-width: 280px !important;
    order: 1 !important;
  }
  .team-featured > .right,
  .team-featured .right,
  .team-featured > .right.e-con,
  .team-featured .right.e-con {
    order: 2 !important;
    text-align: center !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 5% !important;
  }

.contact-section,
  .contact-section.e-con {
    padding: 60px 20px !important;
    background: #fafafa !important;
  }

/* HERO */
  .svc-hero,
  .svc-hero.e-con {
    padding: 100px 32px 50px !important;
  }

  .svc-hero-content {
    max-width: 550px !important;
  }

  /* BENEFITS */
  .svc-benefits,
  .svc-benefits.e-con {
    padding: 40px 20px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  .svc-benefits-inner,
  .svc-benefits-inner.e-con {
    padding: 0 !important;
    margin: 0 !important;
    gap: 24px !important;
  }

  .svc-section-header,
  .svc-section-header.e-con {
    margin-bottom: 24px !important;
    padding: 0 !important;
  }

  .svc-benefits-grid,
  .svc-benefits-grid.e-con {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 200px 200px 200px !important;
    gap: 12px !important;
  }

  .svc-benefit-card-1,
  .svc-benefit-card-1.e-con {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  .svc-benefit-card-2,
  .svc-benefit-card-2.e-con {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .svc-benefit-card-3,
  .svc-benefit-card-3.e-con {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .svc-benefit-card-4,
  .svc-benefit-card-4.e-con {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  .svc-benefit-card-5,
  .svc-benefit-card-5.e-con {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  /* SERVICES */
  .svc-services,
  .svc-services.e-con {
    padding: 40px 20px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  .svc-services-wrapper,
  .svc-services-wrapper.e-con,
  .svc-services-wrapper > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .svc-services-right,
  .svc-services-right.e-con {
    order: -1 !important;
    text-align: center !important;
    padding: 0 !important;
  }

  .svc-services-left,
  .svc-services-left.e-con {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  /* PROCESS */
  .svc-process,
  .svc-process.e-con {
    padding: 40px 20px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  .svc-process-wrapper,
  .svc-process-wrapper.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .svc-process-right,
  .svc-process-right.e-con {
    gap: 24px !important;
    padding: 0 !important;
  }

  .svc-process-header,
  .svc-process-header.e-con {
    margin-bottom: 16px !important;
    gap: 8px !important;
  }

  .svc-process-img-wrap,
  .svc-process-img-wrap.e-con {
    height: 600px !important;
  }

  .svc-floating-card,
  .svc-floating-card.e-con {
    width: 200px !important;
    max-width: 200px !important;
    min-width: 200px !important;
    padding: 20px 22px !important;
  }

  .svc-floating-num .elementor-heading-title {
    font-size: 44px !important;
  }

  .svc-process-row,
  .svc-process-row.e-con {
    gap: 16px !important;
  }

  .svc-step,
  .svc-step.e-con {
    padding: 24px 20px !important;
  }

  /* CTA */
  .svc-cta,
  .svc-cta.e-con {
    padding: 40px 20px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  .svc-cta-content,
  .svc-cta-content.e-con {
    padding: 0 !important;
    margin: 0 auto !important;
  }

/* HERO */
  .svc-hero,
  .svc-hero.e-con {
    padding: 80px 24px 40px !important;
  }

  .svc-hero-content {
    max-width: 100% !important;
  }

  .svc-hero-title .elementor-heading-title {
    font-size: 36px !important;
  }

  /* PROCESS */
  .svc-process-wrapper,
  .svc-process-wrapper.e-con {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .svc-process-left,
  .svc-process-left.e-con {
    order: 1 !important;
  }

  .svc-process-right,
  .svc-process-right.e-con {
    order: 2 !important;
    text-align: center !important;
  }

  .svc-process-img-wrap,
  .svc-process-img-wrap.e-con {
    height: 400px !important;
    border-radius: 20px !important;
  }

  .svc-floating-card,
  .svc-floating-card.e-con {
    bottom: 24px !important;
    left: 20px !important;
    width: 190px !important;
    max-width: 190px !important;
    min-width: 190px !important;
  }

  .svc-process-row,
  .svc-process-row.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

.biz-bento-wrapper,
  .biz-bento-wrapper.e-con {
    gap: 32px !important;
  }

  .biz-bento-img img {
    min-height: 400px !important;
  }

  .biz-floating-card,
  .biz-floating-card.e-con {
    bottom: -30px !important;
    left: 16px !important;
    padding: 20px 24px !important;
  }

  .biz-card-num .elementor-heading-title {
    font-size: 36px !important;
  }

  .biz-benefits-grid,
  .biz-benefits-grid.e-con,
  .biz-services-grid,
  .biz-services-grid.e-con {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .biz-bento,
  .biz-bento.e-con,
  .biz-benefits,
  .biz-benefits.e-con,
  .biz-services,
  .biz-services.e-con,
  .biz-cta,
  .biz-cta.e-con {
    background: #fafafa !important;
  }

/* BENTO - STACK VERTICALE */
  .biz-bento-wrapper,
  .biz-bento-wrapper.e-con,
  .biz-bento-wrapper > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 60px !important;
  }

  .biz-bento-left,
  .biz-bento-left.e-con,
  .biz-bento-right,
  .biz-bento-right.e-con {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .biz-bento-img img {
    min-height: 350px !important;
  }

  .biz-floating-card,
  .biz-floating-card.e-con {
    bottom: -30px !important;
    left: 16px !important;
    right: auto !important;
  }

  /* WHY ROW */
  .biz-why-row,
  .biz-why-row.e-con,
  .biz-why-row > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .biz-why-img,
  .biz-why-img.e-con {
    min-height: 220px !important;
    width: 100% !important;
  }

  .biz-why-text,
  .biz-why-text.e-con {
    width: 100% !important;
  }

  /* PILLS - 2 PER RIGA, FIT-CONTENT, GLASSMORPHISM */
  .biz-pills,
  .biz-pills.e-con,
  .biz-pills > .e-con-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .biz-pill,
  .biz-pill.e-con {
    flex: 0 0 auto !important;
    width: fit-content !important;
  }

  .biz-pill:nth-child(4) {
    grid-column: auto !important;
  }

  .biz-bento,
  .biz-bento.e-con,
  .biz-benefits,
  .biz-benefits.e-con,
  .biz-services,
  .biz-services.e-con,
  .biz-cta,
  .biz-cta.e-con {
    background: #fafafa !important;
  }

.inv-hero,
  .inv-hero.e-con {
    padding: 100px 32px 50px !important;
  }

  .inv-hero-content {
    max-width: 550px !important;
  }

  .inv-services,
  .inv-services.e-con {
    padding: 40px 20px !important;
    background: #fafafa !important;
  }

  .inv-services-wrapper,
  .inv-services-wrapper.e-con,
  .inv-services-wrapper > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .inv-services-right,
  .inv-services-right.e-con {
    order: -1 !important;
    text-align: center !important;
  }

  .inv-services-left,
  .inv-services-left.e-con {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .inv-process,
  .inv-process.e-con {
    padding: 40px 20px !important;
    background: #fafafa !important;
  }

  .inv-process-wrapper,
  .inv-process-wrapper.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
  }

  .inv-process-img-wrap,
  .inv-process-img-wrap.e-con {
    height: 600px !important;
  }

  .inv-floating-card,
  .inv-floating-card.e-con {
    width: 200px !important;
    max-width: 200px !important;
    min-width: 200px !important;
    padding: 20px 22px !important;
  }

  .inv-floating-num .elementor-heading-title {
    font-size: 44px !important;
  }

  .inv-cta,
  .inv-cta.e-con {
    padding: 40px 20px !important;
    background: #fafafa !important;
  }

.inv-hero,
  .inv-hero.e-con {
    padding: 80px 24px 40px !important;
  }

  .inv-hero-content {
    max-width: 100% !important;
  }

  .inv-hero-title .elementor-heading-title {
    font-size: 36px !important;
  }

  .inv-process-wrapper,
  .inv-process-wrapper.e-con {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .inv-process-left,
  .inv-process-left.e-con {
    order: 1 !important;
  }

  .inv-process-right,
  .inv-process-right.e-con {
    order: 2 !important;
    text-align: center !important;
  }

  .inv-process-img-wrap,
  .inv-process-img-wrap.e-con {
    height: 400px !important;
  }

  .inv-floating-card,
  .inv-floating-card.e-con {
    bottom: 24px !important;
    left: 20px !important;
    width: 190px !important;
    max-width: 190px !important;
    min-width: 190px !important;
  }

  .inv-process-row,
  .inv-process-row.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .inv-services,
  .inv-services.e-con,
  .inv-process,
  .inv-process.e-con,
  .inv-cta,
  .inv-cta.e-con {
    background: #fafafa !important;
  }

}


/* ══════════════════════════════════════════════════════════════════════════════════════════
   
   ▼▼▼ MOBILE - max-width: 768px ▼▼▼
   
   ══════════════════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
.hero-section {
    min-height: 600px !important;
    padding-top: 100px !important;
  }

  .hero-headline .elementor-heading-title {
    white-space: normal !important;
    font-size: clamp(28px, 7vw, 42px) !important;
  }

  .hero-subheadline .elementor-heading-title {
    white-space: normal !important;
    font-size: clamp(14px, 3.5vw, 16px) !important;
    margin-bottom: 28px !important;
  }

  .hero-content {
    padding: 0 20px !important;
  }

  .hero-actions {
    gap: 12px !important;
    justify-content: center !important;
  }

  .hero-cta-primary .elementor-button,
  .hero-cta-secondary .elementor-button {
    width: auto !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
  }

.corevalues-section {
    padding: 20px 15px !important;
  }

  .corevalues-title .elementor-heading-title {
    font-size: 22px !important;
    margin-bottom: 5px !important;
  }

  .corevalues-viewport {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 50px 16px !important;
    padding: 20px 20px 20px !important;
    justify-items: center !important;
    max-width: 350px !important;
    margin: 0 auto !important;
  }

  .corevalues-card {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 120px !important;
    min-height: 120px !important;
    padding: 40px 12px 16px !important;
    border-radius: 18px !important;
    order: 2 !important;
  }

  /* CARD NAVY - RIGA 1 ORIZZONTALE */
  .corevalues-card-active,
  .corevalues-card.corevalues-card-active,
  [class*="corevalues-card-active"] {
    order: 1 !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100px !important;
    min-height: 100px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 0 20px 0 100px !important;
    text-align: left !important;
    transform: translateY(0) !important;
    border-radius: 20px !important;
  }

  .corevalues-card-active:hover,
  [class*="corevalues-card-active"]:hover {
    transform: translateY(-5px) !important;
  }

  /* Icona card navy */
  .corevalues-card-active .corevalues-icon,
  [class*="corevalues-card-active"] .corevalues-icon {
    position: absolute !important;
    left: 25px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 55px !important;
    height: 55px !important;
  }

  .corevalues-card-active:hover .corevalues-icon,
  [class*="corevalues-card-active"]:hover .corevalues-icon {
    transform: translateY(-50%) scale(1.05) !important;
  }

  /* Testo card navy */
  .corevalues-card-active .corevalues-card-title .elementor-heading-title,
  .corevalues-card-active .corevalues-card-subtitle .elementor-heading-title,
  [class*="corevalues-card-active"]
    .corevalues-card-title
    .elementor-heading-title,
  [class*="corevalues-card-active"]
    .corevalues-card-subtitle
    .elementor-heading-title {
    text-align: left !important;
    white-space: nowrap !important;
  }

  .corevalues-card-active .corevalues-card-title .elementor-heading-title,
  [class*="corevalues-card-active"]
    .corevalues-card-title
    .elementor-heading-title {
    font-size: 14px !important;
  }

  .corevalues-card-active .corevalues-card-subtitle .elementor-heading-title,
  [class*="corevalues-card-active"]
    .corevalues-card-subtitle
    .elementor-heading-title {
    font-size: 10px !important;
  }

  /* Card normali */
  .corevalues-icon {
    width: 48px !important;
    height: 48px !important;
    top: -24px !important;
    border-radius: 14px !important;
  }

  .corevalues-icon img,
  .corevalues-icon .e-lottie {
    width: 26px !important;
    height: 26px !important;
  }

  .corevalues-card-title .elementor-heading-title {
    font-size: 12px !important;
  }

  .corevalues-card-subtitle .elementor-heading-title {
    font-size: 9px !important;
  }

.solutions-section {
    padding: 50px 15px !important;
  }

  .solutions-header {
    margin-bottom: 30px !important;
  }

  .solutions-title .elementor-heading-title {
    font-size: 26px !important;
  }

  .solutions-subtitle,
  .solutions-subtitle p {
    font-size: 14px !important;
  }

  .solutions-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 160px 160px 160px !important;
    gap: 10px !important;
  }

  /* Card 1: Grande a sinistra (2 righe) */
  .solutions-card-1 {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  /* Card 2: Destra top */
  .solutions-card-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  /* Card 3: Destra middle */
  .solutions-card-3 {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  /* Card 4-5: Bottom row */
  .solutions-card-4 {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  .solutions-card-5 {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  .solutions-card-title .elementor-heading-title {
    font-size: 13px !important;
  }

  .solutions-card-overlay {
    padding: 12px !important;
  }

  .solutions-card::after {
    width: 10px !important;
    height: 10px !important;
    bottom: 12px !important;
    right: 12px !important;
  }

  /* Animazioni più soft */
  .solutions-card-1 {
    transform: translateX(-50px) scale(0.95) !important;
  }
  .solutions-card-2 {
    transform: translateY(-40px) scale(0.95) !important;
  }
  .solutions-card-3 {
    transform: translateX(50px) scale(0.95) !important;
  }
  .solutions-card-4 {
    transform: translateY(40px) scale(0.95) !important;
  }
  .solutions-card-5 {
    transform: translateX(50px) scale(0.95) !important;
  }

.cta-section {
    min-height: 350px !important;
    padding: 48px 24px !important;
  }

  .cta-section::after {
    background: linear-gradient(
      180deg,
      rgba(0, 51, 102, 0.85) 0%,
      rgba(0, 51, 102, 0.75) 100%
    ) !important;
  }

  .cta-content {
    padding: 10px !important;
  }

  .cta-title .elementor-heading-title {
    font-size: clamp(24px, 6vw, 32px) !important;
  }

  .cta-text,
  .cta-text p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .cta-button .elementor-button {
    padding: 14px 32px !important;
    font-size: 14px !important;
  }

.expertise-section {
    padding: 12px 8px 40px 8px !important;
  }

  /* WRAPPER: singola colonna, margini ridotti */
  .expertise-wrapper,
  .expertise-wrapper.e-con {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
  }

  /* COLONNA SINISTRA: immagine grande + card */
  .expertise-main-image-wrap,
  .expertise-main-image-wrap.e-con {
    width: 100% !important;
    margin-bottom: 40px !important;
    order: 1 !important;
    padding: 0 !important;
  }

  /* IMMAGINE: rettangolare landscape, più larga */
  .expertise-main-image,
  .expertise-main-image.e-con {
    width: 100% !important;
    padding: 0 !important;
  }

  .expertise-main-image img,
  .expertise-main-image .elementor-widget-container,
  .expertise-main-image .elementor-widget-container img {
    width: 100% !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 220px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* FLOATING CARD: in basso a destra sull'immagine */
  .expertise-floating-card,
  .expertise-floating-card.e-con {
    position: absolute !important;
    bottom: -30px !important;
    right: 12px !important;
    left: auto !important;
    max-width: 200px !important;
    width: auto !important;
    padding: 14px 16px !important;
  }

  .expertise-card-num .elementor-heading-title {
    font-size: 26px !important;
  }

  .expertise-card-sup .elementor-heading-title {
    font-size: 13px !important;
  }

  .expertise-card-unit .elementor-heading-title {
    font-size: 10px !important;
  }

  /* COLONNA DESTRA */
  .expertise-right,
  .expertise-right.e-con {
    width: 100% !important;
    gap: 20px !important;
    order: 2 !important;
    padding: 0 4px !important;
  }

  /* ROWS: singola colonna (testo sopra, immagine sotto) */
  .expertise-row,
  .expertise-row.e-con {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* Testo prima, immagine dopo */
  .expertise-text-block,
  .expertise-text-block.e-con {
    order: 1 !important;
    width: 100% !important;
    padding: 0 4px !important;
  }

  /* IMMAGINI PICCOLE: più larghe, rettangolari */
  .expertise-img-small,
  .expertise-img-small.e-con {
    order: 2 !important;
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
  }

  .expertise-img-small img,
  .expertise-img-small .elementor-widget-container,
  .expertise-img-small .elementor-widget-container img {
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
    max-height: 200px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
  }

  .expertise-title .elementor-heading-title {
    font-size: 22px !important;
  }

  .expertise-subtitle .elementor-heading-title {
    font-size: 18px !important;
  }

  .expertise-desc,
  .expertise-desc p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  /* FEATURES BOX */
  .expertise-features,
  .expertise-features.e-con {
    width: 100% !important;
    padding: 18px !important;
    margin-top: 12px !important;
    order: 3 !important;
  }

  /* PILLS: 2x2 grid su mobile */
  .expertise-pills,
  .expertise-pills.e-con {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .expertise-pill:nth-child(4) {
    grid-column: auto !important;
  }

  .expertise-pill,
  .expertise-pill.e-con {
    padding: 12px 14px !important;
    justify-content: flex-start !important;
    border-radius: 24px !important;
    background: #fff !important;
    border: 1px solid rgba(0, 51, 102, 0.1) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .expertise-pill-icon .elementor-heading-title {
    color: #f2ae31 !important;
    font-size: 14px !important;
  }

  .expertise-pill-label .elementor-heading-title {
    color: #003366 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  /* Animazioni più leggere */
  .expertise-main-image-wrap {
    transform: translateY(-30px) scale(0.98) !important;
  }
  .expertise-row:nth-child(1) {
    transform: translateY(20px) scale(0.98) !important;
  }
  .expertise-row:nth-child(2) {
    transform: translateY(20px) scale(0.98) !important;
  }
  .expertise-features {
    transform: translateY(20px) scale(0.98) !important;
  }

.stats-section,
  .stats-section.e-con {
    padding: 40px 16px 60px 16px !important;
  }

  .stats-title,
  .stats-title.e-con {
    margin-bottom: 40px !important;
  }

  .stats-title .elementor-heading-title {
    font-size: 24px !important;
  }

  .stats-skyline img,
  .stats-skyline .elementor-widget-container img {
    opacity: 0.25 !important;
  }

  .stats-grid,
  .stats-grid.e-con,
  .stats-section .stats-grid,
  .stats-inner .stats-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 16px !important;
    width: 100% !important;
    overflow: visible !important;
    flex-wrap: wrap !important;
  }

  .stats-card,
  .stats-card.e-con,
  .stats-grid .stats-card,
  .stats-grid > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 28px 18px 24px 18px !important;
    border-radius: 16px !important;
    gap: 10px !important;
    box-shadow:
      0 12px 30px rgba(0, 51, 102, 0.12),
      0 4px 12px rgba(0, 0, 0, 0.06),
      inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  }

  /* Disabilita 3D tilt su mobile (touch) */
  .stats-card .stats-num,
  .stats-card .stats-label,
  .stats-card .stats-card-image {
    transform: none !important;
  }

  .stats-num .elementor-counter-number-wrapper,
  .stats-num .elementor-counter {
    font-size: 32px !important;
  }

  .stats-label .elementor-heading-title {
    font-size: 9px !important;
    letter-spacing: 0.08em !important;
  }

  .stats-card-image,
  .stats-card-image.e-con {
    min-height: 100px !important;
    margin-top: 10px !important;
  }

  .stats-card-image img,
  .stats-card-image .elementor-widget-container img {
    max-width: 90px !important;
    max-height: 100px !important;
  }

.partners-section {
    padding: 32px 0 !important;
  }

  .partners-label .elementor-heading-title {
    font-size: 16px !important;
    letter-spacing: 0.1em !important;
  }

  /* Forza 4 slide visibili */
  .partners-carousel .swiper-slide {
    width: 25% !important;
    max-width: 25% !important;
    height: 50px !important;
  }

  .partners-carousel .swiper-slide img {
    height: 35px !important;
    max-width: 70px !important;
  }

  .partners-carousel::before,
  .partners-carousel::after {
    width: 30px !important;
  }

.partners-section {
    padding: 32px 0 !important;
  }

  .partners-label .elementor-heading-title {
    font-size: 16px !important;
    letter-spacing: 0.1em !important;
  }

  .partners-carousel .swiper-slide {
    width: 25% !important;
    max-width: 25% !important;
    height: 50px !important;
  }

  .partners-carousel .swiper-slide img {
    height: 35px !important;
    max-width: 70px !important;
  }

  .partners-gradient-canvas {
    display: none !important;
  }

.google-reviews-sections {
    padding: 60px 16px !important;
  }

  .laptop-wrapper > .elementor-widget-image img {
    max-width: 400px !important;
  }

  .bottom-row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 24px !important;
  }

  .trophy-wrapper,
  .zoho-card {
    max-width: 100% !important;
    width: 100% !important;
  }

  .zoho-card {
    padding: 28px 24px !important;
  }

.why-section {
    padding: 50px 5% !important;
  }

  .why-header {
    margin-bottom: 30px !important;
  }

  .why-title .elementor-heading-title {
    font-size: 28px !important;
  }

  .why-title-animated .elementor-heading-title {
    font-size: 22px !important;
  }

  .why-description p {
    font-size: 14px !important;
  }

  .why-grid {
    gap: 16px !important;
  }

  .why-card {
    flex: 0 0 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
  }

  .why-card-box {
    min-height: 320px !important;
    border-radius: 12px !important;
  }

  .why-card-head {
    padding: 20px 20px 16px !important;
  }

  .why-card-highlight .elementor-heading-title {
    font-size: 22px !important;
  }

  .why-card-image {
    min-height: 160px !important;
  }

  .why-card-title .elementor-heading-title {
    font-size: 16px !important;
  }

  .why-card-btn .elementor-button {
    padding: 10px 22px !important;
    font-size: 13px !important;
  }

  .why-nav-btn,
  .why-nav .elementor-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
  }

  .why-nav-btn i,
  .why-nav-btn svg,
  .why-nav .elementor-button i {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
  }

.hero-section {
    min-height: 60vh !important;
    padding: 100px 5% 70px 5% !important;
  }

  .hero-section
    .elementor-widget-heading:first-of-type
    .elementor-heading-title {
    font-size: 38px !important;
  }

  .hero-subheadline .elementor-heading-title,
  .hero-subheadline p {
    font-size: 15px !important;
    margin-bottom: 35px !important;
  }

  .steps-section {
    min-height: auto !important;
    padding: 50px 5% !important;
  }

  .steps-header {
    margin-bottom: 35px !important;
  }

  .steps-header .elementor-heading-title {
    font-size: 32px !important;
  }

  .steps-list {
    flex-direction: column !important;
    padding-left: 20px !important;
  }

  .steps-list.e-con {
    --flex-direction: column !important;
  }

  .steps-list::before {
    display: block !important;
  }

  .step-item {
    flex: none !important;
    width: 100% !important;
    padding: 14px 0 !important;
    border-bottom: none !important;
  }

  .step-item::before {
    display: block !important;
    left: -20px !important;
  }

  .step-item .elementor-heading-title {
    font-size: 14px !important;
  }

  .steps-box {
    padding: 30px 25px !important;
    min-height: 280px !important;
  }

  .step-number .elementor-heading-title {
    font-size: 56px !important;
  }

  .step-title .elementor-heading-title {
    font-size: 22px !important;
  }

  .step-description p {
    font-size: 14px !important;
  }

  .stats-section {
    padding: 50px 5% !important;
  }

  .stats-section.e-con {
    --gap: 35px !important;
  }

  .stats-content .elementor-heading-title {
    font-size: 36px !important;
  }

  .stats-numbers {
    flex-wrap: wrap !important;
    gap: 25px 15px !important;
  }

  .stats-numbers.e-con {
    --flex-wrap: wrap !important;
  }

  .stats-numbers > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 25px 15px !important;
  }

  .stat-item {
    flex: 0 0 calc(33.33% - 12px) !important;
    max-width: calc(33.33% - 12px) !important;
  }

  .stat-item .elementor-counter-number-wrapper,
  .stat-item .elementor-counter-number {
    font-size: 28px !important;
  }

  .stat-item .elementor-counter-number-prefix,
  .stat-item .elementor-counter-number-suffix {
    font-size: 18px !important;
  }

  .stat-item .elementor-widget-heading .elementor-heading-title {
    font-size: 10px !important;
    white-space: normal !important;
  }

  .awards-section {
    padding: 35px 5% !important;
  }

  .awards-row {
    gap: 25px !important;
  }

  .award-item {
    max-width: 120px !important;
  }

  .award-item .elementor-widget-image img {
    max-height: 40px !important;
  }

  .award-item .elementor-heading-title {
    font-size: 10px !important;
  }

  .jurisdiction-header {
    padding: 35px 15px !important;
  }

  .jurisdiction-header .elementor-heading-title {
    font-size: 28px !important;
  }

  .jurisdiction-section {
    flex-direction: column !important;
  }

  .jurisdiction-section.e-con {
    flex-direction: column !important;
  }

  .jurisdiction-card-1,
  .jurisdiction-card-2,
  .jurisdiction-card-3 {
    min-height: 400px !important;
    width: 100% !important;
    flex: none !important;
  }

  .jurisdiction-card-1 > .e-con-inner,
  .jurisdiction-card-2 > .e-con-inner,
  .jurisdiction-card-3 > .e-con-inner {
    padding: 30px 20px !important;
  }

  /* WHY RESPONSIVE MOBILE */
  .why-section {
    padding: 50px 5% !important;
  }

  .why-title .elementor-heading-title {
    font-size: 28px !important;
  }

  .why-title-animated .elementor-heading-title {
    font-size: 22px !important;
  }

  .why-description p {
    font-size: 14px !important;
  }

  .why-grid {
    gap: 16px !important;
  }

  .why-card {
    flex: 0 0 260px !important;
    min-width: 260px !important;
  }

  .why-card-box {
    min-height: 320px !important;
    border-radius: 12px !important;
  }

  .why-card-head {
    padding: 20px 20px 16px !important;
  }

  .why-card-highlight .elementor-heading-title {
    font-size: 22px !important;
  }

  .why-card-image {
    min-height: 160px !important;
  }

  .why-card-title .elementor-heading-title {
    font-size: 16px !important;
  }

  .why-card-btn .elementor-button {
    padding: 10px 22px !important;
    font-size: 13px !important;
  }

  .why-nav-btn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

.cc-section {
    padding: 50px 4% !important;
  }
  .cc-title .elementor-heading-title {
    font-size: 30px !important;
  }

.numbers-hero,
  .numbers-hero.e-con {
    margin: 0 3% !important;
    padding: 30px 20px 45px !important;
  }

  .numbers-main .elementor-heading-title {
    font-size: 28px !important;
  }

  .stat-box .elementor-counter-number {
    font-size: 28px !important;
  }

  .stat-box .elementor-heading-title {
    font-size: 10px !important;
  }

.expertise-section,
  .expertise-section.e-con {
    padding: 60px 5% !important;
  }

  .expertise-title-row,
  .expertise-title-row.e-con {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    --flex-direction: column !important;
  }

  .expertise-title-row .elementor-heading-title {
    font-size: 28px !important;
  }

  .expertise-paragraph p {
    font-size: 15px !important;
  }

  .expertise-image {
    max-width: 300px !important;
  }

.team-section {
    padding: 40px 0 !important;
  }

  .team-title-wrap {
    gap: 8px !important;
    margin-bottom: 30px !important;
  }

  .team-title-fixed .elementor-heading-title,
  .team-word .elementor-heading-title {
    font-size: 26px !important;
  }

  /* FEATURED: COLONNA VERTICALE */
  .team-featured,
  .team-featured.e-con {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  /* FOTO: PRIMA, CENTRATA */
  .team-featured > .left,
  .team-featured .left,
  .team-featured > .left.e-con,
  .team-featured .left.e-con,
  .team-featured > [class*="left"],
  .team-featured [class*="left"] {
    order: 1 !important;
    width: 180px !important;
    max-width: 180px !important;
    margin: 0 auto !important;
    flex-shrink: 0 !important;
  }

  .team-featured .left img {
    max-height: 200px !important;
    width: 100% !important;
  }

  /* Animazione foto: entra da sinistra */
  .team-featured .left {
    transform: translateX(-40px);
  }

  .team-featured .left.is-visible {
    transform: translateX(0);
  }

  /* BIO: SECONDA, FULL WIDTH */
  .team-featured > .right,
  .team-featured .right,
  .team-featured > .right.e-con,
  .team-featured .right.e-con,
  .team-featured > [class*="right"],
  .team-featured [class*="right"] {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 15px !important;
    text-align: center !important;
    gap: 12px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Animazione bio: entra dal basso */
  .team-featured .right {
    transform: translateY(30px);
  }

  .team-featured .right.is-visible {
    transform: translateY(0);
  }

  /* Nascondi chevron */
  .team-chevron {
    display: none !important;
  }

  /* Container nome - nascosto se vuoto */
  .team-featured-name-wrap,
  [class*="team-featured-name-"] {
    display: none !important;
  }

  /* Nome Elie */
  .team-featured-name .elementor-heading-title,
  [class*="team-featured-na"] .elementor-heading-title,
  .team-name .elementor-heading-title,
  .team-featured .right .elementor-widget-heading .elementor-heading-title {
    font-size: 20px !important;
    text-align: center !important;
  }

  /* Ruolo */
  .team-featured-role .elementor-heading-title,
  .team-role .elementor-heading-title {
    font-size: 13px !important;
    text-align: center !important;
  }

  /* Bio full width */
  .team-featured-bio,
  .team-featured-bio.e-con,
  .team-featured .right .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
  }

  .team-featured-bio .elementor-text-editor,
  .team-featured-bio .elementor-text-editor p,
  .team-featured .right .elementor-text-editor,
  .team-featured .right .elementor-text-editor p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    text-align: justify !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* Video section */
  .team-video-section {
    margin-top: 30px !important;
  }

  .team-videos-wrapper {
    max-width: 260px !important;
    min-height: 320px !important;
  }

  .team-name-video .elementor-heading-title {
    font-size: 18px !important;
  }

  .team-role-video .elementor-heading-title {
    font-size: 12px !important;
  }

  /* Editor mobile: 2 colonne */
  .elementor-editor-active .team-videos-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
  }

.contact-section,
  .contact-section.e-con {
    padding: 40px 16px !important;
    background: #fafafa !important;
  }

.about-hero-section,
  .about-hero-section.e-con {
    padding: 60px 16px 40px 16px !important;
    min-height: auto !important;
  }

  .about-hero-content,
  .about-hero-content.e-con {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  .about-hero-tag .elementor-heading-title {
    font-size: 10px !important;
    padding: 8px 16px !important;
  }

  .about-hero-title,
  .about-hero-title.e-con {
    width: 100% !important;
  }

  .about-hero-title .elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
    width: 100% !important;
  }

  .about-hero-subtitle,
  .about-hero-subtitle.e-con {
    width: 100% !important;
    max-width: 100% !important;
  }

  .about-hero-subtitle p,
  .about-hero-subtitle .elementor-widget-container p {
    font-size: 15px !important;
    line-height: 1.5 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .about-stats-row,
  .about-stats-row.e-con {
    margin-top: 24px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 16px !important;
  }

  .about-stat,
  .about-stat.e-con {
    width: calc(33.33% - 12px) !important;
    padding: 0 !important;
    border-bottom: none !important;
    text-align: center !important;
  }

  .about-stat:not(:last-child)::after {
    display: none !important;
  }

  .about-stat-number .elementor-heading-title {
    font-size: 28px !important;
  }

  .about-stat-label .elementor-heading-title {
    font-size: 9px !important;
    letter-spacing: 0.5px !important;
  }

  .about-hero-section .elementor-background-overlay {
    opacity: 0.3 !important;
  }

.about-expertise,
  .about-expertise.e-con {
    padding: 40px 16px !important;
  }

  .about-expertise-grid,
  .about-expertise-grid.e-con {
    padding: 0 !important;
  }

  .about-exp-row,
  .about-exp-row.e-con {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .about-exp-title,
  .about-exp-title.e-con,
  .about-exp-stats,
  .about-exp-stats.e-con,
  .about-exp-desc,
  .about-exp-desc.e-con,
  .about-exp-img1,
  .about-exp-img1.e-con,
  .about-exp-img2,
  .about-exp-img2.e-con {
    min-height: 180px !important;
  }

  .about-exp-title,
  .about-exp-title.e-con {
    width: 100% !important;
    padding: 24px !important;
  }

  .about-exp-title-text .elementor-heading-title {
    font-size: 24px !important;
  }

  .about-exp-img1,
  .about-exp-img1.e-con,
  .about-exp-stats,
  .about-exp-stats.e-con,
  .about-exp-desc,
  .about-exp-desc.e-con,
  .about-exp-img2,
  .about-exp-img2.e-con {
    width: calc(50% - 6px) !important;
  }

  .about-exp-stats,
  .about-exp-stats.e-con,
  .about-exp-desc,
  .about-exp-desc.e-con {
    padding: 20px !important;
  }

  .about-big-number .elementor-heading-title {
    font-size: 36px !important;
  }

  .about-big-label .elementor-heading-title {
    font-size: 12px !important;
  }

  .about-desc-text p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .about-cta-link .elementor-button {
    font-size: 12px !important;
  }

  .about-exp-features,
  .about-exp-features.e-con {
    width: 100% !important;
    padding: 0 !important;
    margin-top: 12px !important;
  }

  .about-features-grid,
  .about-features-grid.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .about-feature-item,
  .about-feature-item.e-con {
    padding: 12px 14px !important;
  }

  .about-feature-text .elementor-heading-title {
    font-size: 11px !important;
    white-space: normal !important;
  }

  .about-exp-title,
  .about-exp-img1,
  .about-exp-stats,
  .about-exp-desc,
  .about-exp-img2,
  .about-exp-features {
    transform: translateY(40px);
  }

  .about-exp-title.is-visible,
  .about-exp-img1.is-visible,
  .about-exp-stats.is-visible,
  .about-exp-desc.is-visible,
  .about-exp-img2.is-visible,
  .about-exp-features.is-visible {
    transform: translateY(0);
  }

.about-team,
  .about-team.e-con {
    padding: 40px 16px !important;
  }

  .about-team-title .elementor-heading-title,
  .about-team-title-accent .elementor-heading-title {
    font-size: 28px !important;
  }

  .about-team-subtitle .elementor-heading-title {
    font-size: 14px !important;
  }

  .about-team-grid,
  .about-team-grid.e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .about-team-left,
  .about-team-left.e-con {
    width: 100% !important;
    flex-direction: column !important;
    border-radius: 20px !important;
  }

  .about-team-photo,
  .about-team-photo.e-con {
    width: 100% !important;
    min-height: 280px !important;
    max-height: 320px !important;
    border-radius: 20px 20px 0 0 !important;
  }

  .about-team-photo::before,
  .about-team-photo.e-con::before {
    border-radius: 20px 20px 0 0 !important;
  }

  .about-team-info,
  .about-team-info.e-con {
    width: 100% !important;
    padding: 20px !important;
    border-radius: 0 0 20px 20px !important;
    gap: 12px !important;
  }

  .about-team-name .elementor-heading-title {
    font-size: 22px !important;
    margin-bottom: 0 !important;
  }

  .about-team-role .elementor-heading-title {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }

  .about-team-bio p,
  .about-team-bio .elementor-text-editor p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
  }

  .about-team-stats,
  .about-team-stats.e-con {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 30px !important;
    margin-top: 8px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .about-team-stat,
  .about-team-stat.e-con {
    flex: 0 0 auto !important;
    width: auto !important;
    gap: 2px !important;
  }

  .about-team-stat-num .elementor-heading-title {
    font-size: 24px !important;
  }

  .about-team-stat-label .elementor-heading-title {
    font-size: 9px !important;
  }

  .about-team-right,
  .about-team-right.e-con {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .about-team-row,
  .about-team-row.e-con {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .about-team-card,
  .about-team-card.e-con {
    flex: 1 1 calc(50% - 6px) !important;
    width: calc(50% - 6px) !important;
    min-width: 0 !important;
    border-radius: 16px !important;
  }

  .about-team-card-img,
  .about-team-card-img.e-con {
    min-height: 90px !important;
    border-radius: 16px 16px 0 0 !important;
  }

  .about-team-card-title,
  .about-team-card-title.e-con {
    padding: 12px !important;
    border-radius: 0 0 16px 16px !important;
  }

  .about-team-card-title .elementor-heading-title {
    font-size: 12px !important;
  }

  .card-3d {
    display: none !important;
  }

  .about-team-photo,
  .about-team-info,
  .about-team-card {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .about-team-card:hover {
    transform: none !important;
  }

/* HERO */
  .svc-hero,
  .svc-hero.e-con {
    padding: 70px 16px 30px !important;
    min-height: auto !important;
    margin: 0 !important;
  }

  .svc-hero::before {
    background: linear-gradient(
      180deg,
      rgba(0, 26, 51, 0.9) 0%,
      rgba(0, 51, 102, 0.85) 100%
    ) !important;
  }

  .svc-hero-title .elementor-heading-title {
    font-size: 30px !important;
    margin-bottom: 10px !important;
  }

  .svc-hero-subtitle .elementor-heading-title {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }

  .svc-hero-desc,
  .svc-hero-desc p {
    font-size: 14px !important;
    margin-bottom: 16px !important;
  }

  .svc-hero-cta .elementor-button {
    padding: 12px 24px !important;
    font-size: 13px !important;
  }

  /*
       TUTTE LE SEZIONI - PADDING RIDOTTO
    */
  .svc-benefits,
  .svc-benefits.e-con {
    padding: 28px 14px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  .svc-services,
  .svc-services.e-con {
    padding: 28px 14px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  .svc-process,
  .svc-process.e-con {
    padding: 28px 14px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  .svc-cta,
  .svc-cta.e-con {
    padding: 32px 14px !important;
    margin: 0 !important;
    background: #fafafa !important;
  }

  /* INNER CONTAINERS RESET */
  .svc-benefits > .e-con-inner,
  .svc-services > .e-con-inner,
  .svc-process > .e-con-inner,
  .svc-cta > .e-con-inner {
    padding: 0 !important;
    margin: 0 !important;
  }

  .svc-benefits-inner,
  .svc-benefits-inner.e-con {
    padding: 0 !important;
    margin: 0 !important;
    gap: 20px !important;
  }

  .svc-section-header,
  .svc-section-header.e-con {
    margin-bottom: 20px !important;
    padding: 0 !important;
  }

  .svc-section-title .elementor-heading-title {
    font-size: 26px !important;
    margin-bottom: 8px !important;
  }

  .svc-section-text,
  .svc-section-text p {
    font-size: 14px !important;
  }

  /*
       BENEFITS GRID
     */
  .svc-benefits-grid,
  .svc-benefits-grid.e-con {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 160px 140px 140px !important;
    gap: 10px !important;
  }

  .svc-benefit-card-1,
  .svc-benefit-card-1.e-con {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
  }

  .svc-benefit-card-2,
  .svc-benefit-card-2.e-con {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .svc-benefit-card-3,
  .svc-benefit-card-3.e-con {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .svc-benefit-card-4,
  .svc-benefit-card-4.e-con {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  .svc-benefit-card-5,
  .svc-benefit-card-5.e-con {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  .svc-benefit-overlay,
  .svc-benefit-overlay.e-con {
    padding: 14px !important;
  }

  .svc-benefit-title .elementor-heading-title {
    font-size: 15px !important;
  }

  .svc-benefit-card-1 .svc-benefit-title .elementor-heading-title {
    font-size: 18px !important;
  }

  .svc-benefit-card::after {
    width: 10px !important;
    height: 10px !important;
    bottom: 12px !important;
    right: 12px !important;
  }

  /* 
       SERVICES
     */
  .svc-services-wrapper,
  .svc-services-wrapper.e-con,
  .svc-services-wrapper > .e-con-inner {
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .svc-services-left,
  .svc-services-left.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .svc-service-img img {
    height: 120px !important;
  }

  .svc-service-content,
  .svc-service-content.e-con {
    padding: 14px 16px !important;
  }

  .svc-service-title .elementor-heading-title {
    font-size: 15px !important;
    margin-bottom: 6px !important;
  }

  .svc-service-desc p {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .svc-services-title .elementor-heading-title {
    font-size: 24px !important;
    margin-bottom: 10px !important;
  }

  .svc-services-text p {
    font-size: 14px !important;
  }

  /*
       PROCESS
     */
  .svc-process-wrapper,
  .svc-process-wrapper.e-con {
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .svc-process-right,
  .svc-process-right.e-con {
    gap: 20px !important;
    padding: 0 !important;
  }

  .svc-process-header,
  .svc-process-header.e-con {
    margin-bottom: 16px !important;
    gap: 8px !important;
  }

  .svc-process-img-wrap,
  .svc-process-img-wrap.e-con {
    height: 320px !important;
    border-radius: 18px !important;
  }

  .svc-floating-card,
  .svc-floating-card.e-con {
    bottom: 20px !important;
    left: 16px !important;
    width: 170px !important;
    max-width: 170px !important;
    min-width: 170px !important;
    padding: 16px 18px !important;
    border-radius: 14px !important;
  }

  .svc-floating-label .elementor-heading-title {
    font-size: 10px !important;
  }

  .svc-floating-num .elementor-heading-title {
    font-size: 36px !important;
  }

  .svc-floating-suffix .elementor-heading-title {
    font-size: 20px !important;
  }

  .svc-floating-unit .elementor-heading-title {
    font-size: 13px !important;
  }

  .svc-floating-subtext p {
    font-size: 11px !important;
  }

  .svc-process-title .elementor-heading-title {
    font-size: 24px !important;
  }

  .svc-process-row,
  .svc-process-row.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .svc-step,
  .svc-step.e-con {
    padding: 18px 14px !important;
    border-radius: 14px !important;
    gap: 10px !important;
  }

  .svc-step-num,
  .svc-step-num.e-con {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    border-radius: 8px !important;
  }

  .svc-step-num .elementor-heading-title {
    font-size: 13px !important;
  }

  .svc-step-title .elementor-heading-title {
    font-size: 14px !important;
  }

  .svc-step-desc p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  /* 
       CTA
     */
  .svc-cta-content,
  .svc-cta-content.e-con {
    padding: 0 !important;
    margin: 0 auto !important;
  }

  .svc-cta-title .elementor-heading-title {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }

  .svc-cta-text p {
    font-size: 14px !important;
    margin-bottom: 20px !important;
  }

  .svc-cta-btn .elementor-button {
    padding: 14px 32px !important;
    font-size: 14px !important;
  }

  /* 
       ANIMAZIONI MOBILE
      */
  .svc-benefit-card-1 {
    transform: translateY(-25px) scale(0.97) !important;
  }
  .svc-benefit-card-2,
  .svc-benefit-card-3,
  .svc-benefit-card-4,
  .svc-benefit-card-5 {
    transform: translateY(25px) scale(0.97) !important;
  }
  .svc-service-card {
    transform: translateY(25px) !important;
  }
  .svc-process-left {
    transform: translateY(-25px) !important;
  }
  .svc-floating-card {
    transform: scale(0.9) translateY(15px) !important;
  }
  .svc-step {
    transform: translateY(25px) !important;
  }

/* HERO */
  .biz-hero,
  .biz-hero.e-con {
    padding: 120px 20px 60px !important;
    min-height: 60vh !important;
  }

  /* SEZIONI PADDING */
  .biz-bento,
  .biz-bento.e-con,
  .biz-benefits,
  .biz-benefits.e-con,
  .biz-services,
  .biz-services.e-con,
  .biz-cta,
  .biz-cta.e-con {
    padding: 50px 16px !important;
    background: #fafafa !important;
  }

  /* BENEFITS GRID - 2 COLONNE */
  .biz-benefits-grid,
  .biz-benefits-grid.e-con,
  .biz-benefits-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .biz-benefit-card,
  .biz-benefit-card.e-con {
    width: 100% !important;
  }

  /* SERVICES GRID - 2 COLONNE */
  .biz-services-grid,
  .biz-services-grid.e-con,
  .biz-services-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .biz-service-card,
  .biz-service-card.e-con {
    width: 100% !important;
  }

  /* BLOCCHI INTERNI */
  .biz-about-block,
  .biz-about-block.e-con,
  .biz-why-text,
  .biz-why-text.e-con,
  .biz-features,
  .biz-features.e-con {
    padding: 24px !important;
    width: 100% !important;
  }

  /* PILLS - MANTIENE GLASSMORPHISM */
  .biz-pills,
  .biz-pills.e-con,
  .biz-pills > .e-con-inner {
    gap: 8px !important;
    justify-content: center !important;
  }

  .biz-pill,
  .biz-pill.e-con {
    flex: 0 0 auto !important;
    width: fit-content !important;
    padding: 10px 14px !important;
    background: rgba(0, 51, 102, 0.75) !important;
    backdrop-filter: blur(20px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
  }

  .biz-pill-label .elementor-heading-title {
    color: #ffffff !important;
  }

  /* FLOATING CARD */
  .biz-floating-card,
  .biz-floating-card.e-con {
    bottom: -25px !important;
    left: 16px !important;
    right: auto !important;
  }

  /* ICON BOX */
  .biz-benefit-icon,
  .biz-benefit-icon.elementor-widget-icon {
    width: 48px !important;
    height: 48px !important;
  }

  .biz-benefit-icon .elementor-icon i,
  .biz-benefit-icon .elementor-icon svg {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
  }

.inv-hero,
  .inv-hero.e-con {
    padding: 70px 16px 30px !important;
    min-height: auto !important;
  }

  .inv-hero::before {
    background: linear-gradient(
      180deg,
      rgba(0, 26, 51, 0.9) 0%,
      rgba(0, 51, 102, 0.85) 100%
    ) !important;
  }

  .inv-hero-title .elementor-heading-title {
    font-size: 30px !important;
  }

  .inv-hero-subtitle .elementor-heading-title {
    font-size: 18px !important;
  }

  .inv-hero-desc p {
    font-size: 14px !important;
  }

  .inv-services,
  .inv-services.e-con,
  .inv-process,
  .inv-process.e-con {
    padding: 28px 14px !important;
    background: #fafafa !important;
  }

  .inv-cta,
  .inv-cta.e-con {
    padding: 32px 14px !important;
    background: #fafafa !important;
  }

  .inv-services-left,
  .inv-services-left.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .inv-service-img img {
    height: 120px !important;
  }

  .inv-service-content,
  .inv-service-content.e-con {
    padding: 14px 16px !important;
  }

  .inv-service-title .elementor-heading-title {
    font-size: 15px !important;
  }

  .inv-service-desc p {
    font-size: 12px !important;
  }

  .inv-process-img-wrap,
  .inv-process-img-wrap.e-con {
    height: 320px !important;
  }

  .inv-floating-card,
  .inv-floating-card.e-con {
    bottom: 20px !important;
    left: 16px !important;
    width: 170px !important;
    max-width: 170px !important;
    min-width: 170px !important;
    padding: 16px 18px !important;
  }

  .inv-floating-num .elementor-heading-title {
    font-size: 36px !important;
  }

  .inv-process-row,
  .inv-process-row.e-con {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .inv-step,
  .inv-step.e-con {
    padding: 18px 14px !important;
    gap: 10px !important;
  }

  .inv-step-num,
  .inv-step-num.e-con {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }

  .inv-step-num .elementor-heading-title {
    font-size: 13px !important;
  }

  .inv-step-title .elementor-heading-title {
    font-size: 14px !important;
  }

  .inv-step-desc p {
    font-size: 12px !important;
  }

  .inv-cta-title .elementor-heading-title {
    font-size: 24px !important;
  }

  .inv-cta-text p {
    font-size: 14px !important;
  }

}


/* ══════════════════════════════════════════════════════════════════════════════════════════
   
   ▼▼▼ SMALL MOBILE - max-width: 480px ▼▼▼
   
   ══════════════════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 480px) {
.hero-section {
    min-height: 550px !important;
    padding-top: 80px !important;
  }

  .hero-headline .elementor-heading-title {
    font-size: clamp(24px, 8vw, 32px) !important;
  }

  .hero-subheadline .elementor-heading-title {
    font-size: 14px !important;
    margin-bottom: 24px !important;
  }

  .hero-content {
    padding: 0 16px !important;
  }

  .hero-cta-primary .elementor-button,
  .hero-cta-secondary .elementor-button {
    padding: 10px 18px !important;
    font-size: 13px !important;
  }

.corevalues-viewport {
    gap: 45px 10px !important;
    max-width: 290px !important;
    padding: 15px 15px 20px !important;
  }

  .corevalues-card {
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    height: 105px !important;
    min-height: 105px !important;
    padding: 36px 10px 14px !important;
  }

  .corevalues-card-active,
  [class*="corevalues-card-active"] {
    height: 85px !important;
    min-height: 85px !important;
    padding: 0 15px 0 85px !important;
  }

  .corevalues-card-active .corevalues-icon,
  [class*="corevalues-card-active"] .corevalues-icon {
    left: 18px !important;
    width: 48px !important;
    height: 48px !important;
  }

  .corevalues-icon {
    width: 42px !important;
    height: 42px !important;
    top: -21px !important;
  }

  .corevalues-card-title .elementor-heading-title {
    font-size: 10px !important;
  }

  .corevalues-card-subtitle .elementor-heading-title {
    font-size: 8px !important;
  }

.solutions-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 140px 140px 140px !important;
    gap: 8px !important;
  }

  .solutions-card-title .elementor-heading-title {
    font-size: 11px !important;
  }

  .solutions-card-overlay {
    padding: 10px !important;
  }

  .solutions-card::after {
    width: 8px !important;
    height: 8px !important;
    bottom: 10px !important;
    right: 10px !important;
  }

.cta-section {
    min-height: 300px !important;
    padding: 40px 20px !important;
  }

  .cta-title .elementor-heading-title {
    font-size: 22px !important;
  }

  .cta-text,
  .cta-text p {
    font-size: 13px !important;
  }

  .cta-button .elementor-button {
    padding: 12px 28px !important;
    font-size: 13px !important;
  }

.expertise-section {
    padding: 8px 6px 36px 6px !important;
  }

  .expertise-main-image-wrap {
    margin-bottom: 36px !important;
  }

  /* IMMAGINE PRINCIPALE: più larga */
  .expertise-main-image img,
  .expertise-main-image .elementor-widget-container img {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 200px !important;
    border-radius: 10px !important;
  }

  .expertise-floating-card {
    bottom: -25px !important;
    right: 8px !important;
    max-width: 180px !important;
    padding: 12px 14px !important;
  }

  .expertise-card-num .elementor-heading-title {
    font-size: 22px !important;
  }

  .expertise-title .elementor-heading-title {
    font-size: 20px !important;
  }

  .expertise-subtitle .elementor-heading-title {
    font-size: 16px !important;
  }

  .expertise-desc,
  .expertise-desc p {
    font-size: 13px !important;
  }

  /* IMMAGINI PICCOLE: rettangolari, più larghe */
  .expertise-img-small,
  .expertise-img-small img,
  .expertise-img-small .elementor-widget-container img {
    height: 160px !important;
    min-height: 160px !important;
    max-height: 180px !important;
    border-radius: 10px !important;
  }

  .expertise-features {
    padding: 14px !important;
  }

  .expertise-pills {
    gap: 8px !important;
  }

  .expertise-pill {
    padding: 10px 12px !important;
  }

  .expertise-pill-label .elementor-heading-title {
    font-size: 11px !important;
  }

.stats-section,
  .stats-section.e-con {
    padding: 32px 12px 50px 12px !important;
  }

  .stats-title,
  .stats-title.e-con {
    margin-bottom: 32px !important;
  }

  .stats-title .elementor-heading-title {
    font-size: 22px !important;
  }

  .stats-skyline img,
  .stats-skyline .elementor-widget-container img {
    opacity: 0.2 !important;
  }

  .stats-grid,
  .stats-grid.e-con {
    gap: 12px !important;
  }

  .stats-card,
  .stats-card.e-con {
    padding: 24px 14px 20px 14px !important;
    border-radius: 14px !important;
  }

  .stats-num .elementor-counter-number-wrapper,
  .stats-num .elementor-counter {
    font-size: 28px !important;
  }

  .stats-label .elementor-heading-title {
    font-size: 8px !important;
  }

  .stats-card-image {
    min-height: 80px !important;
  }

  .stats-card-image img {
    max-width: 75px !important;
    max-height: 80px !important;
  }

/* Forza 4 slide su schermi piccoli */
  .partners-carousel .swiper-slide {
    width: 25% !important;
    max-width: 25% !important;
    height: 45px !important;
  }

  .partners-carousel .swiper-slide img {
    height: 30px !important;
    max-width: 60px !important;
  }

.partners-carousel .swiper-slide {
    width: 25% !important;
    max-width: 25% !important;
    height: 40px !important;
  }

  .partners-carousel .swiper-slide img {
    height: 28px !important;
    max-width: 55px !important;
  }

.gr-title-section,
  .gr-title-section * {
    font-size: 24px !important;
  }

  .google-badge {
    padding: 8px 16px !important;
    gap: 8px !important;
  }

  .laptop-wrapper > .elementor-widget-image img {
    max-width: 320px !important;
  }

  .rv-card {
    padding: 8px;
  }

  .rv-card p {
    font-size: 8px;
  }

  .rv-meta strong {
    font-size: 9px;
  }

  .zoho-btn .elementor-button {
    padding: 12px 24px !important;
    font-size: 12px !important;
  }

.team-title-fixed .elementor-heading-title,
  .team-word .elementor-heading-title {
    font-size: 22px !important;
  }

  .team-featured > .left,
  .team-featured .left {
    width: 150px !important;
    max-width: 150px !important;
  }

  .team-featured .left img {
    max-height: 170px !important;
  }

  .team-featured-name .elementor-heading-title,
  [class*="team-featured-na"] .elementor-heading-title,
  .team-name .elementor-heading-title {
    font-size: 18px !important;
  }

  .team-featured-bio .elementor-text-editor p,
  .team-featured .right .elementor-text-editor p {
    font-size: 13px !important;
  }

  .team-videos-wrapper {
    max-width: 220px !important;
    min-height: 280px !important;
  }

.contact-section,
  .contact-section.e-con {
    padding: 32px 12px !important;
    background: #fafafa !important;
  }

.about-hero-section,
  .about-hero-section.e-con {
    padding: 50px 12px 30px 12px !important;
  }

  .about-hero-title .elementor-heading-title {
    font-size: 28px !important;
  }

  .about-hero-subtitle p {
    font-size: 14px !important;
  }

  .about-stat-number .elementor-heading-title {
    font-size: 24px !important;
  }

  .about-stat-label .elementor-heading-title {
    font-size: 8px !important;
  }

/* HERO */
  .svc-hero,
  .svc-hero.e-con {
    padding: 60px 12px 24px !important;
  }

  .svc-hero-tag .elementor-heading-title {
    font-size: 10px !important;
    padding: 6px 12px !important;
    margin-bottom: 10px !important;
  }

  .svc-hero-title .elementor-heading-title {
    font-size: 26px !important;
    margin-bottom: 8px !important;
  }

  .svc-hero-subtitle .elementor-heading-title {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }

  .svc-hero-desc p {
    font-size: 13px !important;
    margin-bottom: 14px !important;
  }

  /* SEZIONI */
  .svc-benefits,
  .svc-benefits.e-con,
  .svc-services,
  .svc-services.e-con,
  .svc-process,
  .svc-process.e-con {
    padding: 22px 10px !important;
    background: #fafafa !important;
  }

  .svc-cta,
  .svc-cta.e-con {
    padding: 26px 10px !important;
    background: #fafafa !important;
  }

  .svc-benefits-inner,
  .svc-benefits-inner.e-con {
    gap: 16px !important;
  }

  .svc-section-header,
  .svc-section-header.e-con {
    margin-bottom: 16px !important;
  }

  .svc-section-title .elementor-heading-title {
    font-size: 24px !important;
  }

  /* BENEFITS */
  .svc-benefits-grid,
  .svc-benefits-grid.e-con {
    grid-template-rows: 150px 130px 130px !important;
    gap: 8px !important;
  }

  .svc-benefit-overlay,
  .svc-benefit-overlay.e-con {
    padding: 12px !important;
  }

  .svc-benefit-title .elementor-heading-title {
    font-size: 13px !important;
  }

  .svc-benefit-card-1 .svc-benefit-title .elementor-heading-title {
    font-size: 16px !important;
  }

  .svc-benefit-card::after {
    width: 8px !important;
    height: 8px !important;
    bottom: 10px !important;
    right: 10px !important;
  }

  /* SERVICES */
  .svc-services-wrapper,
  .svc-services-wrapper.e-con {
    gap: 16px !important;
  }

  .svc-services-left,
  .svc-services-left.e-con {
    gap: 10px !important;
  }

  .svc-service-img img {
    height: 100px !important;
  }

  .svc-service-content,
  .svc-service-content.e-con {
    padding: 12px 14px !important;
  }

  .svc-service-title .elementor-heading-title {
    font-size: 14px !important;
  }

  .svc-service-desc p {
    font-size: 11px !important;
  }

  .svc-services-title .elementor-heading-title {
    font-size: 22px !important;
  }

  /* PROCESS */
  .svc-process-wrapper,
  .svc-process-wrapper.e-con {
    gap: 16px !important;
  }

  .svc-process-right,
  .svc-process-right.e-con {
    gap: 16px !important;
  }

  .svc-process-header,
  .svc-process-header.e-con {
    margin-bottom: 12px !important;
  }

  .svc-process-img-wrap,
  .svc-process-img-wrap.e-con {
    height: 280px !important;
    border-radius: 16px !important;
  }

  .svc-floating-card,
  .svc-floating-card.e-con {
    bottom: 16px !important;
    left: 12px !important;
    width: 155px !important;
    max-width: 155px !important;
    min-width: 155px !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
  }

  .svc-floating-num .elementor-heading-title {
    font-size: 32px !important;
  }

  .svc-floating-suffix .elementor-heading-title {
    font-size: 18px !important;
  }

  .svc-floating-unit .elementor-heading-title {
    font-size: 12px !important;
    margin-left: 4px !important;
  }

  .svc-floating-progress,
  .svc-floating-progress.e-con {
    height: 4px !important;
    min-height: 4px !important;
    max-height: 4px !important;
    margin-bottom: 10px !important;
  }

  .svc-floating-progress-bar,
  .svc-floating-progress-bar.e-con {
    height: 4px !important;
  }

  .svc-floating-subtext p {
    font-size: 10px !important;
  }

  .svc-process-title .elementor-heading-title {
    font-size: 22px !important;
  }

  .svc-process-row,
  .svc-process-row.e-con {
    gap: 10px !important;
  }

  .svc-step,
  .svc-step.e-con {
    padding: 16px 12px !important;
    border-radius: 12px !important;
    gap: 8px !important;
  }

  .svc-step-num,
  .svc-step-num.e-con {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    border-radius: 6px !important;
  }

  .svc-step-num .elementor-heading-title {
    font-size: 12px !important;
  }

  .svc-step-title .elementor-heading-title {
    font-size: 13px !important;
  }

  .svc-step-desc p {
    font-size: 11px !important;
  }

  /* CTA */
  .svc-cta-title .elementor-heading-title {
    font-size: 22px !important;
    margin-bottom: 10px !important;
  }

  .svc-cta-text p {
    font-size: 13px !important;
    margin-bottom: 16px !important;
  }

  .svc-cta-btn .elementor-button {
    padding: 12px 28px !important;
    font-size: 13px !important;
  }

/* HERO */
  .biz-hero,
  .biz-hero.e-con {
    padding: 100px 16px 48px !important;
    min-height: 55vh !important;
  }

  .biz-hero-title .elementor-heading-title {
    font-size: 28px !important;
  }

  .biz-hero-tagline .elementor-heading-title {
    font-size: 16px !important;
  }

  /* BENTO IMG */
  .biz-bento-img img {
    min-height: 260px !important;
  }

  /* FLOATING CARD FULL WIDTH */
  .biz-floating-card,
  .biz-floating-card.e-con {
    left: 12px !important;
    right: 12px !important;
    bottom: -24px !important;
    max-width: none !important;
  }

  .biz-card-num .elementor-heading-title {
    font-size: 30px !important;
  }

  /* BLOCCHI */
  .biz-about-block,
  .biz-about-block.e-con,
  .biz-why-text,
  .biz-why-text.e-con,
  .biz-features,
  .biz-features.e-con {
    padding: 18px !important;
  }

  .biz-about-title .elementor-heading-title {
    font-size: 24px !important;
  }

  .biz-why-title .elementor-heading-title {
    font-size: 18px !important;
  }

  /* PILLS - CENTRATE, FIT-CONTENT */
  .biz-pills,
  .biz-pills.e-con,
  .biz-pills > .e-con-inner {
    justify-content: center !important;
  }

  .biz-pill,
  .biz-pill.e-con {
    flex: 0 0 auto !important;
    width: fit-content !important;
    padding: 8px 12px !important;
  }

  .biz-pill-label .elementor-heading-title {
    font-size: 11px !important;
  }

  /* TITOLI SEZIONE */
  .biz-section-title .elementor-heading-title {
    font-size: 24px !important;
  }

  .biz-section-tag .elementor-heading-title {
    font-size: 10px !important;
  }

  /* BENEFITS - 2 COLONNE */
  .biz-benefits-grid,
  .biz-benefits-grid.e-con,
  .biz-benefits-grid > .e-con-inner {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* SERVICES - 2 COLONNE */
  .biz-services-grid,
  .biz-services-grid.e-con,
  .biz-services-grid > .e-con-inner {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* CARDS */
  .biz-benefit-card,
  .biz-benefit-card.e-con,
  .biz-service-card,
  .biz-service-card.e-con {
    padding: 16px !important;
  }

  .biz-benefit-title .elementor-heading-title,
  .biz-service-title .elementor-heading-title {
    font-size: 14px !important;
  }

  .biz-benefit-desc p,
  .biz-service-desc p {
    font-size: 12px !important;
  }

  /* ICON BOX SMALLER */
  .biz-benefit-icon,
  .biz-benefit-icon.elementor-widget-icon {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 12px !important;
  }

  .biz-benefit-icon .elementor-icon i,
  .biz-benefit-icon .elementor-icon svg {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
  }

  /* CTA */
  .biz-cta-title .elementor-heading-title {
    font-size: 26px !important;
  }

  .biz-cta-btn .elementor-button {
    padding: 14px 28px !important;
    font-size: 14px !important;
  }

  /* SEZIONI SFONDO */
  .biz-bento,
  .biz-bento.e-con,
  .biz-benefits,
  .biz-benefits.e-con,
  .biz-services,
  .biz-services.e-con,
  .biz-cta,
  .biz-cta.e-con {
    background: #fafafa !important;
  }

.inv-hero,
  .inv-hero.e-con {
    padding: 60px 12px 24px !important;
  }

  .inv-hero-title .elementor-heading-title {
    font-size: 26px !important;
  }

  .inv-services,
  .inv-services.e-con,
  .inv-process,
  .inv-process.e-con {
    padding: 22px 10px !important;
    background: #fafafa !important;
  }

  .inv-cta,
  .inv-cta.e-con {
    padding: 26px 10px !important;
    background: #fafafa !important;
  }

  .inv-service-img img {
    height: 100px !important;
  }

  .inv-service-title .elementor-heading-title {
    font-size: 14px !important;
  }

  .inv-process-img-wrap,
  .inv-process-img-wrap.e-con {
    height: 280px !important;
  }

  .inv-floating-card,
  .inv-floating-card.e-con {
    width: 155px !important;
    max-width: 155px !important;
    min-width: 155px !important;
    padding: 14px 16px !important;
  }

  .inv-floating-num .elementor-heading-title {
    font-size: 32px !important;
  }

  .inv-step,
  .inv-step.e-con {
    padding: 16px 12px !important;
  }

  .inv-step-title .elementor-heading-title {
    font-size: 13px !important;
  }

  .inv-cta-title .elementor-heading-title {
    font-size: 22px !important;
  }

}


/* ══════════════════════════════════════════════════════════════════════════════════════════
   
   ▼▼▼ TINY - max-width: 400px ▼▼▼
   
   ══════════════════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 400px) {
.svc-hero,
  .svc-hero.e-con {
    padding: 55px 10px 20px !important;
  }

  .svc-hero-title .elementor-heading-title {
    font-size: 24px !important;
  }

  .svc-benefits,
  .svc-benefits.e-con,
  .svc-services,
  .svc-services.e-con,
  .svc-process,
  .svc-process.e-con {
    padding: 18px 8px !important;
    background: #fafafa !important;
  }

  .svc-cta,
  .svc-cta.e-con {
    padding: 22px 8px !important;
    background: #fafafa !important;
  }

  .svc-benefits-inner,
  .svc-benefits-inner.e-con,
  .svc-services-wrapper,
  .svc-services-wrapper.e-con,
  .svc-process-wrapper,
  .svc-process-wrapper.e-con {
    gap: 14px !important;
  }

  .svc-section-header,
  .svc-section-header.e-con {
    margin-bottom: 14px !important;
  }

  .svc-benefits-grid,
  .svc-benefits-grid.e-con {
    grid-template-rows: 140px 120px 120px !important;
    gap: 6px !important;
  }

  .svc-benefit-title .elementor-heading-title {
    font-size: 12px !important;
  }

  .svc-benefit-card-1 .svc-benefit-title .elementor-heading-title {
    font-size: 14px !important;
  }

  .svc-service-img img {
    height: 90px !important;
  }

  .svc-service-title .elementor-heading-title {
    font-size: 13px !important;
  }

  .svc-process-img-wrap,
  .svc-process-img-wrap.e-con {
    height: 260px !important;
  }

  .svc-floating-card,
  .svc-floating-card.e-con {
    width: 145px !important;
    max-width: 145px !important;
    min-width: 145px !important;
    padding: 12px 14px !important;
  }

  .svc-floating-num .elementor-heading-title {
    font-size: 28px !important;
  }

  .svc-step,
  .svc-step.e-con {
    padding: 14px 10px !important;
  }

  .svc-step-title .elementor-heading-title {
    font-size: 12px !important;
  }

  .svc-step-desc p {
    font-size: 10px !important;
  }

  .svc-cta-title .elementor-heading-title {
    font-size: 20px !important;
  }

.inv-hero,
  .inv-hero.e-con {
    padding: 55px 10px 20px !important;
  }

  .inv-hero-title .elementor-heading-title {
    font-size: 24px !important;
  }

  .inv-services,
  .inv-services.e-con,
  .inv-process,
  .inv-process.e-con {
    padding: 18px 8px !important;
    background: #fafafa !important;
  }

  .inv-cta,
  .inv-cta.e-con {
    padding: 22px 8px !important;
    background: #fafafa !important;
  }

  .inv-process-img-wrap,
  .inv-process-img-wrap.e-con {
    height: 260px !important;
  }

  .inv-floating-card,
  .inv-floating-card.e-con {
    width: 145px !important;
    max-width: 145px !important;
    min-width: 145px !important;
  }

  .inv-floating-num .elementor-heading-title {
    font-size: 28px !important;
  }

  .inv-cta-title .elementor-heading-title {
    font-size: 20px !important;
  }

}/* End custom CSS */