:root{
  --violeta:#2340E0; --violeta-d:#1A31B0; --violeta-l:#ECEFFD;
  --verde:#14257A; --verde-d:#0E1B5C; --verde-l:#E8EDFB;
  --tinta:#16161D; --gris:#61616F; --gris-l:#8A8A98;
  --hueso:#F7F7FA; --linea:#ECECF2;
  --sombra:0 2px 16px rgba(20,30,80,.07);
  --sombra-h:0 8px 30px rgba(20,30,80,.11);
  --pill:999px; --r:16px; --r-lg:24px;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--tinta);font-family:Figtree,system-ui,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;line-height:1.14;letter-spacing:-.027em;font-weight:500}
p{margin:0 0 1rem}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:3px solid var(--violeta);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;
  font-size:14.5px;letter-spacing:.05em;text-transform:uppercase;padding:15px 32px;
  border-radius:var(--pill);text-decoration:none;border:2px solid transparent;cursor:pointer;
  transition:background .18s,color .18s,border-color .18s}
.b-v{background:var(--violeta);color:#fff;border-color:var(--violeta)}
.b-v:hover{background:var(--violeta-d);border-color:var(--violeta-d)}
.b-vl{background:transparent;color:var(--violeta);border-color:#B9C4F5}
.b-vl:hover{background:var(--violeta);color:#fff;border-color:var(--violeta)}
.b-g{background:var(--verde);color:#fff;border-color:var(--verde)}
.b-g:hover{background:var(--verde-d);border-color:var(--verde-d)}
.b-gl{background:transparent;color:var(--verde);border-color:var(--verde)}
.b-gl:hover{background:var(--verde);color:#fff}
.b-w{background:#fff;color:var(--violeta-d);border-color:#fff}
.b-w:hover{background:var(--violeta-l)}
.sm{padding:11px 22px;font-size:13px}

/* topbar */
.top{background:var(--hueso);font-size:14px;color:var(--gris)}
.top .wrap{display:flex;gap:26px;flex-wrap:wrap;align-items:center;padding-top:10px;padding-bottom:10px}
.top .r{margin-left:auto;display:flex;gap:18px}
.top a{text-decoration:none}
.top a:hover{color:var(--violeta)}

/* header */
.nav{background:#fff;position:sticky;top:0;z-index:60;border-bottom:1px solid var(--linea)}
.nav .wrap{display:flex;align-items:center;gap:32px;padding-top:15px;padding-bottom:15px}
.nav img{height:46px}
.menu{margin-left:auto;display:flex;gap:26px;align-items:center}
.menu>a{text-decoration:none;font-size:13.5px;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;color:#3A3A48;padding:6px 0;border-bottom:3px solid transparent;white-space:nowrap}
.menu>a:hover{color:var(--verde);border-bottom-color:var(--verde)}
.acc{display:flex;gap:10px}
.burger{display:none;margin-left:auto;background:none;border:0;font-size:26px;cursor:pointer;color:var(--tinta)}


.drop{position:relative}
.drop>a::after{content:"⌄";margin-left:7px;font-size:15px;line-height:1;position:relative;top:-2px}
.dmenu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:270px;background:#fff;border-radius:var(--r);box-shadow:0 12px 34px rgba(20,30,80,.15);
  padding:12px;opacity:0;visibility:hidden;transition:opacity .16s,transform .16s;z-index:80}
.dmenu::before{content:"";position:absolute;top:-9px;left:0;right:0;height:9px}
.drop:hover .dmenu,.drop:focus-within .dmenu,.drop.abierto .dmenu{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dmenu a{display:block;padding:11px 16px;border-radius:11px;text-decoration:none;
  font-size:15.5px;font-weight:500;color:var(--tinta);letter-spacing:0;text-transform:none;
  white-space:nowrap;border:0}
.dmenu a:hover{background:var(--violeta-l);color:var(--violeta-d)}
.drop>a{border-bottom:3px solid transparent}
.drop:hover>a,.drop.abierto>a{color:var(--violeta);border-bottom-color:var(--violeta)}

/* hero carrusel */
.hero{position:relative;background:#fff;padding-bottom:70px}
.slides{position:relative;overflow:hidden;border-radius:0 0 var(--r-lg) var(--r-lg)}
.slide{display:none;grid-template-columns:1fr 1fr;min-height:500px;align-items:center;background:var(--hueso)}
.slide.on{display:grid}
.s-tx{padding:64px 52px 64px max(28px,calc((100vw - var(--max))/2 + 28px))}
.s-tx h1,.s-tx h2{font-size:clamp(2.1rem,3.9vw,3.25rem);font-weight:600;letter-spacing:-.035em}
.s-tx p{font-size:19px;color:var(--gris);margin-top:1.1rem;max-width:40ch}
.s-tx .btn{margin-top:1.9rem}
.s-im{height:100%;min-height:500px;background:#E4E4EC;position:relative}
.s-im img{width:100%;height:100%;object-fit:cover}
.falta{position:absolute;inset:0;display:flex;flex-direction:column;gap:7px;align-items:center;
  justify-content:center;text-align:center;padding:28px;color:#6A6A7C;
  background:repeating-linear-gradient(45deg,#E7E7EF 0 14px,#EFEFF5 14px 28px)}
.falta b{font-size:15.5px;font-weight:600;color:#4A4A5A}
.falta small{font-size:13px;line-height:1.5;max-width:32ch}
.flecha{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:var(--pill);
  border:2px solid #B9C4F5;background:rgba(255,255,255,.9);color:var(--violeta);font-size:21px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:4}
.flecha:hover{background:var(--violeta);color:#fff;border-color:var(--violeta)}
.fl-i{left:22px}.fl-d{right:22px}
.dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:4}
.dot{width:11px;height:11px;border-radius:var(--pill);border:2px solid var(--violeta);
  background:transparent;cursor:pointer;padding:0}
.dot.on{background:var(--violeta)}

.flota{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:min(1140px,calc(100% - 56px));
  background:var(--violeta-l);border-radius:var(--r-lg);padding:26px 36px;display:flex;
  align-items:center;gap:20px;flex-wrap:wrap;z-index:5}
.flota h2{font-size:23px;font-weight:500;margin-right:auto}
.chips{display:flex;gap:10px;flex-wrap:wrap}

section{padding:84px 0}
.tt{font-size:clamp(1.9rem,3.3vw,2.7rem);max-width:22ch}
.tt.c{margin-left:auto;margin-right:auto;text-align:center}
.bj{color:var(--gris);font-size:18.5px;max-width:60ch;margin-top:.95rem}
.bj.c{margin-left:auto;margin-right:auto;text-align:center}

.card{background:#fff;border-radius:var(--r);box-shadow:var(--sombra);transition:box-shadow .2s}
.card:hover{box-shadow:var(--sombra-h)}

/* cifras */
.cif{background:var(--hueso)}
.cif .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cf{background:#fff;border-radius:var(--r);padding:28px 26px;box-shadow:var(--sombra)}
.cf b{display:block;font-size:34px;font-weight:600;color:var(--violeta);letter-spacing:-.03em}
.cf span{font-size:15px;color:var(--gris)}
.cf em{font-style:normal;display:block;font-size:12px;color:var(--gris-l);margin-top:6px}

/* grids */
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.pc{padding:32px 28px;display:flex;flex-direction:column}
.pc .ic{width:50px;height:50px;border-radius:var(--pill);background:var(--verde-l);color:var(--verde-d);
  display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:18px}
.pc h3{font-size:19.5px;margin-bottom:.5rem;font-weight:600}
.pc p{font-size:15.5px;color:var(--gris);margin:0 0 1rem}
.pc ul{margin:auto 0 0;padding:0;list-style:none;font-size:15px;color:var(--gris)}
.pc li{padding:7px 0;border-top:1px solid var(--linea)}
.pc li:first-child{border-top:0}
.link{color:var(--verde);font-weight:600;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;margin-top:16px;display:inline-block}
.link:hover{color:var(--verde-d)}

/* evaluaciones */
.ev{overflow:hidden;display:flex;flex-direction:column}
.ev .im{aspect-ratio:4/3;background:var(--verde-l);overflow:hidden;position:relative}
.ev .im img{width:100%;height:100%;object-fit:cover}
.ev .tx{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.ev h3{font-size:18px;font-weight:600;margin-bottom:.45rem}
.ev p{font-size:14.5px;color:var(--gris);margin:0 0 .9rem}
.tags{margin-top:auto;display:flex;gap:7px;flex-wrap:wrap}
.tg{background:var(--hueso);color:var(--gris);border-radius:var(--pill);padding:5px 13px;font-size:12.5px;font-weight:600}
.tg.v{background:var(--violeta-l);color:var(--violeta-d)}

/* proceso */
.pr{background:var(--violeta);color:#fff}
.pr .tt,.pr h3{color:#fff}
.pr .bj{color:#C7D2F7}
.tl{margin-top:54px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.tl::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:3px;
  background:rgba(255,255,255,.26);border-radius:var(--pill)}
.ti{position:relative;padding-top:66px}
.ti::before{position:absolute;top:0;left:0;width:50px;height:50px;border-radius:var(--pill);
  background:#fff;color:var(--violeta);display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:18px}
.ti:nth-child(1)::before{content:"1"}
.ti:nth-child(2)::before{content:"2"}
.ti:nth-child(3)::before{content:"3"}
.ti:nth-child(4)::before{content:"4"}
.ti h3{font-size:19px;font-weight:600;margin-bottom:.45rem}
.ti p{font-size:15.5px;color:#C7D2F7;margin:0}

/* equipo */
.eq{padding:0;overflow:hidden;text-align:center}
.eq .ph{aspect-ratio:1/1;background:var(--hueso);position:relative}
.eq .ph img{width:100%;height:100%;object-fit:cover}
.eq .in{padding:20px 18px 26px}
.eq .rol{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--verde)}
.eq h3{font-size:18px;font-weight:600;margin:6px 0 6px}
.eq p{font-size:14px;color:var(--gris);margin:0}

/* campañas */
.cm{overflow:hidden;display:flex;flex-direction:column}
.cm .im{aspect-ratio:16/9;background:var(--hueso);position:relative;overflow:hidden}
.cm .im img{width:100%;height:100%;object-fit:cover}
.cm .in{padding:22px 24px 26px}
.cm .fe{font-size:13px;color:var(--gris-l);font-weight:600}
.cm h3{font-size:19px;font-weight:600;margin:7px 0 .5rem}
.cm p{font-size:15px;color:var(--gris);margin:0}

/* cotizador */
.co{background:var(--hueso)}
.co .wrap{display:grid;grid-template-columns:.88fr 1.12fr;gap:56px;align-items:center}
.cc{background:#fff;border-radius:var(--r-lg);padding:38px;box-shadow:var(--sombra)}
.ff{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.ff label{font-size:14px;font-weight:600}
.ff input,.ff select,.ff textarea{font:inherit;font-size:16px;padding:14px 18px;
  border:2px solid var(--linea);border-radius:14px;background:#FCFCFE;color:var(--tinta)}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--violeta);outline:none;background:#fff}
.ff textarea{min-height:90px;resize:vertical}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cc .btn{width:100%;margin-top:8px}
.avf{font-size:13px;color:var(--gris-l);margin:13px 0 0;text-align:center}
.er{color:#C0392B;font-size:13.5px;margin:10px 0 0;display:none}
.dt{list-style:none;padding:0;margin:28px 0 0}
.dt li{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--linea)}
.dt b{font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:var(--violeta-d);min-width:98px}

/* faq */
.fq{margin-top:44px}
.fq details{background:#fff;border-radius:var(--r);margin-bottom:12px;box-shadow:var(--sombra);overflow:hidden}
.fq summary{cursor:pointer;padding:22px 28px;font-size:18px;font-weight:600;list-style:none;
  display:flex;justify-content:space-between;gap:18px;align-items:center}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";width:32px;height:32px;flex:none;border-radius:var(--pill);
  background:var(--violeta-l);color:var(--violeta);display:flex;align-items:center;
  justify-content:center;font-size:20px;font-weight:500}
.fq details[open] summary::after{content:"–"}
.fq .rr{padding:0 28px 24px;color:var(--gris);max-width:82ch}

/* cierre */
.cl{padding-bottom:90px}
.cbox{background:var(--violeta);color:#fff;border-radius:var(--r-lg);padding:56px 54px;
  display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cbox h2{font-size:clamp(1.7rem,2.9vw,2.3rem);color:#fff;font-weight:600;max-width:20ch}
.cbox p{color:#C7D2F7;margin:.7rem 0 0;max-width:42ch}

/* footer */
footer{background:var(--verde-d);color:#C3CDEA;padding:62px 0 0;font-size:15.5px}
.fg{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1.3fr;gap:36px}
.fb img{height:54px;filter:brightness(0) invert(1);margin-bottom:20px}
.fb p{font-size:15px;color:#9FAED6;max-width:32ch}
.soc{display:flex;gap:11px;margin-top:20px}
.soc a{width:40px;height:40px;border-radius:var(--pill);background:rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px;font-weight:700;color:#fff}
.soc a:hover{background:#fff;color:var(--verde-d)}
footer h4{font-size:16px;font-weight:600;color:#fff;margin-bottom:16px}
.fl{list-style:none;padding:0;margin:0}
.fl li{margin-bottom:10px}
.fl a{text-decoration:none;color:#BCC7E8}
.fl a:hover{color:#fff;text-decoration:underline}
.news input{width:100%;font:inherit;font-size:15.5px;padding:14px 18px;border:0;
  border-radius:var(--pill);background:#fff;color:var(--tinta);margin-bottom:12px}
.news .btn{width:100%}
.libro{margin-top:22px;font-size:13.5px;color:#9FAED6}
.libro a{color:#fff}
.fbar{margin-top:52px;border-top:1px solid rgba(255,255,255,.2);padding:20px 0 26px;
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:14px;color:#9FAED6}

.wa{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border-radius:var(--pill);
  background:#25D366;display:flex;align-items:center;justify-content:center;z-index:70;
  box-shadow:0 8px 26px rgba(0,0,0,.22);text-decoration:none}
.wa svg{width:31px;height:31px;fill:#fff}

@media(max-width:1120px){
  .g4,.cif .wrap{grid-template-columns:repeat(2,1fr)}
  .fg{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:900px){
  .menu{display:none}
  .dmenu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;
    padding:0 0 0 14px;min-width:0;display:none}
  .drop.abierto .dmenu{display:block;transform:none}
  .drop{width:100%}
  .burger{display:block}
  .slide.on{grid-template-columns:1fr}
  .s-im{order:-1;min-height:280px}
  .slide{min-height:0}
  .s-tx{padding:44px 28px 52px}
  .flecha{width:42px;height:42px}
  .fl-i{left:12px}.fl-d{right:12px}
  .co .wrap,.g3{grid-template-columns:1fr}
  .tl{grid-template-columns:1fr;gap:0}
  .tl::before{left:24px;top:24px;bottom:34px;right:auto;width:3px;height:auto}
  .ti{padding:0 0 34px 74px}
  .ti::before{top:0}
  section{padding:58px 0}
}
@media(max-width:640px){
  .g4,.cif .wrap,.f2,.fg{grid-template-columns:1fr}
  .hero{padding-bottom:0}
  .slides{border-radius:0}
  .flota{position:static;transform:none;width:auto;margin:0 28px 0;border-radius:var(--r)}
  .flota h2{width:100%;margin-right:0}
  .cbox{padding:38px 28px}
  .cc{padding:28px 22px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}

/* ---- cabecera de páginas interiores ---- */
.ph-hero{background:var(--violeta);color:#fff;padding:66px 0 70px}
.ph-hero .mig{font-size:14px;color:#C7D2F7;margin-bottom:12px}
.ph-hero .mig a{color:#C7D2F7;text-decoration:none}
.ph-hero .mig a:hover{color:#fff}
.ph-hero h1{font-size:clamp(2.1rem,4vw,3.1rem);font-weight:600;color:#fff;max-width:20ch}
.ph-hero p{font-size:19px;color:#C7D2F7;margin:1rem 0 0;max-width:52ch}

/* bloque de contenido por completar */
.pend{border:2px dashed #B9C4F5;background:var(--violeta-l);border-radius:var(--r);
  padding:26px 30px;color:#2B3A75}
.pend b{display:block;font-size:16px;font-weight:600;margin-bottom:6px}
.pend p{margin:0;font-size:15.5px;color:#41508A}

/* dos columnas de texto */
.dos{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}
.dos .im{border-radius:var(--r-lg);overflow:hidden;background:var(--hueso);aspect-ratio:4/3}
.dos .im img{width:100%;height:100%;object-fit:cover}

/* lista de estudios */
.est{list-style:none;padding:0;margin:26px 0 0;display:grid;
  grid-template-columns:repeat(2,1fr);gap:10px}
.est li{background:#fff;border-radius:12px;padding:14px 18px;font-size:15.5px;
  box-shadow:var(--sombra);display:flex;gap:11px;align-items:flex-start}
.est li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;
  border-right:2px solid var(--violeta);border-bottom:2px solid var(--violeta);transform:rotate(-45deg)}

/* accesos de inicio */
.acs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.ac{padding:30px 28px;display:flex;flex-direction:column}
.ac h3{font-size:20px;font-weight:600;margin-bottom:.5rem}
.ac p{font-size:15.5px;color:var(--gris);margin:0 0 1.1rem}
.ac .link{margin-top:auto}

@media(max-width:900px){
  .dos{grid-template-columns:1fr;gap:32px}
  .est,.acs{grid-template-columns:1fr}
  .ph-hero{padding:46px 0 50px}
}

/* menú activo y móvil */
.menu>a.act,.drop.abierto-act>a{color:var(--violeta);border-bottom-color:var(--violeta)}
@media(max-width:900px){
  .menu{display:none}
  .menu.abierta{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;gap:0;padding:14px 28px 20px;border-bottom:1px solid var(--linea);
    box-shadow:0 14px 30px rgba(20,30,80,.1)}
  .menu.abierta>a,.menu.abierta .drop>a{padding:13px 0;border-bottom:1px solid var(--linea);width:100%}
}


/* correcciones de desborde en móvil */
.acs.dos-col{grid-template-columns:repeat(2,1fr)}
.dos,.co .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.co .wrap{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}
.dt li span{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){
  .acs.dos-col{grid-template-columns:1fr}
  .dos,.co .wrap{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .dt li{flex-direction:column;gap:4px}
  .dt b{min-width:0}
}

/* carrusel: puntos por encima de la barra flotante */
.dots{bottom:86px}
@media(max-width:900px){
  /* las flechas tapaban el titular en móvil: se ocultan y quedan los puntos */
  .flecha{display:none}
  .dots{bottom:18px}
}

/* el recuadro de foto debe anclarse a su contenedor */
.dos .im{position:relative}

/* ---- footer en el mismo azul de la cabecera ---- */
footer{background:var(--violeta);color:#D5DCFA}
footer h4{color:#fff}
.fb p{color:#C7D2F7}
.fl a{color:#D5DCFA}
.fl li{color:#D5DCFA}
.fl a:hover{color:#fff}
.soc a{background:rgba(255,255,255,.18)}
.soc a:hover{background:#fff;color:var(--violeta-d)}
.libro{color:#C7D2F7}
.fbar{color:#C7D2F7;border-top-color:rgba(255,255,255,.26)}

/* ---- menú sin subrayado ---- */
.menu>a,.drop>a{border-bottom:0!important;padding:6px 0}
.menu>a:hover,.menu>a.act,.drop:hover>a,.drop.abierto>a,.drop.abierto-act>a{color:var(--violeta)}
@media(max-width:900px){
  .menu.abierta>a,.menu.abierta .drop>a{border-bottom:1px solid var(--linea)!important}
}
.drop>a{text-decoration:none}

/* el botón de WhatsApp mostraba un halo sobre el footer azul */
.wa{box-shadow:0 6px 18px rgba(0,0,0,.28)}
.banda{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:21/9;background:#E7E7EF}
@media(max-width:640px){.banda{aspect-ratio:4/3}}

.ff input,.ff select,.ff textarea{max-width:100%;min-width:0}
.cc{max-width:100%;overflow:hidden}

/* ================= brief del cliente ================= */
.top .wrap span{display:inline-flex;align-items:center;gap:7px}
.mi{width:17px;height:17px;display:inline-flex;color:var(--violeta)}
.mi svg{width:100%;height:100%}
.soc-top{display:flex;gap:9px}
.soc-top a{width:28px;height:28px;border-radius:var(--pill);display:flex;align-items:center;
  justify-content:center;color:var(--gris);transition:background .18s,color .18s}
.soc-top a svg{width:16px;height:16px}
.soc-top a:hover{background:var(--violeta);color:#fff}
.soc a svg{width:18px;height:18px}
.marca{display:inline-flex}

/* iconos */
.ic{width:50px;height:50px;border-radius:var(--pill);background:var(--violeta-l);color:var(--violeta);
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}
.ic svg{width:24px;height:24px}
.ic-lg{width:60px;height:60px}
.ic-lg svg{width:28px;height:28px}
.vi{width:22px;height:22px;background:none;color:var(--violeta);margin:0;flex:none}
.vi svg{width:22px;height:22px}
.st{width:15px;height:15px;background:none;color:#F5B426;margin:0}
.st svg{width:15px;height:15px;fill:currentColor}

/* etiqueta con pulso */
.et{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--gris);
  font-weight:500;margin:0 0 .5rem}
.pulso{width:20px;height:10px;flex:none;
  background:linear-gradient(currentColor,currentColor) no-repeat;color:var(--violeta);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M0 6h5l2-5 3 10 3-7 2 2h9' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M0 6h5l2-5 3 10 3-7 2 2h9' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}

.sub3{font-size:18px;font-weight:600;margin:1.8rem 0 .9rem}
.vent{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:13px}
.vent li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--gris)}
.vent li b{color:var(--tinta)}
.bloque{background:#fff;border-radius:var(--r-lg);padding:32px 34px;box-shadow:var(--sombra)}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.pendiente-txt{color:var(--gris-l);font-style:italic}
.dos-hist .im{aspect-ratio:5/4}

/* zoom lento en el slide */
.s-im .zoom{position:absolute;inset:0;overflow:hidden}
.s-im .zoom>*{width:100%;height:100%;animation:acerca 14s ease-out forwards}
.slide.on .zoom>*{animation:acerca 14s ease-out forwards}
@keyframes acerca{from{transform:scale(1)}to{transform:scale(1.09)}}

/* banner de sección */
.banner{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:32/9;
  background:#DDE1F5;display:flex;align-items:center;justify-content:center}
.banner .falta{position:absolute;inset:0}
.banner-t{position:relative;z-index:2;color:#fff;font-size:clamp(1.6rem,3.4vw,2.6rem);
  font-weight:600;text-align:center;text-shadow:0 2px 14px rgba(0,0,0,.45);padding:0 20px}
@media(max-width:640px){.banner{aspect-ratio:16/9}}

/* ruta de salud ocupacional */
.ruta{background:var(--hueso)}
.pasos{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:48px}
.paso{background:#fff;border-radius:var(--r);padding:28px 24px;box-shadow:var(--sombra)}
.paso h3{font-size:16.5px;font-weight:600;margin-bottom:.5rem}
.paso p{font-size:14.5px;color:var(--gris);margin:0}
.cierre-txt{text-align:center;font-size:18px;font-weight:600;margin:42px auto 0;max-width:60ch}

/* testimonios */
.testis{padding-top:0}
.t-caja{position:relative;background:var(--violeta-d);border-radius:var(--r-lg);overflow:hidden;
  min-height:400px;display:flex;align-items:center}
.testi{display:none;width:100%;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center;
  padding:46px 54px}
.testi.on{display:grid}
.t-im{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:#E7E7EF}
.t-im .falta{position:absolute;inset:0}
.estrellas{position:absolute;right:0;bottom:0;background:#fff;padding:8px 12px;
  border-radius:10px 0 0 0;display:flex;gap:3px;z-index:3}
.t-tx .et{color:#B9C4F5}
.t-tx h3{font-size:clamp(1.6rem,2.8vw,2.2rem);color:#fff;font-weight:600;margin-bottom:1.1rem}
.cita{font-size:17.5px;color:#C7D2F7;margin:0 0 1.4rem}
.firma{font-size:15px;color:#fff;font-weight:600;margin:0}
.t-nav{position:absolute;right:44px;bottom:34px;display:flex;gap:10px;z-index:4}
.t-nav button{width:44px;height:44px;border-radius:var(--pill);border:2px solid rgba(255,255,255,.45);
  background:transparent;color:#fff;font-size:17px;cursor:pointer;transition:.18s}
.t-nav button:hover{background:#fff;color:var(--violeta-d);border-color:#fff}

/* acordeón azul al abrirse */
.fq details[open]{background:var(--violeta);box-shadow:0 8px 26px rgba(35,64,224,.22)}
.fq details[open] summary{color:#fff}
.fq details[open] summary::after{background:rgba(255,255,255,.2);color:#fff}
.fq details[open] .rr{color:#D5DCFA}
.fq summary:hover{color:var(--violeta)}
.fq details[open] summary:hover{color:#fff}

@media(max-width:1080px){
  .pasos{grid-template-columns:repeat(2,1fr)}
  .testi.on{grid-template-columns:1fr;padding:36px 30px 84px}
  .t-im{max-width:300px}
  .t-nav{right:30px;bottom:26px}
}
@media(max-width:640px){
  .pasos,.g2{grid-template-columns:1fr}
  .bloque{padding:26px 22px}
  .soc-top{display:none}
}
@media(prefers-reduced-motion:reduce){.zoom>*{animation:none!important}}

/* el título del banner no se leía sobre el recuadro claro */
.banner::after{content:"";position:absolute;inset:0;background:rgba(20,30,80,.55);z-index:1}
.banner .falta{color:#8E93B5}
.banner .falta b{color:#6E7498}
.banner .falta{justify-content:flex-end;padding-bottom:16px}
.banner .falta b{font-size:13px}
.banner .falta small{font-size:11.5px}

/* bloques de garantía */
.gars{padding-top:0}
.gar-caja{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sombra);
  display:grid;grid-template-columns:repeat(3,1fr)}
.gar{padding:38px 34px;border-left:1px solid var(--linea)}
.gar:first-child{border-left:0}
.gar h3{font-size:18px;font-weight:600;color:var(--violeta);margin-bottom:.6rem}
.gar p{font-size:15px;color:var(--gris);margin:0}
@media(max-width:900px){
  .gar-caja{grid-template-columns:1fr}
  .gar{border-left:0;border-top:1px solid var(--linea)}
  .gar:first-child{border-top:0}
}

/* =====================================================================
   Tema WordPress — cambios del cliente (septiembre 2026)
   ===================================================================== */
.saltar:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;clip:auto;z-index:200;
  background:#fff;padding:10px 16px;border-radius:10px}
figure{margin:0}
.top a{color:inherit}
.top .wrap>span>a+a::before{content:"/";margin:0 6px;color:var(--gris-l)}
.nav img{height:46px;width:auto}

/* botón hamburguesa */
.burger{width:44px;height:44px;padding:10px;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:2px;border-radius:2px;background:var(--tinta);transition:transform .2s,opacity .2s}
@media(max-width:900px){
  .burger{display:flex}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(10px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
  .acc{display:none}
  .top .dir{display:none}
}

/* todas las fotos y videos de contenido con puntas redondeadas */
.dos .im,.dos .im img,.dos .im video,.t-vids video,.banner,.prox,.prox-im img{border-radius:var(--r-lg)}
.s-im video,.s-im img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.s-im{border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden}}

/* botones: cambio de color al pasar el cursor, más visible */
.btn{transition:background .18s,color .18s,border-color .18s,transform .18s}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px;height:18px}
.b-w:hover{background:var(--verde);color:#fff;border-color:var(--verde)}

/* secciones */
section.gris{background:var(--hueso)}
.bajo-banner{margin-top:46px}
.angosto{max-width:820px}
.dos .im.alta{aspect-ratio:4/5}
.dos .im img{width:100%;height:100%;object-fit:cover}

/* historia */
.hist{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px}
.hist .im{aspect-ratio:auto;position:sticky;top:104px;background:none}
.hist .im img{height:auto}
.hist-tx .bj{font-size:17px;max-width:62ch}
.hist-tx .tt{margin-bottom:1.4rem}
.lema{margin:2rem 0 0;padding:26px 30px;background:var(--violeta);color:#fff;border-radius:var(--r-lg)}
.lema p{font-size:clamp(1.25rem,2vw,1.55rem);font-weight:600;line-height:1.3;letter-spacing:-.015em;margin:0}
.lema footer{margin-top:14px;display:flex;flex-direction:column;gap:2px;font-size:15px;color:#C7D2F7}
.lema footer b{color:#fff;font-weight:600}
.lema footer span{font-style:italic}
.capitulos{list-style:none;margin:0;padding:0 0 0 26px;border-left:2px solid #C9D2F7}
.capitulos li{position:relative;padding-bottom:18px}
.capitulos li::before{content:"";position:absolute;left:-36px;top:5px;width:12px;height:12px;
  border-radius:var(--pill);background:#fff;border:3px solid var(--violeta)}
.capitulos h3{font-size:17px;font-weight:600;color:var(--violeta);margin-bottom:.4rem}
.capitulos .bj{margin-top:0;margin-bottom:.6rem}
@media(max-width:900px){
  .hist{gap:30px}
  .hist .im{position:static;max-width:560px}
}

/* garantías */
.gar .ic{margin-bottom:16px}

/* testimonios: videos + textos */
.t-caja{display:grid;grid-template-columns:auto minmax(0,1fr);gap:52px;padding:44px 54px;align-items:center}
.t-vids{display:flex;gap:16px}
.t-vids figure{width:210px}
.t-vids video,.t-vids img{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;display:block;border-radius:var(--r)}
.t-textos{position:relative}
.testi,.testi.on{grid-template-columns:none;padding:0}
.testi{display:none}
.testi.on{display:block;animation:aparece .35s ease}
@keyframes aparece{from{opacity:0}to{opacity:1}}
.t-textos .estrellas{position:static;background:none;padding:0;margin:0 0 14px;display:flex;gap:4px}
.t-textos .estrellas svg{width:18px;height:18px;fill:#F5B426}
.t-textos .et{color:#B9C4F5;margin-bottom:1rem}
.t-textos h3{font-size:clamp(1.5rem,2.6vw,2.05rem);color:#fff;font-weight:600;margin-bottom:1rem}
.firma{display:flex;flex-direction:column;gap:2px}
.firma span{font-size:14px;font-weight:400;color:#B9C4F5}
.t-nav{position:static;margin-top:26px}
@media(max-width:1080px){
  .t-caja{grid-template-columns:1fr;padding:34px 28px;gap:34px}
  .t-vids{order:2;justify-content:center}
  .t-vids figure{width:min(210px,45%)}
}

/* evaluaciones ocupacionales */
.evals{background:var(--hueso)}
.exs{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:46px}
.ex{flex:0 1 calc(25% - 15px);min-width:210px;background:#fff;border:2px solid #C9D2F7;border-radius:var(--r-lg);
  padding:30px 20px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;
  text-decoration:none;color:var(--tinta);transition:background .2s,border-color .2s,color .2s,transform .2s}
.ex-ic{width:74px;height:74px;color:var(--violeta);display:flex;align-items:center;justify-content:center}
.ex-ic svg{width:64px;height:64px;stroke-width:1.2}
.ex-n{font-size:19px;font-weight:600;margin:14px 0 12px}
.ex-wa{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:#1C9E4B}
.ex-wa svg{width:17px;height:17px}
.ex:hover,.ex:focus-visible{background:var(--violeta);border-color:var(--violeta);color:#fff;transform:translateY(-3px)}
.ex:hover .ex-ic,.ex:hover .ex-wa,.ex:focus-visible .ex-ic,.ex:focus-visible .ex-wa{color:#fff}
@media(max-width:640px){.ex{flex-basis:calc(50% - 10px);min-width:0;padding:22px 12px 18px}.ex-ic svg{width:48px;height:48px}.ex-n{font-size:16px}}

/* ruta ocupacional */
.pasos{list-style:none;padding:0}
.paso{position:relative}
.paso-n{position:absolute;top:26px;right:22px;font-size:26px;font-weight:600;color:#D7DDF8;letter-spacing:-.03em}

/* servicios médicos */
.saltos{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.saltos .btn{color:var(--violeta-d)}
.saltos .btn:hover{color:#fff}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner::after{background:rgba(20,40,150,.55)}
.diag{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.diag-tx{grid-column:1/-1}
.diag .sub3{margin-top:0}
.bj.peq{font-size:16px;margin-top:0}
.nota-diag{margin-top:34px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.nota-diag .bj{max-width:78ch;margin:0;flex:1 1 480px}
.con-video{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.video-v{aspect-ratio:9/16!important;max-width:360px;width:100%;justify-self:center;background:#000}
.video-v video,.video-v img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.diag{grid-template-columns:1fr}.video-v{max-width:300px}}
.cl .cbox .btn{flex:none}

/* campañas */
.por-que{margin-top:52px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center}
.por-que .sub3{margin-top:0}
.distancia{background:var(--violeta-l);border-radius:var(--r);padding:30px}
.grande{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:600;line-height:1.2;color:var(--violeta-d);margin-bottom:.8rem}
.distancia .bj{margin:0}
.prox{margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--violeta-d);
  overflow:hidden;align-items:stretch}
.prox-im{position:relative;min-height:320px;margin:26px 0 26px 26px}
.prox-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prox-sello{position:absolute;left:18px;bottom:18px;background:#fff;color:var(--violeta-d);font-weight:600;
  border-radius:var(--pill);padding:9px 16px;display:inline-flex;align-items:center;gap:8px;font-size:15px}
.prox-sello svg{width:18px;height:18px}
.prox-tx{padding:44px 48px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.prox-tx .et{color:#B9C4F5}
.prox-tx h3{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:600;color:#fff;margin-bottom:.9rem}
.prox-tx .btn{margin-top:.6rem}
@media(max-width:900px){
  .por-que,.prox{grid-template-columns:1fr}
  .prox-im{margin:20px 20px 0;min-height:220px}
  .prox-tx{padding:30px 26px 34px}
}

/* farmacia: carrusel sin barra flotante */
.hero.sin-flota{padding-bottom:0}
.hero.sin-flota .dots{bottom:22px}

/* footer */
.fb img{filter:none;height:auto;width:230px}
.fl b{color:#fff;font-weight:600}
.libro{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:#fff;text-decoration:none;
  border:1.5px solid rgba(255,255,255,.5);border-radius:var(--pill);padding:8px 16px;font-size:14px}
.libro svg{width:18px;height:18px}
.libro:hover{background:#fff;color:var(--violeta-d)}
.fg{grid-template-columns:1.3fr 1fr 1.1fr 1.2fr 1.1fr}
@media(max-width:1120px){.fg{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.fg{grid-template-columns:1fr}}
.wa{transition:transform .18s}
.wa:hover{transform:scale(1.07)}

/* libro de reclamaciones */
.trampa{position:absolute;left:-9999px}
.aviso{border-radius:var(--r);padding:18px 22px;margin-bottom:26px;font-size:16px}
.aviso.ok{background:#E6F6EC;color:#155E33}
.aviso.error{background:#FDECEA;color:#8A2317}
.texto-libre{font-size:17px}
.texto-libre h2{margin:2rem 0 .8rem}

@media(prefers-reduced-motion:reduce){.testi.on{animation:none}.btn:hover,.ex:hover{transform:none}}

/* ---- correcciones de revisión ---- */
/* el bloque de la frase heredaba el espaciado del pie de página */
.lema footer{padding:0;background:none;font-size:15px;color:#C7D2F7}
/* pulso visible sobre fondos azules */
.t-textos .pulso,.prox-tx .pulso{color:#fff}
/* menos aire antes del recuadro final */
section.cl{padding-top:28px}
/* flechas y puntos del carrusel sobre la foto, sin tapar el texto */
@media(min-width:901px){
  .slides .flecha{top:auto;bottom:90px;transform:none;width:46px;height:46px}
  .slides .fl-i{left:auto;right:84px}
  .slides .fl-d{right:28px}
  .slides .dots{left:calc(50% + 28px);transform:none}
  .hero.sin-flota .flecha{bottom:22px}
  .hero.sin-flota .dots{bottom:36px}
}
.btn{white-space:nowrap}
.faq{padding-bottom:36px}
.fl .num{white-space:nowrap;display:inline-block;margin-right:8px}
.cbox p{text-wrap:pretty}
.diag-tx{grid-column:auto}
.diag-intro{padding-top:34px}
.diag-intro .bj{margin-top:0}
@media(max-width:900px){.diag-intro{padding-top:0}}
@media(max-width:560px){.btn{white-space:normal;text-align:center}}
@media(max-width:900px){
  .hist,.con-video{grid-template-columns:minmax(0,1fr)}
  .top .wrap .dir{display:none}
  .top .wrap{gap:6px 18px;font-size:13px}
}
.cbox .btn{max-width:100%}

/* ---- historias: foto arriba y texto abajo ---- */
.hist2-cab{text-align:center;margin-bottom:34px}
.hist2-cab .et{justify-content:center}
.hist2-cab .tt{margin:0 auto;max-width:none}
.hist2-im{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:21/9;background:var(--hueso)}
.hist2-im img{width:100%;height:100%;object-fit:cover;display:block}
#historia-farmacia .hist2-im{aspect-ratio:16/9;max-height:560px;width:100%}
.hist2-tx{margin-top:42px;columns:2;column-gap:56px}
.hist2-tx .bj{font-size:17px;max-width:none;margin:0 0 1rem;break-inside:avoid}
.hist2 .lema{margin-top:30px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
.hist2 .lema p{max-width:32ch;font-size:clamp(1.35rem,2.3vw,1.8rem)}
.hist2 .lema footer{margin-top:0}
.hist2 .capitulos{margin-top:46px;padding:0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 30px}
.hist2 .capitulos li{padding:22px 0 0;border-top:2px solid #C9D2F7}
.hist2 .capitulos li::before{left:0;top:-8px}
.hist2 .capitulos .bj{font-size:16px}
@media(max-width:900px){
  .hist2-tx{columns:1}
  .hist2-im{aspect-ratio:16/10}
  #historia-farmacia .hist2-im{aspect-ratio:4/3}
  .hist2 .capitulos{grid-template-columns:minmax(0,1fr);gap:26px}
  .hist2 .lema{padding:26px}
}
@media(min-width:901px) and (max-width:1100px){.hist2 .capitulos{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* botón flotante de WhatsApp */
.wa svg{width:32px;height:32px}

/* farmacia: foto y frase lado a lado */
.hist2-par{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
#historia-farmacia .hist2-im{aspect-ratio:4/3;max-height:none}
.hist2-par .lema{margin:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px 44px}
.hist2-par .lema p{font-size:clamp(1.5rem,2.6vw,2.1rem);max-width:none}
@media(max-width:900px){.hist2-par{grid-template-columns:minmax(0,1fr)}.hist2-par .lema{padding:28px}}
@media(min-width:901px){#consultas .dos .im.alta{aspect-ratio:1/1}}

/* =====================================================================
   v3 — observaciones del cliente (carrusel, historia, pie, celular)
   ===================================================================== */

/* ---- carrusel a pantalla completa con el texto encima ---- */
.hero .slides{display:grid;border-radius:0;background:#0E1C6E}
.hero .slide,.hero .slide.on{grid-area:1/1;display:block;position:relative;min-height:clamp(560px,84vh,780px);
  background:none;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.hero .slide.on{opacity:1;visibility:visible;z-index:1}
.hero .s-im{position:absolute;inset:0;height:auto;min-height:0;border-radius:0;background:#0E1C6E}
.hero .s-im::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(10,22,96,.9) 0%,rgba(20,42,160,.68) 40%,rgba(20,42,160,.22) 75%,rgba(20,42,160,.12) 100%)}
.hero .s-tx{position:relative;z-index:2;min-height:inherit;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;padding:60px max(28px,calc((100vw - var(--max))/2 + 28px)) 150px}
.hero .s-tx h1,.hero .s-tx h2{color:#fff;font-size:clamp(2.5rem,5.2vw,4.4rem);line-height:1.04;max-width:14ch;
  text-shadow:0 2px 20px rgba(0,0,0,.22)}
.hero .s-tx p{color:#E4E9FF;font-size:clamp(17px,1.5vw,20px);max-width:40ch}
.hero .s-tx .s-et{font-size:15px;font-weight:600;color:#fff;margin:0 0 18px;padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.75);max-width:none}
.s-barra{display:block;width:70px;height:5px;border-radius:5px;background:#fff;margin-top:24px}
.hero .s-tx .btn{margin-top:1.8rem}
.hero .s-tx .btn.b-w:hover{background:var(--violeta-l);color:var(--violeta-d);border-color:var(--violeta-l)}
.hero .dot{border-color:#fff}
.hero .dot.on{background:#fff}
@media(min-width:901px){
  .hero .slides .dots{left:max(28px,calc((100vw - var(--max))/2 + 28px));bottom:120px;transform:none}
  .hero .slides .flecha{bottom:108px}
  .hero.sin-flota .slide,.hero.sin-flota .slide.on{min-height:clamp(500px,76vh,700px)}
  .hero.sin-flota .s-tx{padding-bottom:90px}
  .hero.sin-flota .slides .dots{bottom:44px}
  .hero.sin-flota .slides .flecha{bottom:32px}
}

/* ---- historia del policlínico: foto a un costado ---- */
.hist3-fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
.hist3-im{position:relative;padding:0 0 46px}
.hist3-im img{width:100%;aspect-ratio:4/3.3;object-fit:cover;border-radius:var(--r-lg);display:block}
.hist3-sello{position:absolute;right:-18px;bottom:0;background:#fff;border-radius:var(--r);box-shadow:var(--sombra);
  padding:20px 26px;display:flex;align-items:center;gap:16px}
.hist3-sello small{display:block;font-size:14px;color:var(--gris)}
.hist3-sello b{display:block;font-size:20px;font-weight:600;color:var(--tinta);letter-spacing:-.01em}
.hist3-tx{position:relative;padding-left:34px}
.hist3-tx::before{content:"";position:absolute;left:0;top:4px;width:4px;height:78px;border-radius:4px;background:var(--violeta)}
.hist3-tx .tt{color:var(--violeta-d);margin-bottom:1.2rem}
.hist3-tx .bj{font-size:17px}
.hist3-claves{list-style:none;padding:0;margin:1.4rem 0 1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.hist3-claves li{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:var(--violeta-d);font-size:16.5px}
.hist3-claves svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--violeta)}
.hist3-mas{margin-top:48px;padding-top:40px;border-top:1px solid var(--linea)}
.hist3-mas .hist2-tx{margin-top:0}
.hist3-mas .lema{margin-top:26px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
.hist3-mas .lema p{max-width:32ch}
.hist3-mas .lema footer{margin-top:0}

/* ---- pie de página con íconos ---- */
footer h4{display:flex;align-items:center;gap:10px}
.fi{width:34px;height:34px;flex:none;border-radius:var(--pill);background:rgba(255,255,255,.16);color:#fff;
  display:inline-flex;align-items:center;justify-content:center}
.fi svg{width:18px;height:18px}
.fl-flecha a{display:inline-flex;align-items:center;gap:8px}
.fl-flecha a::before{content:"";width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;
  transform:rotate(45deg);opacity:.7;flex:none}
.fl-sub{margin:0 0 8px;color:#fff;font-weight:600;font-size:15px}
.fl-sub:not(:first-of-type){margin-top:16px}
.fl-ic li{display:flex;align-items:flex-start;gap:10px}
.fl-ic li>a{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.fi-s{width:28px;height:28px;flex:none;border-radius:var(--pill);background:rgba(255,255,255,.14);color:#fff;
  display:inline-flex;align-items:center;justify-content:center}
.fi-s svg{width:15px;height:15px}
.fi-s.es-wa{background:#25D366}
.fl-ic li>span:not(.fi-s){padding-top:3px;line-height:1.5}
.fbar{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap}
.credito b{color:#fff;font-weight:600}

/* ---- celular y tablet: todo centrado ---- */
@media(max-width:900px){
  .top .wrap{justify-content:center;text-align:center}

  .hero .slide,.hero .slide.on{min-height:560px}
  .hero .s-im::after{background:linear-gradient(180deg,rgba(10,22,96,.55) 0%,rgba(14,30,120,.82) 55%,rgba(10,22,96,.92) 100%)}
  .hero .s-tx{align-items:center;text-align:center;padding:70px 24px 90px}
  .hero .s-tx h1,.hero .s-tx h2{max-width:none;font-size:clamp(2.1rem,9vw,2.9rem)}
  .hero .s-tx p{margin-left:auto;margin-right:auto}
  .hero .slides .dots{left:50%;transform:translateX(-50%);bottom:30px}
  .flota{text-align:center;justify-content:center;margin-top:20px}
  .flota .chips{justify-content:center}

  .ph-hero .wrap{text-align:center}
  .ph-hero h1,.ph-hero p{margin-left:auto;margin-right:auto}
  .saltos{justify-content:center}

  .et{justify-content:center}
  .tt,.bj,.sub3,.grande{text-align:center;margin-left:auto;margin-right:auto}
  .dos>div,.diag-tx,.diag-intro,.nota-diag,.por-que>div,.distancia,.bloque,
  .prox-tx,.t-textos,.gar,.paso,.hist2-cab,.capitulos li,.cbox,.cierre-txt{text-align:center}
  .dos>div,.prox-tx,.cbox,.nota-diag{display:flex;flex-direction:column;align-items:center}
  .dos>div>*{width:auto;max-width:100%}
  .vent{display:grid;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}
  .gar .ic,.paso .ic{margin-left:auto;margin-right:auto}
  .paso-n{right:50%;transform:translateX(50%);top:auto;bottom:14px;opacity:.6}
  .paso{padding-bottom:52px}
  .estrellas,.t-nav{justify-content:center}
  .t-textos .firma{align-items:center}
  .cbox h2,.cbox p{margin-left:auto;margin-right:auto}
  .lema,.hist3-mas .lema{text-align:center;justify-content:center;flex-direction:column;align-items:center}
  .lema footer{align-items:center}
  .capitulos li::before{left:50%;transform:translateX(-50%)}

  .hist3-fila{grid-template-columns:minmax(0,1fr);gap:40px}
  .hist3-im{padding-bottom:40px}
  .hist3-sello{right:50%;transform:translateX(50%);white-space:nowrap;padding:16px 20px}
  .hist3-tx{padding-left:0;display:flex;flex-direction:column;align-items:center;text-align:center}
  .hist3-tx::before{display:none}
  .hist3-claves{grid-template-columns:1fr;justify-items:center}
  .hist3-mas .hist2-tx{columns:1}

  footer .fg{text-align:center}
  footer h4{justify-content:center}
  .fb img{margin-left:auto;margin-right:auto}
  .fb p{margin-left:auto;margin-right:auto}
  .soc{justify-content:center}
  .fl-ic li{justify-content:center}
  .fl-ic li>span:not(.fi-s){text-align:left}
  .fbar{justify-content:center;text-align:center;flex-direction:column}
}
@media(max-width:560px){
  .hist3-sello b{font-size:17px}
}
@media(max-width:900px){
  .top .wrap>span{justify-content:center;flex-wrap:wrap}
  .nota-diag .bj{flex:none}
  .hist2 .capitulos li::before{left:50%;transform:translateX(-50%)}
}
@media(max-width:640px){
  .ex-wa{font-size:13px;gap:5px;white-space:nowrap}
  .ex-wa svg{width:14px;height:14px}
}

/* ---- sello de la historia: azul sólido, dentro de la foto ---- */
.hist3-im{padding:0}
.hist3-sello{right:auto;left:20px;bottom:20px;transform:none;background:var(--violeta-d);color:#fff;
  box-shadow:0 10px 30px rgba(8,18,80,.35);border:1px solid rgba(255,255,255,.18)}
.hist3-sello .ic{background:#fff;color:var(--violeta-d)}
.hist3-sello small{color:#D5DCFA}
.hist3-sello b{color:#fff}
@media(max-width:900px){
  .hist3-im{padding:0}
  .hist3-sello{left:50%;right:auto;bottom:16px;transform:translateX(-50%)}
}

/* ---- revisión de contraste ---- */
.paso-n{color:#5468DD}
.ex-wa{color:#137A3A}
.avf{color:var(--gris)}
.banner::after{background:rgba(14,26,100,.64)}
.banner-t{text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero .s-im::after{background:linear-gradient(90deg,rgba(10,22,96,.93) 0%,rgba(18,38,150,.76) 42%,rgba(20,42,160,.3) 78%,rgba(20,42,160,.14) 100%)}
@media(max-width:900px){
  .hero .s-im::after{background:linear-gradient(180deg,rgba(10,22,96,.62) 0%,rgba(14,30,120,.86) 50%,rgba(10,22,96,.94) 100%)}
  .paso-n{opacity:1}
}

/* ---- revisión tablet y laptop pequeña ---- */
.marca{flex:none}
.nav .wrap{position:relative}
@media(min-width:901px) and (max-width:1200px){
  .menu{display:none}
  .menu.abierta{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;
    padding:14px 28px 20px;border-bottom:1px solid var(--linea);box-shadow:0 14px 30px rgba(20,30,80,.1);z-index:60}
  .menu.abierta>a{padding:13px 0;border-bottom:1px solid var(--linea)!important;width:100%}
  .burger{display:flex;margin-left:0}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(10px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
  .acc{margin-left:auto}
  .top .wrap .dir{display:none}
  .top .wrap .r{margin-left:auto}
}

/* historia: proporción en pantallas medianas */
@media(min-width:901px) and (max-width:1100px){
  .hist3-fila{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px}
  .hist3-im img{aspect-ratio:4/5}
}
@media(max-width:900px){
  .hist3-im{max-width:620px;margin-left:auto;margin-right:auto;width:100%}
  .hist3-im img{aspect-ratio:16/11}
}

/* testimonios apilados: todo centrado */
@media(max-width:1080px){
  .t-textos{text-align:center}
  .t-textos .et,.t-textos .estrellas,.t-nav{justify-content:center}
  .t-textos .firma{align-items:center}
  .t-textos .cita{margin-left:auto;margin-right:auto}
}

/* ruta de 5 pasos: filas completas y la última centrada */
@media(max-width:1180px){
  .pasos{display:flex;flex-wrap:wrap;justify-content:center}
  .paso{flex:0 1 calc((100% - 40px)/3)}
}
@media(max-width:900px){.paso{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:560px){.paso{flex-basis:100%}}

/* pie en tablet: dos columnas */
@media(min-width:641px) and (max-width:900px){
  footer .fg{grid-template-columns:1fr 1fr;gap:40px 30px}
  footer .fb{grid-column:1/-1}
}
@media(max-width:900px){
  .dos .im:not(.video-v){max-width:620px;width:100%;margin-left:auto;margin-right:auto}
  .dos .im.alta,#consultas .dos .im.alta{aspect-ratio:16/11}
}
@media(max-width:560px){
  .hist3-sello{position:relative;left:auto;right:auto;bottom:auto;transform:none;margin:-30px auto 0;width:fit-content;padding:12px 18px}
  .hist3-sello .ic{width:40px;height:40px}
}

/* ---- video en la historia y 9 evaluaciones ---- */
.hist3-im video,.hist3-im>img{width:100%;aspect-ratio:4/3.3;object-fit:cover;border-radius:var(--r-lg);display:block;background:#0E1C6E}
@media(min-width:901px) and (max-width:1100px){.hist3-im video{aspect-ratio:4/5}}
@media(max-width:900px){.hist3-im video{aspect-ratio:16/11}}
@media(min-width:1181px){.ex{flex:0 1 calc((100% - 80px)/5);min-width:0}}
@media(min-width:641px) and (max-width:1180px){.ex{flex:0 1 calc((100% - 40px)/3);min-width:0}}
