/* Layout: navy header + circuit-traced hero, white body sections on an 1180px column, navy footer. Colors from ESUPTEC's "Línea gráfica". */
:root{
  --blanco:#FFFFFF;
  --marino:#0C1B4D;
  --marino-2:#13276A;
  --cobalto:#1A3FAA;
  --texto:#374151;
  --texto-2:#6B7280;
  --naranja:#FF7F00;
  --naranja-hover:#E87200;
  --naranja-suave:#FF9533;
  --naranja-fondo:#FFF0E0;
  --cyan:#00C4D8;
  --cyan-fondo:#E3F8FB;
  --tinte:#F3F6FC;
  --borde:#DCE3F1;
  --sobre-marino:#C9D3EE;
  --display:"Saira","Arial Narrow",Arial,sans-serif;
  --cuerpo:"Barlow","Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --radio:10px;
  --ancho:1180px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--blanco);color:var(--texto);font-family:var(--cuerpo);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--cobalto)}
a:hover{color:var(--cyan)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--display);color:var(--marino);line-height:1.15;margin:0;text-wrap:balance}
p{margin:0}
.envoltura{max-width:var(--ancho);margin-inline:auto;padding-inline:20px}
.seccion{padding-block:84px}
.seccion.tinte{background:var(--tinte)}
.encabezado-seccion{display:grid;gap:12px;max-width:720px;margin-bottom:40px}
.antetitulo{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalto);display:flex;align-items:center;gap:10px}
.antetitulo::before{content:"";width:22px;height:3px;background:var(--cyan);border-radius:2px}
.encabezado-seccion h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;color:var(--cobalto)}
.encabezado-seccion p{color:var(--texto-2);font-size:1.05rem;max-width:62ch}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-weight:700;font-size:.98rem;letter-spacing:.02em;text-decoration:none;padding:12px 22px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-principal{background:var(--cobalto);color:var(--blanco)}
.btn-principal:hover{background:var(--marino);color:var(--blanco);border-color:var(--cyan)}
.btn-naranja{background:var(--naranja);color:var(--blanco)}
.btn-naranja:hover{background:var(--naranja-hover);color:var(--blanco)}
.btn-fantasma{background:transparent;color:var(--blanco);border-color:rgba(255,255,255,.55)}
.btn-fantasma:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-contorno{background:transparent;color:var(--cobalto);border-color:var(--cobalto)}
.btn-contorno:hover{border-color:var(--cyan);color:var(--marino);background:var(--cyan-fondo)}
.btn-chico{padding:9px 16px;font-size:.9rem}

/* Encabezado fijo */
.cabecera{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--marino);border-bottom:3px solid var(--cyan)}
.cabecera .envoltura{display:flex;align-items:center;gap:20px;min-height:76px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.marca img.globo{width:52px;height:52px}
.marca-texto{display:grid;gap:3px}
.marca-texto img{width:150px;height:auto}
.marca-texto span{font-family:var(--display);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.menu a{white-space:nowrap;color:var(--sobre-marino);text-decoration:none;font-family:var(--display);font-weight:600;font-size:.95rem;padding:8px 10px;border-radius:6px}
.menu a:hover,.menu a[aria-current="page"]{color:var(--blanco);background:rgba(0,196,216,.14)}
.acciones-cabecera{display:flex;gap:10px;align-items:center}
.btn-aula{color:var(--cyan);border-color:var(--cyan);background:transparent}
.btn-aula:hover{background:var(--cyan);color:var(--marino)}
.boton-menu{display:none;margin-left:auto;background:transparent;border:2px solid rgba(255,255,255,.4);color:var(--blanco);border-radius:8px;padding:8px 12px;font-family:var(--display);font-weight:700;cursor:pointer}
@media (max-width:1200px){
  .boton-menu{display:inline-flex;align-items:center;gap:8px}
  .menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--marino);padding:12px 20px 20px;border-bottom:3px solid var(--cyan);margin:0}
  .menu a{padding:12px 10px;font-size:1.05rem}
  .menu .acciones-cabecera{flex-wrap:wrap;margin-top:10px}
  .cabecera:not(.abierta) .menu{display:none}
}
@media (min-width:1201px){.menu .acciones-cabecera{margin-left:14px}}
@media (max-width:480px){.cabecera .envoltura{gap:12px}.marca-texto img{width:116px}.marca-texto span{font-size:.6rem;letter-spacing:.1em}.marca img.globo{width:42px;height:42px}.boton-menu{padding:7px 10px}}

