.elementor-kit-5{--e-global-color-primary:#012241;--e-global-color-secondary:#01642B;--e-global-color-text:#12212F;--e-global-color-accent:#0E8C41;--e-global-color-navydeep:#01192F;--e-global-color-navysoft:#0A3560;--e-global-color-tinta2:#54677A;--e-global-color-linea:#DFE6EE;--e-global-color-crema:#F4F7FA;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:44px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.14em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.45em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:16.5px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.78em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:1.6px;color:#12212F;font-family:"Montserrat", Sans-serif;font-size:16.5px;font-weight:400;line-height:1.78em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#01642B;font-family:"Montserrat", Sans-serif;font-weight:700;color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#01642B;}.elementor-kit-5 a:hover{color:#0E8C41;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ══════════════════════════════════════════════════════════════════
   Ar CARGO by SEI — sistema de diseño · Point Web
   Navy #012241 · Verde #01642B · Montserrat
   ══════════════════════════════════════════════════════════════════ */
:root{
  --ac-navy:#012241; --ac-navy-deep:#01192F; --ac-navy-soft:#0A3560;
  --ac-verde:#01642B; --ac-verde-viv:#0E8C41;
  --ac-tinta:#12212F; --ac-tinta2:#54677A;
  --ac-linea:#DFE6EE; --ac-crema:#F4F7FA;
  --ac-ease:cubic-bezier(.22,.61,.36,1);
  --ac-hdr:auto;
}

/* ── HEADER ─────────────────────────────────────────────────────── */
.elementor-location-header{position:sticky;top:0;z-index:999;
  transition:box-shadow .3s var(--ac-ease);}
.elementor-location-header.ac-scrolled{box-shadow:0 10px 34px rgba(1,34,65,.13);}
.elementor-location-header.ac-scrolled #ac-bar{padding-top:9px!important;padding-bottom:9px!important;}
#ac-bar{transition:padding .28s var(--ac-ease);border-bottom:1px solid var(--ac-linea);}
.elementor-location-header.ac-scrolled #ac-topbar{
  max-height:0;padding-top:0!important;padding-bottom:0!important;overflow:hidden;opacity:0;}
#ac-topbar{max-height:60px;opacity:1;
  transition:max-height .3s var(--ac-ease),opacity .25s var(--ac-ease),padding .3s var(--ac-ease);}

