/* Javier Ruiz IA · estilos de la web (todas las páginas).
   Estilo de consultora: azul marino y blanco, fotos reales con el mismo tono y esquinas rectas.
   Inter en todo el texto; Montserrat solo en el logotipo. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --blanco:#fff; --fondo:#f3f5f8; --borde:#dde3ea; --borde-2:#c4ccd7;
  --texto:#0a1628; --texto-2:#45526a; --texto-3:#5d697d;
  --marino:#0b1f3a; --marino-2:#13305a; --marino-osc:#061429;
  --sobre-marino:#c3cee0; --linea-marino:rgba(195,206,224,.24);
  --azul:#0b57c4; --azul-osc:#0947a1; --celeste:#8dbbff; --azul-claro:#e9f1fc;
  --verde:#15803d; --rojo:#b42318;
  --letra:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --logo:'Montserrat','Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --ancho:1240px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--blanco);color:var(--texto);font-family:var(--letra);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--azul);text-underline-offset:3px}
h1,h2,h3,h4{margin:0;color:var(--texto);font-weight:600;line-height:1.16;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.3rem,4.3vw + .5rem,4rem);line-height:1.07;letter-spacing:-.032em}
h2{font-size:clamp(1.8rem,2.4vw + .7rem,2.65rem);letter-spacing:-.027em}
h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.012em}
p{margin:0;text-wrap:pretty}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.saltar{position:absolute;left:16px;top:-64px;z-index:100;padding:10px 16px;background:var(--marino);color:#fff;font-weight:600}
.saltar:focus{top:12px}
.ico{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.cont{width:min(var(--ancho),100% - 48px);margin-inline:auto}
.seccion{padding:112px 0}
.seccion.gris{background:var(--fondo)}

/* Antetítulo: la línea corta y la palabra en mayúsculas encima de cada título */
.antetitulo{display:flex;align-items:center;gap:14px;margin:0 0 20px;color:var(--azul);font-size:.78rem;font-weight:600;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}
.antetitulo::before{content:"";flex:0 0 32px;height:2px;background:currentColor}

/* Encabezado de sección: título a la izquierda, explicación a la derecha */
.encabezado{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px 80px;align-items:end;margin-bottom:64px}
.encabezado .intro{color:var(--texto-2);font-size:1.12rem}
.encabezado .enlace-flecha{margin-top:20px}
.encabezado.simple{display:block;max-width:780px}
.encabezado.simple .intro{margin-top:20px}
.intro{color:var(--texto-2);font-size:1.12rem}

