/* =========================================================
   AsegurIA 360 · estilos.css
   Hoja de estilos principal. Va en /assets/css/estilos.css
   Para cambiar colores en todo el sitio, edita solo :root.
   ========================================================= */

/* ---------- 1. Colores, medidas y letra ---------- */
:root{
  --marino:#001830;        /* azul profundo del logo */
  --marino-2:#0B2A4A;      /* marino un poco más claro */
  --cielo:#30A8E0;         /* azul brillante del logo */
  --cielo-texto:#1679AE;   /* azul legible sobre blanco */
  --niebla:#F1F8FC;        /* fondo suave de sección */
  --niebla-2:#E3F1FA;
  --acento:#F4A261;        /* durazno, acento cálido */
  --acento-suave:#FFF3E8;
  --tinta:#132233;         /* texto principal */
  --gris:#4E6072;          /* texto secundario */
  --linea:#DCE7EF;         /* bordes */
  --blanco:#FFFFFF;
  --exito:#1E7F5C;
  --error:#B42318;

  --letra:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ancho:1160px;
  --margen:clamp(20px,5vw,40px);
  --radio:22px;
  --radio-chico:12px;
  --sombra:0 1px 2px rgba(0,24,48,.04),0 8px 28px rgba(0,24,48,.07);
  --sombra-alta:0 2px 4px rgba(0,24,48,.05),0 18px 48px rgba(0,24,48,.12);
  --seccion:clamp(64px,9vw,128px);
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--letra);font-size:17px;line-height:1.65;color:var(--tinta);background:var(--blanco);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img,svg{max-width:100%;height:auto;}
[hidden]{display:none!important;}
h1,h2,h3{font-family:var(--letra);color:var(--marino);margin:0 0 .5em;letter-spacing:-.025em;text-wrap:balance;}
h1{font-size:clamp(2.3rem,5.6vw,4.1rem);font-weight:800;line-height:1.05;}
h2{font-size:clamp(1.75rem,3.4vw,2.6rem);font-weight:700;line-height:1.12;}
h3{font-size:1.15rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;}
p{margin:0 0 1em;}
a{color:var(--cielo-texto);text-underline-offset:3px;}
a:hover{color:var(--marino);}
strong{font-weight:700;}
::selection{background:var(--niebla-2);color:var(--marino);}
:focus-visible{outline:3px solid var(--cielo);outline-offset:3px;border-radius:6px;}

.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 var(--margen);}
.saltar{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--marino);color:#fff;padding:10px 16px;border-radius:8px;}
.saltar:focus{left:8px;}

.entrada{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--gris);max-width:58ch;}
.texto{max-width:62ch;}
.secundario{color:var(--gris);}
.chico{font-size:.92rem;}
.ayuda{font-weight:400;color:var(--gris);}

/* ---------- 3. Botones ---------- */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 26px;border-radius:999px;border:2px solid var(--marino);background:var(--marino);color:var(--blanco);font:600 1rem/1.2 var(--letra);text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;text-align:center;}
.boton:hover{background:var(--marino-2);border-color:var(--marino-2);color:var(--blanco);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,24,48,.18);}
.boton:active{transform:none;}
.boton-linea{background:transparent;color:var(--marino);}
.boton-linea:hover{background:var(--marino);color:var(--blanco);}
.boton-chico{min-height:42px;padding:9px 18px;font-size:.95rem;}
.botones{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.nota-boton{margin-top:14px;font-size:.93rem;color:var(--gris);}
.enlace-flecha{display:inline-block;margin-top:18px;font-weight:600;color:var(--marino);text-decoration:underline;text-decoration-color:var(--acento);text-decoration-thickness:2px;text-underline-offset:5px;}
.enlace-flecha:hover{color:var(--cielo-texto);}

/* ---------- 4. Cabecera y menú ---------- */
.cabecera{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(220,231,239,.8);}
.cabecera-fila{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px;position:relative;}
.marca{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--marino);}
.marca img{width:38px;height:38px;}
.marca-texto{font-weight:800;font-size:1.25rem;letter-spacing:-.03em;color:var(--marino);}
.marca-ia{color:var(--cielo);}
.menu ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;}
.menu a:not(.boton){color:var(--tinta);text-decoration:none;font-weight:500;font-size:.98rem;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;}
.menu a:not(.boton):hover{color:var(--marino);border-bottom-color:var(--acento);}
.menu a[aria-current="page"]:not(.boton){color:var(--marino);font-weight:600;border-bottom-color:var(--cielo);}
.menu-boton{display:none;background:transparent;border:1.5px solid var(--linea);border-radius:999px;padding:9px 18px;font:600 .95rem var(--letra);color:var(--marino);cursor:pointer;}
@media (max-width:860px){
  .menu-boton{display:block;}
  .menu{position:absolute;left:calc(var(--margen) * -1);right:calc(var(--margen) * -1);top:100%;background:var(--blanco);border-bottom:1px solid var(--linea);box-shadow:0 16px 32px rgba(0,24,48,.08);display:none;}
  .menu.abierto,.menu-boton[aria-expanded="true"] + .menu{display:block;}
  .menu ul{flex-direction:column;align-items:stretch;gap:0;padding:8px var(--margen) 24px;}
  .menu li a:not(.boton){display:block;padding:16px 0;border-bottom:1px solid var(--linea);font-size:1.05rem;}
  .menu li .boton{margin-top:18px;width:100%;}
}