/* barra superior */
.ac-top{display:flex;gap:26px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.ac-top a{display:inline-flex;align-items:center;gap:8px;
  color:rgba(255,255,255,.78);font-size:13px;font-weight:500;
  text-decoration:none;transition:color .22s var(--ac-ease);white-space:nowrap}
.ac-top a:hover{color:#fff}
.ac-top i{color:var(--ac-verde-viv);font-size:13.5px}

/* logo · el emblema es casi cuadrado, así que manda la ALTURA */
#ac-logo img{height:76px!important;width:auto!important;max-width:none!important;
  transition:height .28s var(--ac-ease);display:block}
.elementor-location-header.ac-scrolled #ac-logo img{height:58px!important}
#ac-logo .elementor-widget-container{display:flex;align-items:center}

/* el CTA del header no se parte en dos líneas */
#ac-cta-header .elementor-button{white-space:nowrap;padding:13px 22px!important;font-size:13.5px!important}

/* menú: el subrayado nace del centro */
.elementor-location-header .elementor-nav-menu--main .elementor-item{
  padding:10px 2px!important;font-weight:600}
.elementor-location-header .elementor-item:after{height:2px!important}

/* ── HEADER · MOBILE ────────────────────────────────────────────── */
@media(max-width:1024px){
  #ac-topbar{display:none!important}
  #ac-cta-header{display:none!important}
  #ac-bar > .e-con-inner,#ac-bar{padding-top:11px!important;padding-bottom:11px!important}
  #ac-logo{width:58%!important}
  #ac-nav{width:38%!important;align-items:flex-end!important}
  #ac-logo img{height:54px!important;width:auto!important}
  .elementor-location-header nav.elementor-nav-menu--dropdown{
    background:linear-gradient(165deg,#01192F 0%,#012241 60%,#0A3560 100%)!important;
    padding:18px 20px 30px!important;border:0!important;box-shadow:0 22px 46px rgba(1,25,47,.4)!important}
  .elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-item{
    font-size:18px!important;font-weight:600!important;padding:15px 6px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important}
  .elementor-location-header .elementor-menu-toggle{
    background:rgba(1,34,65,.07)!important;border-radius:9px!important;
    width:44px;height:44px;transition:background .25s var(--ac-ease)}
  .elementor-location-header .elementor-menu-toggle.elementor-active{
    background:var(--ac-navy)!important;color:#fff!important}
}

/* ── TIPOGRAFÍA ─────────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{text-wrap:balance;letter-spacing:-.01em}
h1{letter-spacing:-.028em}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ── BOTONES ────────────────────────────────────────────────────── */
.elementor-button{transition:transform .24s var(--ac-ease),box-shadow .24s var(--ac-ease),
  background-color .24s var(--ac-ease),color .24s var(--ac-ease),border-color .24s var(--ac-ease)!important;
  display:inline-flex!important;align-items:center;justify-content:center;line-height:1.15}
.elementor-button:hover{transform:translateY(-2px)}
.elementor-button-icon{display:inline-flex;align-items:center}

/* ── IMÁGENES ───────────────────────────────────────────────────── */
.elementor-widget-image img{display:block;max-width:100%;height:auto}
.ac-foto img{object-fit:cover;width:100%;
  box-shadow:0 24px 60px rgba(1,34,65,.20)}

/* ── TARJETAS ───────────────────────────────────────────────────── */
.ac-card{transition:transform .3s var(--ac-ease),box-shadow .3s var(--ac-ease),border-color .3s var(--ac-ease)!important}
.ac-card:hover{transform:translateY(-6px);
  box-shadow:0 26px 56px rgba(1,34,65,.15)!important;border-color:rgba(1,100,43,.35)!important}
.ac-card .elementor-icon-box-icon{margin-bottom:4px}

/* tarjeta de servicio con foto */
.ac-serv{overflow:hidden;position:relative}
.ac-serv .elementor-widget-image img{transition:transform .6s var(--ac-ease)}
.ac-serv:hover .elementor-widget-image img{transform:scale(1.06)}

/* ── NUMERADOR DEL PROCESO ──────────────────────────────────────── */
.ac-paso{position:relative}
.ac-paso .ac-num{display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(140deg,var(--ac-verde),var(--ac-verde-viv));
  color:#fff;font-weight:800;font-size:19px;letter-spacing:-.02em;
  box-shadow:0 12px 26px rgba(1,100,43,.32)}

/* ── BANDA DE DATOS ─────────────────────────────────────────────── */
.ac-stat b{display:block;font-size:clamp(30px,3.4vw,42px);font-weight:800;
  line-height:1;letter-spacing:-.03em;color:#fff;margin-bottom:8px}
.ac-stat span{display:block;font-size:14px;line-height:1.5;color:rgba(255,255,255,.72);font-weight:500}

/* ── REVEAL (el JS agrega los atributos: si no corre, nada se oculta) ── */
[data-ac-rv]{opacity:0;transform:translateY(20px);
  transition:opacity .7s var(--ac-ease),transform .7s var(--ac-ease)}
[data-ac-rv].ac-in{opacity:1;transform:none}
[data-ac-d="1"]{transition-delay:.08s}
[data-ac-d="2"]{transition-delay:.16s}
[data-ac-d="3"]{transition-delay:.24s}
[data-ac-d="4"]{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){
  [data-ac-rv]{opacity:1!important;transform:none!important;transition:none!important}
  .elementor-button:hover,.ac-card:hover{transform:none!important}
}

/* ── ACCESIBILIDAD ──────────────────────────────────────────────── */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,
input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--ac-verde-viv);outline-offset:3px;border-radius:4px}

/* ── FORMULARIO ─────────────────────────────────────────────────── */
.elementor-field-group .elementor-field{
  border:1px solid var(--ac-linea)!important;border-radius:9px!important;
  padding:14px 16px!important;font-size:15.5px!important;background:#fff!important;
  transition:border-color .22s var(--ac-ease),box-shadow .22s var(--ac-ease)!important}
.elementor-field-group .elementor-field:focus{
  border-color:var(--ac-verde)!important;box-shadow:0 0 0 4px rgba(1,100,43,.11)!important;outline:none!important}
.elementor-field-group > label{font-weight:600!important;font-size:14px!important;
  color:var(--ac-tinta)!important;margin-bottom:7px!important}

/* ── sin scroll horizontal, nunca ────────────────────────────────── */
html,body{overflow-x:hidden;max-width:100%}

/* ── CHIPS DEL HERO ─────────────────────────────────────────────── */
.ac-hero-chips{display:flex;gap:12px;flex-wrap:wrap}
.ac-hero-chips span{display:inline-flex;align-items:center;gap:9px;
  width:max-content;flex:0 0 auto;
  padding:9px 17px;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.88);font-size:13.5px;font-weight:600;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:background .25s var(--ac-ease),border-color .25s var(--ac-ease)}
.ac-hero-chips span:hover{background:rgba(255,255,255,.12);border-color:rgba(79,208,126,.5)}
.ac-hero-chips i{color:#4FD07E;font-size:14px}

/* hero: la foto se mueve muy lento al scrollear (sin librerías) */
#ac-hero{background-attachment:scroll}
@media(min-width:1025px){#ac-hero{background-attachment:fixed}}

/* ── DIFERENCIALES sobre navy ───────────────────────────────────── */
.ac-dif .elementor-icon-box-title{margin-bottom:7px!important}
.ac-dif .elementor-icon-box-wrapper{align-items:flex-start}
.ac-dif .elementor-icon-box-icon{margin-top:2px}

/* ── FOTOS de las secciones split ───────────────────────────────── */
.ac-foto img{border-radius:18px}

/* ══ RESPONSIVE ══════════════════════════════════════════════════ */
@media(max-width:1024px){
  /* toda columna con ancho en % pasa a media caña o full */
  .elementor .e-con.e-con-full > .e-con,
  .elementor .e-con > .e-con-inner > .e-con{min-width:0}
  .elementor-widget-image img{height:auto!important}
  .ac-card{width:calc(50% - 12px)!important}
  #ac-hero{min-height:78vh!important}
}
@media(max-width:767px){
  .elementor .e-con[style*="width"],
  .ac-card{width:100%!important}
  .elementor .e-con > .e-con-inner > .e-con,
  .elementor .e-con-full > .e-con{width:100%!important}
  .ac-hero-chips{gap:9px}
  .ac-hero-chips span{font-size:12.5px;padding:8px 14px}
  .elementor-button{width:100%;justify-content:center}
  .ac-foto img{height:280px!important}
  .ac-serv .elementor-widget-image img{height:200px!important}
}

/* ── FILAS DE BOTONES: ninguno estira ───────────────────────────── */
.ac-btnrow{gap:14px!important;flex-wrap:wrap}
.ac-btnrow > .elementor-widget-button{flex:0 0 auto!important;width:auto!important;margin:0!important}
@media(max-width:767px){
  .ac-btnrow{flex-direction:column;align-items:stretch}
  .ac-btnrow > .elementor-widget-button{width:100%!important}
}

/* ── GRILLAS: que el gap nunca empuje la última tarjeta de fila ──── */
@media(min-width:1025px){
  .elementor .e-con.ac-grid-4 > .e-con{flex:0 0 calc(25% - 18px)!important;max-width:calc(25% - 18px)!important}
  .elementor .e-con.ac-grid-3 > .e-con{flex:0 0 calc(33.333% - 16px)!important;max-width:calc(33.333% - 16px)!important}
}

/* ── HERO: 88vh sin tope se desproporciona en pantallas altas ────── */
#ac-hero{min-height:min(88vh,760px)!important}
@media(max-width:1024px){#ac-hero{min-height:min(80vh,680px)!important}}
@media(max-width:767px){#ac-hero{min-height:auto!important;padding-top:78px!important;padding-bottom:66px!important}}
/* los banners internos, con el mismo criterio */
.ac-banner{min-height:min(46vh,400px)!important}
@media(max-width:767px){.ac-banner{min-height:min(40vh,300px)!important}}

/* ── FOOTER: la grilla no se parte en escritorio ─────────────────── */
@media(min-width:1025px){
  #ac-footer > .e-con-inner > .e-con:first-child{flex-wrap:nowrap!important}
}
@media(max-width:1024px){
  #ac-footer > .e-con-inner > .e-con:first-child{flex-wrap:wrap!important}
  #ac-footer > .e-con-inner > .e-con:first-child > .e-con{width:calc(50% - 14px)!important}
}
@media(max-width:767px){
  #ac-footer > .e-con-inner > .e-con:first-child > .e-con{width:100%!important}
  #ac-logo-footer img{max-width:180px!important}
}
#ac-logo-footer img{max-width:210px!important;height:auto!important}

/* ── botón flotante de Join.chat en el verde de la marca ─────────── */
.joinchat__button{background-color:var(--ac-verde)!important}
.joinchat__button:hover{background-color:var(--ac-verde-viv)!important}
.joinchat__tooltip{font-family:Montserrat,sans-serif!important;font-weight:600!important}/* End custom CSS */