/* Portada */
.portada{position:relative;background:var(--marino);color:var(--sobre-marino);overflow:hidden}
.portada canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.portada .envoltura{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;padding-block:72px 64px}
.portada-texto{display:grid;gap:22px}
.lema-completo{font-family:var(--display);font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);max-width:44ch}
.portada h1{color:var(--blanco);font-size:clamp(2.4rem,5.6vw,4.3rem);font-weight:800;font-style:italic;letter-spacing:-.01em;line-height:1.02}
.portada h1 em{font-style:italic;color:var(--naranja-suave)}
.portada-texto p{font-size:1.12rem;max-width:56ch}
.portada-botones{display:flex;flex-wrap:wrap;gap:12px}
.portada-visual{position:relative;justify-self:center;width:min(100%,400px);aspect-ratio:1}
.portada-visual .orbita{position:absolute;inset:0;border-radius:50%;border:1.5px dashed rgba(0,196,216,.5)}
.portada-visual .orbita.dos{inset:9%;border-style:solid;border-color:rgba(0,196,216,.22)}
.portada-visual img{position:absolute;inset:14%;width:72%;height:72%;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45))}
.ficha-flotante{position:absolute;display:flex;align-items:center;gap:10px;background:var(--blanco);color:var(--marino);border-radius:999px;padding:8px 16px 8px 10px;font-family:var(--display);font-weight:700;font-size:.85rem;box-shadow:0 10px 28px rgba(5,12,40,.35);white-space:nowrap}
.ficha-flotante i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--cyan-fondo);color:var(--cobalto)}
.ficha-flotante svg{width:16px;height:16px}
.ficha-flotante small{display:block;font-family:var(--cuerpo);font-weight:500;font-size:.72rem;color:var(--texto-2);line-height:1.1}
.ff-1{top:4%;left:-6%}
.ff-2{top:46%;right:-8%}
.ff-3{bottom:3%;left:2%}
@media (max-width:900px){
  .portada .envoltura{grid-template-columns:1fr;padding-block:52px 48px}
  .portada-visual{width:min(100%,320px)}
  .ff-1{left:0}.ff-2{right:0}
}

