@font-face{font-family:Sora;src:url(../fonts/Sora-400.ttf);font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url(../fonts/Sora-700.ttf);font-weight:700;font-display:swap}
:root{--navy:#14213D;--navy2:#1C2C50;--cian:#00B4D8;--nar:#FF8C00;--tinta:#2B2D33;--gris:#5A6273;--linea:#DDE2EA;--hueso:#F4F6F9;--max:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:Sora,system-ui,sans-serif;color:var(--tinta);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--cian);outline-offset:3px;border-radius:4px}
.w{max-width:var(--max);margin:0 auto;padding:0 40px}
h1,h2,h3{color:var(--navy);line-height:1.12;letter-spacing:-.02em}
h2{font-size:clamp(30px,3.6vw,46px);max-width:16em}
h3{font-size:20px;letter-spacing:-.01em}
.lead{font-size:18px;color:var(--gris);max-width:34em}
section{padding:112px 0}
/* linea con conectores: el recurso que identifica a la marca */
.cx{display:flex;align-items:center;height:12px}
.cx i{width:12px;height:12px;border-radius:50%;background:var(--cian);flex:none}
.cx i:last-child{background:var(--nar)}
.cx span{flex:1;height:2px;background:var(--navy)}
.cx.claro span{background:#fff}
/* botones */
.btn{display:inline-flex;align-items:center;gap:10px;font:700 15px Sora;border-radius:999px;padding:15px 26px;text-decoration:none;border:0;cursor:pointer;transition:background .15s,color .15s}
.btn.pri{background:var(--navy);color:#fff}
.btn.pri::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--nar)}
.btn.pri:hover{background:#0B1630}
.btn.sec{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px #C6CEDB}
.btn.sec:hover{box-shadow:inset 0 0 0 1.5px var(--navy)}
.btn.wa{background:#fff;color:var(--navy)}
/* cabecera */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
header .w{display:flex;align-items:center;justify-content:space-between;height:76px}
header .logo img{height:32px;width:auto}
nav ul{display:flex;gap:30px;list-style:none;font-size:14.5px}
nav a{text-decoration:none;color:var(--navy)}
nav a:hover{color:var(--cian)}
header .btn{padding:11px 20px;font-size:14px}
.menu{display:none}
/* hero */
.hero{padding:64px 0 40px}
.hero .w{display:grid;grid-template-columns:1fr 1.02fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,5vw,66px);letter-spacing:-.035em;line-height:1.04}
.hero h1 span{display:block;color:var(--cian)}
.hero .lead{margin:24px 0 30px}
.pregunta{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{font:400 14px Sora;padding:9px 15px 9px 13px;border-radius:999px;border:1.5px solid #C6CEDB;background:#fff;color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid #9AA6B9;transition:all .15s}
.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.chip[aria-pressed=true]::before{background:var(--cian);border-color:var(--cian)}
.acciones{display:flex;gap:12px;flex-wrap:wrap}
.garantias{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-size:13.5px;color:var(--gris);list-style:none}
.garantias li{display:flex;align-items:center;gap:8px}
.garantias li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cian)}
.panel{background:var(--navy);border-radius:28px;padding:22px 18px 18px;position:relative;overflow:hidden}
.red{width:100%;height:auto;display:block}
.red .enlace{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;opacity:.95;transition:stroke-dashoffset .7s cubic-bezier(.6,0,.2,1)}
.red .enlace.on{stroke-dashoffset:0}
.red .nodo rect{fill:transparent;stroke:#3C4C70;stroke-width:1.5;stroke-dasharray:4 4;transition:all .3s}
.red .nodo text{font:400 14px Sora;fill:#8E9AB3;transition:fill .3s}
.red .nodo .punto{fill:#3C4C70;transition:fill .3s}
.red .nodo.on rect{fill:#fff;stroke:#fff;stroke-dasharray:none}
.red .nodo.on text{fill:var(--navy)}
.red .nodo.on .punto{fill:var(--cian)}
.red .hub{fill:var(--navy2);stroke:#fff;stroke-width:2}
.red .halo{fill:var(--nar);opacity:0;transform-origin:300px 240px}
.red.vivo .halo{animation:latido 2.4s ease-out infinite}
@keyframes latido{0%{opacity:.45;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.7)}}
.resumen{color:#C9D2E3;font-size:14px;padding:6px 10px 2px;min-height:48px}
.resumen b{color:#fff;font-weight:700}
.resumen a{color:var(--cian);text-decoration:none;white-space:nowrap}
/* para quien */
.quien .cab{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:52px}
.perfiles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.perfil img{aspect-ratio:4/3;object-fit:cover;border-radius:18px;width:100%}
.perfil .et{font-size:13px;color:var(--cian);margin:18px 0 6px;font-weight:700}
.perfil p{color:var(--gris);font-size:15.5px;margin-top:8px}
/* servicios */
.servicios{background:var(--hueso)}
.servicios .cab{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:40px}
.serv{display:grid;grid-template-columns:150px 1fr 1fr;gap:40px;padding:34px 0;border-top:1px solid var(--linea);align-items:start}
.serv:last-of-type{border-bottom:1px solid var(--linea)}
.serv .cod{font-size:30px;font-weight:700;color:var(--navy);letter-spacing:-.02em;line-height:1}
.serv .cod small{display:block;font-size:12.5px;font-weight:400;color:var(--gris);letter-spacing:0;margin-top:8px}
.serv p{color:var(--gris);margin-top:8px}
.serv ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-content:start}
.serv li{font-size:13.5px;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:6px 13px;color:var(--navy)}
.plat{margin-top:64px;display:grid;grid-template-columns:1fr 2fr;gap:56px}
.plat dl{display:grid;grid-template-columns:190px 1fr;gap:14px 24px;font-size:15px}
.plat dt{font-weight:700;color:var(--navy)}
.plat dd{color:var(--gris)}
.plat .nota{font-size:13px;color:var(--gris);margin-top:20px}
.plat .nota a{color:var(--navy)}
/* senales */
.senales .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;border-top:2px solid var(--navy)}
.senal{padding:30px 32px 34px 0;border-bottom:1px solid var(--linea)}
.senal:nth-child(3n+2),.senal:nth-child(3n+3){padding-left:32px;border-left:1px solid var(--linea)}
.senal h3{font-size:18.5px;margin-bottom:10px}
.senal p{color:var(--gris);font-size:15px}
.senales .pie{margin-top:34px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.senales .pie p{font-size:17px;color:var(--navy)}
/* metodo */
.metodo{background:var(--navy);color:#fff}
.metodo h2{color:#fff}
.metodo .lead{color:#B9C2D3}
.pasos{margin-top:64px;position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.pasos::before{content:"";position:absolute;left:8px;right:8px;top:8px;height:2px;background:#3C4C70}
.paso{position:relative;padding-top:40px}
.paso::before{content:"";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--cian);box-shadow:0 0 0 6px var(--navy)}
.paso:nth-child(2)::before{background:#fff}
.paso:nth-child(3)::before{background:var(--nar)}
.paso .plazo{font-size:13.5px;color:var(--cian);font-weight:700}
.paso:nth-child(3) .plazo{color:var(--nar)}
.paso:nth-child(2) .plazo{color:#fff}
.paso h3{color:#fff;font-size:24px;margin:6px 0 12px}
.paso p{color:#B9C2D3}
/* calculadora */
.calc .w{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:start}
.calc table{width:100%;border-collapse:collapse;margin-top:34px;font-size:15px}
.calc th{text-align:left;font-size:13px;color:var(--gris);font-weight:400;padding:0 8px 10px 0;border-bottom:2px solid var(--navy)}
.calc td{padding:11px 8px 11px 0;border-bottom:1px solid var(--linea)}
.calc td:first-child{width:60%}
.calc label{display:flex;gap:10px;align-items:center;cursor:pointer}
.calc input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy)}
.calc input[type=number]{width:78px;font:400 15px Sora;padding:7px 10px;border:1.5px solid #C6CEDB;border-radius:10px;color:var(--navy)}
.calc tr.off td:not(:first-child) input{opacity:.35}
.costo{margin-top:22px;display:flex;gap:14px;align-items:center;font-size:15px;flex-wrap:wrap}
.costo input{width:150px!important}
.resultado{background:var(--navy);color:#fff;border-radius:28px;padding:38px 36px;position:sticky;top:104px}
.resultado .t{font-size:14px;color:#B9C2D3}
.resultado .big{font-size:84px;font-weight:700;line-height:1;margin:10px 0 4px;letter-spacing:-.04em}
.resultado .big small{font-size:22px;letter-spacing:0;font-weight:400;margin-left:8px;color:#B9C2D3}
.resultado dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:26px 0;font-size:15px;border-top:1px solid #34446A;padding-top:22px}
.resultado dt{color:#B9C2D3}
.resultado dd{text-align:right;font-weight:700}
.resultado .plata{color:var(--nar)}
.resultado .nota{font-size:13px;color:#B9C2D3;margin-bottom:24px}
/* caso tipo */
.caso{background:var(--hueso)}
.lineas{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:52px}
.linea{background:#fff;border-radius:24px;padding:34px 34px 30px}
.linea.auto{background:var(--navy);color:#fff}
.linea h3{font-size:21px}
.linea.auto h3{color:#fff}
.linea .meta{font-size:14px;color:var(--gris);margin:4px 0 22px}
.linea.auto .meta{color:var(--cian)}
.linea ol{list-style:none;position:relative}
.linea li{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:10px 0;position:relative;font-size:15.5px}
.linea li b{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.linea.auto li b{color:var(--cian)}
.linea.auto li:last-child b{color:var(--nar)}
.caso .nota{margin-top:22px;font-size:15px;color:var(--navy)}
.caso .ref{font-size:13px;color:var(--gris);margin-top:6px}
/* diseno */
.diseno .cab{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end}
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:16px;margin-top:52px}
.galeria figure{position:relative;overflow:hidden;border-radius:18px;background:var(--hueso)}
.galeria figure.g2{grid-column:span 2;grid-row:span 2}
.galeria figure.der{grid-column:3/5}
.galeria img{width:100%;height:100%;object-fit:cover}
.galeria figcaption{position:absolute;left:12px;bottom:12px;background:rgba(20,33,61,.86);color:#fff;font-size:12.5px;padding:5px 11px;border-radius:999px}
.diseno .lista{list-style:none;display:grid;gap:12px;color:var(--gris);font-size:15.5px}
.diseno .lista li{display:grid;grid-template-columns:16px 1fr;gap:10px}
.diseno .lista li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cian);margin-top:9px}
.diseno .ref{font-size:13px;color:var(--gris);margin-top:16px}
/* nosotros */
.nosotros .w{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}
.sigla{display:grid;gap:18px;margin-top:36px}
.sigla div{display:grid;grid-template-columns:110px 1fr;align-items:baseline;gap:14px;border-top:1px solid var(--linea);padding-top:16px}
.sigla b{font-size:30px;color:var(--navy);letter-spacing:-.02em}
.sigla div:nth-child(2) b{color:var(--cian)}
.sigla div:nth-child(3) b{color:var(--nar)}
.sigla span{color:var(--gris)}
.anos{display:flex;align-items:center;gap:20px;margin-bottom:34px}
.anos b{font-size:96px;line-height:1;color:var(--navy);letter-spacing:-.05em}
.anos span{color:var(--gris);max-width:15em;font-size:17px}
.valores{display:grid;gap:26px}
.valores h3{font-size:18px;margin-bottom:6px}
.valores p{color:var(--gris)}
/* faq */
.faq{background:var(--hueso)}
.faq .w{display:grid;grid-template-columns:1fr 1.6fr;gap:64px}
details{border-bottom:1px solid var(--linea);padding:20px 0}
details:first-child{border-top:2px solid var(--navy)}
summary{list-style:none;cursor:pointer;font-weight:700;color:var(--navy);font-size:17px;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--cian);flex:none;margin-top:6px;transition:background .2s}
details[open] summary::after{background:var(--nar);border-color:var(--nar)}
details p{color:var(--gris);margin-top:12px;max-width:40em}
/* contacto */
.contacto{background:var(--navy);color:#fff}
.contacto .w{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
.contacto h2{color:#fff}
.contacto .lead{color:#B9C2D3;margin:18px 0 34px}
.despues{list-style:none;counter-reset:p;display:grid;gap:18px;margin-bottom:36px}
.despues li{counter-increment:p;display:grid;grid-template-columns:34px 1fr;gap:12px;color:#D5DCE8}
.despues li::before{content:counter(p);width:30px;height:30px;border-radius:50%;border:1.5px solid var(--cian);color:var(--cian);display:grid;place-items:center;font-size:13px;font-weight:700}
.despues li:last-child::before{border-color:var(--nar);color:var(--nar)}
.datos{display:grid;gap:6px;font-size:15px;color:#D5DCE8}
.datos a{color:#fff;text-decoration:none}
.datos a:hover{color:var(--cian)}
form{background:#fff;color:var(--tinta);border-radius:28px;padding:36px}
form .fila{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form label{display:grid;gap:6px;font-size:13.5px;color:var(--navy);font-weight:700;margin-bottom:16px}
form input,form textarea{font:400 15px Sora;padding:13px 14px;border:1.5px solid #C6CEDB;border-radius:12px;color:var(--tinta);width:100%}
form input:focus,form textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(0,180,216,.25)}
form textarea{min-height:120px;resize:vertical}
form .btn{width:100%;justify-content:center;margin-top:4px}
form .nota-form{font-size:13px;color:var(--gris);text-align:center;margin-top:10px}
form .ok a{color:var(--navy)}
form .ok{display:none;margin-top:14px;font-size:14px;color:var(--navy)}
/* pie */
footer{background:#0E1830;color:#AEB8CC;padding:56px 0 40px;font-size:14px}
footer .w{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
footer svg{width:190px;height:auto}
footer .firma{margin-top:16px;color:#fff}
footer .firma b{color:var(--nar);font-weight:400}
footer h4{color:#fff;font-size:14px;margin-bottom:12px}
footer ul{list-style:none;display:grid;gap:8px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
footer .cx{grid-column:1/-1;margin-top:20px}
footer .cx span{background:#2A3858}
footer .legal{grid-column:1/-1;font-size:12.5px;color:#7F8AA3}
/* movil */
@media (max-width:960px){
 .w{padding:0 22px} section{padding:76px 0}
 nav ul,header .btn{display:none}
 .menu{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1.5px solid #C6CEDB;background:#fff}
 header.abierto nav ul{display:grid;position:absolute;left:0;right:0;top:66px;background:#fff;padding:12px 22px 22px;gap:4px;border-bottom:1px solid var(--linea);font-size:17px}
 header.abierto nav a{display:block;padding:10px 0}
 .red .nodo text{font-size:21px}
 .anos{flex-wrap:wrap} .anos b{font-size:80px}
 .menu span{width:16px;height:2px;background:var(--navy);box-shadow:0 5px 0 var(--navy),0 -5px 0 var(--navy)}
 header .w{height:66px} header .logo img{height:26px}
 .hero{padding:36px 0 64px}
 .hero .w,.quien .cab,.servicios .cab,.plat,.calc .w,.lineas,.diseno .cab,.nosotros .w,.faq .w,.contacto .w,footer .w{grid-template-columns:1fr;gap:28px}
 .perfiles{grid-template-columns:1fr;gap:34px}
 .serv{grid-template-columns:1fr;gap:14px}
 .plat dl{grid-template-columns:1fr;gap:2px 0} .plat dd{margin-bottom:12px}
 .senales .grid{grid-template-columns:1fr}
 .senal,.senal:nth-child(3n+2),.senal:nth-child(3n+3){padding:24px 0;border-left:0}
 .pasos{grid-template-columns:1fr;gap:34px}
 .pasos::before{left:8px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
 .paso{padding:0 0 0 44px}
 .calc td:first-child{width:auto} .calc input[type=number]{width:60px}
 .resultado{position:static} .resultado .big{font-size:64px}
 .galeria{grid-template-columns:1fr 1fr;grid-auto-rows:150px} .galeria figure.der{grid-column:span 2}
 form{padding:24px} form .fila{grid-template-columns:1fr;gap:0}
 .linea{padding:26px 22px} .linea li{grid-template-columns:74px 1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* paginas de integraciones */
.miga{font-size:13.5px;color:var(--gris);padding-top:34px}
.miga a{text-decoration:none;color:var(--gris)}.miga a:hover{color:var(--navy)}
.miga span{margin:0 8px;color:#B6BECC}
.ihero{padding:30px 0 88px}
.ihero .w{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.ihero .tipo{font-size:14px;font-weight:700;color:var(--cian);margin-bottom:14px}
.ihero h1{font-size:clamp(34px,4.2vw,56px);letter-spacing:-.03em;line-height:1.06}
.ihero .lead{margin:22px 0 30px}
.flujo{background:var(--navy);border-radius:28px;padding:34px 28px}
.flujo svg{width:100%;height:auto;display:block}
.flujo text{font:400 17px Sora;fill:var(--navy)}
.viaja{list-style:none;display:grid;gap:8px;margin-top:18px;border-top:1px solid #34446A;padding-top:18px}
.viaja li{display:flex;justify-content:space-between;gap:14px;font-size:14px;color:#B9C2D3}
.viaja b{color:#fff;font-weight:400;display:flex;align-items:center;gap:10px}
.viaja b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cian)}
.viaja span{color:#8E9AB3;text-align:right}
.dolores .w>p.lead{margin-top:16px}
.dolor-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;list-style:none}
.dolor-lista li{border-top:2px solid var(--navy);padding-top:20px;font-size:17px;color:var(--navy);line-height:1.5}
.dolor-lista li::before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:var(--nar);margin-bottom:16px}
.datos-tabla{width:100%;border-collapse:collapse;margin-top:40px;font-size:15px}
.datos-tabla th{text-align:left;font-size:13px;color:var(--gris);font-weight:400;padding:0 16px 12px 0;border-bottom:2px solid var(--navy)}
.datos-tabla td{padding:18px 16px 18px 0;border-bottom:1px solid var(--linea);vertical-align:top}
.datos-tabla td:first-child{font-weight:700;color:var(--navy);width:19%}
.datos-tabla .dir{white-space:nowrap;color:var(--navy)}
.datos-tabla .dir i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cian);margin:0 8px 1px 0}
.datos-tabla .dir b{color:var(--nar);font-weight:700;margin:0 6px}
.datos-tabla td:nth-child(3){color:var(--gris);width:20%}
.datos-tabla td:last-child{color:var(--tinta)}
.conector .w{display:grid;grid-template-columns:1fr 1.1fr;gap:64px}
.conector .lead{margin-top:16px}
.conector ul{list-style:none;display:grid;gap:14px}
.conector li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:16px;color:var(--tinta);border-bottom:1px solid var(--linea);padding-bottom:14px}
.conector li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cian);margin-top:8px}
.otras{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.otras a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:700;border:1.5px solid #C6CEDB;border-radius:999px;padding:12px 20px}
.otras a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cian)}
.otras a:hover{border-color:var(--navy)}
.aviso{font-size:13px;color:var(--gris);margin-top:28px}
@media (max-width:960px){
 .ihero .w,.conector .w{grid-template-columns:1fr;gap:30px}
 .dolor-lista{grid-template-columns:1fr;gap:22px}
 .datos-tabla thead{display:none}
 .datos-tabla tr{display:grid;grid-template-columns:1fr;padding:16px 0;border-bottom:1px solid var(--linea)}
 .datos-tabla td{border:0;padding:3px 0;width:auto!important}
 .flujo{padding:22px 16px}
}
