/* SOA · macroestructura: Split (inicio) + Editorial con columna lateral (páginas de seguro) · tema: Manual de Marca Roxana Rosillo · tono: cálido */

@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url("/fonts/poppins-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:600;font-style:normal;font-display:swap;src:url("/fonts/poppins-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:700;font-style:normal;font-display:swap;src:url("/fonts/poppins-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Lato";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/lato-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Lato";font-weight:700;font-style:normal;font-display:swap;src:url("/fonts/lato-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Lato";font-weight:400;font-style:italic;font-display:swap;src:url("/fonts/lato-latin-400-italic.woff2") format("woff2")}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{margin:0;font-family:var(--f-texto);font-size:var(--t-base);line-height:1.6;color:var(--tinta);background:var(--blanco);overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-titulo);font-weight:700;line-height:1.12;letter-spacing:-.015em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,var(--t-3xl))}
h2{font-size:clamp(1.65rem,3.4vw,var(--t-2xl))}
h3{font-size:var(--t-lg);line-height:1.2}
h4{font-size:var(--t-md);font-weight:600}
p{margin:0 0 var(--s2);text-wrap:pretty}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--fucsia);outline-offset:3px;border-radius:6px}
[hidden]{display:none !important}

.wrap{width:min(100% - 2.5rem,var(--max));margin-inline:auto}
.saltar{position:absolute;left:-999px;top:0;background:var(--azul);color:var(--blanco);padding:.6rem 1rem;z-index:100;border-radius:0 0 var(--r-sm) 0}
.saltar:focus{left:0}
section{padding:var(--s5) 0}
.rosa{background:var(--rosa-claro)}
.lead{font-size:var(--t-md);color:var(--tinta-suave);max-width:38rem}
.sec-intro{color:var(--tinta-suave);max-width:40rem;margin-top:var(--s2)}
.pill{display:inline-block;font-family:var(--f-titulo);font-weight:500;font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;background:var(--fucsia);color:var(--blanco);padding:.35rem .85rem;border-radius:var(--r-pill)}
.pill.suave{background:var(--rosa-medio);color:var(--azul)}
.fina{font-style:italic;font-size:var(--t-sm);color:var(--tinta-suave)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--f-titulo);font-weight:600;font-size:var(--t-sm);text-decoration:none;white-space:nowrap;padding:.85rem 1.4rem;border-radius:var(--r-pill);border:2px solid transparent;cursor:pointer;transition:background .15s,transform .15s,border-color .15s}
.btn svg{width:1.15em;height:1.15em;fill:currentColor;flex:none}
.btn-p{background:var(--fucsia);color:var(--blanco)}
.btn-p:hover{background:var(--fucsia-hover);transform:translateY(-1px)}
.btn-l{background:transparent;color:var(--azul);border-color:var(--azul)}
.btn-l:hover{background:var(--azul);color:var(--blanco)}
.btn-b{background:var(--blanco);color:var(--azul)}
.btn-b:hover{background:var(--rosa-claro)}
.btn-lb{background:transparent;color:var(--blanco);border-color:var(--blanco)}
.btn-lb:hover{background:var(--blanco);color:var(--azul)}
.btn-sm{padding:.55rem 1rem;font-size:var(--t-xs)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--s3)}
.enlace{font-family:var(--f-titulo);font-weight:600;font-size:var(--t-sm);text-decoration:underline;text-decoration-color:var(--fucsia);text-decoration-thickness:2px;text-underline-offset:.3em}
.enlace:hover{color:var(--fucsia-hover)}