/* Cifras */
.cifras{background:var(--blanco);border-bottom:1px solid var(--borde)}
.cifras .envoltura{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.cifra{padding:26px 22px;display:grid;gap:2px;border-left:1px solid var(--borde)}
.cifra:first-child{border-left:none}
.cifra strong{font-family:var(--display);font-weight:800;font-style:italic;font-size:2.4rem;line-height:1;color:var(--cobalto);font-variant-numeric:tabular-nums}
.cifra strong sup{font-size:.55em;color:var(--naranja);vertical-align:.55em}
.cifra span{font-weight:600;color:var(--marino);font-size:.98rem}
.cifra small{color:var(--texto-2);font-size:.86rem;line-height:1.35}
@media (max-width:820px){.cifras .envoltura{grid-template-columns:repeat(2,minmax(0,1fr))}.cifra:nth-child(3){border-left:none}.cifra:nth-child(n+3){border-top:1px solid var(--borde)}}

/* Lineas de formación */
.lineas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.linea{display:grid;grid-template-rows:auto 1fr auto;background:var(--blanco);border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden}
.linea-cabeza{padding:22px 24px 18px;color:var(--blanco);display:grid;gap:4px}
.linea-cabeza small{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;opacity:.85}
.linea-cabeza h3{color:var(--blanco);font-size:1.6rem;font-weight:800;font-style:italic}
.linea.capacitacion .linea-cabeza{background:var(--cobalto)}
.linea.actualizacion .linea-cabeza{background:linear-gradient(120deg,var(--cobalto),#0A8FB8)}
.linea.especializacion .linea-cabeza{background:var(--marino)}
.linea-cuerpo{padding:20px 24px;display:grid;gap:14px;align-content:start}
.linea-cuerpo dl{margin:0;display:grid;gap:12px}
.linea-cuerpo dt{font-family:var(--display);font-weight:700;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-2)}
.linea-cuerpo dd{margin:2px 0 0;color:var(--texto)}
.linea-pie{padding:0 24px 22px}
.enlace-flecha{font-family:var(--display);font-weight:700;color:var(--cobalto);text-decoration:none;display:inline-flex;gap:6px;align-items:center;background:none;border:0;padding:0;cursor:pointer;font-size:1rem}
.enlace-flecha:hover{color:var(--cyan)}
@media (max-width:900px){.lineas{grid-template-columns:1fr}}

/* Cursos */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 28px}
.filtro{font-family:var(--display);font-weight:600;font-size:.92rem;padding:8px 16px;border-radius:999px;border:1.5px solid var(--borde);background:var(--blanco);color:var(--marino);cursor:pointer}
.filtro:hover{border-color:var(--cyan)}
.filtro[aria-pressed="true"]{background:var(--marino);border-color:var(--marino);color:var(--blanco)}
.filtro b{font-family:var(--mono);font-weight:500;font-size:.78rem;opacity:.7;margin-left:4px}
.cursos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.curso{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:14px;background:var(--blanco);border:1px solid var(--borde);border-radius:var(--radio);padding:22px;transition:border-color .2s,box-shadow .2s}
.curso:hover{border-color:var(--cyan);box-shadow:0 12px 30px rgba(12,27,77,.08)}
.curso-arriba{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.etiqueta{font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.etiqueta.capacitacion{background:#E6ECFA;color:var(--cobalto)}
.etiqueta.actualizacion{background:var(--cyan-fondo);color:#03707C}
.etiqueta.especializacion{background:var(--marino);color:var(--blanco)}
.area{font-family:var(--mono);font-size:.74rem;color:var(--texto-2);letter-spacing:.03em}
.curso h3{font-size:1.32rem;font-weight:700}
.curso p{color:var(--texto-2);font-size:.98rem}
.datos{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.92rem;border-top:1px dashed var(--borde);padding-top:14px}
.datos dt{color:var(--texto-2)}
.datos dd{margin:0;color:var(--marino);font-weight:600;font-variant-numeric:tabular-nums}
.pendiente{display:inline-block;border:1.5px dashed var(--naranja-suave);color:#B45309;border-radius:6px;padding:0 8px;font-weight:600;font-size:.86rem}
.curso-botones{display:flex;gap:10px;flex-wrap:wrap}
.curso-botones .btn{flex:1 1 120px}
.nota-catalogo{margin-top:28px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.nota-catalogo p{color:var(--texto-2)}
@media (max-width:1000px){.cursos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cursos{grid-template-columns:1fr}}

/* Rutas formativas */
.pestanas{display:flex;flex-wrap:wrap;gap:6px;border-bottom:2px solid var(--borde);margin-bottom:34px}
.pestana{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--texto-2);background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:10px 16px;cursor:pointer}
.pestana[aria-selected="true"]{color:var(--cobalto);border-bottom-color:var(--naranja)}
.pestana:hover{color:var(--marino)}
.ruta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:relative}
.ruta::before{content:"";position:absolute;top:27px;left:16%;right:16%;height:4px;background:linear-gradient(90deg,var(--cyan),var(--cobalto),var(--marino));border-radius:2px}
.nivel{display:grid;justify-items:center;text-align:center;gap:12px;padding-inline:14px;position:relative}
.nivel-punto{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-style:italic;font-size:1.3rem;color:var(--blanco);border:5px solid var(--tinte)}
.nivel:nth-child(1) .nivel-punto{background:var(--cyan)}
.nivel:nth-child(2) .nivel-punto{background:var(--cobalto)}
.nivel:nth-child(3) .nivel-punto{background:var(--marino)}
.nivel-caja{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--radio);padding:18px 20px;display:grid;gap:8px;width:100%;text-align:left}
.nivel-caja h4{font-size:1.15rem}
.nivel-caja .horas{font-family:var(--mono);font-size:.78rem;color:var(--cobalto)}
.nivel-caja p{font-size:.95rem;color:var(--texto-2)}
.nivel-caja .req{font-size:.85rem;color:var(--texto);border-top:1px dashed var(--borde);padding-top:8px}
@media (max-width:760px){
  .ruta{grid-template-columns:1fr;gap:18px}
  .ruta::before{top:20px;bottom:20px;left:28px;right:auto;width:4px;height:auto;background:linear-gradient(180deg,var(--cyan),var(--cobalto),var(--marino))}
  .nivel{grid-template-columns:58px 1fr;justify-items:stretch;align-items:start;padding-inline:0}
}

/* Por qué */
.ventajas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--borde)}
.ventaja{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:28px 24px 28px 0;border-bottom:1px solid var(--borde)}
.ventaja:not(:nth-child(3n+1)){padding-left:24px;border-left:1px solid var(--borde)}
.icono{width:48px;height:48px;border-radius:12px;background:var(--cyan-fondo);color:var(--cobalto);display:grid;place-items:center}
.icono svg{width:26px;height:26px}
.ventaja h3{font-size:1.12rem;margin-bottom:4px}
.ventaja p{color:var(--texto-2);font-size:.96rem}
@media (max-width:900px){.ventajas{grid-template-columns:1fr 1fr}.ventaja:not(:nth-child(3n+1)){padding-left:0;border-left:0}.ventaja:nth-child(even){padding-left:24px;border-left:1px solid var(--borde)}}
@media (max-width:600px){.ventajas{grid-template-columns:1fr}.ventaja:nth-child(even){padding-left:0;border-left:0}}

/* Empresas */
.empresas{background:var(--naranja-fondo);border-top:4px solid var(--naranja-suave)}
.empresas .envoltura{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.empresas .encabezado-seccion{margin-bottom:22px}
.empresas .encabezado-seccion h2{color:var(--marino)}
.empresas .antetitulo{color:#B45309}
.empresas .antetitulo::before{background:var(--naranja)}
.sectores{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;padding:0;list-style:none}
.sectores li{background:var(--blanco);color:var(--marino);font-weight:600;font-size:.92rem;padding:7px 14px;border-radius:999px;border:1px solid #F6D3AE}
.proceso{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:paso}
.proceso li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding-bottom:22px;position:relative;counter-increment:paso}
.proceso li:not(:last-child)::after{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:#F6C08A}
.proceso li::before{content:counter(paso);width:44px;height:44px;border-radius:50%;background:var(--marino);color:var(--blanco);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-style:italic;font-size:1.1rem}
.proceso h3{font-size:1.1rem;padding-top:9px}
.proceso p{color:var(--texto);font-size:.95rem}
.titulo-proceso{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#B45309;margin-bottom:18px}
@media (max-width:900px){.empresas .envoltura{grid-template-columns:1fr;gap:36px}}

/* Testimonios */
.testimonios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.testimonio{border:2px dashed var(--borde);border-radius:var(--radio);padding:26px;display:grid;gap:14px;align-content:start;background:var(--blanco)}
.comillas{font-family:var(--display);font-size:3rem;line-height:.6;color:var(--cyan);font-weight:800}
.testimonio p{color:var(--texto-2);font-style:italic}
.testimonio .quien{display:flex;gap:12px;align-items:center}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--tinte);border:2px dashed var(--borde)}
.quien strong{display:block;color:var(--marino);font-size:.95rem}
.quien span{color:var(--texto-2);font-size:.85rem}
.aviso{display:inline-flex;gap:8px;align-items:center;font-size:.85rem;color:#B45309;background:var(--naranja-fondo);border-radius:6px;padding:4px 10px;width:fit-content}
@media (max-width:900px){.testimonios{grid-template-columns:1fr}}

/* Certificación */
.certificacion{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.requisitos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:4px}
.requisito{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--radio);padding:20px}
.requisito strong{display:block;font-family:var(--display);font-weight:800;font-style:italic;font-size:2.4rem;color:var(--cobalto);line-height:1;font-variant-numeric:tabular-nums}
.requisito span{font-weight:600;color:var(--marino)}
.requisito p{font-size:.9rem;color:var(--texto-2);margin-top:4px}
.requisito.ancho{grid-column:1/-1;display:flex;gap:16px;align-items:center}
.requisito.ancho .icono{flex-shrink:0}
.verificador{background:var(--marino);color:var(--sobre-marino);border-radius:14px;padding:30px;display:grid;gap:16px}
.verificador h3{color:var(--blanco);font-size:1.5rem}
.selector{display:inline-flex;background:rgba(255,255,255,.08);border-radius:8px;padding:4px;gap:4px;width:fit-content}
.selector button{background:none;border:0;color:var(--sobre-marino);font-family:var(--display);font-weight:700;padding:8px 14px;border-radius:6px;cursor:pointer}
.selector button[aria-pressed="true"]{background:var(--cyan);color:var(--marino)}
.verificador label{font-size:.9rem;font-weight:600;color:var(--blanco)}
.campo-fila{display:flex;gap:10px;flex-wrap:wrap}
.campo-fila input{flex:1 1 200px;min-width:0;font:inherit;font-family:var(--mono);font-size:.95rem;padding:12px 14px;border-radius:8px;border:2px solid transparent;background:var(--blanco);color:var(--marino)}
.campo-fila input:focus{border-color:var(--cyan);outline:none}
.resultado{font-size:.92rem;border-left:3px solid var(--cyan);padding:8px 12px;background:rgba(0,196,216,.1);border-radius:0 6px 6px 0;color:var(--blanco)}
.verificador small{color:var(--sobre-marino);font-size:.84rem}
@media (max-width:900px){.certificacion{grid-template-columns:1fr}}

/* Novedades */
.novedades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.nota{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;border-top:4px solid var(--cobalto);background:var(--blanco);padding:22px 4px 4px}
.nota:nth-child(2){border-top-color:var(--cyan)}
.nota:nth-child(3){border-top-color:var(--naranja)}
.nota .meta{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:.74rem;color:var(--texto-2);text-transform:uppercase;letter-spacing:.04em}
.nota h3{font-size:1.22rem}
.nota p{color:var(--texto-2);font-size:.96rem}
@media (max-width:900px){.novedades{grid-template-columns:1fr}}

/* Llamada final */
.llamada{background:var(--cobalto);color:var(--blanco);position:relative;overflow:hidden}
.llamada .envoltura{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding-block:56px}
.llamada h2{color:var(--blanco);font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;font-style:italic}
.llamada p{color:#D9E2FA;margin-top:6px;max-width:52ch}
.llamada .btn-fantasma{border-color:rgba(255,255,255,.7)}

/* Pie */
.pie{background:var(--marino);color:var(--sobre-marino);font-size:.95rem}
.pie .envoltura{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-block:56px 36px}
.pie h4{color:var(--blanco);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie a{color:var(--sobre-marino);text-decoration:none}
.pie a:hover{color:var(--cyan)}
.pie .marca{margin-bottom:14px}
.pie-lema{font-size:.92rem;max-width:34ch;margin-bottom:12px}
.contacto-linea{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start}
.contacto-linea svg{width:18px;height:18px;color:var(--cyan);margin-top:3px}
.telefonos{font-variant-numeric:tabular-nums}
.reclamaciones{display:inline-flex;align-items:center;gap:10px;border:1.5px solid rgba(255,255,255,.35);border-radius:8px;padding:10px 14px;margin-top:14px;color:var(--blanco)!important;font-weight:600}
.reclamaciones svg{width:22px;height:22px;color:var(--naranja-suave)}
.pie-base{border-top:1px solid rgba(255,255,255,.12)}
.pie-base .envoltura{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-block:18px;grid-template-columns:none;font-size:.85rem}
@media (max-width:980px){.pie .envoltura{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pie .envoltura{grid-template-columns:1fr}}


/* Nosotros: misión, visión, valores */
.mv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}
.mv article{border-radius:var(--radio);padding:28px 30px;color:var(--sobre-marino);display:grid;gap:10px;align-content:start}
.mv article:first-child{background:var(--cobalto);color:#E1E8FB}
.mv article:last-child{background:var(--marino)}
.mv h3{color:var(--blanco);font-size:1.5rem;font-weight:800;font-style:italic;display:flex;align-items:center;gap:12px}
.mv h3 svg{width:28px;height:28px;color:var(--cyan)}
.mv p{font-size:1.04rem;max-width:58ch}
.valores-titulo{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalto);margin:40px 0 16px}
.valores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:56px}
.valor{background:var(--blanco);border:1px solid var(--borde);border-top:4px solid var(--cyan);border-radius:var(--radio);padding:20px;display:grid;gap:6px;align-content:start}
.valor:nth-child(2){border-top-color:var(--cobalto)}
.valor:nth-child(3){border-top-color:var(--naranja)}
.valor:nth-child(4){border-top-color:var(--marino)}
.valor h4{font-size:1.15rem}
.valor p{font-size:.94rem;color:var(--texto-2)}
.subtitulo-ventajas{font-size:clamp(1.4rem,2.6vw,1.8rem);font-weight:800;color:var(--marino);margin-bottom:8px}
@media (max-width:900px){.mv{grid-template-columns:1fr}.valores{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.valores{grid-template-columns:1fr}}

/* Ubicación */
.ubicacion{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:stretch}
.datos-contacto{display:grid;gap:18px;align-content:start}
.dato-c{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}
.dato-c strong{display:block;color:var(--marino);font-family:var(--display);font-size:1.02rem}
.dato-c span{color:var(--texto);font-variant-numeric:tabular-nums}
.dato-c small{display:block;color:var(--texto-2);font-size:.88rem}
.mapa{border-radius:14px;overflow:hidden;border:1px solid var(--borde);min-height:380px;position:relative;background:var(--tinte)}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapa-tarjeta{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:
  linear-gradient(var(--borde) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,var(--borde) 1px,transparent 1px) 0 0/40px 40px,var(--tinte)}
.mapa-tarjeta div{display:grid;gap:12px;justify-items:center;background:var(--blanco);padding:24px 28px;border-radius:12px;box-shadow:0 12px 30px rgba(12,27,77,.12)}
.mapa-tarjeta svg{width:40px;height:40px;color:var(--naranja)}
.mapa-tarjeta code{font-family:var(--mono);font-size:.85rem;color:var(--texto-2)}
@media (max-width:900px){.ubicacion{grid-template-columns:1fr}.mapa{min-height:320px}}


/* Catálogo */
.catalogo{margin-top:64px;padding-top:48px;border-top:1px solid var(--borde)}
.catalogo-cabeza{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.catalogo-cabeza h3{font-size:clamp(1.5rem,2.8vw,2rem);font-weight:800;color:var(--cobalto)}
.catalogo-cabeza p{color:var(--texto-2);margin-top:6px}
.buscador{display:flex;align-items:center;gap:8px;border:1.5px solid var(--borde);border-radius:999px;padding:6px 16px;background:var(--blanco);flex:0 1 340px;min-width:0}
.buscador:focus-within{border-color:var(--cyan)}
.buscador svg{width:18px;height:18px;color:var(--texto-2);flex-shrink:0}
.buscador input{border:0;outline:0;font:inherit;font-size:.98rem;padding:6px 0;width:100%;min-width:0;background:transparent;color:var(--marino)}
.filtros-cat{display:grid;gap:10px;margin-bottom:10px}
.grupo-filtro{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--display);font-weight:600;font-size:.9rem;padding:7px 14px;border-radius:999px;border:1.5px solid var(--borde);background:var(--blanco);color:var(--marino);cursor:pointer}
.chip:hover{border-color:var(--cyan)}
.chip b{font-family:var(--mono);font-weight:500;font-size:.76rem;opacity:.65;margin-left:2px}
.chip[aria-pressed="true"]{background:var(--marino);border-color:var(--marino);color:var(--blanco)}
.linea-chip.cap[aria-pressed="true"]{background:var(--cobalto);border-color:var(--cobalto)}
.linea-chip.act[aria-pressed="true"]{background:#03707C;border-color:#03707C}
.conteo{font-size:.9rem;color:var(--texto-2);margin:6px 0 4px}
.area-grupo{margin-top:30px}
.area-titulo{font-size:1.2rem;font-weight:700;color:var(--marino);display:flex;align-items:baseline;gap:12px;padding-bottom:10px;margin-bottom:16px;border-bottom:2px solid var(--marino)}
.area-titulo span{font-family:var(--mono);font-weight:500;font-size:.76rem;color:var(--texto-2)}
.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cat{display:grid;grid-template-rows:auto 1fr auto auto auto;gap:10px;border:1px solid var(--borde);border-radius:var(--radio);padding:18px;background:var(--blanco);transition:border-color .2s}
.cat:hover{border-color:var(--cyan)}
.cat h5{font-family:var(--display);font-size:1.12rem;font-weight:700;color:var(--marino);margin:0}
.cat p{font-size:.93rem;color:var(--texto-2);line-height:1.5}
.herr{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.herr li{font-family:var(--mono);font-size:.72rem;color:var(--cobalto);background:var(--tinte);border-radius:4px;padding:2px 7px}
.niveles{display:flex;flex-wrap:wrap;gap:6px}
.niv{font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.niv.capacitacion{background:#E6ECFA;color:var(--cobalto)}
.niv.actualizacion{background:var(--cyan-fondo);color:#03707C}
.niv.especializacion{background:var(--marino);color:var(--blanco)}
.cat-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--borde);padding-top:10px;font-size:.84rem;color:var(--texto-2)}
.cat-pie a{font-family:var(--display);font-weight:700;color:var(--cobalto);text-decoration:none}
.cat-pie a:hover{color:var(--cyan)}
.sin-resultados{margin-top:24px;padding:18px;border:2px dashed var(--borde);border-radius:var(--radio);color:var(--texto-2);text-align:center}
.extra-cat{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;margin-top:44px}
.horarios,.servicio{border:1px solid var(--borde);border-radius:var(--radio);padding:22px;background:var(--tinte);min-width:0}
.horarios h4,.servicio h4{font-size:1.15rem;margin-bottom:14px}
.tabla-scroll{overflow-x:auto}
.horarios table{border-collapse:collapse;width:100%;min-width:480px;font-size:.92rem;font-variant-numeric:tabular-nums;background:var(--blanco);border-radius:8px;overflow:hidden}
.horarios th,.horarios td{padding:10px 12px;border-bottom:1px solid var(--borde);text-align:left}
.horarios thead th{background:var(--marino);color:var(--blanco);font-family:var(--display);font-size:.85rem;letter-spacing:.04em}
.horarios tbody th{color:var(--marino);font-family:var(--display);white-space:nowrap}
.horarios tbody th small{display:block;font-family:var(--cuerpo);font-weight:400;color:var(--texto-2);font-size:.78rem}
.horarios tbody tr:last-child th,.horarios tbody tr:last-child td{border-bottom:0}
.nota-horario{font-size:.88rem;color:var(--texto-2);margin-top:10px}
.servicio{display:grid;gap:12px;align-content:start;background:var(--naranja-fondo);border-color:#F6D3AE}
.servicio ul{margin:0;padding-left:18px;color:var(--texto)}
.servicio .btn{justify-self:start}
@media (max-width:1000px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.extra-cat{grid-template-columns:1fr}}
@media (max-width:620px){.cat-grid{grid-template-columns:1fr}.buscador{flex-basis:100%}}



/* Tarjetas de curso con portada */
.cubierta{position:relative;aspect-ratio:16/8;max-width:100%;overflow:hidden}
.cubierta .ilu{position:absolute;inset:0;width:100%;height:100%}
.c-ofi{background:linear-gradient(135deg,#1A3FAA 0%,#0B7FB0 100%)}
.c-prog{background:linear-gradient(135deg,#0C1B4D 0%,#1A3FAA 100%)}
.c-ia{background:linear-gradient(135deg,#13276A 0%,#0A8FB8 100%)}
.c-ing{background:linear-gradient(135deg,#0C1B4D 0%,#0E5E86 100%)}
.c-dis{background:linear-gradient(135deg,#1A3FAA 0%,#13276A 100%)}
.insignia{position:absolute;top:12px;left:12px;background:var(--blanco);color:var(--marino);font-family:var(--display);font-weight:700;font-size:.74rem;letter-spacing:.02em;padding:5px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(5,12,40,.25)}
.insignia.nueva{left:auto;right:12px;background:var(--naranja);color:var(--blanco)}
.ceja{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin:0}
.ceja.capacitacion{color:var(--cobalto)}
.ceja.actualizacion{color:#08788A}
.ceja.especializacion{color:#B25400}
.ceja.mixta{color:var(--cobalto)}
.curso{grid-template-rows:auto auto auto 1fr auto auto;padding:0;overflow:hidden;gap:10px;border-radius:14px}
.curso>*:not(.cubierta){margin-inline:22px}
.curso>.cubierta+*{margin-top:8px}
.curso>:last-child{margin-bottom:22px}
.curso .datos{margin-top:4px}
.cat{grid-template-rows:auto auto auto 1fr auto auto auto;padding:0;overflow:hidden;gap:8px;border-radius:14px}
.cat>*:not(.cubierta){margin-inline:18px}
.cat>.cubierta+*{margin-top:8px}
.cat>:last-child{margin-bottom:18px}
.cat h5{font-size:1.18rem;color:var(--marino)}
.cat:hover,.curso:hover{border-color:var(--borde);box-shadow:0 14px 34px rgba(12,27,77,.12);transform:translateY(-2px)}
.cat,.curso{transition:box-shadow .2s,transform .2s}
.modalidad{display:flex;align-items:center;gap:6px;font-size:.84rem;color:var(--texto-2);margin-top:2px}
.modalidad svg{width:15px;height:15px;color:var(--cyan);flex-shrink:0}
.btn-bloque{display:flex;width:auto;background:var(--marino);color:var(--blanco);font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;justify-content:center;padding:12px 16px;border-radius:8px;margin-top:4px;transition:background .18s}
.btn-bloque:hover{background:var(--cobalto);color:var(--blanco)}
@media (prefers-reduced-motion:reduce){.cat:hover,.curso:hover{transform:none}}


.cubierta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cubierta::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,27,77,.28) 0%,rgba(12,27,77,0) 45%);pointer-events:none}
.cat:hover .cubierta img,.curso:hover .cubierta img{transform:scale(1.05)}
.insignia{z-index:1}

/* WhatsApp flotante */
.flotante-wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:10px;background:#1FAF5A;color:#FFFFFF;text-decoration:none;font-family:var(--display);font-weight:700;padding:12px 18px 12px 14px;border-radius:999px;box-shadow:0 10px 26px rgba(12,27,77,.3)}
.flotante-wa:hover{background:#178F49;color:#FFFFFF}
.flotante-wa svg{width:24px;height:24px}
@media (max-width:520px){.flotante-wa span{display:none}.flotante-wa{padding:14px}}


/* Barra superior de accesos */
.barra-sup{background:#08133A;color:var(--sobre-marino);font-size:.84rem}
.barra-sup .envoltura{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap}
.barra-sup a{color:var(--sobre-marino);text-decoration:none}
.barra-sup a:hover{color:var(--cyan)}
.bs-datos{display:flex;gap:18px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.bs-accesos{display:flex;gap:16px;margin-left:auto}
.bs-accesos a{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:600;color:var(--blanco)}
.bs-accesos svg{width:15px;height:15px;color:var(--cyan)}
@media (max-width:900px){.bs-dir{display:none}}
@media (max-width:620px){.bs-datos{display:none}.bs-accesos{margin-inline:auto}}
/* ===== Páginas internas ===== */
.banner-pagina{position:relative;background:var(--marino);overflow:hidden;color:var(--sobre-marino)}
.banner-pagina .circuito{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.banner-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.banner-pagina::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,27,77,.94) 0%,rgba(12,27,77,.78) 45%,rgba(12,27,77,.45) 100%)}
.banner-pagina .envoltura{position:relative;z-index:1;padding-block:64px 58px;display:grid;gap:12px}
.banner-pagina h1{color:var(--blanco);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;font-style:italic;line-height:1.05}
.banner-pagina p{font-size:1.1rem;max-width:60ch;color:#D7DEF2}
.banner-pagina .envoltura::after{content:"";width:64px;height:4px;border-radius:2px;background:var(--naranja);margin-top:6px}
.migas{display:flex;gap:10px;align-items:center;font-family:var(--display);font-weight:600;font-size:.86rem;letter-spacing:.04em;color:var(--cyan)}
.migas a{color:var(--sobre-marino);text-decoration:none}
.migas a:hover{color:var(--cyan)}
.mas{display:flex;justify-content:center;margin-top:36px}
.extra-cat.una{grid-template-columns:1fr;margin-top:36px}
/* Pasos de inscripción */
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:p}
.pasos li{counter-increment:p;background:var(--blanco);border:1px solid var(--borde);border-radius:var(--radio);padding:22px;display:grid;gap:6px;align-content:start}
.pasos li::before{content:counter(p);width:40px;height:40px;border-radius:50%;background:var(--cobalto);color:var(--blanco);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-style:italic;margin-bottom:6px}
.pasos h3{font-size:1.1rem}
.pasos p{color:var(--texto-2);font-size:.95rem}
.pagos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.pagos article{position:relative;border:1px solid var(--borde);border-radius:var(--radio);padding:22px;background:var(--blanco);display:grid;gap:6px}
.pagos article.destacado{background:var(--marino);border-color:var(--marino)}
.pagos article.destacado h3{color:var(--blanco)}
.pagos article.destacado p{color:var(--sobre-marino)}
.pagos h3{font-size:1.15rem}
.pagos p{color:var(--texto-2);font-size:.95rem}
.insignia-popular{position:absolute;top:-11px;right:16px;background:var(--naranja);color:var(--blanco);font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px}
@media (max-width:900px){.pasos{grid-template-columns:repeat(2,minmax(0,1fr))}.pagos{grid-template-columns:1fr}}
@media (max-width:520px){.pasos{grid-template-columns:1fr}}
/* Formularios */
.formulario-envoltura{max-width:880px}
.formulario{background:var(--blanco);border:1px solid var(--borde);border-radius:14px;padding:28px;display:grid;gap:18px}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.campo{display:grid;gap:6px;min-width:0}
.campo.ancho{grid-column:1/-1}
.campo label{font-weight:600;color:var(--marino);font-size:.94rem}
.campo input,.campo select,.campo textarea{font:inherit;font-size:1rem;color:var(--marino);background:var(--blanco);border:1.5px solid var(--borde);border-radius:8px;padding:11px 12px;width:100%;min-width:0}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,196,216,.18)}
.campo.error input,.campo.error textarea{border-color:#C2410C}
.consentimiento{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--texto-2)}
.consentimiento input{margin-top:4px;width:18px;height:18px;accent-color:var(--cobalto)}
.consentimiento.error{color:#C2410C}
.form-acciones{display:flex;gap:12px;flex-wrap:wrap}
.form-resultado{border-left:4px solid var(--cyan);background:var(--cyan-fondo);border-radius:0 8px 8px 0;padding:14px 16px;display:grid;gap:10px;color:var(--marino)}
.form-resultado.error{border-left-color:#C2410C;background:#FFF1E8}
.form-resultado .btn{justify-self:start}
.form-resultado.ok{border-left-color:#16A34A;background:#ECFDF3}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formulario{position:relative}
button[disabled]{opacity:.7;cursor:wait}
@media (max-width:640px){.campos{grid-template-columns:1fr}.formulario{padding:20px}}

/* Asesorías */
.modos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.modos article{border:1px solid var(--borde);border-top:4px solid var(--cyan);border-radius:var(--radio);padding:26px;display:grid;gap:10px;align-content:start;background:var(--blanco)}
.modos article:nth-child(2){border-top-color:var(--cobalto)}
.modos article:nth-child(3){border-top-color:var(--naranja)}
.modos h3{font-size:1.25rem}
.modos p{color:var(--texto-2)}
.modos .ideal{color:var(--marino);font-weight:600;font-size:.94rem;border-top:1px dashed var(--borde);padding-top:10px}
.temas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.temas li{background:var(--blanco);border:1px solid var(--borde);border-left:4px solid var(--cyan);border-radius:8px;padding:12px 14px;font-weight:600;color:var(--marino);font-size:.95rem}
.franja-asesoria{background:var(--marino);color:var(--sobre-marino);border-top:4px solid var(--cyan)}
.franja-asesoria .envoltura{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:44px}
.franja-asesoria h2{color:var(--blanco);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;font-style:italic;margin:6px 0}
.franja-asesoria .antetitulo{color:var(--cyan)}
.franja-asesoria p{max-width:56ch}
@media (max-width:1000px){.temas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.modos{grid-template-columns:1fr}}
@media (max-width:480px){.temas{grid-template-columns:1fr}}
/* Menú con 8 opciones: más compacto en escritorio */
@media (min-width:1321px){
  .cabecera .envoltura{gap:14px}
  .marca-texto img{width:128px}
  .menu{gap:0}
  .menu a{padding:8px 7px;font-size:.88rem}
  .menu .acciones-cabecera{margin-left:8px;gap:8px}
  .menu .acciones-cabecera .btn{padding:8px 12px;font-size:.86rem}
}
/* Menú desplegable en pantallas medianas y móviles */
@media (max-width:1320px){
  .boton-menu{display:inline-flex;align-items:center;gap:8px}
  .menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--marino);padding:12px 20px 20px;border-bottom:3px solid var(--cyan);margin:0}
  .menu a{padding:12px 10px;font-size:1.05rem}
  .menu .acciones-cabecera{flex-wrap:wrap;margin-top:10px;margin-left:0}
  .cabecera:not(.abierta) .menu{display:none}
}

/* Contacto: tarjeta de datos + formulario sobre el banner */
.contacto-doble{position:relative;margin-top:-70px;z-index:2;padding-bottom:20px}
.contacto-doble .envoltura{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
.tarjeta-info{background:var(--marino);color:var(--sobre-marino);border-radius:16px;padding:34px;box-shadow:0 18px 40px rgba(12,27,77,.25);display:grid;gap:14px}
.tarjeta-info h2{color:var(--blanco);font-size:1.6rem}
.tarjeta-info ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:22px}
.tarjeta-info li{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start}
.tarjeta-info .ci{width:46px;height:46px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:var(--cyan)}
.tarjeta-info .ci svg{width:22px;height:22px}
.tarjeta-info strong{display:block;color:var(--blanco);font-family:var(--display)}
.tarjeta-info small{display:block;font-size:.85rem;opacity:.85}
.tarjeta-info a{color:var(--blanco)}
.tarjeta-info a:hover{color:var(--cyan)}
.tarjeta-form{background:var(--blanco);border-radius:16px;padding:34px;box-shadow:0 18px 40px rgba(12,27,77,.12);border:1px solid var(--borde);display:grid;gap:8px}
.tarjeta-form h2{color:var(--cobalto);font-size:1.6rem}
.tarjeta-form .sub{color:var(--texto-2);margin-bottom:10px}
.tarjeta-form .formulario{border:0;padding:0;box-shadow:none}
.mapa-ancho{min-height:400px}
@media (max-width:900px){.contacto-doble{margin-top:0;padding-top:36px}.contacto-doble .envoltura{grid-template-columns:1fr}.tarjeta-info,.tarjeta-form{padding:24px}}
/* Acceso al correo */
.acceso-correo{background:linear-gradient(180deg,var(--marino) 0,var(--marino) 300px,var(--tinte) 300px);padding-block:64px 80px}
.acceso-tarjeta{max-width:460px;margin-inline:auto;background:var(--blanco);border-radius:18px;padding:36px;box-shadow:0 24px 50px rgba(12,27,77,.25);display:grid;gap:12px}
.acceso-icono{width:56px;height:56px;border-radius:14px;background:var(--cyan-fondo);color:var(--cobalto);display:grid;place-items:center}
.acceso-icono svg{width:28px;height:28px}
.acceso-tarjeta h1{font-size:1.9rem;color:var(--marino);font-weight:800}
.acceso-tarjeta .sub{color:var(--texto-2)}
.acceso-form{display:grid;gap:14px;margin-top:6px}
.clave{display:flex;gap:8px}
.clave input{flex:1;min-width:0}
.ver-clave{border:1.5px solid var(--borde);background:var(--blanco);color:var(--cobalto);border-radius:8px;padding:0 14px;font-family:var(--display);font-weight:700;cursor:pointer}
.btn-ancho{width:100%;padding-block:14px}
.aviso-correo{color:#C2410C;font-size:.92rem}
.aviso-correo.ok{color:#15803D}
.acceso-notas{margin:6px 0 0;padding-left:18px;color:var(--texto-2);font-size:.88rem;display:grid;gap:4px}
.acceso-alt{font-size:.9rem;color:var(--texto-2);border-top:1px solid var(--borde);padding-top:12px}

body:has(.contacto-doble) .banner-pagina .envoltura{padding-bottom:130px}
