:root{
  --green:#CDCD31;
  --green-dark:#3C6035;
  --hero-bg:#F6F8F7;
  --pill-bg:#FFFFFF;
  --ink:#203040;
  --muted:#6E7A86;
  --shadow-lg:0 18px 40px rgba(37,46,67,.12);
  --shadow-md:0 8px 20px rgba(37,46,67,.10);
  --radius-lg:18px;
  --radius-pill:999px;
}

html,body{
  font-family:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{max-width:100%;height:auto;}
.tagline-img{max-width:260px;}
.hero-machine{filter:drop-shadow(0 24px 44px rgba(16,24,40,.22));transform:translateZ(0);max-width:820px;}

.btnPrincipal{
  display:inline-block;font-weight:800;text-decoration:none;
  padding:.85rem 1.25rem;border-radius:var(--radius-pill);
  border:2px solid transparent;transition:all .2s ease;
}
.btnSecundario{background:var(--green);color:#fff;box-shadow:var(--shadow-md);}
.btnSecundario:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);filter:saturate(1.05);}
.btnPrincipal:not(.btnSecundario){background:transparent;color:var(--ink);border-color:rgba(32,48,64,.2);}
.btnPrincipal:not(.btnSecundario):hover{background:#fff;box-shadow:var(--shadow-md);}

/* Fondo para TODAS las .ppal */
.ppal{
  position: relative;
  overflow: hidden;
  padding: 52px 0 36px;

  /* color + imagen (ruta correcta desde /css/) */
  background-color: var(--hero-bg);
  background-image: url("../img/fondo-italzip1.png"); /* si tiene espacio */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Tus efectos siguen igual */
.ppal::before,
.ppal::after{
  content:"";
  position:absolute;
  inset:-20% -10% auto auto;
  height:70%;
  background:
    radial-gradient(100px 100px at 20% 20%, rgba(0,0,0,.04) 0, rgba(0,0,0,0) 60%),
    radial-gradient(120px 120px at 80% 60%, rgba(0,0,0,.035) 0, rgba(0,0,0,0) 65%);
  opacity:.6;
  pointer-events:none;
  filter:blur(.5px);
}
.ppal::after{
  inset:auto -10% -25% auto;
  height:65%;
  transform:rotate(180deg);
  opacity:.4;
}


.hero-box{position:relative;}
.content-col h1{
  font-weight:800;line-height:1.03;letter-spacing:-0.6px;
  font-size:clamp(2rem, 3.8vw + .6rem, 3.15rem);
  text-transform:uppercase;margin-bottom:.75rem;color:var(--green-dark);
}
.content-col p{color:var(--muted);font-weight:600;}

.date-badge{
  display:inline-block;background:#EEF6E9;color:var(--green-dark);
  font-weight:800;border-radius:var(--radius-pill);
  padding:.45rem .95rem;font-size:.95rem;box-shadow:0 1px 0 rgba(0,0,0,.03);
}

.hero-cta-wrap{margin-top:1.5rem;}
.hero-cta-pill{
  display:flex;align-items:center;justify-content:space-between;gap:.9rem;
  background:var(--pill-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  padding:.9rem;
}
.hero-cta-left{display:flex;align-items:center;gap:.75rem;min-width:0;}
.hero-cta-icon{width:38px;height:38px;border-radius:var(--radius-pill);background:#EAF5E7;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;}
.hero-cta-text{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.btnHero{padding:.8rem 1.15rem;font-weight:800;white-space:nowrap;background:var(--green);color:#243128;border:none;border-radius:999px;box-shadow:0 16px 34px rgba(37,46,67,.14); text-decoration:none;}

.t-carousel{background:#fff;padding:56px 0;}
.t-title{color:var(--green-dark);font-weight:800;letter-spacing:.4px;}
.t-nav{display:flex;gap:14px;}
.t-prev,.t-next{width:44px;height:44px;border:none;border-radius:10px;cursor:pointer;box-shadow:0 8px 20px rgba(37,46,67,.12);background:transparent;position:relative;}
.t-prev{background:#EFECC6;}
.t-next{background:#CDCD31;}
.t-prev::before,.t-next::before{content:"";position:absolute;inset:0;margin:auto;width:12px;height:12px;border-right:3px solid #405144;border-bottom:3px solid #405144;transform:rotate(-135deg);}
.t-next::before{transform:rotate(45deg);}
.t-card{background:#F1F3EF;border-radius:16px;padding:22px;box-shadow:0 10px 26px rgba(0,0,0,.10);display:flex;flex-direction:column;justify-content:space-between;min-height:200px;}
.t-quote{font-size:1.05rem;color:#2E3438;font-weight:700;line-height:1.4;margin-bottom:18px;}
.t-meta{display:flex;align-items:center;gap:12px;}
.t-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:0 0 54px;background:#CFCFCF;}
.t-company{font-weight:800;letter-spacing:.2px;color:#2F3B2F;text-transform:uppercase;line-height:1.1;}
.t-country{font-weight:700;color:#7A8678;text-transform:uppercase;font-size:.8rem;margin-top:2px;}
@media (max-width: 991.98px){.t-underline{width:220px;}}
@media (max-width: 575.98px){.t-nav{gap:10px;}.t-prev,.t-next{width:40px;height:40px;border-radius:9px;}.t-card{min-height:220px;}}

:root{
  --lan-green:#3C6035;
  --lan-green-2:#C8D26A;
  --lan-green-3:#7F9A66;
}

.lanzamiento{position:relative;background:#fff;padding:64px 0 110px;overflow:hidden;}
.lanzamiento::after,
.lanzamiento::before{
  content:"";position:absolute;left:50%;bottom:-48px;transform:translateX(-50%);width:140%;height:160px;pointer-events:none;border-bottom-left-radius:9999px;border-bottom-right-radius:9999px;filter:blur(.1px);
}
.lanzamiento::before{background:radial-gradient(120% 160px at 50% -40px, var(--lan-green-2) 0 52%, transparent 55%);opacity:.95;}
.lanzamiento::after{background:radial-gradient(120% 160px at 50% 0px, var(--lan-green-3) 0 52%, transparent 55%);transform:translateX(-50%) translateY(22px);opacity:.85;}
.lanz-title{font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--lan-green);font-size:clamp(1.4rem, 1.6vw + 1rem, 2rem);margin-bottom:26px;}
.lan-card{position:relative;background:#fff;border-radius:14px;box-shadow:0 16px 36px rgba(37,46,67,.12);padding:28px 22px 24px 22px;min-height:140px;}
.lan-icon{position:absolute;left:18px;top:-14px;display:block;width:75px;height:75px;background:transparent;border-radius:0;box-shadow:none;}
.lan-icon img{display:block;width:52px;height:auto;}
.lan-text{margin:12px 0 0 0;text-transform:uppercase;font-weight:800;letter-spacing:.15px;color:#2C3136;}
@media (max-width: 991.98px){.lanzamiento{padding:56px 0 110px;}}
@media (max-width: 575.98px){.lan-card{padding:26px 18px 22px;}.lan-icon{left:14px;top:-12px;}.lan-icon img{width:48px;}}

:root{
  --title-green:#3C6035;
  --title-ink:#495047;
  --lime:#CDCD31;
  --lime-text:#243128;
  --dark-green:#3C6035;
  --play-bg:#8BC34A;
}


:root{
  --exp-bg:#F6F8F7;
  --exp-ink:#3C6035;
  --exp-muted:#6E7A86;
  --exp-chip:#EDEFE9;
}

.experiencia{position:relative;padding:70px 0 80px;background:var(--exp-bg);overflow:hidden;}
.experiencia::before,
.experiencia::after{
  content:"";position:absolute;inset:-15% -10% auto auto;height:80%;
  background:radial-gradient(120px 120px at 10% 20%, rgba(0,0,0,.035) 0, rgba(0,0,0,0) 65%),
             radial-gradient(150px 150px at 90% 60%, rgba(0,0,0,.035) 0, rgba(0,0,0,0) 65%);
  opacity:.6;pointer-events:none;filter:blur(.6px);
}
.experiencia::after{inset:auto -10% -25% auto;height:70%;transform:rotate(180deg);opacity:.4;}
.exp-head{margin-bottom:28px;}
.exp-title{color:var(--exp-ink);font-weight:800;text-transform:uppercase;letter-spacing:.4px;line-height:1.15;font-size:clamp(1.6rem, 2.8vw + .6rem, 2.4rem);}
.exp-sub{margin-top:10px;color:var(--exp-muted);font-weight:600;font-size:clamp(.95rem, .6vw + .8rem, 1.05rem);}

:root{
  --exp-card-max:320px;
  --exp-card-min:260px;
  --exp-ink-2:#2F3B2F;
}

.experiencia .col-12.col-md-4{display:flex;justify-content:center;}
.exp-card{
  width:clamp(var(--exp-card-min), 28vw, var(--exp-card-max));
  margin:0 auto;padding:10px 10px 12px;border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(37,46,67,.12);
  display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease;
}
.exp-card:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(37,46,67,.14);}
.exp-media{margin:0;aspect-ratio:1/1;border-radius:12px;overflow:hidden;position:relative;background:#f3f5f1;}
.exp-img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;border-radius:12px;background-image:linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,0) 45%);background-blend-mode:multiply;}
.exp-label{margin:0;padding:12px 10px;border-radius:10px;background:var(--exp-chip);color:var(--exp-ink-2);font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.6px;box-shadow:0 10px 26px rgba(37,46,67,.12);}
@media (max-width: 1199.98px){.exp-card{width:clamp(240px, 30vw, 300px);}}
@media (max-width: 767.98px){.exp-card{width:clamp(240px, 80vw, 320px);}}

:root{
  --cream:#F4F4DD;
  --foot-bg:#F3F3F3;
  --foot-ink:#3A3F46;
}

.ubica-contacto{padding:64px 0 80px;background:#fff;}
.ubica-head{margin-bottom:18px;}
.ubica-title{font-weight:800;font-size:clamp(1.6rem,2.2vw,2.1rem);letter-spacing:.5px;color:#3C6035;line-height:1;}
.ubica-sub{margin-top:4px;font-weight:600;font-size:clamp(1.2rem,1.9vw,1.6rem);color:#6C7A6E;letter-spacing:.3px;}
.mapa-wrap{margin:18px 0 6px;}
.mapa-img{display:block;height:auto;border-radius:8px;box-shadow:0 18px 40px rgba(37,46,67,.12);}
.mapa-cap{margin-top:8px;font-size:.8rem;font-weight:800;letter-spacing:.6px;color:#6E7A86;}
.card-form{background:var(--cream);border-radius:18px;padding:28px 26px;box-shadow:0 18px 40px rgba(37,46,67,.12);}
.card-form-title{color:#3C6035;font-weight:800;text-transform:uppercase;line-height:1.15;margin:4px 0 18px;}
.form-italzip .form-group{margin-bottom:18px;}
.form-line{width:100%;background:transparent;border:none;outline:none;border-bottom:1px solid #9EB08E;padding:12px 2px 10px;color:#2F3B2F;font-weight:600;border-radius:0;}
.form-line::placeholder{color:#6F7F6F;}
.form-line:focus{border-bottom-color:#6E9260;}
.btn-enviar{margin-top:10px;width:160px;border-radius:999px;display:inline-block;text-align:center;font-weight:800;}

.foot-full{background:var(--foot-bg);padding:42px 0 56px;color:var(--foot-ink);}
.foot-brand{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:700;letter-spacing:.6px;color:#6B6F73;margin-bottom:16px;text-transform:uppercase;}
.social-list{list-style:none;display:flex;gap:16px;padding:0;margin:0 0 8px;}
.social-circle img{width:22px;height:22px;display:block;}
.foot-col-title{font-weight:800;font-size:1.15rem;color:#2E3A2F;margin-bottom:.5rem;}
.foot-text{color:#5E666F;margin:0;}
@media (max-width: 991.98px){.ubica-contacto{padding:48px 0 64px;}.card-form{margin-top:18px;}}
@media (max-width: 575.98px){.social-list{gap:12px;}.social-circle{width:38px;height:38px;}.social-circle img{width:20px;height:20px;}}

@media (max-width: 991.98px){
  .ppal{padding:42px 0 28px;}
  .hero-cta-text{white-space:normal;}
  .hero-machine{max-width:640px;}
  .contacto .box_contacto{grid-template-columns:1fr;}
  .box_img_form{min-height:220px;}
}
@media (max-width: 575.98px){
  .header_flex{padding:14px 0;}
  .logo img{max-height:36px;}
  .date-badge{font-size:.9rem;}
  .hero-cta-pill{flex-direction:column;align-items:stretch;padding:.8rem;}
  .btnHero{width:100%;text-align:center;}
  .hero-machine{max-width:520px;}
}

.soluciones .sol-ctas .btnDark,
.soluciones .sol-ctas .btnDark:hover,
.soluciones .sol-ctas .btnDark:focus,
.soluciones .sol-ctas .btnDark:active{background:var(--dark-green);color:#fff;border:none;}
.soluciones .sol-ctas .btnDark:hover{transform:translateY(-1px);box-shadow:0 22px 48px rgba(37,46,67,.18);filter:saturate(1.03);}
.soluciones .sol-ctas .btnPrincipal:hover{background:inherit;color:inherit;}
.soluciones .sol-ctas .btnLime,
.soluciones .sol-ctas .btnLime:hover,
.soluciones .sol-ctas .btnLime:focus,
.soluciones .sol-ctas .btnLime:active{background:var(--lime);color:var(--lime-text);border:none;}

:root{
  --wp-bg:#F6F8F7;
  --wp-ink:#3C6035;
  --wp-muted:#6E7A86;
  --wp-btn:#3C6035;
}

/* WHITEPAPERS con el mismo fondo del hero */
.whitepapers{
  position: relative;
  padding: 66px 0 72px;
  overflow: hidden;
  background-color: var(--hero-bg, #fff);
  background-image: url("../img/fondo-italzip1.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Luces/velos encima del fondo */
.whitepapers::before,
.whitepapers::after{
  content: "";
  position: absolute;
  inset: -20% -10% auto auto;
  height: 75%;
  background:
    radial-gradient(120px 120px at 12% 18%, rgba(0,0,0,.035) 0, rgba(0,0,0,0) 65%),
    radial-gradient(140px 140px at 88% 60%, rgba(0,0,0,.028) 0, rgba(0,0,0,0) 70%);
  opacity: .55;
  pointer-events: none;
  filter: blur(.5px);
  z-index: 0; /* bajo el contenido */
}
.whitepapers::after{
  inset: auto -10% -25% auto;
  height: 70%;
  transform: rotate(180deg);
  opacity: .42;
}

/* Asegura contenido por encima de ::before/::after */
.whitepapers > *{ position: relative; z-index: 1; }

.wp-head{ margin-bottom: 24px; }
.wp-title{
  color: var(--wp-ink);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .4px;
  line-height: 1.1;
  font-size: clamp(1.5rem, 1.7vw + 1rem, 2.1rem);
  margin: 0 0 8px;
}
.wp-sub{
  color: var(--wp-muted);
  font-weight: 500;
  margin: 0;
  font-size: clamp(.95rem, .5vw + .85rem, 1.05rem);
}

.wp-card{
  background: transparent;
  display: flex;
  flex-direction: column;
  height: 100%;
  align-items: center;
  text-align: center;
}

.wp-cover{
  width: 100%;
  display: block;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(37,46,67,.12);
  overflow: hidden;
  background: #fff;
}
.wp-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 3/4;
  border-radius: 16px;
}

.wp-actions{ margin-top: 14px; }

.btnWP{
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  background: var(--wp-btn);
  color: #fff;
  font-weight: 800;
  letter-spacing: .6px;
  padding: .9rem 1.25rem;
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(37,46,67,.14);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btnWP:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 48px rgba(37,46,67,.18);
  filter: saturate(1.03);
}
.btnWP:active{ transform: none; }

@media (max-width: 991.98px){
  .whitepapers{ padding: 56px 0 64px; }
}

/* Ajustes de tamaño centrados */
.whitepapers .wp-card{ align-items: center; }
.whitepapers .wp-cover{
  width: clamp(220px, 85%, 300px);
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(37,46,67,.12);
  background: #fff;
}
.whitepapers .wp-cover img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: 16px;
}

@media (max-width: 575.98px){
  .whitepapers .wp-cover{ width: 100%; max-width: 360px; }
}


@media (min-width: 992px){
  .content-col{text-align:left !important;align-items:flex-start !important;}
}
.content-col .date-badge{
  display:inline-flex !important;align-items:center;margin:4px 0 14px 0 !important;
  background:#E8F3DD !important;color:var(--green-dark) !important;font-weight:800;border-radius:999px;padding:.55rem 1.05rem;box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.content-col h1{
  color:var(--green-dark) !important;font-weight:800 !important;text-transform:uppercase;line-height:1.05;letter-spacing:.2px;font-size:clamp(2rem, 3.4vw + .6rem, 3rem);margin:0 0 10px 0;
}
.content-col p{color:#6E7A86 !important;font-weight:600;margin-bottom:22px;}
.ppal .col-lg-6:last-child{display:flex;justify-content:center;}
.ppal .col-lg-6:last-child img{max-width:820px;filter:drop-shadow(0 28px 58px rgba(16,24,40,.22));border-radius:18px;}
.hero-cta-wrap{width:100%;margin-top:26px;position:relative;}
.hero-cta-pill{position:relative;left:50%;transform:translateX(-50%);width:min(1040px, calc(100vw - 2rem));background:#fff;border-radius:18px;box-shadow:0 18px 40px rgba(37,46,67,.12);padding:.9rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.9rem;}
.hero-cta-left{display:flex;align-items:center;gap:.75rem;min-width:0;}
.hero-cta-icon{width:38px;height:38px;border-radius:999px;background:#EAF5E7;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;}
.hero-cta-text{font-weight:800;color:#2F3B2F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.btnHero:hover{transform:translateY(-1px);box-shadow:0 22px 48px rgba(37,46,67,.18);}
@media (max-width: 991.98px){
  .ppal{padding:52px 0 84px;}
  .content-col{text-align:center !important;align-items:center !important;}
  .hero-cta-pill{flex-direction:column;align-items:stretch;width:min(680px, calc(100vw - 2rem));}
  .btnHero{width:100%;text-align:center;}
}
@media (max-width: 575.98px){
  .ppal{padding:42px 0 78px;}
  .hero-cta-pill{padding:.85rem;width:calc(100vw - 1.6rem);}
}

.hero-andina .hero-logo{width:clamp(140px, 12vw, 180px);height:auto;max-width:none;margin-bottom:6px;}
@media (max-width: 991.98px){.hero-andina .hero-logo{width:160px;}}
@media (max-width: 575.98px){.hero-andina .hero-logo{width:140px;}}

/*video */
.sol-video-el{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  border-radius:22px;
  object-fit:cover;    /* usa 'contain' si prefieres ver el video completo sin recorte */
}

.sol-video .sol-play{ display:none; }

/* Centrar el video a la altura del texto (desktop) */
@media (min-width: 992px){
  /* Si tu fila tiene align-items-start en el HTML, lo forzamos a center */
  .soluciones .row.align-items-start{ align-items: center !important; }
  .soluciones .row{ align-items: center; }

  /* Asegura que el contenido de ambas columnas se centre verticalmente */
  .soluciones .col-lg-6{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .soluciones .sol-video{
    margin-top: 0;
    margin-bottom: 0;
  }
}

.lanzamiento{
  padding: 88px 0 160px; /* top / bottom */
}

/* Más espacio entre título y cards */
.lanz-title{
  margin-bottom: 60px;
}

/* Ajustes por breakpoint para que siga respirando en todas las pantallas */
@media (max-width: 991.98px){
  .lanzamiento{ padding: 72px 0 140px; }
  .lanz-title{ margin-bottom: 32px; }
}
@media (max-width: 575.98px){
  .lanzamiento{ padding: 60px 0 120px; }
  .lanz-title{ margin-bottom: 26px; }
}

/* === Subtítulo debajo del título de lanzamiento === */
.lanz-subtitle{
  font-weight: 600;
  text-transform: none;
  letter-spacing: .2px;
  color: #2C3136;                  /* contraste con el título verde */
  line-height: 1.2;
  margin: 0 auto 40px;             /* separa del grid */
  font-size: clamp(1.05rem, 0.9vw + 0.9rem, 1.5rem);
}

/* Ajuste de jerarquía y espacios entre h2 y h3 */
.lanz-title{
  margin-bottom: 8px !important;   /* antes tenías 26/60px: reducimos */
}

/* Resp ON: afinar espacios */
@media (max-width: 991.98px){
  .lanz-subtitle{ margin-bottom: 28px; }
}
@media (max-width: 575.98px){
  .lanz-subtitle{
    font-size: clamp(1rem, 1vw + .9rem, 1.25rem);
    margin-bottom: 22px;
  }
}


/* Fix orientación de flechas del carrusel */
.t-prev::before,
.t-next::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:12px;
  height:12px;
  border-right:3px solid #405144;
  border-bottom:3px solid #405144;
}

/* Izquierda  ‹  */
.t-prev::before{ transform: rotate(135deg); }

/* Derecha  ›  */
.t-next::before{ transform: rotate(-45deg); }

/* SVG exacto + aire */
.t-underline{
  height: 28px;
  width: clamp(280px, 48vw, 520px);
  margin: 10px 0 38px;              /* aire entre título y cards */
  background-image: url("../img/t-underline.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 100%;       /* ajusta por alto (mantiene proporción) */
}

/* más compacto en móvil */
@media (min-width: 992px){
  .t-underline{ height: 32px; margin-bottom: 44px; }
}
@media (max-width: 575.98px){
  .t-underline{ height: 22px; margin-bottom: 30px; width: clamp(220px, 70vw, 360px); }
}

/* =========================================
   Mejora legibilidad de la pill del HERO
   ========================================= */
.hero-cta-pill{
  padding: 1.05rem 1.2rem;
}
.hero-cta-icon{
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
}
.hero-cta-text{
  font-weight: 800;
  font-size: 1.05rem;          /* +tamaño para dirección */
  line-height: 1.35;
  color: #2F3B2F;
  white-space: normal;         /* permitir saltos si es largo */
}

/* En pantallas grandes, un poco más de aire y tamaño */
@media (min-width: 992px){
  .hero-cta-pill{
    padding: 1.15rem 1.35rem;
  }
  .hero-cta-text{
    font-size: 1.1rem;
  }
}

/* =========================================
   Formulario rápido debajo del hero
   ========================================= */
.contacto-top{
  background: #ffffff;
  padding: 28px 0 8px;         /* pegado al hero pero con respiro */
}
.card-form-top{
  border-radius: 18px;
  padding: 28px 24px;
  background: var(--cream);
  box-shadow: var(--shadow-lg);
  margin-top: 18px;
}

/* hacer el card más “hero-like” en desktop */
@media (min-width: 992px){
  .contacto-top{
    padding: 34px 0 20px;
  }
  .card-form-top{
    padding: 32px 28px;
  }
}

/* accesibilidad: foco visible en inputs */
.form-line:focus{
  border-bottom-color: #6E9260;
  box-shadow: 0 2px 0 0 rgba(110,146,96,.25);
}

.card-form-top .btn-enviar{
  width: 180px;
}

/* Controles del carrusel: verdes con sombra y siempre visibles sobre el video */
#solVideoCarousel .carousel-control-prev,
#solVideoCarousel .carousel-control-next {
  width: 3rem;
  height: 3rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: #cccc31;         /* verde */
  border: wpx solid #fff;
  border-radius: 9999px;              /* circular */
  opacity: 1;                         /* que no se desvanezcan */
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  z-index: 5;                         /* por encima del iframe */
}

/* Ajuste del ícono para que se vea bien dentro del círculo */
#solVideoCarousel .carousel-control-prev-icon,
#solVideoCarousel .carousel-control-next-icon {
  filter: none;            /* evita filtros que cambien el color */
  background-size: 60%;    /* ícono un poco más grande */
}

/* Estados hover/focus/active un poco más oscuros */
#solVideoCarousel .carousel-control-prev:hover,
#solVideoCarousel .carousel-control-next:hover,
#solVideoCarousel .carousel-control-prev:focus,
#solVideoCarousel .carousel-control-next:focus {
  background-color: #15803d;  /* verde más oscuro */
  box-shadow: 0 10px 28px rgba(0,0,0,.4);
}

/* Opcional: acercar un poco los controles al borde */
#solVideoCarousel .carousel-control-prev { left: .5rem; }
#solVideoCarousel .carousel-control-next { right: .5rem; }

/* (Opcional) Si quieres que los indicadores también resalten en verde */
#solVideoCarousel .carousel-indicators [data-bs-target] {
  background-color: rgba(22,163,74,.5);
}
#solVideoCarousel .carousel-indicators .active {
  background-color: #16a34a;
}

/* Solo los enlaces de las direcciones */
.foot-full .foot-text a { color: #000; text-decoration: none; }
.foot-full .foot-text a:visited { color: #000; }
.foot-full .foot-text a:hover,
.foot-full .foot-text a:focus { color: #000; text-decoration: underline; }

/* Sección contacto: fondo suave y ligera superposición con el hero */
.contacto-top{
  position: relative;
  padding: clamp(24px, 4vw, 56px) 0 clamp(40px, 6vw, 80px);
  background:
    radial-gradient(220px 120px at 10% -20%, rgba(0,0,0,.035) 0, rgba(0,0,0,0) 70%),
    radial-gradient(260px 160px at 95% 10%, rgba(0,0,0,.03) 0, rgba(0,0,0,0) 70%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,0));
  transform: translateY(-10px); /* la acerca visualmente al hero */
}

/* Tarjeta del formulario */
.card-form-top{
  background: #F4F7E8; /* tono suave (puedes ajustar) */
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 22px;
  padding: clamp(20px, 4vw, 40px);
  box-shadow:
    0 24px 48px rgba(0,0,0,.10),
    0 6px 18px rgba(0,0,0,.06);
}

/* Título y subtítulo */
.card-form-title{
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 .35rem;
  text-transform: uppercase;
}
.card-form-sub{
  margin: 0 0 1.25rem;
  font-size: .95rem;
  color: rgba(0,0,0,.65);
}

/* Grilla 2 columnas para nombre/apellido en ≥768px */
.form-grid-2{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 768px){
  .form-grid-2{
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

/* Inputs bonitos */
.form-italzip .form-line{
  width: 100%;
  display: block;
  font-size: 16px;
  line-height: 1.2;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.form-italzip textarea.form-line{
  min-height: 110px;
  resize: vertical;
}

/* Focus ring acorde a la paleta lime */
.form-italzip .form-line:focus{
  outline: none;
  border-color: #B7D11A;           /* lime */
  box-shadow: 0 0 0 4px rgba(183,209,26,.25);
}

/* Placeholder más suave */
.form-italzip .form-line::placeholder{ color: rgba(0,0,0,.45); }

/* Separación de grupos */
.form-italzip .form-group{ margin-bottom: 14px; }
@media (min-width: 768px){
  .form-italzip .form-group{ margin-bottom: 16px; }
}

/* Botón más pill y con sombra */
.card-form .btn-enviar{
  margin-top: 6px;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
  transition: transform .08s ease, box-shadow .2s ease;
}
.card-form .btn-enviar:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(0,0,0,.16);
}
.card-form .btn-enviar:active{ transform: translateY(0); }

/* Respeto accesibilidad: si reduce motion, sin animaciones */
@media (prefers-reduced-motion: reduce){
  .contacto-top{ transform: none; }
  .card-form .btn-enviar{ transition: none; }
}

/* Más aire entre el icono y el texto (desktop/tablet) */
.lan-card{
  padding-top: 56px; /* antes: 28px */
}

/* En mobile también un poco más */
@media (max-width: 575.98px){
  .lan-card{
    padding-top: 52px; /* antes: 26px */
  }
  .lan-text{
    margin-top: 4px;   /* opcional: afina el respiro bajo el padding */
  }
}

/* ========= SOLUCIONES (mobile-first) ========= */
.soluciones{
  padding: clamp(48px, 6vw, 80px) 0;
  background: #fff;
}

/* Título y bloques de texto */
.sol-title{
  margin: 0 0 18px;
  text-transform: uppercase;
  line-height: 1.05;
  letter-spacing: .2px;
  font-size: clamp(1.6rem, 1.2vw + 1.2rem, 2.25rem);
  color: var(--title-ink);
  font-weight: 400;
}
.sol-title span{ color: var(--title-green); font-weight: 800; }

.sol-block{ margin-bottom: 22px; }
.sol-h3{
  color: var(--title-green);
  font-weight: 800;
  margin: 0 0 6px;
  font-size: clamp(1.05rem, .6vw + .9rem, 1.25rem);
}
.sol-p{ color: #5F6B64; font-weight: 600; margin: 0; }

/* CTAs */
.sol-ctas{
  display: flex;
  flex-wrap: wrap;
  gap: 14px 16px;
  margin-top: clamp(14px, 2vw, 24px);
  justify-content: center; /* centro en mobile */
}
@media (min-width: 768px){
  .sol-ctas{ justify-content: flex-start; } /* a la izquierda en ≥md */
}
.sol-ctas .btnPrincipal{
  border: none;
  border-radius: 999px;
  padding: 1rem 1.6rem;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-weight: 800;
  text-decoration: none;
  display: inline-block;
  box-shadow: 0 16px 34px rgba(37,46,67,.14);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.sol-ctas .btnPrincipal:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 48px rgba(37,46,67,.18);
  filter: saturate(1.03);
}
.sol-ctas .btnPrincipal:active{ transform: none; }
.sol-ctas .btnLime{ background: var(--lime); color: var(--lime-text); }
.sol-ctas .btnDark{ background: var(--dark-green); color: #fff; }

/* ======= VIDEO / CARRUSEL ======= */
.sol-video{
  position: relative;
  display: block;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;          /* asegura radios en iOS */
  background: #000;
  box-shadow: 0 18px 40px rgba(37,46,67,.12);
  margin-top: 18px;          /* respirito en mobile */
}
@media (min-width: 992px){
  .sol-video{ margin-top: 0; }  /* sin margen en desktop */
}

/* El wrapper 16:9 de Bootstrap hereda el radio */
.sol-video .ratio{ border-radius: inherit; overflow: hidden; }
.sol-video iframe{ width: 100%; height: 100%; border: 0; display: block; }

/* Indicadores (puntitos) */
.sol-video .carousel-indicators{
  margin: 0;
  bottom: 10px;
}
.sol-video .carousel-indicators [data-bs-target]{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background-color: rgba(255,255,255,.75);
  opacity: .6;
}
.sol-video .carousel-indicators .active{
  opacity: 1;
  background-color: #fff;
}
@media (max-width: 575.98px){
  .sol-video .carousel-indicators{ bottom: 6px; }
}

/* Controles (prev/next) táctiles y visibles */
.sol-video .carousel-control-prev,
.sol-video .carousel-control-next{
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .95;
  background: rgba(0,0,0,.35);
  border-radius: 999px;
}
.sol-video .carousel-control-prev{ left: 10px; }
.sol-video .carousel-control-next{ right: 10px; }

.sol-video .carousel-control-prev-icon,
.sol-video .carousel-control-next-icon{
  filter: invert(1) grayscale(100%); /* iconos blancos */
  width: 18px;
  height: 18px;
}

@media (max-width: 575.98px){
  .sol-video .carousel-control-prev,
  .sol-video .carousel-control-next{
    width: 36px;
    height: 36px;
  }
  .sol-video .carousel-control-prev-icon,
  .sol-video .carousel-control-next-icon{
    width: 16px;
    height: 16px;
  }
}

/* Ajustes de separación generales en breakpoints */
@media (max-width: 991.98px){
  .soluciones{ padding: 56px 0 64px; }
  .sol-block{ margin-bottom: 20px; }
}


.input-email-error { outline: 2px solid #b00020; }
.input-tel-error { outline: 2px solid #b00020; }
.form-hint{display:block;margin-top:6px;font-size:.85rem;color:#666;}
