
/* === Tailwind compiled === */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}button,input,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}
.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.right-0{right:0}.top-0{top:0}.top-full{top:100%}.left-0{left:0}.left-1\/2{left:50%}.bottom-0{bottom:0}.z-50{z-index:50}.z-\[60\]{z-index:60}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[3px\]{height:3px}.h-\[72px\]{height:72px}.h-full{height:100%}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[120px\]{min-width:120px}.max-w-\[1200px\]{max-width:1200px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-scale-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-border{border-color:hsl(220 13% 91%)}.border-border\/50{border-color:rgba(229,231,235,.5)}.bg-amber-100{background-color:rgb(254 243 199)}.bg-blue-100{background-color:rgb(219 234 254)}.bg-emerald-100{background-color:rgb(209 250 229)}.bg-fuchsia-100{background-color:rgb(250 232 255)}.bg-indigo-100{background-color:rgb(224 231 255)}.bg-lime-100{background-color:rgb(236 252 203)}.bg-orange-100{background-color:rgb(255 237 213)}.bg-pink-100{background-color:rgb(252 231 243)}.bg-purple-100{background-color:rgb(243 232 255)}.bg-teal-100{background-color:rgb(204 251 241)}.bg-violet-100{background-color:rgb(237 233 254)}.bg-white{background-color:rgb(255 255 255)}.bg-transparent{background-color:transparent}.object-cover{object-fit:cover}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-widest{letter-spacing:.1em}.text-\[\#1A1A2E\]{color:rgb(26 26 46)}.text-\[\#3d1c87\]{color:rgb(61 28 135)}.text-\[\#6B7280\]{color:rgb(107 114 128)}.text-amber-700{color:rgb(180 83 9)}.text-blue-700{color:rgb(29 78 216)}.text-emerald-700{color:rgb(4 120 87)}.text-fuchsia-700{color:rgb(162 28 175)}.text-foreground{color:hsl(235 43% 14%)}.text-foreground\/70{color:rgba(20,23,51,.7)}.text-foreground\/80{color:rgba(20,23,51,.8)}.text-indigo-700{color:rgb(67 56 202)}.text-lime-700{color:rgb(77 124 15)}.text-orange-700{color:rgb(194 65 12)}.text-pink-700{color:rgb(190 24 93)}.text-purple-700{color:rgb(126 34 206)}.text-teal-700{color:rgb(15 118 110)}.text-violet-700{color:rgb(109 40 217)}.text-white{color:rgb(255 255 255)}.opacity-0{opacity:0}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.hover\:scale-\[1\.03\]:hover{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-\[\#F8F9FC\]:hover{background-color:rgb(248 249 252)}.hover\:text-\[\#3d1c87\]:hover{color:rgb(61 28 135)}.hover\:text-foreground:hover{color:hsl(235 43% 14%)}.group:hover .group-hover\:text-\[\#3d1c87\]{color:rgb(61 28 135)}

/* === Media queries scoped al header para no interferir con el main === */
@media (min-width:768px){
  header .md\:block{display:block!important}
  header .md\:hidden{display:none!important}
  header .md\:inline-flex{display:inline-flex!important}
  header .md\:h-9{height:2.25rem!important}
  header .md\:px-8{padding-left:2rem!important;padding-right:2rem!important}
}
@media (min-width:1024px){
  header nav{display:flex!important}
  header .lg\:block{display:block!important}
  header .lg\:flex{display:flex!important}
  header .lg\:hidden{display:none!important}
  #mobile-menu.lg\:hidden{display:none!important}
}

/* === Porter custom styles === */
.nav-dropdown-trigger:hover .nav-dropdown-panel{opacity:1!important;pointer-events:auto!important;transform:translateX(-50%) translateY(0) scale(1)!important}
.nav-dropdown-trigger:hover .chevron-icon{transform:rotate(180deg)}

/* FIX — Selector de idioma con hover + delay de salida (no cierra al mínimo movimiento) */
.lang-trigger .lang-panel{
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition-delay: 0s;
}
.lang-trigger:hover .lang-panel{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
  transition-delay: 0.08s;
}

/* Submenu lateral de Retail — columna flex que se expande */
.retail-submenu-trigger{position:relative;}
.retail-submenu-trigger:hover .retail-submenu{opacity:1!important;pointer-events:auto!important;}
.retail-submenu{transition:opacity 0.15s ease;position:absolute;left:100%;top:0;padding-left:8px;}

/* Expansión inline de columna retail */
.industria-col:hover ~ .retail-expand-col,
.retail-expand-col:hover {
  width: 210px !important;
  opacity: 1 !important;
  overflow: visible !important;
}

header{background-color:transparent!important;overflow:visible!important;border:none!important;border-bottom:none!important;box-shadow:none!important;outline:none!important;transition:all 0.3s ease!important}
header.scrolled{background-color:rgba(255,255,255,0.95)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 3px rgba(0,0,0,0.06)!important}

header img{max-height:36px!important;height:36px!important;width:auto!important;display:block!important}
header button,header button:hover,header button:focus,header button:active,header button:focus-visible{border:none!important;outline:none!important;box-shadow:none!important;background-color:transparent!important;color:inherit!important}
header a,header a:hover,header a:focus,header a:active,header a:visited{color:inherit!important;text-decoration:none!important}
header nav a{color:inherit!important}
header nav a:hover{color:#1A1A2E!important}
.nav-dropdown-panel a,.lang-panel button{color:#1A1A2E!important;outline:none!important;border:none!important}
.nav-dropdown-panel a:hover{color:#3d1c87!important}
.lang-trigger button,.lang-panel button{outline:none!important;border:none!important;box-shadow:none!important}
.lang-panel button:hover{color:#3d1c87!important}
a.porter-btn{text-decoration:none!important;color:white!important}
a.porter-btn:hover,a.porter-btn:visited,a.porter-btn:focus,a.porter-btn:active{text-decoration:none!important;color:white!important}
.lang-switcher-btn.lang-active,.mobile-lang-btn.lang-active{color:#3d1c87!important;font-weight:700}
.lang-switcher-btn:not(.lang-active),.mobile-lang-btn:not(.lang-active)){color:rgba(107,114,128,0.7)!important;font-weight:400}
.mobile-lang-sep{color:rgba(107,114,128,0.25)}
[data-animate]{opacity:1!important;transform:none!important}
/* === FIX overflow + borde === */
.elementor-widget-html,.elementor-widget-container,.elementor-section,.elementor-container{overflow:visible!important}
/* === FIX bordes y colores rojos de WordPress/Elementor en mobile menu === */
#mobile-menu a,
#mobile-menu a:hover,
#mobile-menu a:focus,
#mobile-menu a:active,
#mobile-menu a:visited,
#mobile-menu button,
#mobile-menu button:hover,
#mobile-menu button:focus,
#mobile-menu button:active {
  color: inherit !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  background-color: transparent !important;
  -webkit-tap-highlight-color: transparent !important;
}
#mobile-menu .border-b {
  border-bottom: 1px solid rgba(229,231,235,0.5) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
#mobile-menu .border-border {
  border-color: hsl(220 13% 91%) !important;
}
#mobile-menu a:hover,
#mobile-menu button:hover {
  background-color: rgb(248,249,252) !important;
}
#mobile-menu .mobile-lang-btn:hover {
  color: #3d1c87 !important;
  background-color: transparent !important;
}
#mobile-menu .lang-active {
  color: #3d1c87 !important;
  font-weight: 700 !important;
}
#mobile-menu .porter-btn,
#mobile-menu .porter-btn:hover,
#mobile-menu .porter-btn:focus,
#mobile-menu .porter-btn:active,
#mobile-menu .porter-btn:visited {
  background-color: rgb(61,28,135) !important;
  color: white !important;
  border: none !important;
}