/* Cabecera */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--linea)}
.cab .wrap{display:flex;align-items:center;gap:var(--s2);min-height:4.5rem}
.logo{display:block;flex:none;margin-right:auto}
.logo img{width:200px;height:auto}
.nav{display:flex;align-items:center;gap:1.2rem;font-family:var(--f-titulo);font-weight:500;font-size:var(--t-sm)}
.nav a{text-decoration:none;white-space:nowrap;padding:.35rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--fucsia)}
.desp{position:relative}
.desp summary{list-style:none;cursor:pointer;white-space:nowrap;padding:.35rem 0;display:flex;align-items:center;gap:.3rem}
.desp summary::-webkit-details-marker{display:none}
.desp summary::after{content:"";width:.45em;height:.45em;border-right:2px solid var(--fucsia);border-bottom:2px solid var(--fucsia);transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.desp[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.desp ul{position:absolute;top:calc(100% + .6rem);left:-1rem;list-style:none;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra);padding:.6rem;min-width:17rem}
.desp li a{display:block;padding:.5rem .75rem;border-radius:var(--r-sm);border:0}
.desp li a:hover{background:var(--rosa-claro);border:0}
.desp li.todos a{font-weight:600;border-top:1px solid var(--linea);border-radius:0 0 var(--r-sm) var(--r-sm);margin-top:.35rem;padding-top:.75rem}
.idioma{display:flex;border:1.5px solid var(--azul);border-radius:var(--r-pill);overflow:hidden;font-family:var(--f-titulo);font-weight:600;font-size:var(--t-xs);flex:none}
.idioma a{padding:.3rem .65rem;text-decoration:none}
.idioma a[aria-current="true"]{background:var(--azul);color:var(--blanco)}
.menu-btn{display:none;background:none;border:1.5px solid var(--azul);border-radius:var(--r-sm);padding:.45rem .7rem;font-family:var(--f-titulo);font-weight:600;font-size:var(--t-xs);cursor:pointer}

/* Héroe (Split asimétrico) */
.heroe{padding:var(--s5) 0 0;background:var(--rosa-claro)}
.heroe-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s4);align-items:end}
.heroe-txt{padding-bottom:var(--s5)}
.heroe h1{margin-top:var(--s2)}
.heroe .lead{margin-top:var(--s3)}
.served{margin-top:var(--s3);font-size:var(--t-sm);color:var(--tinta-suave);display:flex;align-items:center;gap:.6rem}
.served::before{content:"";width:2rem;height:2px;background:var(--fucsia);flex:none}
.retrato{position:relative;justify-self:end;width:min(100%,25rem);aspect-ratio:4/4.6;display:flex;align-items:flex-end;justify-content:center}
.retrato::before{content:"";position:absolute;inset:8% 0 0 0;background:var(--azul);border-radius:14rem 14rem 0 0}
.retrato img{position:relative;width:96%;height:100%;object-fit:contain;object-position:bottom}

/* Aviso de inscripción abierta */
.oe{background:var(--azul);color:var(--blanco);padding:var(--s3) 0}
.oe .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4)}
.oe strong{font-family:var(--f-titulo);font-size:var(--t-md)}
.oe p{margin:.25rem 0 0;font-size:var(--t-sm);opacity:.92;max-width:40rem}
.oe .cuenta{font-family:var(--f-titulo);font-weight:600;font-size:var(--t-sm);border:1.5px solid var(--blanco);border-radius:var(--r-pill);padding:.5rem 1rem;white-space:nowrap}
.oe .cuenta:empty{display:none}

/* Tarjetas de seguros */
.grupo{font-size:var(--t-md);font-weight:600;margin-top:var(--s4);display:flex;align-items:center;gap:.75rem}
.grupo::after{content:"";flex:1;height:1px;background:var(--linea)}
.grupo-nota{color:var(--tinta-suave);font-size:var(--t-sm);margin:.6rem 0 0;max-width:44rem}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr));gap:var(--s2);margin-top:var(--s3)}
.tarjeta{display:flex;flex-direction:column;gap:.6rem;text-decoration:none;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s3);transition:transform .18s,box-shadow .18s,border-color .18s}
.tarjeta:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:var(--fucsia)}
.tarjeta .pill{align-self:flex-start}
.tarjeta h3{font-size:var(--t-md)}
.tarjeta p{margin:0;color:var(--tinta-suave);font-size:var(--t-sm)}
.tarjeta .mas{margin-top:auto;padding-top:.6rem;font-family:var(--f-titulo);font-weight:600;font-size:var(--t-xs);color:var(--azul)}
.tarjeta .mas::after{content:" →";color:var(--fucsia)}
.tarjeta.ancha{grid-column:span 2}
/* Bloque de dato: azul con la cifra en dorado. Uno por página. */
.dato{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s3);background:var(--azul);color:var(--blanco);border-color:var(--azul);grid-column:1/-1}
.dato:hover{border-color:var(--dorado)}
.dato h3{font-size:var(--t-lg);margin-top:.6rem}
.dato p{color:var(--blanco);opacity:.9;margin-top:.5rem}
.dato .mas{color:var(--blanco);display:inline-block;margin-top:.9rem;padding:0}
.dato .mas::after{color:var(--dorado)}
.dato .cifra{font-family:var(--f-titulo);font-weight:700;font-size:clamp(2.6rem,7vw,4.4rem);line-height:1;color:var(--dorado);letter-spacing:-.03em}