/* ---------- 5. Secciones ---------- */
.seccion{padding:var(--seccion) 0;}
.seccion-niebla{background:var(--niebla);}
.seccion-marino{background:var(--marino);color:#D5E1EC;position:relative;overflow:hidden;}
.seccion-marino::before{content:"";position:absolute;width:640px;height:640px;right:-220px;top:-260px;border-radius:50%;border:2px solid rgba(48,168,224,.22);pointer-events:none;}
.seccion-marino .contenedor{position:relative;}
.seccion-marino h2,.seccion-marino h3{color:var(--blanco);}
.seccion-marino .entrada,.seccion-marino .secundario,.seccion-marino .nota-boton{color:#B9CAD9;}
.seccion-marino a:not(.boton){color:var(--blanco);}
.seccion-marino .boton{background:var(--blanco);border-color:var(--blanco);color:var(--marino);}
.seccion-marino .boton:hover{background:var(--acento);border-color:var(--acento);color:var(--marino);}
.seccion-marino .boton-linea{background:transparent;border-color:rgba(255,255,255,.55);color:var(--blanco);}
.seccion-marino .boton-linea:hover{background:var(--blanco);border-color:var(--blanco);color:var(--marino);}

.dos-col{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:start;}
@media (max-width:860px){.dos-col{grid-template-columns:1fr;}}

/* ---------- 6. Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(56px,9vw,120px) 0 clamp(56px,8vw,104px);background:radial-gradient(1200px 520px at 85% -10%,var(--niebla-2) 0%,rgba(227,241,250,0) 60%),linear-gradient(180deg,#FAFDFF 0%,#FFFFFF 100%);}
.hero .contenedor{position:relative;z-index:1;}
.hero h1{max-width:15ch;}
.hero .dos-col h1{max-width:13ch;}
.hero .entrada{margin-top:18px;}
.orbita{position:absolute;z-index:0;right:-12vw;top:-8vw;width:min(62vw,760px);pointer-events:none;}
.orbita .arco{stroke:var(--cielo);stroke-width:2.5;fill:none;stroke-dasharray:1500;stroke-dashoffset:1500;animation:trazo 2s cubic-bezier(.4,0,.2,1) .2s forwards;opacity:.45;}
.orbita .chispa{fill:var(--acento);opacity:0;animation:aparece .5s ease-out 2s forwards;}
@keyframes trazo{to{stroke-dashoffset:0;}}
@keyframes aparece{to{opacity:1;}}
@media (max-width:860px){.orbita{width:130vw;right:-70vw;top:-24vw;opacity:.55;}}
.lema{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;padding:7px 16px 7px 12px;border-radius:999px;background:var(--acento-suave);color:var(--marino);font-weight:600;font-size:.95rem;}
.lema::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acento);}

/* Dos puertas */
.puertas{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:clamp(40px,6vw,64px);}
.puerta{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,4vw,44px);border-radius:var(--radio);background:var(--blanco);border:1px solid var(--linea);box-shadow:var(--sombra);color:var(--tinta);transition:transform .25s,box-shadow .25s;}
.puerta:hover{transform:translateY(-3px);box-shadow:var(--sombra-alta);}
.puerta h2,.puerta h3{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--marino);}
.puerta p{color:var(--gris);max-width:36ch;}
.puerta .boton{margin-top:auto;}
.puerta p:last-of-type{margin-bottom:28px;}
.puerta-quien{font-size:.9rem;font-weight:700;color:var(--cielo-texto);margin-bottom:12px!important;}
.puerta-marino{background:var(--marino);border-color:var(--marino);color:var(--blanco);}
.puerta-marino h2,.puerta-marino h3{color:var(--blanco);}
.puerta-marino p{color:#B9CAD9;}
.puerta-marino .puerta-quien{color:var(--cielo);}
.puerta-marino .boton{background:var(--blanco);border-color:var(--blanco);color:var(--marino);}
.puerta-marino .boton:hover{background:var(--acento);border-color:var(--acento);}
.seccion-marino .puerta:not(.puerta-marino){color:var(--tinta);}
.seccion-marino .puerta:not(.puerta-marino) .boton{background:var(--marino);border-color:var(--marino);color:#fff;}
.seccion-marino .puerta-marino{background:var(--marino-2);border-color:rgba(255,255,255,.12);}
@media (max-width:720px){.puertas{grid-template-columns:1fr;}}

/* ---------- 7. Listas con línea (bloques de contenido) ---------- */
.lista-lineas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px 40px;list-style:none;margin:0;padding:0;}
.lista-lineas.una{grid-template-columns:1fr;gap:28px;}
.lista-lineas li{position:relative;padding-top:22px;border-top:1px solid var(--linea);}
.lista-lineas li::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:3px;background:var(--acento);border-radius:2px;}
.lista-lineas h3{margin-bottom:8px;}
.lista-lineas h3 a{color:var(--marino);text-decoration:none;background-image:linear-gradient(var(--cielo),var(--cielo));background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s;}
.lista-lineas h3 a::after{content:" →";color:var(--cielo);}
.lista-lineas h3 a:hover{background-size:100% 2px;}
.lista-lineas p{color:var(--gris);margin:0;}
.seccion-marino .lista-lineas li{border-top-color:rgba(255,255,255,.16);}
.seccion-marino .lista-lineas p{color:#B9CAD9;}

/* ---------- 8. Pasos numerados (método y proceso) ---------- */
.pasos{counter-reset:paso;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;}
.pasos li{counter-increment:paso;position:relative;padding:28px 24px 24px;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);}
.pasos li::before{content:counter(paso);display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:16px;border-radius:50%;background:var(--niebla-2);color:var(--marino);font-weight:800;font-size:1rem;}
.pasos li:first-child::before{background:var(--acento);color:var(--marino);}
.pasos h3{margin-bottom:6px;}
.pasos p{margin:0;color:var(--gris);}
.tiempo{display:inline-block;margin:2px 0 10px;padding:3px 12px;border-radius:999px;background:var(--niebla);color:var(--cielo-texto);font-size:.85rem;font-weight:600;}
/* En columna (dentro de dos columnas): línea de tiempo vertical */
.dos-col .pasos,.pasos-columna{grid-template-columns:1fr;gap:0;}
.dos-col .pasos li,.pasos-columna li{display:grid;grid-template-columns:44px 1fr;column-gap:20px;padding:0 0 28px;background:none;border:0;border-radius:0;}
.dos-col .pasos li::before,.pasos-columna li::before{grid-row:1 / span 3;margin:0;position:relative;z-index:1;}
.dos-col .pasos li::after,.pasos-columna li::after{content:"";position:absolute;left:19px;top:44px;bottom:4px;width:2px;background:var(--linea);}
.dos-col .pasos li:last-child::after,.pasos-columna li:last-child::after{display:none;}
.dos-col .pasos h3,.pasos-columna h3{margin-top:8px;}