/* FIX: Padding en mobile menu */
#mobile-menu .px-5 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
#mobile-menu .py-4 {
  padding-bottom: 1.5rem !important;
  padding-top: 1.5rem !important;
}


    /* Dropdown hover behavior */
    .nav-dropdown-trigger:hover .nav-dropdown-panel {
      opacity: 1 !important;
      pointer-events: auto !important;
      transform: translateX(-50%) translateY(0) scale(1) !important;
    }
    .nav-dropdown-trigger:hover .chevron-icon {
      transform: rotate(180deg);
    }
    /* Language dropdown */
    .lang-trigger:hover .lang-panel {
      opacity: 1 !important;
      pointer-events: auto !important;
      transform: translateY(0) !important;
    }
    /* Scrolled header */
    header.scrolled {
      background-color: rgba(255,255,255,0.95) !important;
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    }
    /* Porter custom classes */
    .porter-gradient {
      background: linear-gradient(135deg, rgb(66, 29, 134), rgb(100, 61, 174));
    }
    .porter-shadow-card {
      box-shadow: rgba(61, 28, 135, 0.08) 0px 4px 20px;
    }
    .hover\:porter-shadow-hover:hover {
      box-shadow: rgba(61, 28, 135, 0.15) 0px 8px 30px;
    }
    /* Marquee animation */
    @keyframes marquee-scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .marquee-track {
      animation: marquee-scroll 35s linear infinite;
    }
    .marquee-track:hover {
      animation-play-state: paused;
    }

    /* ===== Scroll-triggered animations ===== */
    [data-animate] {
      opacity: 0;
      will-change: opacity, transform;
      transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
                  transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
    }
    [data-animate="fade-up"] {
      transform: translateY(32px);
    }
    [data-animate="fade-left"] {
      transform: translateX(-40px);
    }
    [data-animate="fade-right"] {
      transform: translateX(40px);
    }
    [data-animate="scale-in"] {
      transform: scale(0.95);
    }
    [data-animate="fade-up"].is-visible,
    [data-animate="fade-left"].is-visible,
    [data-animate="fade-right"].is-visible,
    [data-animate="scale-in"].is-visible {
      opacity: 1;
      transform: translateY(0) translateX(0) scale(1);
    }

    /* Counter animation */
    .counter-animate {
      opacity: 0;
      transform: translateY(12px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .counter-animate.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Elementor fallback: show all animated elements since JS is stripped */
    [data-animate] {
      opacity: 1 !important;
      transform: none !important;
    }

    /* ===== ELEMENTOR WORDPRESS OVERRIDES ===== */

    /* Font families for Porter */
    h1, h2, h3, h4, h5, h6 {
      font-family: 'Figtree', sans-serif !important;
    }
    h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
      font-family: 'Figtree', sans-serif !important;
    }
    p, body, span, div {
      font-family: 'Nunito Sans', sans-serif !important;
    }
    h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
      font-family: 'Figtree', sans-serif !important;
    }

    /* Fix 1: Marquee - overflow contención + tamaño uniforme de logos */
    .porter-marquee-section {
      overflow: hidden !important;
      max-width: 100% !important;
      padding-top: 32px !important;
      padding-bottom: 32px !important;
    }
    .porter-marquee-inner {
      overflow: hidden !important;
      width: 100% !important;
      max-width: 100% !important;
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      height: 56px !important;
    }
    .marquee-track {
      display: flex !important;
      align-items: center !important;
      gap: 64px !important;
      height: 56px !important;
    }
    span.marquee-logo-wrap,
    .marquee-track span.marquee-logo-wrap {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      height: 44px !important;
      min-height: 44px !important;
      max-height: 44px !important;
      width: 140px !important;
      flex-shrink: 0 !important;
      overflow: hidden !important;
    }
    span.marquee-logo-wrap img,
    .marquee-track span.marquee-logo-wrap img,
    .marquee-logo-wrap img {
      height: 44px !important;
      min-height: unset !important;
      max-height: 44px !important;
      width: auto !important;
      max-width: 140px !important;
      min-width: unset !important;
      object-fit: contain !important;
      display: block !important;
      flex-shrink: 0 !important;
    }

    /* Fix 2: Botones - override estilos de links de WordPress/tema */
    a.porter-btn {
      text-decoration: none !important;
      color: white !important;
      box-shadow: none;
    }
    a.porter-btn:hover,
    a.porter-btn:visited,
    a.porter-btn:focus,
    a.porter-btn:active {
      text-decoration: none !important;
      color: white !important;
    }
    a.porter-btn-outline {
      text-decoration: none !important;
    }
    a.porter-btn-outline:hover,
    a.porter-btn-outline:visited,
    a.porter-btn-outline:focus {
      text-decoration: none !important;
    }

    /* Fix 3: Cards soluciones - imágenes y degradados correctos */
    .porter-industry-card {
      position: relative !important;
      height: 320px !important;
      overflow: hidden !important;
      border-radius: 16px !important;
      display: block !important;
    }
    .porter-industry-card img {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center !important;
      transition: transform 0.5s ease !important;
    }
    .porter-industry-card:hover img {
      transform: scale(1.05) !important;
    }
    .porter-industry-card .porter-card-overlay {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      background: linear-gradient(to top, rgba(61, 28, 135, 0.85) 0%, transparent 60%) !important;
      z-index: 1 !important;
    }
    .porter-industry-card .porter-card-label {
      position: absolute !important;
      bottom: 0 !important;
      left: 0 !important;
      right: 0 !important;
      padding: 24px !important;
      z-index: 2 !important;
    }
  