/* Cuestionario */
.quiz{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s4);margin-top:var(--s3);max-width:46rem;box-shadow:var(--sombra)}
.q-barra{height:6px;background:var(--rosa-claro);border-radius:var(--r-pill);overflow:hidden;margin-bottom:var(--s3)}
.q-barra i{display:block;height:100%;width:0;background:var(--fucsia);transition:width .3s}
.q-n{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave)}
.q-t{font-family:var(--f-titulo);font-weight:700;font-size:var(--t-lg);margin:.4rem 0 var(--s3)}
.opciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.7rem}
.opcion{text-align:left;background:var(--blanco);border:1.5px solid var(--linea);border-radius:var(--r-sm);padding:.9rem 1rem;cursor:pointer;font-family:var(--f-titulo);font-weight:500;font-size:var(--t-sm);transition:border-color .15s,background .15s}
.opcion:hover{border-color:var(--fucsia);background:var(--rosa-claro)}
.opciones.una{grid-template-columns:1fr}
.opcion.marca{position:relative;padding-left:2.9rem}
.opcion.marca::before{content:"";position:absolute;left:1rem;top:50%;width:1.25rem;height:1.25rem;margin-top:-.625rem;border:1.5px solid var(--azul);border-radius:5px;background:var(--blanco)}
.opcion.marca[aria-pressed="true"]{border-color:var(--fucsia);background:var(--rosa-claro)}
.opcion.marca[aria-pressed="true"]::before{background:var(--fucsia);border-color:var(--fucsia)}
.opcion.marca[aria-pressed="true"]::after{content:"";position:absolute;left:1.42rem;top:50%;width:.36rem;height:.68rem;margin-top:-.46rem;border:solid var(--blanco);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.q-ayuda{color:var(--tinta-suave);font-size:var(--t-sm);margin:-.9rem 0 var(--s2)}
.q-seguir{margin-top:var(--s3)}
.q-atras{display:block}
#qlista{list-style:none;display:grid;gap:.6rem;margin-bottom:var(--s3)}
#qlista a{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;border:1.5px solid var(--linea);border-radius:var(--r-sm);padding:.85rem 1rem;font-family:var(--f-titulo);font-weight:600;font-size:var(--t-sm)}
#qlista a:hover{border-color:var(--fucsia);background:var(--rosa-claro)}
#qlista a span:last-child{color:var(--fucsia)}
.q-otra{background:none;border:0;margin-top:var(--s2);cursor:pointer;color:var(--tinta-suave);text-decoration:underline;font-size:var(--t-sm)}

/* Sobre mí (resumen y página) */
.sobre{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s5);align-items:center}
.sobre img{border-radius:12rem 12rem var(--r) var(--r);width:100%;max-width:22rem;aspect-ratio:1/1.12;object-fit:cover;object-position:top}
.sobre h2,.sobre h1{margin:var(--s2) 0}
.sobre p{color:var(--tinta-suave)}
.hechos{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:var(--s3) 0}
.hechos li{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-xs);background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-pill);padding:.4rem .9rem}
.rosa .hechos li{background:var(--blanco)}
.promesa{border-left:4px solid var(--fucsia);padding:.4rem 0 .4rem var(--s3);margin:var(--s4) 0;max-width:44rem}
.promesa .k{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave)}
.promesa p{font-family:var(--f-titulo);font-weight:600;font-size:clamp(1.3rem,2.6vw,var(--t-xl));line-height:1.25;margin:.4rem 0 0}
.estados{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--s2)}
.estados li{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-sm);background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-sm);padding:.45rem .85rem}

/* Lista numerada de la marca: círculo fucsia, número blanco */
.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--s3);margin-top:var(--s4);counter-reset:paso;list-style:none}
.pasos li{counter-increment:paso;display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:start}
.pasos li::before{content:counter(paso);grid-row:span 2;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--fucsia);color:var(--blanco);font-family:var(--f-titulo);font-weight:700;display:grid;place-items:center}
.pasos h3{font-size:var(--t-md);align-self:center}
.pasos p{color:var(--tinta-suave);font-size:var(--t-sm);margin:0;grid-column:2}