/* Botones y enlaces */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border:1px solid transparent;border-radius:0;font:600 .98rem/1.2 var(--letra);letter-spacing:.005em;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn svg{width:18px;height:18px;flex:0 0 18px}
.flecha{transition:transform .2s}
a:hover .flecha{transform:translateX(4px)}
.btn-pri{background:var(--azul);color:#fff}
.btn-pri:hover{background:var(--azul-osc)}
.btn-marino{background:var(--marino);color:#fff}
.btn-marino:hover{background:var(--marino-2)}
.btn-borde{background:transparent;color:var(--texto);border-color:var(--borde-2)}
.btn-borde:hover{border-color:var(--texto)}
.btn-blanco{background:#fff;color:var(--marino)}
.btn-blanco:hover{background:#e4e9f1}
.btn-linea{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-linea:hover{background:rgba(255,255,255,.08);border-color:#fff}
.enlace-flecha{display:inline-flex;align-items:center;gap:8px;color:var(--azul);font-weight:600;text-decoration:none}
.enlace-flecha:hover{text-decoration:underline}
.enlace-flecha svg{width:18px;height:18px;flex:0 0 18px}

/* Cabecera */
.cab{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--borde);transition:box-shadow .2s}
.cab.sombra{box-shadow:0 8px 24px rgba(10,22,40,.07)}
.cab .cont{display:flex;align-items:center;gap:12px;height:80px}
.marca{display:inline-flex;align-items:center;gap:12px;color:var(--marino);text-decoration:none;font-family:var(--logo);font-weight:700;font-size:1.04rem;letter-spacing:.03em;white-space:nowrap}
.marca .ia{color:var(--azul)}
.monograma{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:var(--azul);color:#fff;font-family:var(--logo);font-weight:700;font-size:.82rem;letter-spacing:.04em}
.menu{display:flex;align-self:stretch;align-items:stretch;gap:2px;margin-left:auto}
.menu a{position:relative;display:flex;align-items:center;padding:0 14px;color:var(--texto);text-decoration:none;font-weight:500;font-size:.95rem;white-space:nowrap}
.menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--azul);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.menu a:hover{color:var(--azul)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1)}
.menu a[aria-current="page"]{font-weight:600}
.cab-cta{min-height:46px!important;padding:0 20px!important;font-size:.93rem!important;margin-left:12px}
.btn-menu{display:none;align-items:center;justify-content:center;width:46px;height:46px;margin-left:auto;border:1px solid var(--borde-2);background:#fff;color:var(--texto);cursor:pointer}
.btn-menu svg{width:22px;height:22px}
.btn-menu .cerrar{display:none}
.btn-menu[aria-expanded="true"] .abrir{display:none}
.btn-menu[aria-expanded="true"] .cerrar{display:block}
@media (max-width:1100px){
  .menu{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-self:auto;gap:0;padding:8px 24px 24px;background:#fff;border-bottom:1px solid var(--borde);box-shadow:0 18px 30px rgba(10,22,40,.08)}
  .menu.abierto{display:flex}
  .menu a{padding:16px 0;font-size:1.05rem;border-bottom:1px solid var(--borde)}
  .menu a::after{display:none}
  .cab-cta{margin-left:auto}
  .btn-menu{display:inline-flex}
  .cab-cta ~ .btn-menu{margin-left:10px}
}
@media (max-width:520px){.cab-cta{display:none!important}.btn-menu,.cab-cta ~ .btn-menu{margin-left:auto}.marca{font-size:.96rem}.cab .cont{height:72px}.menu{top:72px}}

/* Portada: foto a todo el ancho con un velo azul marino */
.portada{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(620px,86vh,800px);padding:96px 0 168px;background:var(--marino-osc);color:#fff;overflow:hidden}
.portada .fondo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.portada::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,20,41,.95) 0%,rgba(6,20,41,.86) 36%,rgba(6,20,41,.5) 68%,rgba(6,20,41,.3) 100%)}
.portada .texto{max-width:720px}
.portada .antetitulo{color:var(--celeste)}
.portada h1{color:#fff}
.portada .sub{max-width:620px;margin-top:28px;color:#d3dceb;font-size:1.2rem;line-height:1.6}
.portada .botones{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}

/* Cifras: la franja blanca que monta sobre la foto de portada */
.cifras{position:relative;z-index:2;margin-top:-92px}
.cifras ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:3px solid var(--azul);box-shadow:0 26px 60px rgba(6,20,41,.13)}
.cifras li{padding:34px 32px 32px;border-left:1px solid var(--borde)}
.cifras li:first-child{border-left:0}
.cifras strong{display:block;color:var(--marino);font-size:2.1rem;font-weight:600;line-height:1.1;letter-spacing:-.035em;white-space:nowrap}
.cifras span{display:block;margin-top:10px;color:var(--texto-2);font-size:.95rem;line-height:1.5}

/* Servicios (resumen de la portada) */
.rejilla-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.servicio{position:relative;display:flex;flex-direction:column;padding:34px 0 48px;border-top:1px solid var(--borde-2)}
.servicio::before{content:"";position:absolute;left:0;top:-1px;width:48px;height:2px;background:var(--azul);transition:width .3s}
.servicio:hover::before{width:100%}
.num{display:block;color:var(--azul);font-size:.85rem;font-weight:600;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.servicio .num{margin-bottom:22px}
.servicio h3{margin-bottom:12px;font-size:1.3rem}
.servicio p{color:var(--texto-2);font-size:1rem}
.servicio .enlace-flecha{margin-top:20px;font-size:.95rem}

/* Herramientas con las que se integra */
.ecosistema{padding:52px 0;border-block:1px solid var(--borde)}
.ecosistema .cont{display:grid;grid-template-columns:250px 1fr;gap:48px;align-items:center}
.ecosistema .cont > p{color:var(--texto-3);font-size:.9rem;font-weight:600;line-height:1.5}
.logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:20px 38px}
.logos li{display:flex;align-items:center;gap:10px;color:#4f5b70;font-size:.92rem;font-weight:500}
.logos svg{width:22px;height:22px;flex:0 0 22px;fill:currentColor}

/* Metodología: banda azul marino con la foto de la sala de reuniones */
.metodo{position:relative;isolation:isolate;padding:120px 0;background:var(--marino);color:var(--sobre-marino);overflow:hidden}
.metodo .fondo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.metodo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,31,58,.86),rgba(6,20,41,.95))}
.metodo .antetitulo{color:var(--celeste)}
.metodo h2{color:#fff}
.metodo .intro{color:var(--sobre-marino)}
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 36px}
.paso{display:flex;flex-direction:column;padding-top:30px;border-top:1px solid rgba(195,206,224,.32)}
.paso .num{color:var(--celeste);font-size:2.8rem;font-weight:400;line-height:1;letter-spacing:-.04em}
.paso h3{margin:26px 0 12px;color:#fff;font-size:1.25rem}
.paso p{color:var(--sobre-marino);font-size:.98rem}
.paso .etiqueta{align-self:flex-start;margin-top:22px;padding:6px 10px;border:1px solid rgba(141,187,255,.45);color:var(--celeste);font-size:.74rem;font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}

/* Sectores (mosaico con foto) */
.rejilla-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.mosaico{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--marino);color:#fff;text-decoration:none}
.mosaico img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.mosaico::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,41,.05) 20%,rgba(6,20,41,.9) 100%)}
.mosaico .texto-mosaico{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:20px 22px 20px}
.mosaico h3{color:#fff;font-size:1.06rem}
.mosaico p{margin-top:6px;color:#d3dceb;font-size:.88rem;line-height:1.45}
.mosaico:hover img{transform:scale(1.05)}
.mosaico:focus-visible{outline-offset:4px}

/* Proyectos en producción */
.proyectos{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--borde)}
.proyecto{display:flex;flex-direction:column;padding:34px 30px 30px;border-left:1px solid var(--borde)}
.proyecto:first-child{border-left:0}
.proyecto .tipo{color:var(--texto-3);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.proyecto h3{margin:16px 0 12px;font-size:1.15rem}
.proyecto p{color:var(--texto-2);font-size:.96rem}
.proyecto .dato{margin-top:auto;padding-top:26px;color:var(--marino);font-size:.95rem;font-weight:600}
.proyecto .dato::before{content:"";display:block;width:32px;height:2px;margin-bottom:14px;background:var(--azul)}

/* Bloque partido: foto a un lado, texto al otro */
.dividido{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.dividido > img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--fondo)}
.dividido .texto > p:not(.antetitulo){margin-top:20px;color:var(--texto-2);font-size:1.08rem}
.dividido .enlace-flecha{margin-top:28px}

/* Perspectivas: el canal de YouTube */
.perspectivas{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:48px;align-items:center;padding:56px;background:#fff;border:1px solid var(--borde)}
.perspectivas p:not(.antetitulo){max-width:660px;margin-top:16px;color:var(--texto-2)}
.perspectivas small{display:block;margin-top:12px;color:var(--texto-3);font-size:.9rem}
.canal-botones{display:flex;flex-wrap:wrap;gap:12px}

/* Banda final de contacto */
.banda{padding:104px 0;background:var(--marino);color:#fff;border-top:3px solid var(--azul)}
.banda .cont{display:grid;grid-template-columns:1.5fr auto;gap:48px;align-items:center}
.banda h2{color:#fff}
.banda p{max-width:660px;margin-top:16px;color:var(--sobre-marino);font-size:1.1rem}
.banda .acciones{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.banda .correo{color:var(--sobre-marino);font-size:.95rem;text-decoration:none}
.banda .correo:hover{color:#fff;text-decoration:underline}

/* Pie */
.pie{padding:72px 0 32px;background:var(--marino-osc);color:var(--sobre-marino);font-size:.95rem}
.pie-rejilla{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
.pie .marca{margin-bottom:18px;color:#fff}
.pie .marca .ia{color:var(--celeste)}
.pie-texto{max-width:330px}
.pie-titulo{margin-bottom:16px;color:#fff;font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pie a{color:var(--sobre-marino);text-decoration:none;overflow-wrap:anywhere}
.pie a:hover{color:#fff;text-decoration:underline}
.pie-final{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:56px;padding-top:26px;border-top:1px solid var(--linea-marino);font-size:.88rem}

/* Cabecera de las páginas interiores */
.cabecera-pagina{position:relative;isolation:isolate;padding:84px 0 88px;background:var(--marino);color:var(--sobre-marino);overflow:hidden}
.cabecera-pagina .fondo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.cabecera-pagina.con-foto::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,20,41,.96) 0%,rgba(6,20,41,.88) 45%,rgba(6,20,41,.58) 100%)}
.cabecera-pagina h1{max-width:860px;color:#fff;font-size:clamp(2.2rem,3.6vw + .5rem,3.4rem)}
.cabecera-pagina .intro{max-width:720px;margin-top:22px;color:#d3dceb;font-size:1.15rem}
.miga{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;color:var(--sobre-marino);font-size:.86rem}
.miga a{color:var(--sobre-marino);text-decoration:none}
.miga a:hover{color:#fff;text-decoration:underline}

/* Página de servicios */
.servicios-pagina{display:grid;grid-template-columns:240px 1fr;gap:72px;align-items:start}
.indice{position:sticky;top:112px}
.indice p{margin-bottom:12px;color:var(--texto-3);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.indice nav{display:grid;border-top:1px solid var(--borde-2)}
.indice a{display:block;padding:11px 0;border-bottom:1px solid var(--borde);color:var(--texto-2);font-size:.93rem;text-decoration:none}
.indice a:hover{color:var(--azul)}
.bloque{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;padding-bottom:72px;margin-bottom:72px;border-bottom:1px solid var(--borde)}
.bloque:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:0}
.bloque .num{margin-bottom:16px}
.bloque h2{margin-bottom:16px;font-size:clamp(1.55rem,1.4vw + .9rem,1.9rem)}
.bloque > div > p{color:var(--texto-2)}
.incluye{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.incluye li{display:flex;align-items:flex-start;gap:12px}
.incluye svg{flex:0 0 18px;width:18px;height:18px;margin-top:4px;color:var(--azul);stroke-width:2.4}
.ejemplos{padding:28px 30px 28px;background:var(--fondo);border-left:3px solid var(--azul)}
.ejemplos h3{margin-bottom:14px;color:var(--texto-3);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ejemplos ul{margin:0;padding-left:18px;display:grid;gap:12px;color:var(--texto-2);font-size:.98rem}
.bloque > img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--fondo)}
.nota-otra{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:72px;padding:44px 48px;background:var(--marino);color:var(--sobre-marino)}
.nota-otra h2{color:#fff;font-size:1.5rem}
.nota-otra p{max-width:620px;margin-top:10px}
.nota-otra .btn{flex:0 0 auto}

/* Página de sectores */
.sector-fila{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:80px 0;border-bottom:1px solid var(--borde)}
.sector-fila:first-child{padding-top:0}
.sector-fila:last-child{padding-bottom:0;border-bottom:0}
.sector-fila:nth-child(even) .sector-foto{order:2}
.sector-foto img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--fondo)}
.sector-fila h2{margin-bottom:14px;font-size:clamp(1.6rem,1.5vw + .9rem,2rem)}
.sector-fila .texto-2{color:var(--texto-2);font-size:1.05rem}
.ideas{list-style:none;margin:28px 0 30px;padding:0;border-top:1px solid var(--borde)}
.ideas li{padding:16px 0;border-bottom:1px solid var(--borde)}
.ideas strong{display:block;font-weight:600}
.ideas span{display:block;margin-top:4px;color:var(--texto-2);font-size:.97rem}

/* Tarifas */
.planes{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--borde)}
.plan{display:flex;flex-direction:column;padding:38px 30px 32px;border-left:1px solid var(--borde)}
.plan:first-child{border-left:0}
.plan.destacado{position:relative;margin:-14px 0;padding-top:52px;background:var(--marino);color:var(--sobre-marino);border-left-color:var(--marino);box-shadow:0 26px 60px rgba(6,20,41,.18)}
.etiqueta-plan{position:absolute;top:22px;left:30px;color:var(--celeste);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.plan h3{font-size:1.12rem}
.plan.destacado h3{color:#fff}
.precio{margin:18px 0 12px;color:var(--marino);font-size:2.6rem;font-weight:600;line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
.precio small{margin-right:6px;color:var(--texto-3);font-size:.9rem;font-weight:500;letter-spacing:0}
.precio.texto{padding-top:8px;font-size:1.75rem}
.plan.destacado .precio{color:#fff}
.plan.destacado .precio small{color:var(--sobre-marino)}
.plan .desc{color:var(--texto-2);font-size:.97rem}
.plan.destacado .desc{color:var(--sobre-marino)}
.plan .incluye{margin:24px 0 32px;font-size:.95rem}
.plan.destacado .incluye svg{color:var(--celeste)}
.plan .btn{width:100%;margin-top:auto}
.nota-precios{max-width:780px;margin:44px auto 0;color:var(--texto-2);text-align:center}
.nota-precios strong{color:var(--texto)}

/* Preguntas frecuentes */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:80px;align-items:start}
.faq .encabezado{display:block;position:sticky;top:120px;margin:0}
.faq .encabezado .intro{margin-top:18px}
.preguntas{border-top:1px solid var(--borde-2)}
.preguntas details{border-bottom:1px solid var(--borde)}
.preguntas summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:1.06rem;font-weight:600;cursor:pointer;list-style:none}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"";flex:0 0 14px;width:14px;height:14px;background:linear-gradient(var(--azul),var(--azul)) center/14px 2px no-repeat,linear-gradient(var(--azul),var(--azul)) center/2px 14px no-repeat}
.preguntas details[open] summary::after{background:linear-gradient(var(--azul),var(--azul)) center/14px 2px no-repeat}
.preguntas summary:hover{color:var(--azul)}
.preguntas details p{max-width:760px;padding:0 0 24px;color:var(--texto-2)}

/* La consultora */
.perfil{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:88px;align-items:start}
.perfil .texto > p:not(.antetitulo){margin-top:20px;color:var(--texto-2);font-size:1.08rem}
.perfil .texto h2{margin-bottom:4px}
.perfil figure{margin:0}
.perfil figure img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:var(--fondo)}
.perfil figcaption{padding:18px 0 0;border-bottom:3px solid var(--azul);padding-bottom:18px}
.perfil figcaption strong{display:block;font-size:1.06rem}
.perfil figcaption span{color:var(--texto-3);font-size:.93rem}
.valores{display:grid;grid-template-columns:repeat(4,1fr);gap:0 36px}
.valor{padding-top:28px;border-top:1px solid var(--borde-2)}
.valor svg{width:26px;height:26px;color:var(--azul)}
.valor h3{margin:20px 0 10px;font-size:1.12rem}
.valor p{color:var(--texto-2);font-size:.97rem}

/* Contacto */
.contacto-rejilla{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:56px;align-items:start}
.form{padding:40px;background:#fff;border:1px solid var(--borde);border-top:3px solid var(--azul)}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.campo{min-width:0;margin:0 0 20px;padding:0;border:0}
.campo label,.campo legend{display:block;margin-bottom:8px;padding:0;color:var(--texto);font-size:.92rem;font-weight:600}
.opc{color:var(--texto-3);font-weight:400}
.form input:not([type=checkbox]),.form select,.form textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--borde-2);border-radius:0;background:#fff;color:var(--texto);font:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}
.form input:not([type=checkbox]):focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(11,87,196,.16)}
.form textarea{min-height:150px;line-height:1.5;resize:vertical}
.form select{-webkit-appearance:none;appearance:none;padding-right:44px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d697d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.form ::placeholder{color:#6b7686;opacity:1}
.form [aria-invalid="true"]{border-color:var(--rojo)!important}
.error{display:block;margin-top:6px;color:var(--rojo);font-size:.88rem}
.contador{display:block;margin-top:4px;color:var(--texto-3);font-size:.8rem;text-align:right}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.chip span{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--borde-2);background:#fff;color:var(--texto-2);font-size:.92rem;-webkit-user-select:none;user-select:none;transition:background-color .15s,border-color .15s,color .15s}
.chip:hover span{border-color:var(--texto-2)}
.chip input:checked+span{background:var(--marino);border-color:var(--marino);color:#fff}
.chip input:focus-visible+span{outline:3px solid var(--azul);outline-offset:2px}
.consent{display:flex;align-items:flex-start;gap:12px;margin:6px 0 24px;color:var(--texto-2);font-size:.93rem;cursor:pointer}
.consent input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--azul);cursor:pointer}
.consent.mal span{color:var(--rojo)}
.btn-enviar{width:100%;min-height:56px;font-size:1.04rem}
.btn-enviar[disabled]{opacity:.7;cursor:progress}
.form-nota{margin-top:12px;color:var(--texto-3);font-size:.9rem;text-align:center}
.form-estado:not(:empty){margin-top:16px}
.aviso-error{padding:16px;border:1px solid #f0b7b1;background:#fdf1f0;color:#7a1d14;font-size:.95rem}
.aviso-error .botones{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.aviso-error .btn{min-height:44px;padding:0 16px;font-size:.93rem}
.rgpd{margin-top:24px;padding-top:16px;border-top:1px solid var(--borde);color:var(--texto-3);font-size:.8rem;line-height:1.55}
.rgpd strong{color:var(--texto-2);font-weight:600}
.trampa{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-ok{padding:48px 36px;background:#fff;border:1px solid var(--borde);border-top:3px solid var(--verde);text-align:center}
.form-ok:focus{outline:none}
.form-ok .icono-ok{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#e6f4ea;color:var(--verde)}
.form-ok .icono-ok svg{width:28px;height:28px;stroke-width:2.6}
.form-ok h2{margin-bottom:10px;font-size:1.55rem}
.form-ok p{margin-top:8px;color:var(--texto-2)}
.form-ok .btn{margin-top:24px}
.aside-contacto{display:grid;gap:20px}
.caja{padding:28px;background:var(--fondo);border-left:3px solid var(--azul)}
.caja h2{margin-bottom:14px;font-size:1.06rem;letter-spacing:-.01em}
.caja p{color:var(--texto-2);font-size:.96rem}
.caja.marino{background:var(--marino);border-left-color:var(--celeste);color:var(--sobre-marino)}
.caja.marino h2{color:#fff}
.caja.marino p{color:var(--sobre-marino)}
.pasos-contacto{list-style:none;counter-reset:c;margin:0;padding:0;display:grid;gap:14px}
.pasos-contacto li{counter-increment:c;display:flex;gap:12px;color:var(--sobre-marino);font-size:.96rem}
.pasos-contacto li::before{content:counter(c,decimal-leading-zero);flex:0 0 26px;color:var(--celeste);font-size:.85rem;font-weight:600;line-height:1.75;letter-spacing:.04em}
.contacto-directo a{display:flex;align-items:center;gap:10px;padding:6px 0;color:var(--texto);text-decoration:none;overflow-wrap:anywhere}
.contacto-directo a:hover{color:var(--azul);text-decoration:underline}
.contacto-directo svg{flex:0 0 20px;width:20px;height:20px;color:var(--azul)}

/* Textos legales */
.texto-legal{max-width:800px}
.texto-legal h2{margin:44px 0 12px;font-size:1.3rem}
.texto-legal p,.texto-legal li{color:var(--texto-2)}
.texto-legal ul{padding-left:20px}
.texto-legal li{margin:10px 0}
.texto-legal strong{color:var(--texto)}
.resumen{padding:20px 24px;background:var(--fondo);border-left:3px solid var(--azul)}

/* Página no encontrada */
.error-404{display:grid;place-items:center;min-height:calc(100vh - 81px);padding:72px 0;text-align:center}
.error-404 .codigo{color:var(--azul);font-size:clamp(4rem,14vw,6.5rem);font-weight:600;line-height:1;letter-spacing:-.04em}
.error-404 h1{margin:16px 0 12px;font-size:1.9rem}
.error-404 p{max-width:480px;margin:0 auto 30px;color:var(--texto-2)}
.error-404 .botones{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

@media (max-width:1100px){
  .planes{grid-template-columns:repeat(2,1fr)}
  .plan.destacado{margin:0}
  .plan:nth-child(3){border-left:0}
  .plan:nth-child(n+3){border-top:1px solid var(--borde)}
  .rejilla-4,.proyectos{grid-template-columns:repeat(2,1fr)}
  .proyecto:nth-child(3){border-left:0}
  .proyecto:nth-child(n+3){border-top:1px solid var(--borde)}
  .valores{grid-template-columns:repeat(2,1fr);gap:40px 36px}
  .servicios-pagina{grid-template-columns:1fr}
  .indice{display:none}
}
@media (max-width:960px){
  .encabezado,.dividido,.perfil,.contacto-rejilla,.banda .cont,.perspectivas,.faq,.ecosistema .cont{grid-template-columns:1fr;gap:28px}
  .encabezado{margin-bottom:48px}
  .dividido,.perfil{gap:48px}
  .faq{gap:40px}
  .faq .encabezado{position:static}
  .portada{min-height:0;padding:80px 0 150px}
  .portada::before{background:linear-gradient(180deg,rgba(6,20,41,.84),rgba(6,20,41,.9))}
  .cifras ul{grid-template-columns:repeat(2,1fr)}
  .cifras li:nth-child(3){border-left:0}
  .cifras li:nth-child(n+3){border-top:1px solid var(--borde)}
  .rejilla-3,.pasos{grid-template-columns:repeat(2,1fr)}
  .pasos{gap:48px 36px}
  .sector-fila{grid-template-columns:1fr;gap:32px;padding:56px 0}
  .sector-fila:nth-child(even) .sector-foto{order:0}
  .bloque{grid-template-columns:1fr;gap:32px}
  .pie-rejilla{grid-template-columns:1fr 1fr}
  .perfil figure{max-width:420px}
  .nota-otra{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  body{font-size:16px}
  .cont{width:calc(100% - 32px)}
  .seccion{padding:72px 0}
  .portada{padding:64px 0 128px}
  .portada .sub{font-size:1.08rem}
  .portada .botones .btn{width:100%}
  .cifras{margin-top:-80px}
  .cifras li{padding:22px 18px 20px}
  .cifras strong{font-size:1.55rem}
  .cifras span{font-size:.86rem}
  .rejilla-3,.pasos,.planes,.fila,.valores,.proyectos{grid-template-columns:1fr}
  .plan,.proyecto{border-left:0}
  .plan + .plan,.proyecto + .proyecto{border-top:1px solid var(--borde)}
  .rejilla-4{grid-template-columns:1fr 1fr;gap:12px}
  .mosaico{aspect-ratio:1/1}
  .mosaico .texto-mosaico{padding:14px}
  .mosaico h3{font-size:.95rem}
  .mosaico p{display:none}
  .metodo{padding:80px 0}
  .ecosistema{padding:40px 0}
  .logos{gap:16px 26px}
  .perspectivas{padding:32px 24px}
  .form{padding:24px 20px}
  .pie-rejilla{grid-template-columns:1fr}
  .banda{padding:72px 0}
  .banda .btn,.canal-botones .btn{width:100%}
  .cabecera-pagina{padding:56px 0 60px}
  .cabecera-pagina.con-foto::before{background:linear-gradient(180deg,rgba(6,20,41,.9),rgba(6,20,41,.93))}
  .nota-otra{padding:32px 24px}
  .nota-otra .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
