:root{--ink:#07172f;--muted:#4f5870;--purple:#6344d8;--purple2:#795be4;--lav:#f6f3ff;--border:#dcddea;--navy:#001432;--max:1180px;--shadow:0 16px 38px rgba(25,28,72,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;font-size:15px;line-height:1.55}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.shell{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.header{height:78px;position:absolute;z-index:10;inset:0 0 auto;background:rgba(255,255,255,.82);backdrop-filter:blur(11px);border-bottom:1px solid rgba(24,29,65,.04)}.header__inner{height:100%;display:flex;align-items:center;gap:30px}.brand{position:relative;display:inline-flex;align-items:flex-start;min-width:155px;padding-bottom:13px}.brand__word{font-size:25px;line-height:1;font-weight:700;letter-spacing:-1.2px}.brand__word span{color:var(--purple)}.brand__screen{width:34px;height:29px;margin:-3px 0 0 5px;fill:none;stroke:var(--purple);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.brand small{position:absolute;left:0;bottom:1px;text-transform:lowercase;font-size:7.5px;font-weight:600;color:#495267;letter-spacing:.1px}.nav{display:flex;align-items:center;justify-content:center;gap:29px;flex:1;font-size:13px;font-weight:700}.nav a{white-space:nowrap}.nav a:hover{color:var(--purple)}.header__cta{height:42px;padding:0 20px;border-radius:6px;font-size:12px}.menu-button{display:none;margin-left:auto;width:42px;height:42px;border:0;background:#fff;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.08)}.menu-button span{display:block;width:20px;height:2px;background:var(--ink);margin:4px auto}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:6px;height:48px;padding:0 22px;font-size:13px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-1px);filter:brightness(.99)}.button--primary{background:linear-gradient(135deg,var(--purple2),#4d30c8);color:#fff;box-shadow:0 10px 24px rgba(99,68,216,.22)}.button--outline{background:rgba(255,255,255,.82);border:1px solid #596075;color:var(--ink)}.button--light{background:#fff;color:var(--purple);height:52px;min-width:188px}.button__icon,.mini-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hero{position:relative;height:510px;overflow:hidden;background:#f8f8fa}.hero__photo{position:absolute;inset:0;background:url('../img/hero-dashboard-office.png') center center/cover no-repeat}.hero__fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.99) 26%,rgba(255,255,255,.87) 37%,rgba(255,255,255,.13) 59%,rgba(255,255,255,0) 75%)}.hero__content{height:100%;position:relative;display:flex;align-items:center;padding-top:72px}.hero__copy{width:470px}.hero h1{font-size:48px;line-height:1.08;letter-spacing:-2.5px;margin:0 0 20px;font-weight:800}.hero h1 span{color:var(--purple)}.hero__copy>p{font-size:16px;line-height:1.75;color:#283249;width:430px;margin:0}.hero__actions{display:flex;gap:18px;margin-top:25px}.hero__proof{display:flex;gap:35px;margin-top:42px}.proof{display:flex;align-items:center;gap:10px;min-width:115px}.proof svg{width:29px;height:29px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.proof p{margin:0;line-height:1.2}.proof strong{display:block;font-size:12px}.proof span{font-size:10px;color:#39445a}.hero__curve{position:absolute;left:-4%;right:-4%;bottom:-45px;height:72px;border-radius:50% 50% 0 0/32% 32% 0 0;background:linear-gradient(180deg,rgba(106,73,222,.12),rgba(106,73,222,.035) 55%,#fff 100%);border-top:5px solid rgba(112,79,229,.08)}
.solutions{padding:50px 0 38px;background:linear-gradient(180deg,#fbfaff 0,#fff 100%)}.solution-pair{display:grid;grid-template-columns:1fr 1fr;gap:55px}.solution-group h2,.title-left{font-size:21px;text-align:center;margin:0 0 29px;letter-spacing:-.5px}.solution-group h2 span,.title-left span,.section-heading h2 span,.trusted h2 span,.testimonials h2 span{color:var(--purple)}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-card{min-height:192px;padding:24px 15px 18px;background:rgba(255,255,255,.88);border:1px solid var(--border);border-radius:8px;text-align:center;box-shadow:0 9px 22px rgba(55,49,105,.025)}.mini-card svg{width:37px;height:37px;fill:none;stroke:#432eac;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mini-card h3{font-size:14px;line-height:1.38;margin:17px 0 9px}.mini-card p{font-size:12px;line-height:1.65;color:#343e54;margin:0}
.cases{padding:22px 0 35px}.title-left{text-align:left;margin-bottom:22px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.case-card{border:1px solid #d9dbe7;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(18,25,55,.035)}.case-card__image{height:190px;position:relative;overflow:hidden}.case-card__image img{width:100%;height:100%;object-fit:cover}.pill{position:absolute;left:8px;bottom:0;background:var(--purple);color:#fff;border-radius:4px 4px 0 0;padding:5px 12px;font-size:10px}.case-card__body{padding:17px 17px 18px}.case-card h3{font-size:16px;letter-spacing:-.25px;margin:0 0 9px}.case-card p{font-size:12.5px;line-height:1.62;color:#30394c;margin:0 0 14px}.case-card a{font-size:12px;color:var(--purple);font-weight:700;display:inline-flex;align-items:center;gap:7px}.case-card a svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.process{padding:24px 0 36px}.section-heading{text-align:center}.section-heading h2{font-size:21px;margin:0}.section-heading p{font-size:13px;color:#485268;margin:5px 0 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;position:relative}.steps:before{content:"";position:absolute;left:12.5%;right:12.5%;top:32px;border-top:2px dashed rgba(100,68,216,.35)}.step{text-align:center;position:relative;z-index:1}.step__icon{width:67px;height:67px;border-radius:50%;border:1px solid #cfc7f7;background:#fff;margin:0 auto 13px;display:grid;place-items:center}.step__icon svg{width:31px;height:31px;fill:none;stroke:var(--purple);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.step h3{font-size:13px;margin:0 0 7px}.step p{font-size:12px;line-height:1.55;color:#354057;margin:0}
.trusted{padding:17px 0 30px}.trusted__box{border:1px solid #e0e1e9;border-radius:8px;padding:14px 28px 20px;background:#fff}.trusted h2{text-align:center;font-size:21px;margin:0 0 18px}.logo-row{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;gap:18px}.client{height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#777d88;filter:grayscale(1)}.client b{font-size:18px;letter-spacing:-1px;font-style:italic}.client small{font-size:6px;margin-top:-4px}.client--enaex b{letter-spacing:.5px}.client--enaex small{letter-spacing:1.5px}.client--andes b{font-size:15px;font-style:normal}.client--tag b{font-size:11px;background:#757982;color:#fff;padding:7px 9px;font-style:normal}
.testimonials{padding:0 0 30px}.testimonials__box{background:linear-gradient(135deg,#00142f,#00102a);border-radius:8px;color:#fff;padding:22px 30px 22px}.testimonials h2{text-align:center;font-size:22px;margin:0 0 22px}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quote{min-height:178px;padding:0 28px 0 48px;position:relative;border-right:1px solid rgba(255,255,255,.16)}.quote:last-child{border:0}.quote>svg{position:absolute;left:2px;top:3px;width:32px;height:32px;fill:none;stroke:#8b62f1;stroke-width:3}.quote p{font-size:12.5px;line-height:1.72;color:#f3f4f8;margin:0 0 17px}.quote strong{display:block;font-size:12px;margin-bottom:4px}.quote small{font-size:11px;color:#cdd1df}.dots{display:flex;justify-content:center;gap:9px;margin-top:12px}.dots span{width:8px;height:8px;border-radius:50%;background:#5a6680}.dots .active{background:#865df1}
.cta{padding:0 0 30px}.cta__box{min-height:132px;border-radius:8px;background:linear-gradient(100deg,#6a45d7,#5e3fc5);display:grid;grid-template-columns:80px 1fr auto;gap:26px;align-items:center;color:#fff;padding:24px 54px}.cta__icon{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center}.cta__icon svg{width:29px;height:29px;fill:none;stroke:#fff;stroke-width:1.7}.cta__copy h2{font-size:27px;margin:0 0 6px;line-height:1.2}.cta__copy p{font-size:13px;line-height:1.55;margin:0;color:#f4f1ff}.cta__action{display:flex;flex-direction:column;align-items:center;gap:10px}.cta__action span{display:flex;align-items:center;gap:7px;font-size:10.5px}.cta__action span svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:1.7}
.footer{background:linear-gradient(180deg,#00142f,#001129);color:#fff;padding:38px 0 22px}.footer__grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:52px}.brand--footer .brand__word{color:#fff}.brand--footer small{color:#aeb7cb}.footer__about>p{font-size:11.5px;line-height:1.7;color:#c6ccda;width:230px;margin:15px 0}.footer h3{font-size:12px;margin:0 0 12px}.footer__grid>div:not(.footer__about){display:flex;flex-direction:column;align-items:flex-start}.footer a,.footer__grid>div>p{font-size:11px;color:#d1d5df;line-height:1.85}.social{display:flex;gap:9px}.social a{width:23px;height:23px;border-radius:50%;background:#fff;color:#00142f;display:grid;place-items:center;font-size:11px;font-weight:800}.contact{display:flex!important;align-items:center;gap:7px;margin:0}.contact svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:1.7;flex:none}.footer__bottom{border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:18px;font-size:10px;color:#b7bece}.footer__bottom div{display:flex;gap:38px}
@media(max-width:1050px){.nav{gap:16px;font-size:11px}.header__cta{padding:0 13px}.hero__photo{background-position:58% center}.hero__fade{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 34%,rgba(255,255,255,.5) 52%,transparent 75%)}.solution-pair{gap:26px}.mini-card{padding-inline:9px}.footer__grid{gap:25px}}
@media(max-width:820px){.shell{width:min(100% - 32px,var(--max))}.header{position:fixed;height:68px}.nav,.header__cta{display:none}.menu-button{display:block}.header__inner{gap:0}.brand{min-width:145px}.header.is-open{height:auto;background:#fff}.header.is-open .header__inner{flex-wrap:wrap;padding-bottom:14px}.header.is-open .nav{display:flex;width:100%;order:5;flex-direction:column;align-items:flex-start;padding:18px 0;gap:12px}.hero{height:auto;min-height:780px}.hero__photo{background-position:66% top}.hero__fade{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.97) 46%,rgba(255,255,255,.65) 61%,rgba(255,255,255,.12) 77%)}.hero__content{padding-top:110px;align-items:flex-start}.hero__copy{width:100%}.hero h1{font-size:44px}.hero__copy>p{width:100%;max-width:510px}.hero__proof{gap:18px;flex-wrap:wrap}.solution-pair{grid-template-columns:1fr}.case-grid{grid-template-columns:1fr}.case-card__image{height:230px}.steps{grid-template-columns:repeat(2,1fr);gap:30px}.steps:before{display:none}.logo-row{grid-template-columns:repeat(4,1fr)}.quote-grid{grid-template-columns:1fr}.quote{border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:20px;margin-bottom:20px}.cta__box{grid-template-columns:60px 1fr;padding:24px}.cta__action{grid-column:1/-1;align-items:flex-start;margin-left:83px}.footer__grid{grid-template-columns:repeat(2,1fr)}.footer__about{grid-column:1/-1}}
@media(max-width:560px){body{font-size:14px}.shell{width:calc(100% - 24px)}.hero{min-height:750px}.hero__photo{background-position:70% bottom}.hero__fade{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 48%,rgba(255,255,255,.42) 72%,rgba(255,255,255,.12) 100%)}.hero h1{font-size:36px;letter-spacing:-1.7px}.hero__copy>p{font-size:14px}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .button{width:100%}.hero__proof{display:grid;grid-template-columns:1fr}.proof{background:rgba(255,255,255,.7);padding:9px;border-radius:7px;width:max-content}.mini-cards{grid-template-columns:1fr}.mini-card{min-height:0}.steps{grid-template-columns:1fr}.logo-row{grid-template-columns:repeat(2,1fr)}.cta__box{grid-template-columns:1fr;text-align:center}.cta__icon{margin:auto}.cta__action{grid-column:auto;margin:0;align-items:center}.footer__grid{grid-template-columns:1fr}.footer__bottom{flex-direction:column;align-items:flex-start;gap:8px}.footer__bottom div{gap:15px}}

/* Logo ajustado para mantener la identidad entregada */
.brand{
  display:flex;
  align-items:center;
}
.brand__image{
  display:block;
  width:170px;
  height:auto;
  border-radius:8px;
}
.brand--footer .brand__image{
  width:210px;
  border-radius:8px;
}
@media(max-width:820px){
  .brand__image{width:150px;}
  .brand--footer .brand__image{width:190px;}
}
@media(max-width:560px){
  .brand__image{width:138px;}
  .brand--footer .brand__image{width:180px;}
}

/* Versión con logo real recreado a partir de la referencia */
.brand__image{
  width: 195px;
  height: auto;
  display:block;
}
.brand--footer{
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.brand--footer .brand__image{
  width: 205px;
}
@media(max-width:820px){
  .brand__image{width:176px;}
  .brand--footer .brand__image{width:190px;}
}
@media(max-width:560px){
  .brand__image{width:160px;}
  .brand--footer .brand__image{width:178px;}
}


/* Ajuste fino de logo en el sitio nuevo */
.header .brand {
  display: inline-flex;
  align-items: center;
  padding: 4px 0;
}
.header .brand__image {
  width: 184px;
  height: auto;
  display: block;
}
.header__inner {
  min-height: 82px;
}

.footer .brand--footer {
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.footer .brand--footer .brand__image {
  width: 210px;
  height: auto;
  display: block;
}
.footer__about > p {
  margin-top: 18px;
}

@media(max-width:820px){
  .header .brand__image{width:168px;}
  .footer .brand--footer .brand__image{width:196px;}
  .header__inner{min-height:76px;}
}
@media(max-width:560px){
  .header .brand__image{width:154px;}
  .footer .brand--footer{padding:8px 12px;}
  .footer .brand--footer .brand__image{width:182px;}
}


/* v8: ajuste fino del logo blanco para que se perciba menos robusto */
.footer .brand--footer .brand__image {
  width: 172px;
  height: auto;
}
.footer .brand--footer {
  padding: 8px 12px;
}
@media(max-width:820px){
  .footer .brand--footer .brand__image{width:164px;}
}
@media(max-width:560px){
  .footer .brand--footer .brand__image{width:152px;}
}

/* =========================================================
   Vistas internas: Servicios y Casos de éxito
   ========================================================= */
.page-internal{background:#fff}.page-internal .header--internal{position:fixed;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(7,23,47,.06)}.page-internal .nav a.is-active{color:var(--purple)}
.inner-hero{padding:132px 0 72px;background:linear-gradient(180deg,#fbfaff 0%,#fff 100%);overflow:hidden}.inner-hero__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center}.inner-hero__copy h1{font-size:52px;line-height:1.06;letter-spacing:-2.5px;margin:10px 0 22px}.inner-hero__copy h1 span{color:var(--purple)}.inner-hero__copy>p{font-size:17px;line-height:1.78;color:#354057;max-width:570px}.inner-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--purple)}.inner-hero__actions{display:flex;gap:16px;margin-top:28px}.inner-hero__visual{position:relative}.inner-hero__visual:before{content:"";position:absolute;inset:-30px;background:radial-gradient(circle,rgba(99,68,216,.15),transparent 68%);z-index:0}.inner-hero__visual img{position:relative;z-index:1;width:100%;height:420px;object-fit:cover;border-radius:20px;box-shadow:0 28px 65px rgba(22,25,67,.15);border:1px solid rgba(99,68,216,.12)}
.inner-summary{padding:0 0 76px}.inner-summary__grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e2e0ed;border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(25,28,72,.06);overflow:hidden}.inner-summary article{display:flex;gap:18px;padding:28px 26px;border-right:1px solid #e7e5ee}.inner-summary article:last-child{border-right:0}.inner-summary strong{font-size:32px;color:#d9d1fa;line-height:1}.inner-summary h2{font-size:16px;margin:0 0 5px}.inner-summary p{font-size:13px;color:#596176;margin:0;line-height:1.55}
.service-listing{padding:15px 0 90px}.service-detail{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:72px 0;border-top:1px solid #eceaf2;scroll-margin-top:100px}.service-detail:first-child{border-top:0;padding-top:20px}.service-detail--reverse .service-detail__content{order:2}.service-detail--reverse .service-detail__image{order:1}.service-detail__content{position:relative}.service-number{position:absolute;right:0;top:-10px;font-size:66px;font-weight:800;color:#f1eefc;line-height:1}.service-detail__icon{width:56px;height:56px;border-radius:14px;background:#f2efff;display:grid;place-items:center;margin-bottom:18px}.service-detail__icon svg{width:29px;height:29px;fill:none;stroke:var(--purple);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-detail h2{font-size:34px;margin:0 0 14px;letter-spacing:-1px}.service-lead{font-size:16px;line-height:1.75;color:#454e64;max-width:650px}.service-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:26px}.service-columns h3{font-size:14px;margin:0 0 10px}.service-columns ul{padding-left:18px;margin:0}.service-columns li{font-size:13px;color:#4d566a;line-height:1.7;margin-bottom:6px}.service-detail__image img{width:100%;height:390px;object-fit:cover;border-radius:18px;box-shadow:0 22px 55px rgba(7,23,47,.12)}.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:26px;color:var(--purple);font-size:13px;font-weight:800}.text-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.inner-cta{padding:0 0 72px}.inner-cta__box{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:42px 48px;border-radius:18px;color:#fff;background:linear-gradient(105deg,#6c47da,#4b30ba);box-shadow:0 22px 48px rgba(99,68,216,.22)}.inner-cta__box h2{font-size:30px;line-height:1.2;margin:7px 0 8px}.inner-cta__box p{margin:0;color:#eeeaff;max-width:700px;font-size:14px}.inner-cta .inner-eyebrow{color:#dcd3ff}
.case-index-intro{padding:70px 0}.case-index-intro__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}.case-index-intro h2{font-size:36px;line-height:1.15;margin:9px 0 0}.case-index-intro p{font-size:17px;line-height:1.8;color:#465067;margin:0}.case-study-list{padding:0 0 85px}.case-study{display:grid;grid-template-columns:.92fr 1.08fr;gap:55px;align-items:center;padding:70px 0;border-top:1px solid #ebe9f1;scroll-margin-top:100px}.case-study--reverse .case-study__image{order:2}.case-study--reverse .case-study__content{order:1}.case-study__image img{width:100%;height:420px;object-fit:cover;border-radius:18px;box-shadow:0 22px 55px rgba(7,23,47,.12)}.case-label{display:inline-flex;padding:7px 10px;border-radius:5px;background:#f0edfc;color:var(--purple);font-size:10px;font-weight:800;letter-spacing:1px}.case-study h2{font-size:34px;line-height:1.15;margin:17px 0 13px}.case-intro{font-size:16px;line-height:1.72;color:#465067}.case-facts{display:grid;gap:14px;margin-top:24px}.case-facts>div{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:15px 0;border-top:1px solid #eceaf2}.case-facts strong{font-size:12px;color:var(--purple);text-transform:uppercase;letter-spacing:.5px}.case-facts p{font-size:13px;color:#4d566a;line-height:1.6;margin:0}.mini-card__link{display:inline-block;margin-top:12px;color:var(--purple);font-size:11px;font-weight:800}.mini-card:has(.mini-card__link){padding-bottom:15px}
@media(max-width:1200px){.inner-summary__grid{grid-template-columns:repeat(2,1fr)}.inner-summary article:nth-child(2){border-right:0}.inner-summary article:nth-child(-n+2){border-bottom:1px solid #e7e5ee}}
@media(max-width:950px){.inner-hero__grid,.service-detail,.case-study,.case-index-intro__grid{grid-template-columns:1fr}.inner-hero__visual img{height:360px}.service-detail--reverse .service-detail__content,.service-detail--reverse .service-detail__image,.case-study--reverse .case-study__content,.case-study--reverse .case-study__image{order:initial}.inner-summary__grid{grid-template-columns:1fr}.inner-summary article{border-right:0;border-bottom:1px solid #e7e5ee}.inner-summary article:last-child{border-bottom:0}.inner-cta__box{align-items:flex-start;flex-direction:column}.service-detail__image img,.case-study__image img{height:360px}}
@media(max-width:600px){.inner-hero{padding:108px 0 48px}.inner-hero__copy h1{font-size:38px;letter-spacing:-1.6px}.inner-hero__copy>p{font-size:15px}.inner-hero__actions{flex-direction:column}.inner-hero__actions .button{width:100%}.inner-hero__visual img{height:260px}.inner-summary{padding-bottom:45px}.service-detail,.case-study{padding:48px 0;gap:28px}.service-detail h2,.case-study h2{font-size:28px}.service-number{font-size:48px}.service-columns{grid-template-columns:1fr;gap:18px}.service-detail__image img,.case-study__image img{height:260px}.case-index-intro{padding:48px 0}.case-index-intro__grid{gap:20px}.case-index-intro h2{font-size:30px}.case-index-intro p{font-size:15px}.case-facts>div{grid-template-columns:1fr;gap:5px}.inner-cta__box{padding:30px 24px}.inner-cta__box h2{font-size:25px}}


/* v3: servicios especializados — ciberseguridad y Staff Augmentation */
.specialized-services{padding:0 0 42px;background:#fff}.specialized-services .section-heading{margin-bottom:22px}.specialized-services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.specialized-card{display:grid;grid-template-columns:62px 1fr;gap:20px;align-items:flex-start;padding:25px 28px;border:1px solid #dedbea;border-radius:12px;background:linear-gradient(145deg,#fff,#fbfaff);box-shadow:0 12px 28px rgba(25,28,72,.045)}.specialized-card__icon{width:58px;height:58px;border-radius:15px;background:#f1edff;display:grid;place-items:center}.specialized-card__icon svg{width:30px;height:30px;fill:none;stroke:var(--purple);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.specialized-card h3{font-size:18px;margin:1px 0 7px}.specialized-card p{font-size:13px;line-height:1.65;color:#4d566a;margin:0}.specialized-card a{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:var(--purple);font-size:12px;font-weight:800}.specialized-card a svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.field select{appearance:auto}
@media(max-width:760px){.specialized-services__grid{grid-template-columns:1fr}.specialized-card{grid-template-columns:52px 1fr;padding:22px}.specialized-card__icon{width:50px;height:50px}}

/* v4: página legal y compatibilidad de URLs históricas */
.inner-hero__grid--single{grid-template-columns:1fr}.inner-hero--legal{padding-bottom:54px}.inner-hero--legal .inner-hero__copy{max-width:760px}.legal-page{padding:12px 0 88px}.legal-page__content{max-width:880px}.legal-page article{padding:28px 0;border-top:1px solid #e9e7ef}.legal-page article:first-child{border-top:0}.legal-page h2{font-size:22px;margin:0 0 10px;letter-spacing:-.4px}.legal-page p{font-size:15px;line-height:1.78;color:#485166;margin:0}.legal-page a{color:var(--purple);font-weight:700}.legal-page__updated{margin-top:28px!important;font-size:12px!important;color:#7a8293!important}

/* v5 Laravel: todos los servicios visibles, sin carrusel */
.services-overview{
  padding:18px 0 58px;
  background:linear-gradient(180deg,#fff 0%,#fbfaff 100%);
}
.services-overview__heading{
  margin-bottom:24px;
}
.services-overview__heading p{
  max-width:640px;
  margin:7px auto 0;
}
.services-overview__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.service-overview-card{
  position:relative;
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:26px 24px 23px;
  border:1px solid #dfdbea;
  border-radius:16px;
  background:linear-gradient(145deg,#fff 0%,#fcfbff 100%);
  box-shadow:0 14px 32px rgba(25,28,72,.055);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  scroll-margin-top:100px;
}
.service-overview-card:hover{
  transform:translateY(-3px);
  border-color:#c7bcf1;
  box-shadow:0 20px 42px rgba(71,48,154,.10);
}
.service-overview-card__icon{
  width:52px;
  height:52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#f1edff;
  margin-bottom:18px;
}
.service-overview-card__icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:var(--purple);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.service-overview-card__number{
  position:absolute;
  top:21px;
  right:22px;
  font-size:32px;
  line-height:1;
  font-weight:800;
  color:#eeeafa;
}
.service-overview-card h3{
  font-size:19px;
  line-height:1.3;
  margin:0 0 9px;
  letter-spacing:-.35px;
}
.service-overview-card p{
  flex:1;
  font-size:13.5px;
  line-height:1.65;
  color:#4c556a;
  margin:0 0 18px;
}
.service-overview-card__link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--purple);
  font-size:12.5px;
  font-weight:800;
}
.service-overview-card__link svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
@media(max-width:950px){
  .services-overview__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .services-overview{padding-bottom:44px;}
  .services-overview__grid{grid-template-columns:1fr;}
  .service-overview-card{min-height:0;padding:23px 21px;}
}


/* v6 Laravel: los cinco servicios visibles en Servicios especializados */
.specialized-services__grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
}
.specialized-card{
  grid-column:span 2;
  min-height:196px;
}
.specialized-card:nth-child(4){
  grid-column:2 / span 2;
}
.specialized-card:nth-child(5){
  grid-column:4 / span 2;
}
@media(max-width:980px){
  .specialized-services__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .specialized-card,
  .specialized-card:nth-child(4),
  .specialized-card:nth-child(5){grid-column:auto;}
  .specialized-card:last-child{grid-column:1 / -1;}
}
@media(max-width:760px){
  .specialized-services__grid{grid-template-columns:1fr;}
  .specialized-card,
  .specialized-card:last-child{grid-column:auto;}
}

/* v7 Laravel: servicios especializados compactos y secundarios frente a Soluciones */
.specialized-services{
  padding:32px 0 38px;
  background:linear-gradient(180deg,#f8f6ff 0%,#fbfaff 100%);
  border-top:1px solid rgba(99,68,216,.07);
  border-bottom:1px solid rgba(99,68,216,.07);
}
.specialized-services__heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:20px;
}
.specialized-services__eyebrow{
  display:block;
  margin-bottom:3px;
  color:#7660cf;
  font-size:9.5px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.11em;
}
.specialized-services__heading h2{
  margin:0;
  font-size:19px;
  line-height:1.25;
  letter-spacing:-.35px;
}
.specialized-services__heading h2 span{color:var(--purple)}
.specialized-services__heading p{
  max-width:390px;
  margin:0 0 2px;
  color:#60697d;
  font-size:12.5px;
  line-height:1.55;
  text-align:right;
}
.specialized-services__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.specialized-card,
.specialized-card:nth-child(4),
.specialized-card:nth-child(5){
  grid-column:auto;
}
.specialized-card{
  position:relative;
  min-height:142px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  padding:18px 17px 16px;
  border:1px solid #e2deef;
  border-radius:12px;
  background:rgba(255,255,255,.88);
  box-shadow:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.specialized-card:hover{
  transform:translateY(-2px);
  border-color:#c9bff0;
  background:#fff;
}
.specialized-card__icon{
  width:42px;
  height:42px;
  flex:none;
  border-radius:11px;
  background:#f0ecff;
  display:grid;
  place-items:center;
}
.specialized-card__icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:var(--purple);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.specialized-card__body{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-right:12px;
}
.specialized-card__body strong{
  color:var(--ink);
  font-size:14px;
  line-height:1.3;
  letter-spacing:-.18px;
}
.specialized-card__body small{
  color:#5e6679;
  font-size:11.5px;
  line-height:1.45;
}
.specialized-card__arrow{
  position:absolute;
  right:14px;
  bottom:14px;
  width:14px;
  height:14px;
  fill:none;
  stroke:#8a76df;
  stroke-width:1.8;
}
@media(max-width:1050px){
  .specialized-services__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .specialized-services__heading{display:block;}
  .specialized-services__heading p{margin-top:7px;text-align:left;}
  .specialized-services__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .specialized-card{min-height:136px;}
}
@media(max-width:520px){
  .specialized-services{padding:27px 0 32px;}
  .specialized-services__grid{grid-template-columns:1fr;}
  .specialized-card{min-height:0;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:13px;}
  .specialized-card__body{padding-right:0;}
  .specialized-card__arrow{position:static;align-self:center;}
}

/* MicroCMS bilingual additions */
.language-switch{border:1px solid rgba(99,68,216,.28);color:var(--purple)!important;border-radius:5px;padding:4px 7px;font-size:10px;letter-spacing:.08em}.contact-page{padding:125px 0 70px;background:#f7f6fc}.contact-panel{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid #dedbea;border-radius:18px;overflow:hidden;box-shadow:0 24px 55px rgba(27,22,70,.09)}.contact-copy{padding:54px;background:linear-gradient(145deg,#051a3a,#00132f);color:#fff}.contact-copy h1{font-size:42px;line-height:1.08;margin:0 0 18px}.contact-copy h1 span{color:#8f6df0}.contact-copy p{color:#d8dceb;font-size:16px;line-height:1.75}.contact-list-box{margin-top:34px;display:grid;gap:14px}.contact-list-box div{padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04)}.contact-form{padding:48px}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-weight:700;color:#17213a}.field input,.field textarea,.field select{width:100%;border:1px solid #d9d9e5;border-radius:9px;padding:13px 14px;font:inherit;outline:none;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6848da;box-shadow:0 0 0 3px rgba(104,72,218,.12)}.field textarea{min-height:145px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.error{color:#b42318;font-size:12px}.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647;padding:14px 16px;border-radius:9px;margin-bottom:20px}.contact-submit{border:0;cursor:pointer;width:100%;font-size:15px}.form-note{font-size:12px;color:#667085;margin:12px 0 0;text-align:center}.legal-page{padding:130px 0 80px;background:#f8f7fc}.legal-page__box{max-width:900px;background:#fff;border:1px solid #e0deeb;border-radius:18px;padding:48px;box-shadow:0 18px 42px rgba(30,25,80,.06)}.legal-page h1{font-size:42px;margin:8px 0 25px}.legal-copy p{font-size:16px;line-height:1.8;color:#344054}@media(max-width:800px){.contact-panel{grid-template-columns:1fr}.contact-copy,.contact-form{padding:30px}.contact-copy h1{font-size:34px}.form-grid{grid-template-columns:1fr}.legal-page__box{padding:28px}.legal-page h1{font-size:34px}}

/* v13: primero los problemas; los servicios pasan a ser las soluciones */
.problems-focus{
  padding:50px 0 42px;
  background:linear-gradient(180deg,#fbfaff 0%,#fff 100%);
}
.problems-focus .solution-group{
  max-width:900px;
  margin:0 auto;
}
.problems-focus .solution-group h2{
  font-size:25px;
  margin-bottom:28px;
}
.problems-focus .mini-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.problems-focus .mini-card{
  min-height:184px;
  padding:27px 22px 22px;
}
.problems-focus .mini-cards--emotive{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.problems-focus .mini-card--emotive{
  position:relative;
  min-height:340px;
  padding:0;
  overflow:hidden;
  border:1px solid #ddd8ee;
  border-radius:22px;
  box-shadow:0 22px 50px rgba(29,27,74,.08);
  background:#0c1530;
  transition:transform .22s ease, box-shadow .22s ease;
}
.problems-focus .mini-card--emotive:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 60px rgba(29,27,74,.14);
}
.problems-focus .mini-card__media,
.problems-focus .mini-card__overlay,
.problems-focus .mini-card__content{
  position:absolute;
  inset:0;
}
.problems-focus .mini-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.02);
}
.problems-focus .mini-card__overlay{
  background:linear-gradient(180deg, rgba(5,10,24,.06) 0%, rgba(7,16,38,.42) 34%, rgba(8,18,43,.88) 100%);
}
.problems-focus .mini-card__content{
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  padding:22px 22px 24px;
  color:#fff;
}
.problems-focus .mini-card__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:15px;
  background:rgba(120,92,232,.18);
  border:1px solid rgba(214,204,255,.45);
  backdrop-filter: blur(8px);
}
.problems-focus .mini-card__icon svg{
  width:26px;
  height:26px;
  color:#c9b9ff;
}
.problems-focus .mini-card--emotive h3{
  color:#fff;
  font-size:16px;
  margin:0 0 10px;
}
.problems-focus .mini-card--emotive p{
  color:rgba(245,247,255,.92);
  font-size:13.5px;
  line-height:1.6;
  margin:0;
}
.solutions-focus{
  padding:42px 0 46px;
  background:linear-gradient(180deg,#f7f4ff 0%,#fbfaff 100%);
}
.solutions-focus .specialized-services__eyebrow{
  font-size:10px;
  color:var(--purple);
}
.solutions-focus .specialized-services__heading h2{
  font-size:27px;
  letter-spacing:-.65px;
}
.solutions-focus .specialized-services__heading p{
  max-width:470px;
  font-size:13.5px;
  line-height:1.6;
}
.solutions-focus .specialized-card{
  min-height:154px;
  padding:20px 18px 18px;
}
.solutions-focus .specialized-card__body strong{
  font-size:14.5px;
}
.solutions-focus .specialized-card__body small{
  font-size:12px;
}
@media(max-width:820px){
  .problems-focus .mini-cards{grid-template-columns:1fr;max-width:620px;margin-inline:auto;}
  .problems-focus .mini-card{min-height:0;}
  .problems-focus .mini-card--emotive{min-height:320px;}
  .solutions-focus .specialized-services__heading h2{font-size:24px;}
}

/* v14: menú móvil ordenado y predecible */
.mobile-menu-cta,.menu-backdrop{display:none}
@media(max-width:820px){
  body.menu-open{overflow:hidden}
  .header{
    height:76px;
    position:fixed;
    background:rgba(255,255,255,.97);
    box-shadow:0 8px 28px rgba(7,23,47,.07);
  }
  .header__inner{
    position:relative;
    height:76px;
    min-height:76px;
    flex-wrap:nowrap!important;
    padding-bottom:0!important;
  }
  .header .brand{min-width:0;padding:0;z-index:4}
  .header .brand__image{width:164px}
  .menu-button{
    position:relative;
    z-index:5;
    display:block;
    flex:0 0 44px;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(99,68,216,.16);
    border-radius:12px;
    background:#fff;
    box-shadow:0 7px 18px rgba(35,28,86,.10);
    cursor:pointer;
  }
  .menu-button span{
    position:absolute;
    left:11px;
    width:22px;
    height:2px;
    margin:0;
    border-radius:999px;
    background:var(--ink);
    transition:transform .22s ease,opacity .18s ease,top .22s ease;
  }
  .menu-button span:nth-child(1){top:14px}
  .menu-button span:nth-child(2){top:21px}
  .menu-button span:nth-child(3){top:28px}
  .header.is-open .menu-button span:nth-child(1){top:21px;transform:rotate(45deg)}
  .header.is-open .menu-button span:nth-child(2){opacity:0;transform:scaleX(.25)}
  .header.is-open .menu-button span:nth-child(3){top:21px;transform:rotate(-45deg)}
  .menu-backdrop{
    display:block;
    position:fixed;
    z-index:1;
    inset:76px 0 0;
    width:100%;
    height:auto;
    padding:0;
    border:0;
    background:rgba(2,10,28,.38);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }
  .header.is-open .menu-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav{
    display:flex!important;
    position:absolute;
    z-index:3;
    top:calc(100% + 10px);
    right:0;
    left:0;
    width:100%;
    max-height:calc(100dvh - 104px);
    overflow:auto;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:12px;
    border:1px solid rgba(99,68,216,.13);
    border-radius:16px;
    background:#fff;
    box-shadow:0 24px 55px rgba(7,23,47,.18);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px) scale(.985);
    transform-origin:top center;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  }
  .header.is-open .nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }
  .nav a{
    display:flex;
    align-items:center;
    min-height:46px;
    width:100%;
    padding:10px 13px;
    border-radius:10px;
    color:var(--ink);
    font-size:14px;
    font-weight:700;
    white-space:normal;
  }
  .nav a:hover,.nav a:focus-visible,.nav a.is-active{
    color:var(--purple);
    background:#f5f2ff;
    outline:none;
  }
  .nav .language-switch{
    width:max-content;
    min-height:34px;
    margin:5px 0 2px 10px;
    padding:5px 10px;
    border-color:rgba(99,68,216,.28);
    font-size:11px;
  }
  .mobile-menu-cta{
    display:flex!important;
    justify-content:center;
    gap:9px;
    min-height:48px!important;
    margin-top:5px;
    color:#fff!important;
    background:linear-gradient(135deg,var(--purple2),#4d30c8)!important;
    box-shadow:0 10px 22px rgba(99,68,216,.20);
  }
  .mobile-menu-cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9}
  .header.is-open{height:76px!important}
}
@media(max-width:560px){
  .header,.header__inner{height:70px;min-height:70px}
  .header .brand__image{width:150px}
  .menu-button{width:42px;height:42px;flex-basis:42px}
  .menu-button span{left:10px}
  .menu-backdrop{inset:70px 0 0}
  .nav{top:calc(100% + 8px);border-radius:14px}
  .header.is-open{height:70px!important}
}

/* Compatibilidad temporal para enlaces antiguos #staffing */
.legacy-anchor{display:block;position:relative;top:-96px;visibility:hidden;}

/* v17: logos reales en Empresas e instituciones */
.client{
  padding:8px 12px;
}
.client img{
  display:block;
  width:auto;
  max-width:145px;
  height:auto;
  max-height:52px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.72;
  transition:filter .2s ease,opacity .2s ease,transform .2s ease;
}
.client:hover img{
  filter:grayscale(0);
  opacity:1;
  transform:translateY(-1px);
}
@media(max-width:820px){
  .client img{max-width:130px;max-height:48px;}
}
@media(max-width:560px){
  .client img{max-width:118px;max-height:44px;}
}


/* v20: servicios con imagen suave y tratamiento más visual */
.solutions-focus .specialized-card--visual{
  position:relative;
  overflow:hidden;
  min-height:238px;
  padding:18px 18px 18px;
  border:1px solid #d8d1ef;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.98));
  box-shadow:0 14px 34px rgba(34,36,83,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.solutions-focus .specialized-card--visual:hover{
  transform:translateY(-3px);
  border-color:#cbbef3;
  box-shadow:0 22px 42px rgba(72,53,152,.12);
}
.solutions-focus .specialized-card--visual .specialized-card__media,
.solutions-focus .specialized-card--visual .specialized-card__veil{
  position:absolute;
  inset:0;
  border-radius:inherit;
}
.solutions-focus .specialized-card--visual .specialized-card__media{
  opacity:.16;
}
.solutions-focus .specialized-card--visual .specialized-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(1.02);
}
.solutions-focus .specialized-card--visual .specialized-card__veil{
  background:
    linear-gradient(180deg, rgba(249,247,255,.80) 0%, rgba(249,247,255,.92) 54%, rgba(255,255,255,.98) 100%),
    radial-gradient(circle at top right, rgba(117,79,232,.10), transparent 42%);
}
.solutions-focus .specialized-card--visual > *{
  position:relative;
  z-index:2;
}
.solutions-focus .specialized-card--visual .specialized-card__icon{
  width:64px;
  height:64px;
  border-radius:18px;
  background:rgba(238,232,255,.92);
  box-shadow:0 8px 18px rgba(120,92,232,.08);
}
.solutions-focus .specialized-card--visual .specialized-card__body{
  display:flex;
  flex-direction:column;
  margin-top:6px;
}
.solutions-focus .specialized-card--visual .specialized-card__body strong{
  font-size:17px;
  line-height:1.18;
  letter-spacing:-.02em;
  margin-bottom:8px;
}
.solutions-focus .specialized-card--visual .specialized-card__body small{
  font-size:12.8px;
  line-height:1.6;
  color:#5f6880;
  max-width:95%;
}
.solutions-focus .specialized-card--visual .specialized-card__arrow{
  margin-top:auto;
}
@media(max-width:1200px){
  .solutions-focus .specialized-card--visual{min-height:225px;}
}
@media(max-width:820px){
  .solutions-focus .specialized-card--visual{min-height:210px;}
  .solutions-focus .specialized-card--visual .specialized-card__media{opacity:.14;}
}
@media(max-width:560px){
  .solutions-focus .specialized-card--visual{min-height:198px;}
  .solutions-focus .specialized-card--visual .specialized-card__body strong{font-size:16px;}
}


/* v21: imágenes propias por servicio, visibles pero subordinadas al texto */
.solutions-focus .specialized-card--visual{
  min-height:248px;
  isolation:isolate;
  background:#fbfaff;
}
.solutions-focus .specialized-card--visual .specialized-card__media{
  opacity:.36;
  transform:scale(1.02);
  transition:opacity .22s ease, transform .32s ease;
}
.solutions-focus .specialized-card--visual:hover .specialized-card__media{
  opacity:.43;
  transform:scale(1.045);
}
.solutions-focus .specialized-card--visual .specialized-card__media img{
  object-position:68% center;
  filter:saturate(.82) contrast(.98) brightness(1.04);
}
.solutions-focus .specialized-card--visual .specialized-card__veil{
  background:
    linear-gradient(105deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.97) 42%,
      rgba(249,247,255,.86) 68%,
      rgba(242,237,255,.73) 100%),
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.64));
}
.solutions-focus .specialized-card--visual .specialized-card__icon{
  background:rgba(239,234,255,.96);
  border:1px solid rgba(104,72,218,.08);
}
.solutions-focus .specialized-card--visual .specialized-card__body strong{
  color:#0a1831;
  text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.solutions-focus .specialized-card--visual .specialized-card__body small{
  color:#555f77;
  text-shadow:0 1px 0 rgba(255,255,255,.92);
}
@media(max-width:1200px){
  .solutions-focus .specialized-card--visual{min-height:232px;}
}
@media(max-width:820px){
  .solutions-focus .specialized-card--visual{min-height:220px;}
  .solutions-focus .specialized-card--visual .specialized-card__media{opacity:.31;}
  .solutions-focus .specialized-card--visual .specialized-card__veil{
    background:linear-gradient(100deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 58%,rgba(246,242,255,.80) 100%);
  }
}

/* v22: corrección de activos y mayor visibilidad de las imágenes de servicios */
.solutions-focus .specialized-card--visual{
  background:#faf8ff;
}
.solutions-focus .specialized-card--visual .specialized-card__media{
  opacity:.66;
  z-index:0;
  transform:scale(1.015);
}
.solutions-focus .specialized-card--visual:hover .specialized-card__media{
  opacity:.76;
  transform:scale(1.04);
}
.solutions-focus .specialized-card--visual .specialized-card__media img{
  object-position:76% center;
  filter:saturate(.92) contrast(1.02) brightness(1.01);
}
.solutions-focus .specialized-card--visual .specialized-card__veil{
  z-index:1;
  background:
    linear-gradient(100deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.93) 38%,
      rgba(250,247,255,.74) 66%,
      rgba(239,232,255,.34) 100%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.38));
}
.solutions-focus .specialized-card--visual .specialized-card__icon,
.solutions-focus .specialized-card--visual .specialized-card__body,
.solutions-focus .specialized-card--visual .specialized-card__arrow{
  z-index:3;
}
.solutions-focus .specialized-card--visual .specialized-card__body strong{
  color:#071630;
  text-shadow:0 1px 1px rgba(255,255,255,.98),0 0 8px rgba(255,255,255,.88);
}
.solutions-focus .specialized-card--visual .specialized-card__body small{
  color:#4e5971;
  text-shadow:0 1px 1px rgba(255,255,255,.98),0 0 8px rgba(255,255,255,.88);
}
@media(max-width:820px){
  .solutions-focus .specialized-card--visual .specialized-card__media{opacity:.58;}
  .solutions-focus .specialized-card--visual:hover .specialized-card__media{opacity:.64;}
  .solutions-focus .specialized-card--visual .specialized-card__veil{
    background:linear-gradient(100deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 55%,rgba(245,240,255,.55) 100%);
  }
}

/* v23: más foco para las imágenes de servicios, manteniendo protagonismo del texto */
.solutions-focus .specialized-card--visual{
  background:linear-gradient(180deg,#fcfbff 0%, #f7f3ff 100%);
}
.solutions-focus .specialized-card--visual .specialized-card__media{
  opacity:.82;
  transform:scale(1.02);
}
.solutions-focus .specialized-card--visual:hover .specialized-card__media{
  opacity:.90;
  transform:scale(1.05);
}
.solutions-focus .specialized-card--visual .specialized-card__media img{
  object-position:82% center;
  filter:saturate(.96) contrast(1.05) brightness(1.02);
}
.solutions-focus .specialized-card--visual .specialized-card__veil{
  background:
    linear-gradient(96deg,
      rgba(255,255,255,.985) 0%,
      rgba(255,255,255,.955) 34%,
      rgba(250,246,255,.80) 56%,
      rgba(240,232,255,.48) 78%,
      rgba(234,224,255,.22) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.10) 0%,
      rgba(255,255,255,.18) 100%);
}
.solutions-focus .specialized-card--visual .specialized-card__icon{
  background:rgba(239,234,255,.92);
  box-shadow:0 10px 24px rgba(113,82,228,.10);
}
.solutions-focus .specialized-card--visual .specialized-card__body strong{
  color:#09172f;
  text-shadow:0 1px 0 rgba(255,255,255,.98),0 0 10px rgba(255,255,255,.94);
}
.solutions-focus .specialized-card--visual .specialized-card__body small{
  color:#48536b;
  text-shadow:0 1px 0 rgba(255,255,255,.98),0 0 10px rgba(255,255,255,.92);
}
@media(max-width:820px){
  .solutions-focus .specialized-card--visual .specialized-card__media{opacity:.74;}
  .solutions-focus .specialized-card--visual:hover .specialized-card__media{opacity:.80;}
  .solutions-focus .specialized-card--visual .specialized-card__veil{
    background:linear-gradient(98deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.95) 50%,rgba(243,237,255,.62) 100%);
  }
}


/* v24: cinco problemas alineados uno a uno con las cinco soluciones */
.problems-focus{
  padding:58px 0 52px;
}
.problems-focus .solution-group{
  max-width:none;
  text-align:center;
}
.problems-focus__eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--purple);
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.14em;
}
.problems-focus .solution-group h2{
  margin:0;
  font-size:32px;
  letter-spacing:-.9px;
}
.problems-focus__subtitle{
  max-width:760px;
  margin:12px auto 30px;
  color:#5c667d;
  font-size:14px;
  line-height:1.65;
}
.problems-focus .mini-cards--emotive{
  grid-template-columns:repeat(5,minmax(0,1fr));
  max-width:none;
  gap:15px;
}
.problems-focus .mini-card--emotive{
  min-height:356px;
  text-align:left;
  border-radius:20px;
}
.problems-focus .mini-card__content{
  padding:18px 17px 21px;
}
.problems-focus .mini-card__number{
  position:absolute;
  top:14px;
  left:14px;
  min-width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#18213a;
  font-size:10px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(4,12,30,.15);
}
.problems-focus .mini-card__icon{
  width:48px;
  height:48px;
  margin-bottom:13px;
}
.problems-focus .mini-card--emotive h3{
  font-size:15px;
  line-height:1.24;
}
.problems-focus .mini-card--emotive p{
  font-size:12.5px;
  line-height:1.55;
}
@media(max-width:1180px){
  .problems-focus .mini-cards--emotive{grid-template-columns:repeat(3,minmax(0,1fr));}
  .problems-focus .mini-card--emotive{min-height:342px;}
}
@media(max-width:820px){
  .problems-focus .solution-group h2{font-size:27px;}
  .problems-focus .mini-cards--emotive{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;}
  .problems-focus .mini-card--emotive{min-height:330px;}
}
@media(max-width:560px){
  .problems-focus .mini-cards--emotive{grid-template-columns:1fr;max-width:440px;margin-inline:auto;}
  .problems-focus .mini-card--emotive{min-height:320px;}
}

/* v25: iconos blancos en la sección de problemas */
.problems-focus .mini-card__icon{
  background:rgba(106,69,215,.28);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 10px 22px rgba(8,16,36,.18);
}
.problems-focus .mini-card__icon svg{
  color:#ffffff;
}

/* v26: forzar iconos blancos en tarjetas de problemas */
.problems-focus .mini-card--emotive .mini-card__icon svg,
.problems-focus .mini-card--emotive .mini-card__icon use,
.problems-focus .mini-card--emotive .mini-card__icon path,
.problems-focus .mini-card--emotive .mini-card__icon circle,
.problems-focus .mini-card--emotive .mini-card__icon rect {
  color:#fff !important;
  stroke:#fff !important;
  fill:none !important;
}

/* v27: menú comercial, redes administrables y servicios con mayor peso visual */
.header .nav a.is-active{
  color:var(--purple);
}
.footer .social{
  gap:10px;
  margin-top:16px;
}
.footer .social a{
  width:32px;
  height:32px;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.footer .social a:hover{
  transform:translateY(-2px);
  background:rgba(126,89,236,.38);
  border-color:rgba(201,185,255,.55);
}
.footer .social a svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.solutions-focus .specialized-services__grid{
  gap:16px;
}
.solutions-focus .specialized-card--visual{
  min-height:292px;
  padding:0 0 18px;
  display:flex;
  flex-direction:column;
  gap:0;
  overflow:hidden;
  border:1px solid #d6cdef;
  border-top:3px solid rgba(105,71,218,.78);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 38px rgba(45,35,100,.10);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.solutions-focus .specialized-card--visual:hover{
  transform:translateY(-5px);
  border-color:#bfaef0;
  box-shadow:0 28px 54px rgba(55,39,126,.17);
}
.solutions-focus .specialized-card--visual .specialized-card__media{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:116px;
  flex:none;
  opacity:1;
  transform:none;
  overflow:hidden;
  border-radius:14px 14px 0 0;
}
.solutions-focus .specialized-card--visual:hover .specialized-card__media{
  opacity:1;
  transform:none;
}
.solutions-focus .specialized-card--visual .specialized-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.04) brightness(.98);
  transition:transform .25s ease,filter .25s ease;
}
.solutions-focus .specialized-card--visual:hover .specialized-card__media img{
  transform:scale(1.035);
  filter:saturate(1) contrast(1.06) brightness(1);
}
.solutions-focus .specialized-card--visual .specialized-card__veil{
  position:absolute;
  inset:3px 0 auto;
  height:116px;
  z-index:1;
  border-radius:14px 14px 0 0;
  background:linear-gradient(180deg,rgba(91,62,190,.08),rgba(28,22,69,.26));
}
.solutions-focus .specialized-card--visual .specialized-card__icon{
  width:58px;
  height:58px;
  margin:-29px 0 0 18px;
  z-index:3;
  flex:none;
  border:1px solid rgba(105,71,218,.20);
  background:#f0ebff;
  box-shadow:0 12px 25px rgba(79,54,171,.18);
}
.solutions-focus .specialized-card--visual .specialized-card__body--weighted{
  display:flex;
  flex-direction:column;
  flex:1;
  margin:0;
  padding:15px 18px 0;
}
.solutions-focus .specialized-card--visual .specialized-card__body strong{
  margin-bottom:9px;
  color:#09172f;
  font-size:16.5px;
  line-height:1.2;
  text-shadow:none;
}
.solutions-focus .specialized-card--visual .specialized-card__body small{
  color:#505b73;
  font-size:12.7px;
  line-height:1.58;
  text-shadow:none;
}
.solutions-focus .specialized-card--visual .specialized-card__arrow{
  position:static;
  align-self:flex-end;
  margin:12px 18px 0 0;
  flex:none;
}
@media(max-width:1180px){
  .solutions-focus .specialized-card--visual{min-height:286px;}
}
@media(max-width:820px){
  .solutions-focus .specialized-card--visual{min-height:275px;}
  .solutions-focus .specialized-card--visual .specialized-card__media{height:124px;}
  .solutions-focus .specialized-card--visual .specialized-card__veil{height:124px;}
}
@media(max-width:560px){
  .solutions-focus .specialized-card--visual{min-height:260px;}
}

/* v28: casos de éxito centrados en integración, automatización y tracking */
.cases .case-card{
  border-radius:16px;
  border-color:#ddd8ee;
  box-shadow:0 16px 34px rgba(21,28,68,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.cases .case-card:hover{
  transform:translateY(-4px);
  border-color:#c8bcf0;
  box-shadow:0 24px 48px rgba(68,48,150,.12);
}
.cases .case-card__image{
  height:210px;
}
.cases .case-card__image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,13,31,0) 52%,rgba(5,13,31,.18) 100%);
  pointer-events:none;
}
.cases .pill{
  z-index:2;
  left:14px;
  top:14px;
  bottom:auto;
  border-radius:999px;
  padding:6px 11px;
  background:rgba(102,68,218,.92);
  box-shadow:0 8px 18px rgba(28,20,83,.18);
  font-size:9px;
  letter-spacing:.06em;
}
.cases .case-card__body{
  padding:20px 20px 21px;
}
.cases .case-card h3{
  font-size:18px;
  line-height:1.28;
}
.cases .case-card p{
  min-height:60px;
  font-size:13px;
}
.inner-hero--cases .inner-hero__visual img{
  object-position:center;
}
.case-study{
  position:relative;
}
.case-study__image img{
  border:1px solid rgba(99,68,216,.12);
}
.case-study__content{
  padding:8px 0;
}
.case-label{
  border-radius:999px;
  padding:7px 12px;
  background:#eee9ff;
  letter-spacing:.08em;
}
.case-facts>div{
  padding:17px 0;
}
@media(max-width:760px){
  .cases .case-card__image{height:220px;}
  .cases .case-card p{min-height:0;}
}

/* v32: los anchors de compatibilidad no deben participar en las grillas */
.case-study,
.service-detail{
  position:relative;
}
.case-study > .legacy-anchor,
.service-detail > .legacy-anchor{
  position:absolute !important;
  top:-96px;
  left:0;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  overflow:hidden;
  visibility:hidden;
  pointer-events:none;
}

/* v33: siete casos de éxito y composición equilibrada en el inicio */
@media(min-width:1181px){
  .cases .case-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .cases .case-card{
    grid-column:span 2;
  }
  .cases .case-card:last-child:nth-child(7){
    grid-column:3 / span 2;
  }
}
@media(min-width:821px) and (max-width:1180px){
  .cases .case-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cases .case-card:last-child:nth-child(7){
    grid-column:1 / -1;
    width:calc(50% - 8px);
    justify-self:center;
  }
}
@media(max-width:820px){
  .cases .case-grid{
    grid-template-columns:1fr;
  }
  .cases .case-card:last-child:nth-child(7){
    grid-column:auto;
    width:auto;
  }
}
.cases .case-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.cases .case-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
}
.cases .case-card__body a{
  margin-top:auto;
}
.case-study-list .case-study__image img{
  object-position:center;
}

/* v34: navegación sticky — el menú permanece visible durante el scroll */
.header,
.page-internal .header--internal{
  position:sticky !important;
  top:0;
  right:auto;
  bottom:auto;
  left:auto;
  z-index:1000;
  width:100%;
  height:auto;
  min-height:82px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(24,29,65,.07);
  box-shadow:0 1px 0 rgba(7,23,47,.02);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:box-shadow .22s ease,background-color .22s ease;
}
.header.is-scrolled,
.page-internal .header--internal.is-scrolled{
  background:rgba(255,255,255,.985);
  box-shadow:0 10px 30px rgba(7,23,47,.10);
}
.header__inner{
  min-height:82px;
}

/* El header ahora participa en el flujo; se retira el espacio reservado para superponerlo */
.hero__content{
  padding-top:0;
}
.inner-hero{
  padding-top:58px;
}
.contact-page{
  padding-top:58px;
}
.legal-page{
  padding-top:58px;
}

/* Los enlaces con ancla deben detenerse debajo del menú sticky */
html{
  scroll-padding-top:100px;
}
.service-detail,
.case-study,
.legacy-anchor{
  scroll-margin-top:100px;
}

@media(max-width:820px){
  .header,
  .page-internal .header--internal{
    position:sticky !important;
    min-height:76px;
  }
  .header__inner{
    min-height:76px;
  }
  .hero__content{
    padding-top:38px;
  }
  .inner-hero,
  .contact-page,
  .legal-page{
    padding-top:42px;
  }
}
@media(max-width:560px){
  .header,
  .page-internal .header--internal{
    min-height:70px;
  }
  .header__inner{
    min-height:70px;
    height:70px;
  }
  .hero__content{
    padding-top:30px;
  }
  .inner-hero,
  .contact-page,
  .legal-page{
    padding-top:36px;
  }
}


/* v35: consentimiento, validación y estados del formulario de contacto */
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:#d92d20;background:#fffafa}
.form-alert{padding:14px 16px;border-radius:9px;margin-bottom:20px;font-size:13px;line-height:1.55}
.form-alert--error{background:#fff4f2;border:1px solid #fecdca;color:#b42318}
.privacy-consent{display:grid;grid-template-columns:20px 1fr;gap:11px;align-items:start;margin:2px 0 8px;padding:14px 15px;border:1px solid #dedbea;border-radius:10px;background:#fbfaff}
.privacy-consent.has-error{border-color:#f04438;background:#fff8f7}
.privacy-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--purple);cursor:pointer}
.privacy-consent label{font-size:12.5px;line-height:1.58;color:#475467;cursor:pointer}
.privacy-consent a{color:var(--purple);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.privacy-consent-error{display:block;margin:0 0 14px}
.contact-submit{margin-top:14px}
.contact-submit:disabled{cursor:wait;opacity:.72;transform:none}
@media(max-width:560px){.privacy-consent{padding:13px}.privacy-consent label{font-size:12px}}

/* v38: clientes con logos reales y WhatsApp visible */
.trusted{
  padding:24px 0 34px;
}
.trusted__box{
  padding:22px 26px 24px;
  border-radius:18px;
  border:1px solid #e2def0;
  box-shadow:0 18px 40px rgba(43,33,105,.05);
}
.trusted h2{
  margin-bottom:20px;
}
.logo-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.client{
  min-height:120px;
  padding:14px;
  border-radius:16px;
  border:1px solid #ece7f8;
  background:linear-gradient(180deg,#fff 0%,#fcfbff 100%);
  box-shadow:0 10px 24px rgba(37,31,90,.04);
  filter:none;
}
.client:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(51,40,120,.08);
}
.client img{
  max-width:100%;
  width:auto;
  max-height:84px;
  object-fit:contain;
  filter:none;
  opacity:1;
}
.client b{
  font-size:16px;
  font-style:normal;
  letter-spacing:-.02em;
}

.footer .contact-link{
  display:flex;
  align-items:center;
  gap:8px;
  color:#dfe4ef;
  text-decoration:none;
}
.footer .contact-link:hover{
  color:#fff;
}
.contact-link--whatsapp{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(122,236,182,.24);
  background:linear-gradient(135deg,rgba(24,176,104,.22),rgba(8,128,87,.16));
  color:#fff;
  text-decoration:none;
  box-shadow:0 16px 30px rgba(4,20,39,.18);
}
.contact-link--whatsapp svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  flex:none;
}
.contact-link--whatsapp span{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.contact-link--whatsapp strong{
  font-size:13px;
  font-weight:800;
}
.contact-link--whatsapp small{
  font-size:12px;
  color:#dff7eb;
}
.whatsapp-float{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:90;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:12px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,#22c36a,#0f9d58);
  color:#fff;
  text-decoration:none;
  box-shadow:0 18px 42px rgba(5,30,20,.25);
}
.whatsapp-float:hover{
  transform:translateY(-2px);
  filter:brightness(1.02);
}
.whatsapp-float svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  flex:none;
}
.whatsapp-float span{
  display:flex;
  flex-direction:column;
  line-height:1.08;
}
.whatsapp-float strong{
  font-size:12px;
  letter-spacing:.02em;
}
.whatsapp-float small{
  font-size:12px;
  opacity:.96;
}
@media(max-width:980px){
  .logo-row{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:820px){
  .logo-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .whatsapp-float{right:14px;bottom:14px;padding:11px 14px;border-radius:16px;}
  .whatsapp-float small{font-size:11px;}
}
@media(max-width:560px){
  .trusted__box{padding:20px 18px;}
  .client{min-height:102px;padding:10px;}
  .client img{max-height:72px;}
  .whatsapp-float{left:12px;right:12px;justify-content:center;}
}


/* v39: logos de clientes en gris y a color al hover */
.trusted{
  background: linear-gradient(180deg, #fbfbfe 0%, #f6f5fb 100%);
}
.trusted__box{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding-top: 30px;
  padding-bottom: 18px;
}
.trusted h2{
  font-size: clamp(32px, 4vw, 44px);
  line-height: 1.08;
  margin-bottom: 12px;
}
.trusted__intro{
  max-width: 940px;
  margin: 0 auto 42px;
  text-align: center;
  color: #707888;
  font-size: 17px;
  line-height: 1.65;
}
.logo-row{
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  justify-items: center;
}
.client{
  width: 100%;
  min-height: 138px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid #eceaf3;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 24px rgba(34, 29, 79, .05);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}
.client img{
  max-width: 100%;
  width: auto;
  max-height: 88px;
  object-fit: contain;
  filter: grayscale(1) saturate(.1) contrast(.94) brightness(.96);
  opacity: .72;
  transition: filter .28s ease, opacity .28s ease, transform .28s ease;
}
.client:hover,
.client:focus-within{
  transform: translateY(-7px);
  border-color: #ded3fb;
  background: #ffffff;
  box-shadow: 0 18px 36px rgba(56, 38, 132, .10);
}
.client:hover img,
.client:focus-within img{
  filter: grayscale(0) saturate(1) contrast(1) brightness(1);
  opacity: 1;
  transform: scale(1.02);
}
@media (max-width: 1100px){
  .logo-row{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 820px){
  .trusted__intro{font-size: 16px; margin-bottom: 30px;}
  .logo-row{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;}
  .client{min-height: 126px; border-radius: 18px;}
  .client img{max-height: 76px;}
}
@media (max-width: 560px){
  .trusted__box{padding-top: 20px;}
  .trusted__intro{font-size: 15px; line-height: 1.55;}
  .logo-row{gap: 14px;}
  .client{min-height: 112px; padding: 12px; border-radius: 16px;}
  .client img{max-height: 64px;}
}


/* v40: logos de clientes planos, sin cards individuales */
.trusted{
  padding:48px 0 58px;
  background:linear-gradient(180deg,#fbfbfd 0%,#f7f7fb 100%);
}
.trusted__box{
  padding:0;
}
.trusted h2{
  margin:0;
  font-size:clamp(30px,3.8vw,42px);
  letter-spacing:-1.2px;
}
.trusted__intro{
  max-width:900px;
  margin:14px auto 44px;
  color:#737b89;
  font-size:16px;
  line-height:1.7;
}
.logo-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px 42px;
  align-items:center;
}
.client{
  width:100%;
  min-height:106px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translateY(0);
  transition:transform .24s ease;
}
.client:hover,
.client:focus-within{
  transform:translateY(-6px);
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.client img{
  max-width:100%;
  max-height:88px;
  filter:grayscale(1) saturate(.12) contrast(.94) brightness(.94);
  opacity:.68;
  transition:filter .28s ease,opacity .28s ease,transform .28s ease;
}
.client:hover img,
.client:focus-within img{
  filter:grayscale(0) saturate(1) contrast(1) brightness(1);
  opacity:1;
  transform:scale(1.035);
}
@media(max-width:1100px){
  .logo-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 34px;}
}
@media(max-width:820px){
  .trusted{padding:42px 0 48px;}
  .trusted__intro{margin-bottom:34px;font-size:15px;}
  .logo-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;}
  .client{min-height:94px;}
  .client img{max-height:76px;}
}
@media(max-width:560px){
  .trusted{padding:36px 0 42px;}
  .trusted__intro{margin-bottom:28px;}
  .logo-row{gap:24px 18px;}
  .client{min-height:82px;}
  .client img{max-height:64px;}
}


/* v41: clientes más planos, integrados a la sección y con logos en blanco y negro */
.trusted{
  padding: 48px 0 58px;
  background: #f6f6fa;
}
.trusted__box{
  padding: 0;
}
.trusted__intro{
  max-width: 980px;
  margin: 14px auto 44px;
  color: #737b89;
}
.logo-row{
  gap: 28px 34px;
  align-items: center;
}
.client{
  width: 100%;
  min-height: 124px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.34);
  border: 1px solid rgba(255,255,255,.42);
  box-shadow: none;
  transform: translateY(0);
  transition: transform .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.client img{
  max-width: 100%;
  max-height: 86px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) saturate(0) contrast(.88) brightness(.98);
  opacity: .66;
  transition: filter .28s ease, opacity .28s ease, transform .28s ease;
}
.client:hover,
.client:focus-within{
  transform: translateY(-5px);
  background: rgba(255,255,255,.7);
  border-color: rgba(227,220,248,.9);
  box-shadow: 0 14px 30px rgba(38,31,87,.07);
}
.client:hover img,
.client:focus-within img{
  filter: grayscale(0) saturate(1) contrast(1) brightness(1);
  opacity: 1;
  transform: scale(1.02);
}
@media(max-width:1100px){
  .logo-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 28px;}
}
@media(max-width:820px){
  .trusted{padding:42px 0 48px;}
  .logo-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 22px;}
  .client{min-height:110px;padding:16px 18px;border-radius:18px;}
  .client img{max-height:72px;}
}
@media(max-width:560px){
  .trusted{padding:36px 0 42px;}
  .trusted__intro{margin-bottom:28px;font-size:15px;line-height:1.6;}
  .logo-row{gap:18px 16px;}
  .client{min-height:94px;padding:14px;border-radius:16px;}
  .client img{max-height:60px;}
}

/* v42: réplica del layout original de clientes (fila Bootstrap centrada, sin cards) */
.trusted{
  padding: 58px 0 64px;
  background: #fbfbfc;
}
.trusted__box{
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.trusted h2{
  margin: 0 0 14px;
  color: #20242b;
  font-size: clamp(30px, 3.3vw, 38px);
  line-height: 1.15;
  letter-spacing: -.8px;
}
.trusted h2 span{
  color: inherit;
}
.trusted__intro{
  max-width: 940px;
  margin: 0 auto 48px;
  color: #737b86;
  font-size: 16px;
  line-height: 1.65;
  text-align: center;
}
.logo-row{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 34px 0;
  margin: 0 -16px;
}
.client{
  flex: 0 0 25%;
  width: 25%;
  min-height: 142px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: translateY(0);
  transition: transform .24s ease;
}
.client:hover,
.client:focus-within{
  transform: translateY(-6px);
  border: 0;
  background: transparent;
  box-shadow: none;
}
.client .client-logo-lg{
  display: block;
  width: auto;
  max-width: 300px;
  max-height: 104px;
  object-fit: contain;
  filter: grayscale(1) saturate(0) contrast(.92) brightness(.97);
  opacity: .72;
  transition: filter .28s ease, opacity .28s ease, transform .28s ease;
}
.client:hover .client-logo-lg,
.client:focus-within .client-logo-lg{
  filter: grayscale(0) saturate(1) contrast(1) brightness(1);
  opacity: 1;
  transform: scale(1.025);
}
.client-uss .client-logo-lg{
  max-width: 225px;
  max-height: 172px;
}
.client-muni .client-logo-lg{
  max-width: 185px;
  max-height: 168px;
}
.client-small .client-logo-lg{
  max-width: 225px;
  max-height: 94px;
}
@media(max-width: 991px){
  .client{
    flex-basis: 33.333333%;
    width: 33.333333%;
  }
}
@media(max-width: 767px){
  .trusted{
    padding: 46px 0 52px;
  }
  .trusted__intro{
    margin-bottom: 34px;
    font-size: 15px;
  }
  .logo-row{
    gap: 26px 0;
    margin: 0 -10px;
  }
  .client{
    flex-basis: 50%;
    width: 50%;
    min-height: 116px;
    padding: 0 10px;
  }
  .client .client-logo-lg{
    max-width: 220px;
    max-height: 82px;
  }
  .client-uss .client-logo-lg{
    max-width: 180px;
    max-height: 142px;
  }
  .client-muni .client-logo-lg{
    max-width: 150px;
    max-height: 140px;
  }
  .client-small .client-logo-lg{
    max-width: 170px;
    max-height: 76px;
  }
}
@media(max-width: 480px){
  .trusted h2{
    font-size: 29px;
  }
  .client{
    min-height: 102px;
  }
  .client .client-logo-lg{
    max-width: 160px;
    max-height: 66px;
  }
  .client-uss .client-logo-lg{
    max-width: 142px;
    max-height: 116px;
  }
  .client-muni .client-logo-lg{
    max-width: 120px;
    max-height: 112px;
  }
}

/* v43: reducción fina de logos de clientes (aprox. 18 px) */
.client .client-logo-lg{
  max-width:282px;
  max-height:86px;
}
.client-uss .client-logo-lg{
  max-width:207px;
  max-height:154px;
}
.client-muni .client-logo-lg{
  max-width:167px;
  max-height:150px;
}
.client-small .client-logo-lg{
  max-width:207px;
  max-height:76px;
}
@media(max-width:767px){
  .client .client-logo-lg{
    max-width:204px;
    max-height:66px;
  }
  .client-uss .client-logo-lg{
    max-width:164px;
    max-height:126px;
  }
  .client-muni .client-logo-lg{
    max-width:134px;
    max-height:124px;
  }
  .client-small .client-logo-lg{
    max-width:154px;
    max-height:60px;
  }
}
@media(max-width:480px){
  .client .client-logo-lg{
    max-width:146px;
    max-height:52px;
  }
  .client-uss .client-logo-lg{
    max-width:128px;
    max-height:102px;
  }
  .client-muni .client-logo-lg{
    max-width:106px;
    max-height:98px;
  }
  .client-small .client-logo-lg{
    max-width:140px;
    max-height:52px;
  }
}

/* v47: acceso destacado a la landing para emprendedores */
.nav .nav-entrepreneurs{
  color:#5d3bc8;
  font-weight:800;
}
@media(max-width:1180px) and (min-width:821px){
  .nav{gap:12px;font-size:10.5px}
  .header__cta{padding-inline:14px}
}


/* v50: enlace Emprendedores sin marcador decorativo */
.nav .nav-entrepreneurs::after{
  content:none!important;
  display:none!important;
}

/* v52: navegación de escritorio alineada a la izquierda */
@media (min-width:821px){
  .header__inner{
    gap:24px;
  }
  .header .brand{
    flex:0 0 auto;
  }
  .header .nav{
    flex:1 1 auto;
    justify-content:flex-start;
    gap:24px;
    margin-left:0;
  }
  .header__cta{
    flex:0 0 auto;
    margin-left:auto;
  }
}
@media (min-width:821px) and (max-width:1180px){
  .header .nav{
    gap:12px;
  }
}


/* v64 — alerta verde de confirmación, estilo Bootstrap */
.alert{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid transparent;
  border-radius:12px;
  font-size:14px;
  line-height:1.55;
}
.alert-success{
  color:#0f5132;
  background:#d1e7dd;
  border-color:#badbcc;
}
.contact-success-alert{
  outline:none;
  box-shadow:0 9px 24px rgba(15,81,50,.08);
}
.contact-success-alert:focus-visible{
  box-shadow:0 0 0 4px rgba(25,135,84,.18),0 9px 24px rgba(15,81,50,.08);
}
.contact-success-alert>svg{
  width:24px;
  height:24px;
  flex:none;
  margin-top:1px;
  fill:none;
  stroke:#198754;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-success-alert strong{
  display:block;
  margin-bottom:2px;
  color:#0a3622;
  font-size:15px;
}
.contact-success-alert p{
  margin:0;
  color:#0f5132;
}

/* v63 — ayuda de formato sin bloquear el envío del contacto */
.field-help{
  display:block;
  margin-top:7px;
  color:#737b8c;
  font-size:11px;
  line-height:1.45;
}


/* v65 — Especial Emprendedores al final, junto a Agendar reunión */
.nav .nav-entrepreneurs{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(103,66,213,.20);
  border-radius:999px;
  color:#5d3bc8;
  background:rgba(239,235,255,.72);
  font-weight:850;
  line-height:1;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.nav .nav-entrepreneurs:hover,
.nav .nav-entrepreneurs:focus-visible,
.nav .nav-entrepreneurs.is-active{
  color:#4e2db9;
  background:#eee8ff;
  border-color:rgba(103,66,213,.36);
  transform:translateY(-1px);
}
@media(min-width:821px){
  .header .nav .nav-entrepreneurs{
    margin-left:auto;
  }
}
@media(min-width:821px) and (max-width:1180px){
  .nav .nav-entrepreneurs{
    padding-inline:9px;
    font-size:10px;
  }
}
@media(max-width:820px){
  .nav .nav-entrepreneurs{
    min-height:38px;
    margin-top:5px;
    padding-inline:14px;
  }
}


/* v67 — Nearshore para América */
.nearshore{
  position:relative;
  overflow:hidden;
  padding:58px 0 66px;
  background:
    radial-gradient(circle at 88% 18%,rgba(104,69,218,.12),transparent 30%),
    linear-gradient(180deg,#faf9ff 0%,#f5f3fc 100%);
}
.nearshore:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-210px;
  bottom:-260px;
  border:1px solid rgba(104,69,218,.12);
  border-radius:50%;
  box-shadow:0 0 0 54px rgba(104,69,218,.025),0 0 0 108px rgba(104,69,218,.018);
  pointer-events:none;
}
.nearshore__panel{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
  gap:42px;
  align-items:center;
}
.nearshore__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:5px 11px;
  border-radius:999px;
  color:#5c38c8;
  background:#eee9ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
}
.nearshore__copy h2{
  margin:15px 0 17px;
  max-width:630px;
  color:#0b1f43;
  font-size:clamp(35px,4.4vw,57px);
  line-height:1.02;
  letter-spacing:-2.7px;
}
.nearshore__copy h2 span{display:block;color:#6542d5}
.nearshore__lead{
  max-width:620px;
  margin:0;
  color:#505a6d;
  font-size:15.5px;
  line-height:1.75;
}
.nearshore__benefits{
  display:grid;
  gap:9px;
  margin-top:25px;
}
.nearshore-benefit{
  display:grid;
  grid-template-columns:43px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:11px 13px;
  border:1px solid rgba(104,69,218,.10);
  border-radius:13px;
  background:rgba(255,255,255,.64);
}
.nearshore-benefit>span{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#6542d5;
  background:#fff;
  box-shadow:0 8px 20px rgba(70,46,145,.08);
}
.nearshore-benefit svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.nearshore-benefit strong{display:block;margin:1px 0 4px;color:#17233d;font-size:12.5px}
.nearshore-benefit p{margin:0;color:#6a7283;font-size:10.5px;line-height:1.5}
.nearshore__cta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:15px 20px;
  margin-top:25px;
}
.nearshore__cta-row>span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#5f6879;
  font-size:10.5px;
  font-weight:750;
}
.nearshore__cta-row>span svg{width:17px;height:17px;fill:none;stroke:#6542d5;stroke-width:1.8}
.nearshore__visual{
  position:relative;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(104,69,218,.12);
  border-radius:25px;
  background:#fff;
  box-shadow:0 30px 65px rgba(48,31,109,.12);
}
.nearshore__visual img{display:block;width:100%;height:auto;aspect-ratio:1.25/1;object-fit:cover}
.nearshore__visual figcaption{
  position:absolute;
  left:14px;
  right:14px;
  bottom:13px;
  padding:9px 12px;
  border-radius:10px;
  color:#5c6475;
  background:rgba(255,255,255,.90);
  box-shadow:0 8px 22px rgba(37,26,82,.08);
  backdrop-filter:blur(10px);
  font-size:9px;
  line-height:1.4;
}
.nearshore-clocks{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.35fr repeat(5,minmax(0,1fr));
  gap:9px;
  margin-top:26px;
}
.nearshore-clocks__intro,
.nearshore-clock{
  min-height:91px;
  padding:14px;
  border:1px solid rgba(104,69,218,.12);
  border-radius:15px;
  background:rgba(255,255,255,.86);
  box-shadow:0 12px 26px rgba(38,28,82,.045);
}
.nearshore-clocks__intro{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#6542d5,#4e2bbb);color:#fff}
.nearshore-clocks__intro span{font-size:9px;font-weight:900;letter-spacing:.1em;opacity:.78}
.nearshore-clocks__intro strong{margin-top:7px;font-size:11px;line-height:1.45}
.nearshore-clock{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.nearshore-clock>span{color:#6c7485;font-size:9px;font-weight:800}
.nearshore-clock>strong{margin:5px 0 2px;color:#15203a;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
.nearshore-clock>small{color:#6542d5;font-size:8.5px;font-weight:800;line-height:1.25}
@media(max-width:1050px){
  .nearshore__panel{grid-template-columns:1fr;gap:30px}
  .nearshore__visual{max-width:760px;margin-inline:auto}
  .nearshore-clocks{grid-template-columns:repeat(3,1fr)}
  .nearshore-clocks__intro{grid-column:1/-1;min-height:auto}
}
@media(max-width:680px){
  .nearshore{padding:45px 0 50px}
  .nearshore__copy h2{font-size:36px;letter-spacing:-1.8px}
  .nearshore__lead{font-size:14px}
  .nearshore__visual{border-radius:19px}
  .nearshore__visual img{aspect-ratio:1/1;object-position:center}
  .nearshore-clocks{grid-template-columns:repeat(2,1fr)}
  .nearshore-clock:last-child{grid-column:1/-1}
  .nearshore__cta-row .button{width:100%}
}