/* Videos */
.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--s3);margin-top:var(--s3)}
.video{aspect-ratio:9/16;border-radius:var(--r);overflow:hidden;background:var(--azul);max-width:20rem;width:100%}
.video iframe{width:100%;height:100%;border:0}
.video button{position:relative;width:100%;height:100%;border:0;padding:var(--s3);cursor:pointer;color:var(--blanco);text-align:left;display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem;background:var(--azul) center/cover no-repeat}
.video button::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,29,81,.25) 0,rgba(11,29,81,.92) 78%)}
.video button>*{position:relative}
.video b{font-family:var(--f-titulo);font-weight:700;font-size:var(--t-md);line-height:1.2}
.video i{font-style:normal;font-size:var(--t-sm);opacity:.92}
.video .play{width:3.4rem;height:3.4rem;border-radius:50%;background:var(--blanco);margin-bottom:auto;display:grid;place-items:center}
.video .play::after{content:"";border-left:1rem solid var(--fucsia);border-top:.65rem solid transparent;border-bottom:.65rem solid transparent;margin-left:.25rem}
.v-embarazo{background-image:url("/img/video-embarazo.webp") !important}
.v-hospitalaria{background-image:url("/img/video-hospitalaria.webp") !important}
.v-agente{background-image:url("/img/video-agente.webp") !important}

/* Preguntas */
.faq{margin-top:var(--s3);max-width:48rem}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--f-titulo);font-weight:600;font-size:var(--t-md);padding:1.1rem 2.2rem 1.1rem 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:1.6rem;font-weight:500;color:var(--fucsia);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--tinta-suave);margin:0 0 1.2rem;max-width:42rem}
.faq-grupo{margin-top:var(--s4)}
.faq-grupo h2{font-size:var(--t-lg)}

/* Testimonios */
.testimonios{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--s3);margin-top:var(--s3)}
.testimonio{margin:0;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s3)}
.testimonio blockquote{margin:0 0 var(--s2)}
.testimonio figcaption{font-family:var(--f-titulo);font-weight:600;font-size:var(--t-sm)}

/* Redes */
.redes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--s2);margin-top:var(--s3)}
.red{display:flex;align-items:center;gap:.9rem;text-decoration:none;border:1px solid var(--linea);border-radius:var(--r);padding:1rem 1.2rem;background:var(--blanco);transition:border-color .15s}
.red:hover{border-color:var(--fucsia)}
.red svg{width:1.7rem;height:1.7rem;fill:var(--fucsia);flex:none}
.red b{display:block;font-family:var(--f-titulo);font-size:var(--t-sm)}
.red span{font-size:var(--t-sm);color:var(--tinta-suave)}

/* Banda de contacto */
.hablemos{background:var(--azul);color:var(--blanco)}
.hablemos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--s3);margin-top:var(--s3)}
.caja{border:1.5px solid rgba(255,255,255,.35);border-radius:var(--r);padding:var(--s3)}
.caja h3{font-size:var(--t-md)}
.caja p{opacity:.92;margin:.5rem 0 var(--s2);font-size:var(--t-sm)}
.hablemos .enlace{color:var(--blanco);text-decoration-color:var(--blanco);display:inline-block;margin-top:var(--s3)}

