/* Centro Integral UPA - estilos del sitio */
:root{
  --crema:#FBF6EE;
  --crema-2:#F4ECDF;
  --blanco:#FFFFFF;
  --tinta:#26244A;
  --tinta-suave:#55537A;
  --morado:#6E66A8;
  --morado-claro:#E9E5F6;
  --celeste:#5DB7E6;
  --celeste-claro:#E3F3FB;
  --coral:#E4675B;
  --coral-claro:#FBE6E2;
  --amarillo:#F2BE4F;
  --amarillo-claro:#FCF1D6;
  --verde:#3A9E78;
  --verde-claro:#DFF2EA;
  --borde:rgba(38,36,74,.10);
  --sombra:0 1px 2px rgba(38,36,74,.06),0 12px 32px -12px rgba(38,36,74,.18);
  --radio:22px;
  --titulo:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --texto:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ancho:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--crema);color:var(--tinta);font-family:var(--texto);font-size:17px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.envoltura{width:min(var(--ancho),100% - 32px);margin-inline:auto}
h1,h2,h3,h4{font-family:var(--titulo);font-weight:600;line-height:1.12;letter-spacing:-.01em;font-variation-settings:"SOFT" 60,"WONK" 0}
h1{font-size:clamp(2.4rem,5.4vw,4.3rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-size:clamp(1.3rem,2vw,1.6rem)}
p+p{margin-top:.9em}
strong{font-weight:800}
.antetitulo{font-family:var(--texto);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--morado);display:inline-flex;align-items:center;gap:.6em;margin-bottom:14px}
.antetitulo::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.seccion{padding:clamp(64px,9vw,120px) 0}
.seccion-cabeza{max-width:720px;margin-bottom:clamp(32px,5vw,56px)}
.seccion-cabeza p{color:var(--tinta-suave);margin-top:14px;font-size:1.08rem}
.centrado{text-align:center;margin-inline:auto}
.centrado .antetitulo{justify-content:center}

