/* ============================================================
   GEOMAP — Página SERVICIOS (estilos específicos)
   Se carga después de global.css.
   ============================================================ */

:root{
  --night:#061426;--navblue:#041E3D;--blue:#1F4EA3;--blue2:#123A7A;--orange:#F36B21;--orange2:#DC5516;--green:#22A045;--green2:#1a7d36;--text:#111827;--muted:#667085;--line:#E5EAF2;--soft:#F7F9FC;--white:#fff;--shadow:0 18px 46px rgba(7,20,38,.12);--max:min(100% - clamp(22px,5vw,96px),1280px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;scroll-padding-top:78px}
body{font-family:'Inter',system-ui,sans-serif;color:var(--text);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img,svg{display:block;max-width:100%} button{font:inherit;border:0;background:transparent;cursor:pointer} .container{width:var(--max);margin-inline:auto}
/* NAV estándar GeoMap */
.nav{position:fixed;inset:0 0 auto 0;z-index:80;background:var(--navblue);border-top:2px solid rgba(243,107,33,.42);border-bottom:1px solid rgba(255,255,255,.09);transition:background .25s,box-shadow .25s,border-color .25s}
.nav.scrolled{background:rgba(255,255,255,.97);border-top-color:transparent;border-bottom-color:var(--line);box-shadow:0 4px 20px rgba(15,23,42,.08)}
.nav-inner{width:var(--max);height:76px;margin-inline:auto;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;flex-shrink:0} .brand img{height:52px;width:auto;object-fit:contain} .logo-blue{display:none} .nav.scrolled .logo-white{display:none} .nav.scrolled .logo-blue{display:block}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin-left:auto} .nav-links a{height:42px;display:flex;align-items:center;padding:0 14px;border-radius:999px;border:1.5px solid transparent;color:rgba(255,255,255,.86);font-size:14.5px;font-weight:800;transition:.18s}
.nav-links a:hover,.nav-links a.active{color:#fff;border-color:rgba(243,107,33,.85);background:rgba(243,107,33,.10)} .nav.scrolled .nav-links a{color:#142033} .nav.scrolled .nav-links a:hover,.nav.scrolled .nav-links a.active{color:var(--orange);border-color:rgba(243,107,33,.85);background:rgba(243,107,33,.08)}
.nav-cta{height:46px;padding:0 18px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-weight:900;white-space:nowrap;box-shadow:0 10px 24px rgba(34,160,69,.22);transition:.2s} .nav-cta:hover{background:var(--green2);transform:translateY(-1px)} .nav-cta svg{width:19px;height:19px;fill:#fff;flex-shrink:0}
.hamb{display:none;width:42px;height:42px;margin-left:auto;align-items:center;justify-content:center;flex-direction:column;gap:5px} .hamb span{width:23px;height:2px;background:#fff;border-radius:4px;transition:.2s} .nav.scrolled .hamb span{background:#142033}
.mobile-panel{display:none;position:fixed;inset:0;z-index:90;background:var(--night);padding:90px 28px 32px;overflow-y:auto} .mobile-panel.open{display:block} .mobile-panel a{display:block;color:#fff;font-size:20px;font-weight:800;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)} .mobile-panel .mobile-wa{margin-top:20px;background:var(--green);border-radius:14px;padding:15px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:900;border-bottom:0} .mobile-panel .mobile-wa svg{width:22px;height:22px;fill:#fff} .mobile-close{position:absolute;top:20px;right:22px;color:#fff;font-size:32px;line-height:1}
/* BASE */
.kicker{display:block;color:var(--orange);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;margin-bottom:10px} .section-title{font-family:'Plus Jakarta Sans','Inter',sans-serif;color:#0B1B31;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.045em;font-weight:800} .section-title span{color:var(--orange)} .muted{color:var(--muted);line-height:1.72;font-weight:500}
.btn{height:52px;border-radius:12px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;font-size:.94rem;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s,color .2s,border-color .2s} .btn svg{width:19px;height:19px;flex-shrink:0} .btn-wa{background:var(--green);color:#fff;box-shadow:0 14px 30px rgba(34,160,69,.22)} .btn-wa:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 18px 34px rgba(34,160,69,.30)} .btn-orange{background:var(--orange);color:#fff;box-shadow:0 12px 24px rgba(243,107,33,.22)} .btn-orange:hover{background:var(--orange2);transform:translateY(-2px)} .btn-outline{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.65)} .btn-outline:hover{background:#fff;color:var(--navblue);transform:translateY(-2px)}
/* HERO */
.hero{
  position:relative;z-index:0;isolation:isolate;overflow:hidden;
  background:var(--navblue);color:#fff;
  padding-top:76px;
  display:flex;flex-direction:column;
  min-height:520px;
}
.hero::before{
  content:"";position:absolute;
  top:0;right:0;bottom:0;width:62%;
  z-index:0;
  background-image:url('../img/servicios-01.webp');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center center;
  filter:contrast(1.12) saturate(1.05) brightness(.97);
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(
    90deg,
    #041E3D           0%,
    #041E3D          42%,
    rgba(4,30,61,.97) 46%,
    rgba(4,30,61,.90) 50%,
    rgba(4,30,61,.78) 54%,
    rgba(4,30,61,.62) 58%,
    rgba(4,30,61,.44) 62%,
    rgba(4,30,61,.26) 66%,
    rgba(4,30,61,.12) 70%,
    rgba(4,30,61,.03) 74%,
    transparent       78%
  );
}
.hero-body{
  position:relative;z-index:2;
  width:var(--max);margin-inline:auto;
  padding:76px 0 60px;
  max-width:100%;
}
.hero-body>.kicker{margin-bottom:14px}
.hero h1{
  font-family:'Plus Jakarta Sans','Inter',sans-serif;
  font-size:clamp(2.5rem,4.8vw,4.2rem);
  line-height:.97;letter-spacing:-.055em;font-weight:800;
  max-width:540px;margin-bottom:20px;
}
.hero h1 span{color:var(--orange)}
.hero-desc{
  font-size:clamp(.97rem,1.25vw,1.1rem);
  line-height:1.70;color:rgba(255,255,255,.88);
  max-width:460px;font-weight:500;margin-bottom:28px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.trust-strip{
  width:100%;
  background:#061426;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.trust-grid{
  width:var(--max);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.trust-item{
  min-width:0;
  min-height:82px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 22px;
  color:#fff;
  border-left:1px solid rgba(255,255,255,.08);
}
.trust-item:last-child{
  border-right:1px solid rgba(255,255,255,.08);
}
.trust-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:10px;
  box-shadow:0 12px 24px rgba(243,107,33,.18);
}
.trust-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:10px;
}
.trust-item span:last-child{
  min-width:0;
  color:#fff;
  font-size:.95rem;
  font-weight:700;
  line-height:1.22;
}
.trust-item strong{
  font-weight:900;
}

@media(max-width:1080px){
  .nav-links,.nav-cta{display:none}
  .hamb{display:flex}
  .hero{min-height:0}
  .hero-body{padding:64px 0 48px}
}
@media(max-width:760px){
  .nav-inner{height:72px}
  .brand img{height:48px}
  .hero{margin-top:72px;min-height:0}
  .hero::before{width:100%;top:auto;height:55%;background-position:center top}
  .hero::after{background:linear-gradient(to bottom,#041E3D 0%,rgba(4,30,61,.96) 30%,rgba(4,30,61,.75) 55%,rgba(4,30,61,.85) 80%,#041E3D 100%)}
  .hero-body{padding:56px 0 40px}
  .hero h1{font-size:2.2rem;max-width:100%}
  .hero-desc{max-width:100%}
  .hero-actions{flex-direction:column;gap:10px}
  .hero-actions .btn{width:100%;justify-content:center}
}
@media(max-width:420px){
  .hero h1{font-size:1.95rem}
}

/* Banda de beneficios — móvil optimizada */
@media(max-width:1080px){
  .trust-grid{
    width:100%;
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .trust-item{
    padding:15px 16px;
  }
}

@media(max-width:760px){
  .trust-grid{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .trust-item{
    min-height:112px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:14px 8px;
    text-align:center;
    border-left:0;
    border-right:1px solid rgba(255,255,255,.08);
    border-top:1px solid rgba(255,255,255,.08);
  }

  .trust-item:nth-child(1),
  .trust-item:nth-child(2){
    border-top:0;
  }

  .trust-item:nth-child(even){
    border-right:0;
  }

  .trust-item:nth-child(5){
    grid-column:1/-1;
    min-height:96px;
    flex-direction:row;
    gap:13px;
    border-right:0;
  }

  .trust-icon{
    width:50px;
    height:50px;
    flex-basis:50px;
    border-radius:12px;
  }

  .trust-icon img{
    border-radius:12px;
  }

  .trust-item span:last-child{
    max-width:138px;
    font-size:.88rem;
    line-height:1.24;
    letter-spacing:-.01em;
  }

  .trust-item:nth-child(5) span:last-child{
    max-width:none;
    text-align:left;
  }
}

@media(max-width:380px){
  .trust-item{
    min-height:106px;
    padding:13px 6px;
  }

  .trust-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .trust-item span:last-child{
    max-width:126px;
    font-size:.84rem;
    line-height:1.22;
  }
}

/* SERVICES */
.section{padding:76px 0}
.section-head{text-align:center;max-width:760px;margin:0 auto 34px}
.section-head .muted{margin-top:12px}

.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.service-card{
  position:relative;overflow:hidden;
  min-height:258px;padding:26px 16px 22px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  text-align:center;
  background:linear-gradient(180deg,#fff 0%,#FBFCFF 100%);
  border:1px solid var(--line);border-radius:18px;
  box-shadow:0 14px 34px rgba(15,23,42,.065);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
}
.service-card::after{
  content:"";position:absolute;right:-78px;top:-78px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(243,107,33,.075),transparent 68%);
  transition:transform .24s ease,opacity .24s ease;
}
.icon-box{
  width:74px;height:74px;border-radius:18px;
  display:grid;place-items:center;position:relative;z-index:1;
  margin:0 auto 18px;background:#fff;
  border:1px solid rgba(243,107,33,.18);
  box-shadow:0 10px 30px rgba(243,107,33,.10);
  transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease;
}
.icon-box svg{
  width:42px;height:42px;stroke:var(--orange);fill:none;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .24s ease,transform .24s ease;
}
.icon-box .service-icon-img{
  width:56px;height:56px;display:block;object-fit:contain;
  transition:transform .24s ease,filter .24s ease;
  filter:drop-shadow(0 5px 10px rgba(243,107,33,.10));
}
.service-card:hover,.service-card:focus-within{
  transform:translateY(-6px);
  border-color:rgba(243,107,33,.30);
  box-shadow:0 24px 54px rgba(15,23,42,.11);
}
.service-card:hover::after,.service-card:focus-within::after,.service-card:active::after{transform:scale(1.12);opacity:.9}
.service-card:hover .icon-box,.service-card:focus-within .icon-box,.service-card:active .icon-box{
  background:linear-gradient(135deg,var(--orange),#ff7b2b);
  border-color:transparent;
  box-shadow:0 18px 36px rgba(243,107,33,.32);
  transform:translateY(-2px);
}
.service-card:hover .icon-box svg,.service-card:focus-within .icon-box svg,.service-card:active .icon-box svg{
  stroke:#fff;transform:scale(1.08);
}
.service-card:hover .icon-box .service-icon-img,.service-card:focus-within .icon-box .service-icon-img,.service-card:active .icon-box .service-icon-img{
  transform:scale(1.08);
  filter:brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0,0,0,.12));
}
.service-card h3{
  font-size:1.02rem;line-height:1.18;margin-bottom:11px;
  max-width:180px;color:#0B1B31;font-weight:900;letter-spacing:-.025em;
}
.service-card p{
  max-width:195px;color:#435268;line-height:1.58;font-weight:500;font-size:.88rem;
}
.service-card a{
  display:inline-flex;margin-top:auto;padding-top:14px;
  color:var(--orange);font-weight:900;font-size:.88rem;
}
@media(max-width:1180px){
  .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-card{min-height:244px;padding:26px 20px 22px}
  .service-card h3,.service-card p{max-width:260px}
}
@media(max-width:760px){
  .section{padding:62px 0}
  #servicios .section-head{text-align:left;margin-bottom:22px}
  #servicios .section-head .muted{margin-left:0;margin-right:0}
  .services-grid{grid-template-columns:1fr;gap:14px}
  .service-card{min-height:auto;padding:24px 20px}
  .service-card h3,.service-card p{max-width:100%}
  .service-card a{margin-top:4px;padding-top:10px}
  .icon-box{width:68px;height:68px;border-radius:17px}
  .icon-box .service-icon-img{width:60px;height:54px}
}
@media(hover:none){
  .service-card:active .icon-box{background:linear-gradient(135deg,var(--orange),#ff7b2b);border-color:transparent}
  .service-card:active .icon-box svg{stroke:#fff;transform:scale(1.06)}
  .service-card:active .icon-box .service-icon-img{filter:brightness(0) invert(1);transform:scale(1.06)}
}
/* SPLIT NEEDS */
.needs{background:linear-gradient(180deg,#F7FAFF 0%,#fff 100%)} .needs-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center} .needs-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px} .need-pill{height:52px;border:1px solid #DDE6F3;background:#fff;border-radius:13px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-weight:850;color:#102038;box-shadow:0 8px 22px rgba(15,23,42,.05);transition:.2s} .need-pill:hover{border-color:rgba(243,107,33,.45);color:var(--orange);transform:translateY(-2px)} .need-pill span:last-child{color:var(--orange);font-size:1.25rem}
.photo-stack{display:grid;grid-template-columns:1fr .82fr;gap:16px;align-items:stretch} .photo-card{position:relative;overflow:hidden;border-radius:22px;background:#ddd;min-height:380px;box-shadow:var(--shadow)} .photo-card img{width:100%;height:100%;object-fit:cover} .photo-card.tall{min-height:470px} .photo-card.small{min-height:225px} .photo-overlay{position:absolute;inset:auto 16px 16px 16px;background:rgba(4,30,61,.86);color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);border-radius:16px;padding:18px} .photo-overlay h3{font-size:1.2rem;line-height:1.15;margin-bottom:8px} .photo-overlay p{color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.5}
/* CORS */
.cors-section{background:var(--navblue);color:#fff;position:relative;overflow:hidden} .cors-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 30%,rgba(31,78,163,.42),transparent 32%),radial-gradient(circle at 82% 72%,rgba(243,107,33,.12),transparent 28%),linear-gradient(135deg,var(--navblue),#061426)} .cors-grid{position:relative;display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center} .cors-image{border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 80px rgba(0,0,0,.28);min-height:520px} .cors-image img{width:100%;height:100%;object-fit:cover} .cors-copy .section-title{color:#fff} .cors-copy .muted{color:rgba(255,255,255,.78)} .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0} .feature{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px} .feature strong{display:block;margin-bottom:3px} .feature span{color:rgba(255,255,255,.75);font-size:.9rem;line-height:1.48}
/* PROCESS */
.process{background:#fff;padding-top:62px;padding-bottom:58px;overflow:hidden}
.process .section-head{text-align:center;max-width:780px;margin:0 auto 8px}
.process .section-head .kicker{margin-bottom:7px;color:var(--orange)}
.process .section-title{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.045em;font-weight:800}
.steps{--process-cycle:12.8s;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.8vw,42px);margin-top:30px;position:relative;align-items:start}
.step{position:relative;text-align:center;padding:8px 12px 0;isolation:isolate}
.step:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 54px);right:calc(-50% + 54px);top:45px;border-top:2px dashed rgba(154,168,187,.72);z-index:0;animation:processLine var(--process-cycle) infinite ease-in-out}
.step-icon{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;position:relative;z-index:2;overflow:visible;box-shadow:0 12px 24px rgba(26,77,143,.14);transition:transform .3s ease,box-shadow .3s ease;animation:processIcon var(--process-cycle) infinite ease-in-out}
.step-icon img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;position:relative;z-index:3}
.step-icon::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(243,107,33,0);opacity:0;transform:scale(.92);z-index:1;animation:processHalo var(--process-cycle) infinite ease-in-out}
.step-icon::after{content:"";position:absolute;inset:-18px;border-radius:50%;background:radial-gradient(circle,rgba(243,107,33,.22) 0%,rgba(243,107,33,.10) 38%,rgba(243,107,33,0) 68%);opacity:0;transform:scale(.84);z-index:0;animation:processGlow var(--process-cycle) infinite ease-in-out}
.step:nth-child(2) .step-icon::before,.step:nth-child(2) .step-icon::after{animation-delay:3.2s}
.step:nth-child(3) .step-icon::before,.step:nth-child(3) .step-icon::after{animation-delay:6.4s}
.step:nth-child(4) .step-icon::before,.step:nth-child(4) .step-icon::after{animation-delay:9.6s}
.step-num{position:absolute;top:28px;left:50%;transform:translateX(-76px);width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.84rem;z-index:3;box-shadow:0 10px 20px rgba(243,107,33,.22);animation:processNum var(--process-cycle) infinite ease-in-out}
.step h3{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:1.02rem;line-height:1.18;font-weight:800;color:#0B1B31;margin-bottom:8px;letter-spacing:-.025em;transition:color .25s ease;animation:processTitle var(--process-cycle) infinite ease-in-out}
.step p{font-size:.9rem;color:#566579;line-height:1.58;font-weight:500;max-width:245px;margin:0 auto}
.step:nth-child(2) .step-icon,.step:nth-child(2) .step-num,.step:nth-child(2) h3,.step:nth-child(2)::after{animation-delay:3.2s}
.step:nth-child(3) .step-icon,.step:nth-child(3) .step-num,.step:nth-child(3) h3,.step:nth-child(3)::after{animation-delay:6.4s}
.step:nth-child(4) .step-icon,.step:nth-child(4) .step-num,.step:nth-child(4) h3{animation-delay:9.6s}
.step:hover .step-icon{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 5px rgba(243,107,33,.16),0 20px 38px rgba(243,107,33,.24)}.step:hover .step-icon::before{opacity:1;border-color:rgba(243,107,33,.78);transform:scale(1.03)}.step:hover .step-icon::after{opacity:1;transform:scale(1.02)}
.step:hover h3{color:var(--orange)}
@keyframes processIcon{0%,21%{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 5px rgba(243,107,33,.16),0 20px 38px rgba(243,107,33,.24)}28%,100%{transform:translateY(0) scale(1);box-shadow:0 12px 24px rgba(26,77,143,.14)}}
@keyframes processHalo{0%{opacity:.15;border-color:rgba(243,107,33,0);transform:scale(.90)}8%,21%{opacity:1;border-color:rgba(243,107,33,.78);transform:scale(1.03)}28%,100%{opacity:0;border-color:rgba(243,107,33,0);transform:scale(1.14)}}
@keyframes processGlow{0%{opacity:0;transform:scale(.82)}8%,21%{opacity:1;transform:scale(1.02)}28%,100%{opacity:0;transform:scale(1.12)}}
@keyframes processNum{0%,21%{background:#0B1B31;color:#fff;transform:translateX(-76px) scale(1.08)}28%,100%{background:var(--orange);color:#fff;transform:translateX(-76px) scale(1)}}
@keyframes processTitle{0%,21%{color:var(--orange)}28%,100%{color:#0B1B31}}
@keyframes processLine{0%,21%{border-top-color:var(--orange);filter:drop-shadow(0 0 6px rgba(243,107,33,.45))}28%,100%{border-top-color:rgba(154,168,187,.72);filter:none}}
@media(max-width:1080px){.process{padding-top:56px;padding-bottom:54px}.steps{gap:22px}.step:not(:last-child)::after{display:none}.step{padding-inline:18px}.step p{max-width:320px}}
@media(max-width:760px){.process .section-head{text-align:left;margin-inline:0}.steps{margin-top:22px;gap:12px}.step{text-align:left;display:grid;grid-template-columns:76px 1fr;column-gap:16px;align-items:center;padding:18px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}.step-icon{width:72px;height:72px;margin:0;grid-row:1 / span 2}.step-icon img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;position:relative;z-index:3}.step-num{top:13px;left:58px;width:27px;height:27px;transform:none}.step h3{margin:0 0 4px}.step p{margin:0;max-width:none}.step:nth-child(2) .step-num,.step:nth-child(3) .step-num,.step:nth-child(4) .step-num{transform:none}@keyframes processNum{0%,21%{background:#0B1B31;color:#fff;transform:scale(1.08)}28%,100%{background:var(--orange);color:#fff;transform:scale(1)}}}
@media(prefers-reduced-motion:reduce){.step-icon,.step-icon::before,.step-icon::after,.step-num,.step h3,.step::after{animation:none!important}.step:first-child .step-icon{box-shadow:0 0 0 5px rgba(243,107,33,.16),0 20px 38px rgba(243,107,33,.24)}.step:first-child .step-icon::before{opacity:1;border-color:rgba(243,107,33,.78);transform:scale(1.03)}.step:first-child .step-icon::after{opacity:1;transform:scale(1.02)}}
/* WHY */
/* WHY GEOMAP — limpio, sin imágenes externas, iconos SVG centrados */
/* WHY GEOMAP — versión premium con iconos imagen fondo azul + borde naranja */
/* WHY GEOMAP — iconos premium con trazos más gruesos */
/* WHY GEOMAP */
.why{background:linear-gradient(180deg,#041E3D 0%,#061426 100%);color:#fff;padding:76px 0 78px;position:relative;overflow:hidden}
.why::before{content:"";position:absolute;inset:-26% -10% auto -10%;height:58%;background:radial-gradient(circle at 50% 0%,rgba(31,78,163,.22),transparent 58%),radial-gradient(circle at 78% 16%,rgba(243,107,33,.08),transparent 42%);pointer-events:none}
.why .container{position:relative;z-index:1}
.why .section-head{text-align:center;max-width:980px;margin:0 auto 40px}
.why .section-head .kicker{color:var(--orange);margin-bottom:10px}
.why .section-title{color:var(--orange);font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.045em;font-weight:800;text-shadow:0 8px 24px rgba(0,0,0,.18)}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 28px}
.why-item{min-height:178px;display:flex;align-items:flex-start;gap:18px;padding:22px 20px;border:1px solid rgba(255,255,255,.09);border-radius:23px;background:rgba(255,255,255,.026);box-shadow:0 18px 42px rgba(0,0,0,.11);transition:transform .26s ease,background .26s ease,border-color .26s ease,box-shadow .26s ease}
.why-item:hover{transform:translateY(-5px);background:rgba(255,255,255,.048);border-color:rgba(243,107,33,.42);box-shadow:0 26px 60px rgba(0,0,0,.18)}
.why-icon{flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;border:1.4px solid rgba(243,107,33,.78);border-radius:16px;background:#041B33;position:relative;isolation:isolate;box-shadow:0 12px 24px rgba(0,0,0,.14);transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease}
.why-icon::before{content:"";position:absolute;inset:-7px;border-radius:21px;background:radial-gradient(circle,rgba(243,107,33,.22),rgba(243,107,33,.07) 45%,transparent 70%);opacity:0;transform:scale(.82);transition:opacity .26s ease,transform .26s ease;z-index:-1}
.why-icon img{width:38px;height:38px;display:block;object-fit:contain;transition:transform .26s ease,filter .26s ease}
.why-item:hover .why-icon{transform:scale(1.04);border-color:rgba(243,107,33,.95);box-shadow:0 18px 34px rgba(243,107,33,.12)}
.why-item:hover .why-icon::before{opacity:1;transform:scale(1)}
.why-item:hover .why-icon img{transform:scale(1.06);filter:drop-shadow(0 0 8px rgba(243,107,33,.25))}
.why-item strong{display:block;font-family:'Plus Jakarta Sans','Inter',sans-serif;color:#fff;font-size:1.02rem;line-height:1.22;font-weight:800;margin-bottom:8px;letter-spacing:-.025em}
.why-item span:not(.why-icon){display:block;color:rgba(255,255,255,.84);font-size:.92rem;line-height:1.58;font-weight:500}
@media(max-width:1080px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-item{min-height:auto}}
@media(max-width:760px){.why{padding:60px 0 62px}.why .section-head{text-align:left;margin-bottom:24px}.why-grid{grid-template-columns:1fr;gap:14px}.why-item{padding:18px 16px;border-radius:20px;gap:14px}.why-icon{flex-basis:54px;width:54px;height:54px;border-radius:15px}.why-icon img{width:35px;height:35px}.why-item strong{font-size:1rem}.why-item span:not(.why-icon){font-size:.92rem;line-height:1.58}}
@media(prefers-reduced-motion:reduce){.why-item,.why-icon,.why-icon::before,.why-icon img{transition:none!important}.why-item:hover,.why-item:hover .why-icon,.why-item:hover .why-icon img{transform:none!important}}
/* CTA FINAL */
.final-cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 20%,rgba(31,78,163,.34),transparent 34%),
    radial-gradient(circle at 86% 40%,rgba(245,127,23,.13),transparent 30%),
    linear-gradient(135deg,#041E3D 0%,#0B315E 56%,#061426 100%);
  color:#fff;
  padding:40px 0;
}
.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:34px 34px;
  opacity:.34;
  pointer-events:none;
}
.final-cta-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:22px;
  align-items:center;
}
.cta-icon{
  width:62px;
  height:62px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 38px rgba(0,0,0,.18);
}
.cta-icon svg{
  width:37px;
  height:37px;
  fill:#fff;
}
.final-cta h2{
  margin:0 0 6px;
  font-family:'Plus Jakarta Sans','Inter',sans-serif;
  font-size:clamp(1.35rem,2.4vw,1.9rem);
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.04em;
}
.final-cta p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.98rem;
  line-height:1.55;
  font-weight:500;
}
.final-cta .btn{
  min-width:238px;
  min-height:46px;
  padding:0 22px;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  box-shadow:0 15px 30px rgba(245,127,23,.28);
}
.final-cta .btn:hover{
  background:#ff8a1f;
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(245,127,23,.34);
}

@media(max-width:1080px){.nav-links,.nav-cta{display:none}.hamb{display:flex}.hero{min-height:0;}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-panel{justify-self:start;max-width:520px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(even){border-right:0}.services-grid,.needs-grid,.cors-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.step::after{display:none}.final-cta-inner{grid-template-columns:1fr;text-align:center}.cta-icon{margin:auto}}
@media(max-width:760px){.nav-inner{height:72px}.brand img{height:48px}.hero::before{background-position:65% center}.hero h1{font-size:2.25rem}.hero-actions,.needs-list,.feature-list{grid-template-columns:1fr;flex-direction:column}.hero-actions .btn,.final-cta .btn{width:100%}.trust-grid,.services-grid,.steps,.why-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.section{padding:56px 0}.photo-stack{grid-template-columns:1fr}.photo-card,.photo-card.tall{min-height:340px}.cors-image{min-height:380px}}
@media(max-width:420px){.container,.hero-copy{padding-top:12px}.service-card{padding:22px}}
/* ====== Refinamientos v2 ====== */
/* Hero image enhancement */
/* filter merged into ::before */

.hero{min-height:0;}
/* hero::before image handled above */
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(min-content,.85fr);gap:48px;align-items:center;}
.hero-copy p{max-width:480px;}
.hero-panel{border-radius:20px;padding:22px 22px 16px;background:rgba(255,255,255,.08);z-index:1;position:relative;}
.services-grid{gap:20px;}
.service-card{min-height:286px;}
.service-card p{font-size:.95rem;}
.needs-grid,.cors-grid{gap:48px;align-items:center;}
.photo-stack{grid-template-columns:1.03fr .97fr;gap:18px;}
.photo-card{min-height:280px;border:1px solid rgba(15,23,42,.08);}
.photo-card.tall{min-height:620px;}
.photo-card.small{min-height:300px;}
.photo-card img,.cors-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:contrast(1.08) saturate(1.04);transition:transform .35s ease;}
.photo-card:hover img,.cors-image:hover img{transform:scale(1.03);}
.photo-badge{position:absolute;left:16px;top:16px;z-index:2;padding:8px 12px;border-radius:999px;background:rgba(4,30,61,.82);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(6px);}
.cors-image{min-height:580px;border-radius:28px;}

@media (max-width:1100px){
  .hero-grid,.needs-grid,.cors-grid{grid-template-columns:1fr;}
  .hero-panel{justify-self:start;max-width:520px;}
  
}
@media (max-width:780px){
  .services-grid{grid-template-columns:1fr;}
  .photo-stack{grid-template-columns:1fr;}
  .photo-card.tall,.photo-card.small,.cors-image{min-height:340px;}
  
  .hero{min-height:0;}
  .hero::after{background:linear-gradient(to bottom,rgba(4,30,61,.92) 0%,rgba(4,30,61,.65) 45%,rgba(4,30,61,.85) 80%,#041E3D 100%);}
  .hero-grid{padding:20px 0 14px;}
}
/* DIAGNÓSTICO RÁPIDO · V17 compacta */
.needs-v17{
  padding:58px 0;
  background:linear-gradient(90deg,#F6F9FE 0%,#FFFFFF 54%,#F4F8FE 100%);
}
.needs-layout-v17{
  display:grid;
  grid-template-columns:minmax(430px,1.08fr) minmax(210px,300px) minmax(260px,330px);
  gap:28px;
  align-items:center;
}
.needs-copy-v17 .section-title{max-width:620px}
.needs-copy-v17 .muted{max-width:640px;margin-top:8px}
.needs-list-v17{margin-top:22px;grid-template-columns:1fr 1fr;gap:12px 14px}
.needs-list-v17 .need-pill{
  height:48px;border-radius:13px;padding:0 18px;
  box-shadow:0 10px 26px rgba(15,23,42,.055);
}
.needs-photo-v17{
  position:relative;overflow:hidden;margin:0;
  aspect-ratio:1/1;border-radius:22px;
  background:#E8EEF7;
  border:1px solid rgba(12,31,58,.10);
  box-shadow:0 24px 54px rgba(7,20,38,.13);
}
.needs-photo-v17::after{
  content:"Trabajo real GeoMap";
  position:absolute;left:14px;top:14px;z-index:2;
  padding:8px 13px;border-radius:999px;
  background:rgba(6,20,38,.88);color:#fff;
  font-size:.78rem;font-weight:900;letter-spacing:-.02em;
  backdrop-filter:blur(8px);
}
.needs-photo-v17 img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transform:scale(1.02);
}
.needs-cta-v17{
  min-height:260px;padding:28px 26px;
  border-radius:22px;color:#fff;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  background:
    radial-gradient(circle at 18% 10%,rgba(243,107,33,.30),transparent 24%),
    linear-gradient(145deg,#061426 0%,#08284C 56%,#041E3D 100%);
  box-shadow:0 26px 58px rgba(7,20,38,.20);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;position:relative;
}
.needs-cta-v17::after{
  content:"";position:absolute;right:-48px;bottom:-58px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.10),transparent 62%);
}
.cta-icons-v17{display:flex;align-items:center;gap:10px;margin-bottom:16px;position:relative;z-index:1}
.cta-icon-v17{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  background:rgba(243,107,33,.12);border:1px solid rgba(243,107,33,.38);
}
.cta-icon-v17 svg,.cta-wa-v17 svg{
  fill:none;stroke:#fff;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;
}
.cta-icon-v17 svg{width:40px;height:31px}
.needs-cta-v17 h3{
  max-width:270px;font-family:'Plus Jakarta Sans','Inter',sans-serif;
  font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.08;letter-spacing:-.04em;font-weight:800;
  margin-bottom:10px;position:relative;z-index:1;
}
.needs-cta-v17 p{
  max-width:280px;color:rgba(255,255,255,.86);line-height:1.5;font-weight:600;margin-bottom:18px;position:relative;z-index:1;
}
.cta-wa-v17{height:48px;padding:0 16px;font-size:.88rem;position:relative;z-index:1}
.cta-wa-v17 svg{width:20px;height:20px;stroke-width:3.4}

@media(max-width:1180px){
  .needs-layout-v17{grid-template-columns:1fr 290px;gap:24px}
  .needs-cta-v17{grid-column:2;grid-row:2;margin-top:-8px;min-height:230px}
  .needs-copy-v17{grid-row:1 / span 2}
}
@media(max-width:880px){
  .needs-layout-v17{grid-template-columns:1fr;gap:22px}
  .needs-copy-v17,.needs-cta-v17{grid-column:auto;grid-row:auto}
  .needs-photo-v17{max-width:420px;width:100%;margin-inline:auto}
  .needs-cta-v17{max-width:420px;width:100%;margin:0 auto;align-items:center;text-align:center}
  .needs-cta-v17 h3,.needs-cta-v17 p{max-width:330px}
}
@media(max-width:620px){
  .needs-v17{padding:50px 0}
  .needs-list-v17{grid-template-columns:1fr}
  .needs-list-v17 .need-pill{min-height:48px;height:auto;padding:12px 16px;align-items:center}
  .needs-photo-v17{border-radius:18px}
  .needs-cta-v17{border-radius:18px;padding:24px 20px}
}
/* ====== Ajuste final sección CORS v20: cuadros compactos + CTA más abajo ====== */
.cors-section{padding:62px 0;}
.cors-grid{grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:38px;align-items:center;}
.cors-image{min-height:auto !important;aspect-ratio:1 / 1;max-width:420px;width:100%;justify-self:center;border-radius:24px;box-shadow:0 22px 52px rgba(0,0,0,.24);}
.cors-image img{height:100%;object-position:center center;}
.cors-copy .section-title{max-width:680px;}
.feature-list{margin:24px 0 22px;gap:14px;}
.feature{padding:13px 16px;min-height:88px;align-items:flex-start;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;}
.feature:hover{transform:translateY(-3px);border-color:rgba(243,107,33,.55);background:linear-gradient(135deg,rgba(243,107,33,.16),rgba(255,255,255,.07));box-shadow:0 16px 30px rgba(0,0,0,.16);}
.feature > .check{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;margin-top:0;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.9rem;font-weight:900;line-height:1;}
.feature:hover > .check{background:rgba(243,107,33,.22);border-color:rgba(243,107,33,.45);color:#fff;}
.feature strong{font-size:.98rem;margin-bottom:2px;line-height:1.2;}
.feature div span{display:block;color:rgba(255,255,255,.75);font-size:.88rem;line-height:1.42;}
.cors-copy .cors-cta{min-width:300px;padding-inline:24px;position:relative;top:14px;box-shadow:0 16px 34px rgba(34,160,69,.30);}
.cors-copy .cors-cta:hover{box-shadow:0 20px 42px rgba(34,160,69,.36);}
@media(max-width:1080px){
  .cors-section{padding:56px 0 64px;}
  .cors-grid{grid-template-columns:1fr;gap:28px;}
  .cors-image{max-width:440px;}
}
@media(max-width:760px){
  .cors-image{aspect-ratio:4 / 5;max-width:100%;}
  .feature-list{margin:22px 0 20px;}
  .feature{min-height:auto;padding:13px 15px;}
  .cors-copy .section-title br{display:none;}
  .cors-copy .cors-cta{width:100%;min-width:0;white-space:normal;min-height:56px;line-height:1.18;text-align:center;top:8px;}
}
/* ===== HERO MÓVIL OPTIMIZADO v36 ===== */
.hero-mobile-media{display:none}

@media(max-width:760px){
  .hero{
    min-height:auto;
    margin-top:72px;
    background:#041E3D;
  }

  .hero::before{
    display:none;
  }

  .hero::after{
    background:
      radial-gradient(circle at 80% 18%,rgba(31,78,163,.22),transparent 34%),
      linear-gradient(180deg,#041E3D 0%,#061426 100%);
  }

  .hero-body{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:24px 0 8px;
  }

  .hero-body>.kicker{
    margin-bottom:12px;
    font-size:.78rem;
    letter-spacing:.18em;
  }

  .hero h1{
    font-size:clamp(2.25rem,10.5vw,3rem);
    line-height:.98;
    letter-spacing:-.055em;
    margin-bottom:18px;
  }

  .hero-desc{
    font-size:1rem;
    line-height:1.62;
    margin-bottom:18px;
    color:rgba(255,255,255,.88);
  }

  .hero-mobile-media{
    display:block;
    width:min(100%,360px);
    aspect-ratio:1/1;
    margin:4px auto 18px;
    border-radius:26px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 22px 48px rgba(0,0,0,.26);
    background:#08284C;
  }

  .hero-mobile-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center center;
    filter:contrast(1.08) saturate(1.04) brightness(.92);
  }

  .hero-actions{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    margin-top:0;
  }

  .hero-actions .btn{
    width:min(100%,330px);
    height:48px;
    min-height:48px;
    border-radius:13px;
    padding:0 18px;
    font-size:.92rem;
    justify-content:center;
  }

  .hero-actions .btn svg{
    width:18px;
    height:18px;
  }

  .trust-strip{
    margin-top:0;
  }
}

@media(max-width:420px){
  .hero-body{
    padding:34px 0 26px;
  }

  .hero h1{
    font-size:clamp(2.05rem,10vw,2.55rem);
  }

  .hero-desc{
    font-size:.97rem;
    line-height:1.6;
  }

  .hero-mobile-media{
    width:min(100%,330px);
    border-radius:22px;
    margin-bottom:16px;
  }

  .hero-actions .btn{
    width:100%;
    height:46px;
    min-height:46px;
    font-size:.9rem;
  }
}

/* ===== TIPOGRAFÍA ESTANDARIZADA ===== */
@media(max-width:760px){
  .section-title,
  .process .section-title,
  .why .section-title,
  .geomap-field-title{
    font-size:clamp(1.75rem,8vw,2.15rem);
    line-height:1.08;
    letter-spacing:-.045em;
  }
}
/* CTA FINAL MÓVIL */
@media(max-width:760px){
  .final-cta{
    padding:34px 0 36px;
  }
  .final-cta-inner{
    grid-template-columns:1fr;
    gap:14px;
    text-align:center;
  }
  .final-cta .cta-icon{
    width:54px;
    height:54px;
    margin:0 auto 2px;
    border-radius:18px;
  }
  .final-cta .cta-icon svg{
    width:31px;
    height:31px;
  }
  .final-cta h2{
    font-size:clamp(1.35rem,7vw,1.75rem);
    line-height:1.12;
  }
  .final-cta p{
    max-width:330px;
    margin:0 auto;
    font-size:.94rem;
    line-height:1.55;
  }
  .final-cta .btn{
    width:min(100%,330px);
    min-width:0;
    min-height:46px;
    margin:4px auto 0;
    font-size:.92rem;
  }
}

/* ===== SERVICIOS: ACTIVO POR SCROLL MÓVIL ===== */
@media(max-width:760px){
  .service-card.is-scroll-active{
    transform:translateY(-5px);
    border-color:rgba(243,107,33,.34);
    box-shadow:0 22px 48px rgba(15,23,42,.12);
  }

  .service-card.is-scroll-active::after{
    transform:scale(1.12);
    opacity:.9;
  }

  .service-card.is-scroll-active .icon-box{
    background:linear-gradient(135deg,var(--orange),#ff7b2b);
    border-color:transparent;
    box-shadow:0 18px 36px rgba(243,107,33,.32);
    transform:translateY(-2px);
  }

  .service-card.is-scroll-active .icon-box svg{
    stroke:#fff;
    transform:scale(1.08);
  }

  .service-card.is-scroll-active .icon-box .service-icon-img{
    transform:scale(1.08);
    filter:brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0,0,0,.12));
  }
}

  .geomap-field-services{
    --field-navy:#1A4D8F;
    --field-deep:#061426;
    --field-orange:#F57F17;
    --field-white:#FFFFFF;
    --field-soft:#F6F8FB;
    --field-text:#132033;
    --field-muted:#5E6B7A;
    background:linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
    padding:76px 20px 84px;
    font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }

  .geomap-field-services *{box-sizing:border-box}

  .geomap-field-wrap{
    width:min(1200px,100%);
    margin:0 auto;
  }

  .geomap-field-head{
    max-width:860px;
    margin:0 auto 48px;
    text-align:center;
  }

  .geomap-field-kicker{
    display:inline-block;
    margin-bottom:10px;
    color:var(--field-orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .geomap-field-title{
    margin:0;
    color:var(--field-navy);
    font-family:'Plus Jakarta Sans','Inter',sans-serif;
    font-size:clamp(1.8rem,3vw,2.65rem);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.045em;
  }

  .geomap-field-line{
    width:64px;
    height:4px;
    margin:18px auto 0;
    border-radius:999px;
    background:var(--field-orange);
  }

  .geomap-field-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
  }

  .geomap-field-card{
    overflow:hidden;
    border:1px solid rgba(26,77,143,.10);
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 34px rgba(10,26,48,.10);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  }

  .geomap-field-card:hover{
    transform:translateY(-5px);
    border-color:rgba(245,127,23,.24);
    box-shadow:0 24px 48px rgba(10,26,48,.14);
  }

  .geomap-field-media{
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#061426;
  }

  .geomap-field-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:scale(1.01);
    transition:transform .42s ease,filter .42s ease;
  }

  .geomap-field-card:hover .geomap-field-media img{
    transform:scale(1.055);
    filter:saturate(1.05) contrast(1.03);
  }

  .geomap-field-badge{
    position:absolute;
    top:14px;
    left:14px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:5px 13px;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:var(--field-navy);
    font-size:12px;
    line-height:1;
    font-weight:800;
    box-shadow:0 8px 20px rgba(0,0,0,.14);
    backdrop-filter:blur(8px);
  }

  .geomap-field-info{
    min-height:150px;
    padding:20px 20px 22px;
    border-top:3px solid var(--field-orange);
  }

  .geomap-field-info h3{
    margin:0 0 9px;
    color:#0B1B31;
    font-family:'Plus Jakarta Sans','Inter',sans-serif;
    font-size:1.05rem;
    line-height:1.22;
    font-weight:800;
    letter-spacing:-.025em;
  }

  .geomap-field-info p{
    margin:0;
    color:var(--field-muted);
    font-size:.92rem;
    line-height:1.58;
    font-weight:500;
  }

  .geomap-field-cta{
    max-width:760px;
    margin:38px auto 0;
    padding:28px 26px;
    border:1px solid rgba(26,77,143,.10);
    border-radius:22px;
    background:#fff;
    text-align:center;
    box-shadow:0 18px 42px rgba(10,26,48,.10);
  }

  .geomap-field-cta h3{
    margin:0 0 9px;
    color:var(--field-navy);
    font-family:'Plus Jakarta Sans','Inter',sans-serif;
    font-size:clamp(1.35rem,2.4vw,1.9rem);
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.04em;
  }

  .geomap-field-cta p{
    max-width:580px;
    margin:0 auto 18px;
    color:var(--field-muted);
    font-size:.95rem;
    line-height:1.65;
    font-weight:500;
  }

  .geomap-field-cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:12px 22px;
    border-radius:999px;
    background:var(--field-orange);
    color:#fff;
    font-size:14px;
    line-height:1;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 14px 28px rgba(245,127,23,.28);
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
  }

  .geomap-field-cta a:hover{
    transform:translateY(-2px);
    background:#ff8a1f;
    box-shadow:0 18px 34px rgba(245,127,23,.34);
  }

  @media(max-width:768px){
    .geomap-field-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  @media(max-width:480px){
    .geomap-field-services{
      padding:62px 16px 68px;
    }

    .geomap-field-head{
      margin-bottom:30px;
      text-align:left;
    }

    .geomap-field-line{
      margin-left:0;
    }

    .geomap-field-grid{
      grid-template-columns:1fr;
      gap:18px;
    }

    .geomap-field-card{
      border-radius:16px;
    }

    .geomap-field-info{
      min-height:auto;
      padding:18px 18px 20px;
    }

    .geomap-field-info h3{
      font-size:1.02rem;
    }

    .geomap-field-info p{
      font-size:.92rem;
      line-height:1.56;
    }

    .geomap-field-cta{
      margin-top:30px;
      padding:24px 20px;
      text-align:left;
    }
  }

/* ── Toque persistente en móvil para tarjetas de servicios ── */
.service-card.is-touched .icon-box{
  background:linear-gradient(135deg,var(--orange),#ff7b2b);
  border-color:transparent;
  box-shadow:0 18px 36px rgba(243,107,33,.32);
}
.service-card.is-touched .icon-box svg{stroke:#fff;transform:scale(1.08)}
.service-card.is-touched .icon-box .service-icon-img{
  transform:scale(1.08);
  filter:brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0,0,0,.12));
}

/* ── Hero Servicios móvil: espacio mínimo arriba y abajo (definitivo) ── */
@media (max-width:760px){
  .hero{
    min-height:0 !important;
    height:auto !important;
    display:block !important;
    padding-top:76px !important;
    padding-bottom:0 !important;
    justify-content:flex-start !important;
  }
  /* Ocultar la imagen de fondo y degradado del hero en móvil: fondo azul liso */
  .hero::before{display:none !important}
  .hero::after{display:none !important}
  .hero-grid{padding:0 !important;min-height:0 !important;height:auto !important}
  .hero-body{padding:14px 0 18px !important;min-height:0 !important;height:auto !important}
}