/* Página interior */
.migas{font-size:var(--t-xs);font-family:var(--f-titulo);font-weight:500;color:var(--tinta-suave);display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin-bottom:var(--s3)}
.migas li+li::before{content:"/";margin-right:.4rem;color:var(--fucsia)}
.migas a{text-decoration:none}
.migas a:hover{text-decoration:underline}
.cabeza{background:var(--rosa-claro);padding:var(--s4) 0}
.cabeza h1{font-size:clamp(1.9rem,4.4vw,var(--t-2xl));margin-top:var(--s2);max-width:20ch}
.cabeza .lead{margin-top:var(--s2)}
.articulo{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:var(--s5);align-items:start;padding:var(--s5) 0}
.articulo .cuerpo>*+h2{margin-top:var(--s4)}
.cuerpo h2{font-size:var(--t-lg);margin-bottom:var(--s2)}
.cuerpo>p:first-child{font-size:var(--t-md)}
.puntos{list-style:none;display:grid;gap:.7rem}
.puntos li{position:relative;padding-left:1.7rem}
.puntos+.fina{margin-top:var(--s2)}
.puntos li::before{content:"";position:absolute;left:0;top:.5em;width:.65rem;height:.65rem;border-radius:50%;background:var(--fucsia)}
.glosario{display:grid;gap:.9rem;margin:0}
.glosario div{border-left:3px solid var(--rosa-medio);padding-left:1rem}
.glosario dt{font-family:var(--f-titulo);font-weight:600;font-size:var(--t-sm)}
.glosario dd{margin:0;color:var(--tinta-suave)}
.lateral{position:sticky;top:6rem;background:var(--rosa-claro);border-radius:var(--r);padding:var(--s3);display:grid;gap:.75rem}
.lateral h2{font-size:var(--t-md)}
.lateral p{font-size:var(--t-sm);color:var(--tinta-suave);margin:0}
.lateral .btn{width:100%}
.divulgacion{margin:var(--s3) 0 0;max-width:46rem;background:var(--blanco);border:1.5px solid var(--azul);border-radius:var(--r-sm);padding:1rem 1.2rem;font-size:var(--t-base);font-weight:700;line-height:1.5}
.cuerpo .pasos{margin-top:var(--s2);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.articulo .cuerpo{min-width:0}
.tabla-caja{overflow-x:auto}

.tabla{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:.8rem .9rem;border-bottom:1px solid var(--linea)}
.tabla thead th{font-family:var(--f-titulo);font-weight:600;background:var(--rosa-claro)}
.tabla thead th:last-child{background:var(--azul);color:var(--blanco)}
.tabla tbody th{font-family:var(--f-titulo);font-weight:600;white-space:nowrap}
.tabla td{color:var(--tinta-suave)}
.tabla tbody td:last-child{color:var(--tinta);font-weight:700}
@media (max-width:560px){
  .tabla thead{position:absolute;left:-9999px}
  .tabla,.tabla tbody,.tabla tr,.tabla th,.tabla td{display:block}
  .tabla tr{border-bottom:1px solid var(--linea);padding:.9rem 0}
  .tabla th,.tabla td{border:0;padding:.15rem 0}
  .tabla tbody th{white-space:normal;font-size:var(--t-base);margin-bottom:.3rem}
  .tabla td::before{content:attr(data-col) ": ";font-family:var(--f-titulo);font-weight:600;font-size:var(--t-xs);color:var(--tinta)}
}
.aviso{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--linea)}
.otros{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin-top:var(--s2)}
.otros a{display:block;text-decoration:none;font-family:var(--f-titulo);font-weight:500;font-size:var(--t-sm);border:1px solid var(--linea);border-radius:var(--r-pill);padding:.45rem 1rem;background:var(--blanco)}
.otros a:hover{border-color:var(--fucsia)}
.banda{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4);background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s3) var(--s4);margin-top:var(--s4)}
.banda.sola{margin-top:0}
.banda h2{font-size:var(--t-lg)}
.banda p{margin:.3rem 0 0;color:var(--tinta-suave)}
.principios{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--s3);margin-top:var(--s3);counter-reset:paso;list-style:none}
.principios li{counter-increment:paso;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s3)}
.principios li::before{content:counter(paso);width:2.2rem;height:2.2rem;border-radius:50%;background:var(--fucsia);color:var(--blanco);font-family:var(--f-titulo);font-weight:700;display:grid;place-items:center;margin-bottom:.9rem}
.principios h3{font-size:var(--t-md)}
.principios p{color:var(--tinta-suave);font-size:var(--t-sm);margin:.4rem 0 0}
.prosa{max-width:44rem}
.prosa h2{font-size:var(--t-lg);margin:var(--s4) 0 var(--s2)}
.prosa .puntos{color:var(--tinta-suave)}

/* Formulario */
.contacto{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--s5);align-items:start;padding:var(--s5) 0}
.form{display:grid;gap:var(--s2);background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:var(--s4);box-shadow:var(--sombra)}
.form h2{font-size:var(--t-lg)}
.campo{display:grid;gap:.35rem}
.campo label{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-sm)}
.campo input,.campo select,.campo textarea{font:inherit;color:var(--tinta);background:var(--blanco);border:1.5px solid #c9cfe0;border-radius:var(--r-sm);padding:.75rem .9rem;width:100%}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:var(--azul)}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:3px solid var(--fucsia);outline-offset:1px;border-color:var(--azul)}
.campo textarea{min-height:6.5rem;resize:vertical}
.campo small{color:var(--tinta-suave);font-size:var(--t-xs)}
.dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--s2)}
.acepto{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;font-size:var(--t-sm);color:var(--tinta-suave)}
.acepto input{width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:var(--fucsia)}
fieldset.campo{border:0;padding:0;margin:0;min-width:0}
fieldset.campo legend{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-sm);padding:0}
fieldset.campo small a{color:var(--azul);text-decoration-color:var(--fucsia);text-underline-offset:.2em}
.casillas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.5rem;margin-top:.35rem}
.casilla{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;font-size:var(--t-sm);border:1.5px solid #c9cfe0;border-radius:var(--r-sm);padding:.6rem .8rem;cursor:pointer}
.casilla:hover{border-color:var(--azul)}
.casilla:has(input:checked){border-color:var(--fucsia);background:var(--rosa-claro)}
.casilla input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--fucsia)}
.casilla.sola{font-family:var(--f-titulo);font-weight:500}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.estado-form{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-sm);border-radius:var(--r-sm);padding:.8rem 1rem;background:var(--rosa-claro)}
.estado-form:empty{display:none}
.directo{display:grid;gap:var(--s3)}
.directo h2{font-size:var(--t-lg)}
.directo dl{margin:0;display:grid;gap:.9rem}
.directo dt{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave)}
.directo dd{margin:0;font-family:var(--f-titulo);font-weight:600}
.directo dd a{text-decoration-color:var(--fucsia);text-underline-offset:.25em}