/* ---------- 9. Líder y datos ---------- */
.lider{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:clamp(32px,6vw,80px);align-items:center;}
.lider .foto{aspect-ratio:4/5;border-radius:var(--radio);box-shadow:var(--sombra-alta);}
.lider .foto::after{content:"";position:absolute;inset:auto -18px -18px auto;width:120px;height:120px;border-radius:50%;border:2px solid var(--acento);z-index:-1;}
.cargo{color:var(--cielo-texto);font-weight:600;margin-top:-6px;}
@media (max-width:760px){.lider{grid-template-columns:1fr;}.lider .foto{max-width:320px;}}
.foto{position:relative;overflow:visible;background:var(--niebla-2);isolation:isolate;}
.foto img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}
.foto::before,.avatar::before{content:attr(data-iniciales);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(1rem,4vw,3rem);color:var(--cielo-texto);border-radius:inherit;}
.datos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:24px 0;margin:28px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);}
.datos li{display:flex;flex-direction:column;gap:4px;}
.datos strong{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;color:var(--marino);letter-spacing:-.02em;line-height:1.1;}
.datos span{font-size:.9rem;color:var(--gris);line-height:1.45;}
@media (max-width:560px){.datos{grid-template-columns:1fr;}}

/* ---------- 10. Checks y cajas ---------- */
.checks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px;}
.checks li{position:relative;padding-left:34px;}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--niebla-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%23001830' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;}
.caja{margin-top:40px;padding:24px 28px;border-radius:var(--radio-chico);background:var(--niebla);border:1px solid var(--linea);}
.seccion-niebla .caja{background:var(--blanco);}
.caja p:last-child{margin-bottom:0;}
.caja-accion{margin:56px 0;padding:32px;border-radius:var(--radio);background:linear-gradient(135deg,var(--acento-suave) 0%,#FFFFFF 100%);border:1px solid #F7D9BF;}
.caja-accion h3{font-size:1.4rem;margin-bottom:6px;}
.caja-accion .botones{margin-top:16px;}

/* ---------- 11. Soluciones ---------- */
.indice-momentos,.indice-pagina{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:32px 0 0;padding:0;}
.indice-momentos a,.indice-pagina a{display:inline-block;padding:9px 18px;border-radius:999px;border:1px solid var(--linea);background:var(--blanco);color:var(--marino);font-weight:600;font-size:.95rem;text-decoration:none;transition:border-color .2s,background .2s;}
.indice-momentos a:hover,.indice-pagina a:hover{border-color:var(--cielo);background:var(--niebla);}
.momento{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,6vw,96px);padding:clamp(48px,6vw,72px) 0;border-top:1px solid var(--linea);scroll-margin-top:88px;}
.momento:first-child{border-top:0;}
.momento h2{font-size:clamp(1.6rem,2.8vw,2.2rem);}
.icono-momento{display:block;width:60px;height:60px;margin-bottom:18px;}
.producto{display:inline-block;padding:5px 14px;border-radius:999px;background:var(--niebla);color:var(--cielo-texto);font-weight:600;font-size:.9rem;margin-bottom:16px;}
@media (max-width:860px){.momento{grid-template-columns:1fr;}}
.lista-lineas .icono-momento{width:52px;height:52px;margin-bottom:14px;}

/* ---------- 12. Ilustraciones ---------- */
.ilustracion{display:block;width:100%;max-width:380px;margin:32px 0 0;}
.ilustracion-chica{max-width:280px;}
.hero .ilustracion{margin:0 auto;max-width:440px;}

/* ---------- 13. Misión, visión y equipo ---------- */
.mision-vision{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.mision-vision > div{padding:clamp(24px,3vw,36px);border-radius:var(--radio);background:var(--blanco);border:1px solid var(--linea);box-shadow:var(--sombra);}
.mision-vision h3{font-size:.95rem;color:var(--cielo-texto);margin-bottom:12px;}
.mision-vision p{font-size:1.15rem;line-height:1.55;color:var(--marino);margin:0;}
@media (max-width:760px){.mision-vision{grid-template-columns:1fr;}}
.equipo{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;list-style:none;margin:40px 0 0;padding:0;}
.equipo li{padding:28px;border-radius:var(--radio);background:var(--blanco);border:1px solid var(--linea);transition:transform .25s,box-shadow .25s;}
.equipo li:hover{transform:translateY(-3px);box-shadow:var(--sombra);}
.equipo .foto{width:96px;height:96px;border-radius:50%;margin-bottom:18px;}
.equipo .foto::before{font-size:1.6rem;}
.equipo h3{margin-bottom:2px;}
.equipo .cargo{margin:0 0 10px;font-size:.92rem;}
.equipo p:last-child{margin:0;}

/* ---------- 14. Únete: principio, filtro, voces ---------- */
.principio{display:flex;flex-direction:column;gap:4px;margin:0 0 clamp(36px,5vw,56px);font-size:clamp(2rem,5vw,3.6rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--blanco);}
.principio .no{color:#7F95AB;background-image:linear-gradient(var(--acento),var(--acento));background-repeat:no-repeat;background-size:0 4px;background-position:0 55%;animation:tachar 1s ease-out .6s forwards;width:fit-content;}
@keyframes tachar{to{background-size:100% 4px;}}
.filtro{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;}
.filtro > div{padding:clamp(24px,3vw,36px);border-radius:var(--radio);border:1px solid var(--linea);background:var(--blanco);}
.filtro ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:12px;}
.filtro li{position:relative;padding-left:32px;}
.filtro li::before{position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;}
.filtro .si{border-top:4px solid var(--cielo);}
.filtro .si li::before{content:"✓";background:var(--niebla-2);color:var(--marino);}
.filtro .no-encaja{border-top:4px solid var(--acento);}
.filtro .no-encaja li::before{content:"✕";background:var(--acento-suave);color:#A4501A;}
@media (max-width:760px){.filtro{grid-template-columns:1fr;}}
.voces{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px;}
.voz{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:64px 32px 32px;border-radius:var(--radio);background:var(--niebla);position:relative;}
.voz::before{content:"“";position:absolute;top:14px;left:28px;font-size:5rem;line-height:1;color:var(--acento);font-weight:800;opacity:.9;}
.voz blockquote{margin:0;font-size:1.02rem;line-height:1.6;color:var(--tinta);}
.voz-quien{display:flex;align-items:center;gap:14px;}
.voz-quien strong{display:block;color:var(--marino);}
.voz-quien span{font-size:.9rem;color:var(--gris);}
.avatar{position:relative;width:52px;height:52px;flex:none;border-radius:50%;overflow:hidden;background:var(--niebla-2);}
.avatar img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;}
.avatar::before{font-size:1rem;}

/* ---------- 15. Preguntas frecuentes ---------- */
.preguntas{max-width:820px;margin-top:32px;border-top:1px solid var(--linea);}
.preguntas details{border-bottom:1px solid var(--linea);}
.preguntas summary{position:relative;cursor:pointer;list-style:none;padding:22px 52px 22px 0;font-weight:600;font-size:1.06rem;color:var(--marino);}
.preguntas summary::-webkit-details-marker{display:none;}
.preguntas summary::after{content:"";position:absolute;right:6px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:var(--niebla-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23001830' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .25s,background-color .25s;}
.preguntas details[open] summary::after{transform:rotate(45deg);background-color:var(--acento-suave);}
.preguntas summary:hover{color:var(--cielo-texto);}
.preguntas details p{margin:0;padding:0 52px 24px 0;color:var(--gris);max-width:68ch;}
.seccion-niebla .preguntas summary::after{background-color:var(--blanco);}

/* ---------- 16. Formularios ---------- */
.formulario{padding:clamp(24px,4vw,40px);border-radius:var(--radio);background:var(--blanco);border:1px solid var(--linea);box-shadow:var(--sombra-alta);color:var(--tinta);}
.formulario h3{font-size:1.4rem;margin-bottom:4px;}
.formulario > .secundario{margin-bottom:22px;}
.campo{margin-bottom:16px;}
.campo label{display:block;margin-bottom:6px;font-weight:600;font-size:.94rem;color:var(--marino);}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--linea);border-radius:var(--radio-chico);background:#FBFDFE;font:400 1rem/1.4 var(--letra);color:var(--tinta);transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none;}
.campo select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%23001830' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:44px;}
.campo textarea{min-height:110px;resize:vertical;}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--cielo);background:#fff;box-shadow:0 0 0 4px rgba(48,168,224,.18);}
.campo input:user-invalid,.campo select:user-invalid,.campo textarea:user-invalid{border-color:var(--error);}
.campo-doble{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
@media (max-width:560px){.campo-doble{grid-template-columns:1fr;}}
.consentimiento{display:flex;gap:10px;align-items:flex-start;margin:8px 0 22px;font-size:.93rem;color:var(--gris);}
.consentimiento input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--marino);}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.formulario .boton{width:100%;}
.error-form{display:none;margin:0 0 16px;padding:12px 14px;border-radius:10px;background:#FEF3F2;color:var(--error);font-weight:500;font-size:.95rem;}
.error-form.visible{display:block;}
.mensaje-form{display:none;}
.mensaje-form.ok{display:block;border-top:4px solid var(--exito);}
.mensaje-form h3{color:var(--marino);}
.seccion-marino .formulario .boton{background:var(--marino);border-color:var(--marino);color:#fff;}
.seccion-marino .formulario .boton:hover{background:var(--marino-2);}
.seccion-marino .formulario a:not(.boton){color:var(--cielo-texto);}

/* ---------- 17. Pie de página ---------- */
.pie{background:var(--marino);color:#B9CAD9;padding:80px 0 112px;font-size:.97rem;}
.pie a{color:var(--blanco);text-decoration:none;}
.pie a:hover{color:var(--cielo);}
.pie-rejilla{display:grid;grid-template-columns:4fr 3fr 3fr 3fr;gap:40px;}
.pie h3{color:var(--blanco);font-size:.95rem;margin-bottom:16px;}
.pie ul{list-style:none;margin:0;padding:0;}
.pie li{margin-bottom:10px;}
.pie .marca{margin-bottom:18px;}
.pie .marca-texto{color:var(--blanco);}
.pie-lema{color:var(--blanco);font-weight:600;font-size:1.1rem;}
.pie-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--marino-2);font-size:.86rem;}
.pie-legal p{margin:0;max-width:78ch;}
@media (max-width:900px){.pie-rejilla{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.pie-rejilla{grid-template-columns:1fr;gap:32px;}}

/* ---------- 18. Botón fijo de WhatsApp ---------- */
.wa-fijo{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;background:var(--marino);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:0 10px 28px rgba(0,24,48,.32);border:2px solid rgba(255,255,255,.15);transition:transform .2s,background .2s;}
.wa-fijo:hover{background:var(--marino-2);color:#fff;transform:translateY(-2px);}
.wa-fijo svg{width:22px;height:22px;flex:none;}
@media (min-width:900px){.wa-fijo{right:28px;bottom:28px;}}
@media (max-width:380px){.wa-fijo .wa-texto{display:none;}.wa-fijo{padding:15px;}}

/* ---------- 19. Aviso legal y marcas de pendiente ---------- */
.legal{max-width:780px;}
.legal h1{font-size:clamp(2rem,4.5vw,3rem);}
.legal h2{font-size:1.35rem;margin-top:44px;}
.legal li{margin-bottom:8px;}
mark.pendiente{background:#FFE8CC;color:#7A3B00;padding:0 4px;border-radius:4px;}

/* ---------- 20. Aparición suave al hacer scroll ---------- */
@supports (animation-timeline:view()){
  .seccion h2,.lista-lineas li,.pasos li,.voz,.mision-vision > div,.filtro > div{animation:subir linear both;animation-timeline:view();animation-range:entry 0% entry 35%;}
  @keyframes subir{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
}

/* ---------- 21. Menos movimiento ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  .orbita .arco{stroke-dashoffset:0;}
  .orbita .chispa{opacity:1;}
  .principio .no{background-size:100% 4px;}
  html{scroll-behavior:auto;}
}

/* ---------- 22. Formularios y tarjetas claras dentro de secciones marino ---------- */
.seccion-marino .formulario h3,.seccion-marino .formulario label{color:var(--marino);}
.seccion-marino .formulario .secundario,.seccion-marino .formulario .consentimiento{color:var(--gris);}