/* Botones */
.boton{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;font-weight:800;font-size:.98rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:2px solid transparent;line-height:1.25}
.boton:hover{transform:translateY(-2px)}
.boton svg{width:20px;height:20px;flex:none}
.boton-wa{background:var(--verde);color:#fff;box-shadow:0 10px 24px -10px rgba(58,158,120,.7)}
.boton-wa:hover{background:#2f8a67}
.boton-claro{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.boton-claro:hover{background:var(--tinta);color:#fff}
.boton-morado{background:var(--morado);color:#fff}
.boton-morado:hover{background:#5b5392}

/* Cabecera */
.cabecera{position:sticky;top:0;z-index:50;background:rgba(251,246,238,.88);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.cabecera.con-borde{border-bottom-color:var(--borde)}
.cabecera .envoltura{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca img{width:58px;height:58px;object-fit:contain}
.marca span{font-family:var(--titulo);font-weight:600;font-size:1.05rem;line-height:1.1}
.marca small{display:block;font-family:var(--texto);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-suave)}
.menu{display:flex;align-items:center;gap:4px;list-style:none}
.menu>li{position:relative}
.menu a,.menu button{display:block;white-space:nowrap;padding:10px 12px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;color:var(--tinta);background:none;border:0;font-family:inherit;cursor:pointer}
.menu a:hover,.menu button:hover,.menu a[aria-current="page"]{background:var(--morado-claro)}
.submenu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#fff;border-radius:18px;box-shadow:var(--sombra);padding:10px;min-width:280px;list-style:none;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s}
.menu li:hover>.submenu,.menu li:focus-within>.submenu{opacity:1;visibility:visible}
.submenu a{display:flex;justify-content:space-between;gap:16px;border-radius:12px}
.submenu a small{color:var(--tinta-suave);font-weight:600}
.cabecera .boton{padding:11px 20px;font-size:.92rem}
.boton-menu{display:none;background:none;border:0;width:46px;height:46px;border-radius:12px;cursor:pointer;color:var(--tinta)}
.boton-menu svg{width:28px;height:28px;margin:auto}

@media (max-width:1280px){
  .cabecera .boton-cta{display:none}
  .boton-menu{display:block}
  .menu{position:fixed;inset:78px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--crema);padding:12px 16px 28px;gap:2px;border-bottom:1px solid var(--borde);max-height:calc(100vh - 78px);overflow:auto;display:none}
  .menu.abierto{display:flex}
  .menu a,.menu button{font-size:1.05rem;padding:12px 14px;text-align:left;width:100%}
  .submenu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:transparent;padding:0 0 0 12px;min-width:0}
}

/* Portada */
.portada{padding:clamp(28px,5vw,64px) 0 clamp(56px,8vw,96px);position:relative}
.portada .envoltura{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center}
.portada h1 span{color:var(--morado);font-style:italic}
.portada .bajada{font-size:clamp(1.15rem,1.8vw,1.35rem);color:var(--tinta-suave);margin:22px 0 32px;max-width:30ch}
.portada .acciones{display:flex;flex-wrap:wrap;gap:12px}
.portada-foto{position:relative}
.portada-foto .foto-principal{border-radius:200px 200px 28px 28px;overflow:hidden;aspect-ratio:4/4.6;box-shadow:var(--sombra)}
.portada-foto .foto-principal img{width:100%;height:100%;object-fit:cover}
.portada-foto .ilus{position:absolute;left:-12%;bottom:-9%;width:50%;z-index:2;border-radius:24px;border:6px solid #fff;box-shadow:var(--sombra);transform:rotate(-4deg);background:var(--crema)}
.sellos{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.sello{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--borde);padding:8px 14px;border-radius:999px;font-size:.88rem;font-weight:700;color:var(--tinta-suave)}
.sello i{width:9px;height:9px;border-radius:50%;display:block}
@media (max-width:860px){
  .portada .envoltura{grid-template-columns:1fr}
  .portada-foto{max-width:460px;margin:12px auto 0;width:100%}
  .portada-foto .ilus{left:-4%;width:46%}
}

/* Quiénes somos */
.quienes{background:#fff}
.quienes .envoltura{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:center}
.quienes .foto{border-radius:var(--radio);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--sombra)}
.quienes .foto img{width:100%;height:100%;object-fit:cover}
.quienes .texto p{color:var(--tinta-suave)}
.quienes .frase{margin-top:28px;padding:22px 26px;border-radius:18px;background:var(--morado-claro);font-family:var(--titulo);font-size:1.3rem;line-height:1.35;color:var(--tinta)}
@media (max-width:860px){.quienes .envoltura{grid-template-columns:1fr}}

/* Programas por etapa */
.etapa{display:grid;grid-template-columns:240px 1fr;gap:32px;padding:34px 0;border-top:1px solid var(--borde)}
.etapa:first-of-type{border-top:0}
.etapa-nombre h3{font-size:1.45rem}
.etapa-nombre p{color:var(--tinta-suave);font-weight:700;margin-top:6px}
.etapa-nombre .edad{display:inline-block;margin-top:12px;padding:6px 14px;border-radius:999px;font-weight:800;font-size:.85rem}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.tarjeta-programa{display:flex;flex-direction:column;background:#fff;border-radius:var(--radio);overflow:hidden;text-decoration:none;box-shadow:var(--sombra);transition:transform .25s ease}
.tarjeta-programa:hover{transform:translateY(-4px)}
.tarjeta-programa .img{aspect-ratio:4/3;overflow:hidden}
.tarjeta-programa .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tarjeta-programa:hover .img img{transform:scale(1.04)}
.tarjeta-programa .cuerpo{padding:18px 20px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.tarjeta-programa h4{font-size:1.2rem}
.tarjeta-programa .edad{font-size:.85rem;font-weight:700;color:var(--tinta-suave)}
.flecha{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--crema-2);flex:none}
.flecha svg{width:18px;height:18px}
@media (max-width:760px){.etapa{grid-template-columns:1fr;gap:18px}}

/* Para familias */
.familias{background:var(--tinta);color:#fff}
.familias .antetitulo{color:var(--amarillo)}
.familias .seccion-cabeza p{color:rgba(255,255,255,.75)}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tarjeta-familia{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radio);padding:12px 12px 28px;display:flex;flex-direction:column}
.tarjeta-familia .ilus{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--crema)}
.tarjeta-familia .ilus img{width:100%;height:100%;object-fit:cover}
.tarjeta-familia h3{margin:22px 16px 10px}
.tarjeta-familia p{margin:0 16px;color:rgba(255,255,255,.78);flex:1}
.tarjeta-familia .boton{margin:22px 16px 0;align-self:flex-start}
.familias .boton-claro{color:#fff;border-color:rgba(255,255,255,.5)}
.familias .boton-claro:hover{background:#fff;color:var(--tinta)}
@media (max-width:920px){.tres{grid-template-columns:1fr}}

/* Mosaico de servicios */
.mosaico{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:150px;gap:12px;grid-auto-flow:dense}
.mosaico figure{border-radius:16px;overflow:hidden;background:var(--crema-2)}
.mosaico img{width:100%;height:100%;object-fit:cover}
.mosaico .alto{grid-row:span 2}
.mosaico .ancho{grid-column:span 2}
@media (max-width:760px){.mosaico{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.mosaico .ancho{grid-column:span 2}}

/* Bloque Quién soy */
.quien-soy .envoltura{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.quien-soy .foto{position:relative}
.quien-soy .foto>img{border-radius:28px;aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--sombra)}
.quien-soy .firma{font-family:var(--titulo);font-style:italic;font-size:1.4rem;margin-top:24px;color:var(--morado)}
.quien-soy p{color:var(--tinta-suave)}
@media (max-width:860px){.quien-soy .envoltura{grid-template-columns:1fr}.quien-soy .foto{max-width:440px}}

/* Cita final */
.cita{background:var(--amarillo-claro)}
.cita .envoltura{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,72px);align-items:center}
.cita img{border-radius:50% 50% 24px 24px;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--sombra)}
.cita blockquote{font-family:var(--titulo);font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.3}
.cita blockquote p+p{margin-top:.7em}
.cita .marca-cita{font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:.85rem;color:var(--coral);margin-bottom:18px;display:block}
@media (max-width:860px){.cita .envoltura{grid-template-columns:1fr}.cita img{max-width:360px}}

/* Contacto */
.contacto .envoltura{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px)}
.contacto-datos{display:grid;gap:14px;margin-top:30px}
.dato{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:18px;padding:18px 20px;box-shadow:var(--sombra)}
.dato .icono{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}
.dato .icono svg{width:22px;height:22px}
.dato h4{font-family:var(--texto);font-weight:800;font-size:1rem;margin-bottom:2px}
.dato p,.dato a{color:var(--tinta-suave);text-decoration:none}
.redes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}
.red{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:#fff;text-decoration:none;box-shadow:var(--sombra);transition:transform .2s}
.red:hover{transform:translateY(-2px)}
.red svg{width:24px;height:24px;flex:none}
.red strong{display:block;font-size:.95rem}
.red span{font-size:.85rem;color:var(--tinta-suave)}
.contacto .foto{border-radius:28px;overflow:hidden;box-shadow:var(--sombra)}
.contacto .foto img{width:100%;height:100%;object-fit:cover;min-height:420px}
@media (max-width:860px){.contacto .envoltura{grid-template-columns:1fr}.redes{grid-template-columns:1fr}}

/* Pie */
.pie{background:var(--tinta);color:rgba(255,255,255,.8);padding:56px 0 28px;font-size:.95rem}
.pie .envoltura{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px}
.pie h4{font-family:var(--texto);color:#fff;font-weight:800;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.pie a{text-decoration:none}
.pie a:hover{color:#fff;text-decoration:underline}
.pie ul{list-style:none;display:grid;gap:6px}
.pie .logo-pie{width:84px;background:#fff;border-radius:20px;padding:6px;margin-bottom:14px}
.pie .final{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:12px;font-size:.85rem;color:rgba(255,255,255,.55)}
@media (max-width:760px){.pie .envoltura{grid-template-columns:1fr}}

/* WhatsApp flotante */
.wa-flotante{position:fixed;right:18px;bottom:18px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--verde);display:grid;place-items:center;box-shadow:0 12px 28px -8px rgba(58,158,120,.75);transition:transform .2s}
.wa-flotante:hover{transform:scale(1.07)}
.wa-flotante svg{width:30px;height:30px;color:#fff}

/* ---------- Páginas de programa ---------- */
.cabeza-pagina{padding:clamp(36px,6vw,72px) 0 clamp(40px,6vw,64px)}
.cabeza-pagina .envoltura{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.migas{font-size:.88rem;color:var(--tinta-suave);margin-bottom:18px}
.migas a{text-decoration:none;font-weight:700}
.migas a:hover{text-decoration:underline}
.cabeza-pagina .sub{font-size:1.15rem;color:var(--tinta-suave);margin-top:14px}
.cabeza-pagina .edad{display:inline-block;margin-top:18px;padding:7px 16px;border-radius:999px;font-weight:800;font-size:.9rem}
.indice{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.indice a{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--borde);text-decoration:none;font-weight:700;font-size:.92rem}
.indice a:hover{border-color:var(--tinta)}
.cabeza-pagina .foto{border-radius:200px 200px 28px 28px;overflow:hidden;aspect-ratio:4/4.4;box-shadow:var(--sombra)}
.cabeza-pagina .foto img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.cabeza-pagina .envoltura{grid-template-columns:1fr}.cabeza-pagina .foto{max-width:420px}}

.bloque{padding:clamp(48px,7vw,88px) 0;scroll-margin-top:80px}
.bloque.blanco{background:#fff}
.bloque-doble{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.bloque-doble.invertido .media{order:2}
.bloque-doble .media img{border-radius:var(--radio);width:100%;aspect-ratio:4/3.4;object-fit:cover;box-shadow:var(--sombra)}
.bloque-doble h2{margin-bottom:18px}
.bloque-doble .texto>p{color:var(--tinta-suave)}
.bloque-doble .texto strong{color:var(--tinta)}
@media (max-width:860px){.bloque-doble{grid-template-columns:1fr}.bloque-doble.invertido .media{order:0}}

.pasos{list-style:none;counter-reset:paso;display:grid;gap:12px;margin-top:20px}
.pasos li{counter-increment:paso;display:flex;gap:14px;align-items:flex-start;background:var(--crema);border-radius:16px;padding:14px 18px;color:var(--tinta)}
.bloque.blanco .pasos li{background:var(--crema)}
.pasos li::before{content:counter(paso);font-family:var(--titulo);font-weight:600;width:32px;height:32px;border-radius:50%;background:var(--morado);color:#fff;display:grid;place-items:center;flex:none;font-size:1rem}
.lista{list-style:none;display:grid;gap:10px;margin-top:16px}
.lista li{display:flex;gap:12px;align-items:flex-start;color:var(--tinta-suave)}
.lista li::before{content:"";width:8px;height:8px;margin-top:.62em;border-radius:50%;background:var(--coral);flex:none}
.lista li strong{color:var(--tinta)}
.nota{margin-top:22px;padding:16px 20px;border-left:4px solid var(--amarillo);background:var(--amarillo-claro);border-radius:0 14px 14px 0;font-weight:700}
.precio{display:inline-flex;align-items:baseline;gap:8px;margin-top:22px;padding:12px 20px;border-radius:14px;background:var(--verde-claro);font-weight:800}
.precio b{font-family:var(--titulo);font-size:1.5rem;font-weight:600}

.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.caja{background:#fff;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra)}
.bloque.blanco .caja{background:var(--crema)}
.caja img{width:100%;aspect-ratio:16/10;object-fit:cover}
.caja .cuerpo{padding:24px 26px 28px}
.caja h3{margin-bottom:10px}
.caja p{color:var(--tinta-suave)}
@media (max-width:760px){.dos-col{grid-template-columns:1fr}}

/* Planes */
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.plan{background:#fff;border-radius:var(--radio);padding:12px 12px 24px;box-shadow:var(--sombra);display:flex;flex-direction:column;position:relative;border:2px solid transparent}
.bloque.blanco .plan{background:var(--crema)}
.plan .img{border-radius:14px;overflow:hidden;aspect-ratio:16/10;margin-bottom:6px}
.plan .img img{width:100%;height:100%;object-fit:cover}
.plan h3{margin:14px 12px 4px}
.plan .lema{margin:0 12px;font-style:italic;color:var(--tinta-suave);font-family:var(--titulo);font-size:1.05rem;line-height:1.35}
.plan .detalle{list-style:none;margin:16px 12px 0;display:grid;gap:8px}
.plan .detalle li{display:flex;gap:10px;align-items:center;font-weight:700;font-size:.95rem}
.plan .detalle svg{width:20px;height:20px;color:var(--morado);flex:none}
.plan .extra{margin:14px 12px 0;color:var(--tinta-suave);font-size:.95rem}
.plan .extra li{margin-left:18px}
.plan .constante{margin:auto 12px 0;padding-top:18px;display:flex;gap:8px;align-items:center;color:var(--verde);font-weight:800;font-size:.92rem}
.plan .constante svg{width:20px;height:20px}
.plan.destacado{border-color:var(--coral)}
.plan .insignia{position:absolute;top:-14px;left:24px;background:var(--coral);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:999px;z-index:2}
.incluyen{margin-top:22px;background:var(--morado-claro);border-radius:var(--radio);padding:26px 28px}
.incluyen h3{font-family:var(--texto);font-weight:800;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}

/* Módulos ÚNETE */
.modulos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.modulo{background:var(--crema);border-radius:var(--radio);padding:26px}
.modulo .num{font-family:var(--titulo);font-size:2.6rem;color:var(--morado);line-height:1}
.modulo h3{margin:10px 0 4px;font-size:1.25rem}
.modulo h4{font-family:var(--texto);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-suave);font-weight:800}
@media (max-width:920px){.modulos{grid-template-columns:1fr}}

/* Llamado a la acción */
.llamado{margin-top:clamp(32px,5vw,48px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--verde-claro);border-radius:var(--radio);padding:22px 26px}
.llamado p{font-family:var(--titulo);font-size:clamp(1.15rem,2vw,1.4rem);font-weight:600;line-height:1.3;max-width:34ch}

/* Otros programas */
.otros{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.otros a{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:10px;text-decoration:none;box-shadow:var(--sombra);font-weight:800;font-size:.95rem;line-height:1.25}
.otros img{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:none}
.otros small{display:block;font-weight:600;color:var(--tinta-suave)}

/* Servicios: historias y galería */
.historia{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(24px,5vw,56px);align-items:center;padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--borde)}
.historia:first-child{border-top:0}
.historia .media{border-radius:var(--radio);overflow:hidden;aspect-ratio:9/14;max-height:560px;box-shadow:var(--sombra)}
.historia .media img{width:100%;height:100%;object-fit:cover}
.historia p{color:var(--tinta-suave)}
.historia .cierre{margin-top:18px;font-family:var(--titulo);font-size:1.25rem;color:var(--tinta)}
@media (max-width:760px){.historia{grid-template-columns:1fr}.historia .media{max-width:340px}}
.galeria{columns:4 220px;column-gap:12px}
.galeria img{width:100%;border-radius:14px;margin-bottom:12px;break-inside:avoid}

/* Material digital */
.libros{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.libro{border-radius:8px 18px 18px 8px;aspect-ratio:3/4;padding:24px 20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 10px 0 0 rgba(0,0,0,.07),var(--sombra);position:relative;overflow:hidden}
.libro .vol{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.libro h3{font-size:1.35rem}
.libro .pie-libro{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800}
.libro .pie-libro img{width:30px;height:30px;object-fit:contain;background:#fff;border-radius:8px;padding:2px}
.pronto{display:inline-block;margin-top:10px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.75);padding:5px 10px;border-radius:999px;align-self:flex-start}

/* Animación suave al aparecer */
@media (prefers-reduced-motion:no-preference){
  .aparece{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .aparece.visible{opacity:1;transform:none}
}