/* Pie: placa de cierre de la marca */
.pie{background:var(--azul);color:var(--blanco);padding:var(--s5) 0 var(--s4);border-top:1px solid rgba(255,255,255,.25)}
.pie-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.9fr);gap:var(--s4)}
.pie img{width:220px}
.pie .desc{font-family:var(--f-titulo);font-weight:500;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;margin-top:.8rem;opacity:.9}
.pie h2{font-size:var(--t-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-bottom:.8rem}
.pie ul{list-style:none;display:grid;gap:.45rem;font-size:var(--t-sm)}
.pie a{text-decoration:none}
.pie a:hover{text-decoration:underline}
.pie .datos{margin-top:var(--s2);font-size:var(--t-sm);display:grid;gap:.3rem}
.pie .legal{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid rgba(255,255,255,.25);font-style:italic;font-size:var(--t-xs);opacity:.85;max-width:60rem}
.pie .copy{margin-top:var(--s2);font-size:var(--t-xs);opacity:.75}

/* Botón flotante */
.flota{position:fixed;right:1.1rem;bottom:1.1rem;z-index:40;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--fucsia);color:var(--blanco);display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(11,29,81,.55);transition:transform .15s,background .15s}
.flota:hover{transform:scale(1.06);background:var(--fucsia-hover)}
.flota svg{width:1.8rem;height:1.8rem;fill:currentColor}

/* 404 */
.e404{padding:var(--s6) 0;min-height:55vh}
.e404 h1{margin:var(--s2) 0}

/* Aparición al bajar */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.js .rv.in{opacity:1;transform:none}

@media (max-width:1040px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--blanco);border-bottom:1px solid var(--linea);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.25rem;box-shadow:var(--sombra);max-height:calc(100vh - 4.5rem);overflow:auto}
  .nav.abierta{display:flex}
  .nav>a,.desp summary{padding:.85rem 0;border-bottom:1px solid var(--linea)}
  .desp ul{position:static;border:0;box-shadow:none;padding:.3rem 0 .3rem .8rem;min-width:0}
}
@media (max-width:900px){
  .heroe{background:var(--rosa-claro);padding-top:var(--s4)}
  .heroe-grid{grid-template-columns:1fr}
  .heroe-txt{padding-bottom:var(--s2)}
  .retrato{justify-self:center;width:min(78%,19rem)}
  .sobre{grid-template-columns:1fr;gap:var(--s3)}
  .sobre img{max-width:15rem}
  .articulo,.contacto{grid-template-columns:minmax(0,1fr);gap:var(--s4)}
  .lateral{position:static}
  .pie-grid{grid-template-columns:1fr 1fr}
  .pie-grid>:first-child{grid-column:1/-1}
  .tarjeta.ancha{grid-column:auto}
}
@media (max-width:560px){
  section{padding:var(--s4) 0}
  .logo img{width:165px}
  .cab .btn{display:none}
  .dato{grid-template-columns:1fr}
  .quiz,.form{padding:var(--s3)}
  .pie-grid{grid-template-columns:1fr}
  .banda{padding:var(--s3)}
  .cta .btn{flex:1 1 auto}
}
@media (max-width:350px){
  .wrap{width:min(100% - 1.75rem,var(--max))}
  .logo img{width:124px}
  .cab .wrap{gap:.5rem}
  .menu-btn{padding:.4rem .5rem}
  .banda .btn,.lateral .btn{white-space:normal;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
  .js .rv{opacity:1;transform:none}
}
@media print{.cab,.flota,.hablemos,.video,.quiz{display:none}}
