/* ==========================================================================
   CeSeA Dental · web completa — hoja de estilos compartida
   Base: el sistema visual de la landing de afiliación (LANDING-AFILIACION-CESEA-DENTAL),
   copiado tal cual. Debajo, los componentes que necesita una web de varias páginas.
   ========================================================================== */
/* Nunito, la tipografía corporativa de CeSeA (petición del cliente, 30-oct-2026). Variable 200-1000,
   alojada aquí y recortada a latín (assets/fuentes/, licencia OFL). */
@font-face{font-family:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url("fuentes/nunito-latin-var.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:italic;font-weight:200 1000;font-display:swap;src:url("fuentes/nunito-latin-italic-var.woff2") format("woff2")}
:root{
  --crema:#FFF6E3; --hueso:#F2F7FC; --blanco:#FFFFFF;
  --navy:#003060; --gris:#5A6B7F;
  --azul:#0090FA; --azul-ink:#0072CC; --azul-pale:#E6F3FE;
  --amarillo:#FDE365; --amarillo-d:#F0CE33;
  --rojo:#B02A1E;
  --stroke-xl:clamp(3px,0.8vw,13px); --stroke-lg:clamp(2.5px,0.45vw,7px);
  --stroke-md:clamp(1.5px,0.22vw,3.5px); --stroke-sm:2px;
  --sombra-card:0 9px 22px rgb(0 32 96 / .10); --sombra-lift:0 18px 40px rgb(0 32 96 / .18);
  --dur-rapida:180ms; --dur-base:320ms; --dur-lenta:620ms;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-back:cubic-bezier(.34,1.56,.64,1);
  --f-gorda:"Nunito",ui-rounded,system-ui,sans-serif;
  --f-alta:"Nunito",ui-rounded,system-ui,sans-serif;
  --f-texto:"Nunito",ui-rounded,system-ui,sans-serif;
  /* Cristal: esmerilado cálido con filo de luz arriba y halo amarillo en lo activo.
     El blur (backdrop-filter) solo va en piezas fijas de primer nivel; el resto lleva
     el aspecto de cristal sin blur (.vidrio-tarjeta), que no cuesta nada al hacer scroll. */
  --vidrio-solido:rgb(255 250 240 / .96);
  --vidrio-fondo:rgb(255 250 240 / .78);
  --vidrio-borde:rgb(255 255 255 / .85);
  --vidrio-filo:inset 0 1px 0 rgb(255 255 255 / .95),inset 0 -1px 0 rgb(0 48 96 / .06);
  --vidrio-sombra:0 10px 30px rgb(0 32 96 / .12);
  --vidrio-halo:0 0 0 3px rgb(253 227 101 / .6),0 10px 28px rgb(240 206 51 / .38);
  --vidrio-tarjeta:radial-gradient(130% 70% at 12% 0%,rgb(255 255 255 / .8),rgb(255 255 255 / 0) 55%),linear-gradient(160deg,rgb(255 255 255 / .9),rgb(255 255 255 / .66));
  --vidrio-oscuro:rgb(0 40 82 / .72);
  --vidrio-oscuro-borde:rgb(255 255 255 / .2);
}
@media (max-width:767px){:root{--stroke-xl:clamp(2px,1.0vw,6px);--stroke-lg:clamp(1.5px,0.6vw,4px);--stroke-md:1.5px;--stroke-sm:1.5px;}}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html,body{overflow-x:clip;background:var(--crema);color:var(--navy);font-family:var(--f-texto);-webkit-font-smoothing:antialiased}
/* Los controles de formulario no heredan la letra: sin esto, lo que se escribe en los campos salía en Arial. */
button,input,select,textarea{font-family:inherit}
body,p{font-size:clamp(1rem,.95rem + .3vw,1.1875rem);line-height:1.6;letter-spacing:.002em;font-weight:400}
a{color:var(--azul-ink);text-decoration:none}
a:hover{color:var(--navy)}
img{display:block;max-width:100%}
section{overflow-x:clip;padding-block:clamp(4rem,9vw,9rem);position:relative}
.contenedor{width:min(100% - 2.5rem,1240px);margin-inline:auto}
.solo-lectores{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a.solo-lectores:focus-visible{position:fixed;top:.6rem;left:.6rem;width:auto;height:auto;margin:0;clip:auto;overflow:visible;z-index:200;background:var(--navy);color:var(--crema);padding:.7em 1.1em;border-radius:12px;font-weight:600}
:focus-visible{outline:3px solid var(--azul-ink);outline-offset:3px;border-radius:3px}
/* --- Tipografía --- */
.d-xxl{font-family:var(--f-alta);font-weight:900;font-size:clamp(2.1rem,7.8vw,7.8rem);line-height:1.02;letter-spacing:-.005em;text-transform:uppercase;paint-order:stroke fill;-webkit-text-stroke-width:var(--stroke-sm);-webkit-text-stroke-color:var(--blanco)}
.d-xl{font-family:var(--f-alta);font-weight:900;font-size:clamp(1.5rem,4.5vw,3.9rem);line-height:1.02;text-transform:uppercase;paint-order:stroke fill;-webkit-text-stroke-width:var(--stroke-sm);-webkit-text-stroke-color:var(--blanco)}
.d-fat{font-family:var(--f-gorda);font-weight:900;font-size:clamp(1.8rem,6.6vw,6.6rem);line-height:1.02;letter-spacing:.01em;paint-order:stroke fill;-webkit-text-stroke-width:var(--stroke-sm);-webkit-text-stroke-color:var(--blanco)}
.eyebrow{font-family:var(--f-alta);font-weight:800;font-size:clamp(0.748rem,0.528rem + 0.44vw,0.968rem);letter-spacing:.18em;text-transform:uppercase;line-height:1.3;color:var(--gris)}
.h2{font-family:var(--f-alta);font-weight:900;font-size:clamp(1.225rem,2.45vw,2.1rem);line-height:1.02;text-transform:uppercase;letter-spacing:.01em}
.h3{font-family:var(--f-alta);font-weight:800;font-size:clamp(1rem,1.6vw,1.4rem);line-height:1.1;text-transform:uppercase;letter-spacing:.02em}
.lead{font-size:clamp(1.125rem,1rem + .6vw,1.5rem);line-height:1.45;font-weight:500;max-width:34ch}
.body-w{max-width:58ch}
.chip{font-family:var(--f-alta);font-weight:800;font-size:clamp(0.792rem,0.704rem + 0.352vw,1.1rem);text-transform:uppercase;letter-spacing:.06em}
.micro{font-family:var(--f-texto);font-size:.8125rem;line-height:1.45;letter-spacing:.04em;color:var(--gris)}
/* --- Trazo (contorno del display) --- */
.trazo,.trazo-lg,.trazo-md,.trazo-sm{paint-order:stroke fill;-webkit-text-stroke-color:var(--blanco)}
.trazo{-webkit-text-stroke-width:var(--stroke-xl)}
.trazo-lg{-webkit-text-stroke-width:var(--stroke-lg)}
.trazo-md{-webkit-text-stroke-width:var(--stroke-md)}
.trazo-sm{-webkit-text-stroke-width:var(--stroke-sm)}
.trazo-crema{-webkit-text-stroke-color:var(--crema)}
.trazo-navy{-webkit-text-stroke-color:var(--navy)}
/* Logotipo. La version --claro se pasa a blanco puro para las secciones navy:
   el logo original es navy + granate y sobre fondo oscuro no se leeria. */
.logo{max-width:100%}
.logo--claro{filter:brightness(0) invert(1)}
/* Medalla de certificacion. Trae su propio troquel plateado: sin fondo ni borde anadidos. */
.sello{width:clamp(112px,15vw,205px);height:auto;filter:drop-shadow(0 12px 22px rgb(0 32 96 / .28));
       transition:transform var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out)}
@media (hover:hover){
  .sello:hover{transform:translate(16%,20%) rotate(8deg) scale(1.05)!important;
               filter:drop-shadow(0 18px 30px rgb(0 32 96 / .36))}
}
@media (prefers-reduced-motion:reduce){.sello{transition:none}}
.r-navy{color:var(--navy)}.r-azul{color:var(--azul)}.r-amar{color:var(--amarillo)}.r-crema{color:var(--crema)}
/* Antes solo el contorno (relleno transparente). El cliente pide letras con relleno porque en contorno no se leen
   bien (documento del 3-nov-2026): se rellenan del color del trazo y el trazo desaparece. */
.r-hueco{color:var(--blanco);-webkit-text-stroke-width:0!important;text-shadow:none!important}
.r-hueco.trazo-crema{color:var(--crema)}.r-hueco.trazo-navy{color:var(--navy)}
@supports not (-webkit-text-stroke:1px #000){
  .trazo,.trazo-lg,.trazo-md,.trazo-sm{--ring:var(--blanco);--r:6px;
    text-shadow:var(--r) 0 0 var(--ring),calc(var(--r) * -1) 0 0 var(--ring),0 var(--r) 0 var(--ring),0 calc(var(--r) * -1) 0 var(--ring),calc(var(--r) * .71) calc(var(--r) * .71) 0 var(--ring),calc(var(--r) * -.71) calc(var(--r) * .71) 0 var(--ring),calc(var(--r) * .71) calc(var(--r) * -.71) 0 var(--ring),calc(var(--r) * -.71) calc(var(--r) * -.71) 0 var(--ring)}
  .trazo{--r:clamp(4px,1.2vw,18px)}.trazo-lg{--r:clamp(3px,.6vw,9px)}
  .trazo-crema{--ring:var(--crema)}.trazo-navy{--ring:var(--navy)}
}
.palabra{display:inline-block}
@media (max-width:767px){.palabra{display:block}}
/* --- Reveal on scroll --- */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .62s var(--ease-out),transform .62s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
/* --- Botones --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:.85em 1.7em;border-radius:999px;font-family:var(--f-alta);font-weight:800;font-size:clamp(0.924rem,1.144vw,1.188rem);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:3px solid transparent;transition:transform var(--dur-rapida) var(--ease-out),box-shadow var(--dur-rapida) var(--ease-out),background var(--dur-rapida)}
.btn-primario{background:var(--azul-ink);color:var(--blanco);box-shadow:var(--sombra-card)}
.btn-primario:hover{color:var(--blanco);transform:translateY(-2px);box-shadow:var(--sombra-lift)}
.btn-contorno{background:linear-gradient(160deg,rgb(255 255 255 / .72),rgb(255 255 255 / .38));border-color:var(--navy);color:var(--navy);box-shadow:inset 0 1px 0 rgb(255 255 255 / .9)}
.btn-contorno:hover{color:var(--navy);transform:translateY(-2px);background:linear-gradient(160deg,rgb(255 255 255 / .92),rgb(230 243 254 / .8));box-shadow:inset 0 1px 0 #fff,var(--vidrio-halo)}
.btn-contorno-crema{background:transparent;border-color:var(--crema);color:var(--crema)}
.btn-contorno-crema:hover{color:var(--navy);background:var(--crema);transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:var(--crema)}
.btn-navy:hover{color:var(--crema);transform:translateY(-2px);box-shadow:var(--sombra-lift)}
.enlace-sub{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(0.924rem,1.144vw,1.188rem);color:var(--azul-ink);border-bottom:3px solid var(--azul-ink);padding-bottom:2px;min-height:44px;display:inline-flex;align-items:center}
.enlace-sub:hover{color:var(--navy);border-color:var(--navy)}
/* --- Píldoras / chips visuales --- */
.pill{display:inline-flex;align-items:center;gap:.5em;padding:.5em 1.1em;border-radius:999px;background:linear-gradient(160deg,rgb(255 255 255 / .85),rgb(230 243 254 / .8));border:1px solid var(--vidrio-borde);box-shadow:inset 0 1px 0 #fff,0 4px 12px rgb(0 32 96 / .08);color:var(--navy);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(0.792rem,0.704rem + 0.264vw,1.012rem)}
.pill-navy{background:rgb(255 255 255 / .1);color:var(--crema);border:2px solid rgb(255 255 255 / .35);box-shadow:inset 0 1px 0 rgb(255 255 255 / .25)}
/* --- Nav --- */
/* Al bajar, la cabecera se convierte en una píldora de cristal flotante. El cristal va en
   .nav__fila (nada fijo cuelga de ella), nunca en .nav. */
.nav{position:sticky;top:0;z-index:60;transition:padding var(--dur-base) var(--ease-out)}
.nav__fila{transition:padding var(--dur-base) var(--ease-out),margin var(--dur-base) var(--ease-out),background var(--dur-base),box-shadow var(--dur-base),border-radius var(--dur-base)}
.nav.condensada .nav__fila{margin-top:.5rem;padding:.45rem .55rem .45rem 1.1rem;border-radius:999px;background:var(--vidrio-solido);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--vidrio-sombra)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .nav.condensada .nav__fila{background:var(--vidrio-fondo);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%)}
}
.nav.condensada .nav__marca img{width:clamp(120px,13vw,170px)}
/* --- Menu overlay --- */
.overlay{position:fixed;inset:0;z-index:90;background:var(--navy);color:var(--crema);display:flex;overflow-y:auto;overscroll-behavior:contain;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out)}
.overlay.open{opacity:1;pointer-events:auto}
.overlay a{color:var(--crema)}
.overlay li{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.overlay.open li{opacity:1;transform:none}
.overlay.open li:nth-child(1){transition-delay:.06s}.overlay.open li:nth-child(2){transition-delay:.10s}.overlay.open li:nth-child(3){transition-delay:.14s}.overlay.open li:nth-child(4){transition-delay:.18s}.overlay.open li:nth-child(5){transition-delay:.22s}.overlay.open li:nth-child(6){transition-delay:.26s}.overlay.open li:nth-child(7){transition-delay:.30s}.overlay.open li:nth-child(8){transition-delay:.34s}
.menu-item{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;line-height:1.05;font-size:clamp(1.2rem,3vw,2.4rem);letter-spacing:.01em}
.menu-item:hover{color:var(--amarillo)}
/* --- Barra CTA móvil --- */
.cta-movil{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:.6rem;padding:.7rem;background:var(--vidrio-solido);border-top:1px solid var(--vidrio-borde);box-shadow:inset 0 1px 0 #fff,0 -6px 20px rgb(0 32 96 / .12);transform:translateY(120%);transition:transform var(--dur-base) var(--ease-out)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .cta-movil{background:var(--vidrio-fondo);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%)}
}
.cta-movil.visible{transform:none}
@media (max-width:767px){.cta-movil{display:flex}}
/* --- Preloader --- */
.preloader{position:fixed;inset:0;z-index:100;background:var(--crema);display:flex;flex-direction:column;justify-content:center;align-items:center;transition:transform 700ms var(--ease-out)}
.preloader.done{transform:translateY(-100%)}
.dots::after{content:"";animation:puntos 1.2s steps(1,end) infinite}
@keyframes puntos{0%{content:"."}33%{content:".."}66%{content:"..."}}
.barra-prog{height:2px;background:var(--azul-ink);width:0;animation:progreso 1.2s var(--ease-out) forwards}
@keyframes progreso{to{width:220px}}
/* --- Marquesina --- */
.marquesina{overflow:hidden;display:flex;background:var(--azul);padding:.7rem 0;border-block:3px solid var(--navy)}
.marquesina__pista{display:flex;flex-shrink:0;gap:2.5rem;padding-right:2.5rem;animation:correr 38s linear infinite;white-space:nowrap}
.marquesina--inv{background:var(--navy)}
.marquesina--inv .marquesina__pista{animation-direction:reverse}
.mq-item{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(0.88rem,1.92vw,1.6rem);color:var(--navy)}
.marquesina--inv .mq-item{color:var(--crema)}
@keyframes correr{to{transform:translateX(-100%)}}
@keyframes baja{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(8px);opacity:1}}
[data-desktop-only]{display:none}
@media (min-width:1200px){[data-desktop-only]{display:block}}
/* --- Tarjetas inclinadas --- */
.tarjetas{display:flex;gap:clamp(1rem,3vw,2.5rem);justify-content:center;align-items:center;flex-wrap:wrap}
.tarjeta{border-radius:14px;overflow:hidden;box-shadow:var(--sombra-card);border:6px solid var(--blanco);background:var(--hueso);width:clamp(220px,24vw,340px);aspect-ratio:4/5;position:relative;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.tarjeta:nth-child(1){transform:rotate(5deg)}.tarjeta:nth-child(2){transform:rotate(-5deg)}.tarjeta:nth-child(3){transform:rotate(8deg)}
.tarjeta:hover{transform:rotate(0deg) scale(1.04);box-shadow:var(--sombra-lift);z-index:5}
@media (max-width:767px){.tarjeta:nth-child(1){transform:rotate(-12deg) translateY(3vw)}.tarjeta:nth-child(2){transform:rotate(0deg) translateY(-6vw);z-index:2}.tarjeta:nth-child(3){transform:rotate(12deg) translateY(3vw)}}
/* --- Sticker despegable --- */
@property --peel{syntax:"<number>";inherits:true;initial-value:0}
.sticker{--peel:0;--tilt:-8deg;--p:20%;--w:clamp(96px,13vw,180px);--ini:calc(-1 * var(--p));--fin:calc(100% + var(--p));--y:calc(var(--ini) + var(--peel) * (var(--fin) - var(--ini)));position:relative;display:inline-grid;place-items:center;width:var(--w);aspect-ratio:1;rotate:var(--tilt);transform-origin:50%;transition:--peel var(--dur-lenta) var(--ease-out),scale var(--dur-base) var(--ease-back)}
.sticker__cara{position:absolute;inset:0;border-radius:50%;background:var(--amarillo);box-shadow:0 0 0 6px var(--blanco);display:grid;place-items:center;clip-path:polygon(var(--ini) var(--y),var(--fin) var(--y),var(--fin) var(--fin),var(--ini) var(--fin));filter:drop-shadow(2px 4px 6px rgb(0 32 96 / .35));will-change:clip-path}
.sticker__rizo{position:absolute;inset:0;border-radius:50%;transform-origin:50% var(--y);transform:scaleY(-1);clip-path:polygon(var(--ini) var(--ini),var(--fin) var(--ini),var(--fin) var(--y),var(--ini) var(--y));background:linear-gradient(to bottom,rgb(0 32 96 / .28) 0%,rgb(255 255 255 / .55) 42%,rgb(255 255 255 / .92) 100%),var(--amarillo-d);filter:drop-shadow(0 -3px 6px rgb(0 32 96 / .30));opacity:clamp(0,calc(var(--peel) * 22),1);pointer-events:none}
.sticker__brillo{position:absolute;inset:0;border-radius:50%;mix-blend-mode:overlay;opacity:.55;pointer-events:none;background:radial-gradient(120% 90% at 22% 12%,rgb(255 255 255 / .85) 0%,rgb(255 255 255 / .18) 38%,rgb(0 0 0 / .10) 78%,rgb(0 0 0 / .22) 100%)}
.sticker__txt{font-family:var(--f-gorda);font-weight:900;color:var(--navy);font-size:clamp(0.66rem,0.44rem + 0.88vw,1.232rem);line-height:1.08;text-align:center;text-transform:uppercase;padding:.5em;position:relative;z-index:2;rotate:calc(-1 * var(--tilt))}
@media (hover:hover){.sticker:hover,.sticker:focus-visible{--peel:.18;scale:1.03}}
/* --- Filas de cobertura --- */
.fila-cob{position:relative;display:flex;gap:1.5rem;align-items:baseline;padding:clamp(1rem,2.5vw,1.8rem) 0;border-top:2px solid rgb(0 32 96 / .14);overflow:hidden;transition:color var(--dur-base)}
.fila-cob::before{content:"";position:absolute;inset:0;background:var(--azul);transform:scaleX(0);transform-origin:left;transition:transform .42s var(--ease-out);z-index:0}
.fila-cob>*{position:relative;z-index:1;transition:color var(--dur-base)}
.fila-cob .flecha{opacity:0;transition:opacity var(--dur-base),transform var(--dur-base);margin-left:auto;transform:translateX(-8px)}
.fila-cob:hover::before,.fila-cob:focus-within::before{transform:scaleX(1)}
.fila-cob:hover,.fila-cob:focus-within{color:var(--crema)}
.fila-cob:hover .fila-desc,.fila-cob:focus-within .fila-desc{color:rgb(255 246 227 / .9)}
.fila-cob:hover .flecha,.fila-cob:focus-within .flecha{opacity:1;transform:none;color:var(--crema)}
/* --- FAQ --- */
.faq{border-top:2px solid rgb(0 32 96 / .16)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;padding:clamp(1rem,2.2vw,1.5rem) 0;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq .sig{font-family:var(--f-alta);font-weight:800;font-size:1.6rem;line-height:1.08;color:var(--azul-ink);transition:transform var(--dur-base)}
.faq details[open] .sig{transform:rotate(45deg)}
.faq .respuesta{overflow:hidden;display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease-out)}
.faq details[open] .respuesta{grid-template-rows:1fr}
.faq .respuesta>div{min-height:0}
/* --- utilidades layout --- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,4vw,3.5rem)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2.5rem)}
@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}
.ph-wrap{position:relative;border-radius:14px;overflow:hidden;background:var(--hueso);box-shadow:var(--sombra-card)}
.foto-chip{position:absolute;top:12px;left:12px;z-index:3;background:var(--crema);color:var(--navy);padding:.3em .8em;border-radius:999px;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:0.704rem;box-shadow:var(--sombra-card)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .marquesina{overflow-x:auto}.marquesina__pista{animation:none}
  .preloader.done{display:none}
  .sticker:hover,.sticker:focus-visible{--peel:0;scale:1}
}
.slot-img{width:100%;height:100%;object-fit:cover;display:block}
.logo-ue{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:.4rem;border:1px dashed rgb(255 246 227 / .45);border-radius:8px;background:rgb(255 246 227 / .06)}
.logo-ue span{font-family:var(--f-texto);font-size:.62rem;line-height:1.25;letter-spacing:.03em;opacity:.75}

/* ==========================================================================
   Componentes de la web completa
   ========================================================================== */

/* --- Cabecera --- */
.nav__fila{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem}
.nav__marca{display:block;color:var(--navy)}
.nav__marca img{width:clamp(140px,17vw,215px);height:auto;display:block}
.nav__acciones{display:flex;gap:.7rem;align-items:center}
.nav__login{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(0.88rem,1.056vw,1.056rem);color:var(--navy);padding:.4em .2em;min-height:44px;display:inline-flex;align-items:center;border-bottom:3px solid transparent}
.nav__login:hover{color:var(--azul-ink);border-color:var(--azul-ink)}
.red{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--navy);transition:background var(--dur-rapida),color var(--dur-rapida),transform var(--dur-rapida) var(--ease-back)}
.red svg{width:22px;height:22px}
.red:hover{background:var(--azul-pale);color:var(--azul-ink);transform:scale(1.06)}
.red--claro{color:var(--crema)}
.red--claro:hover{background:rgb(255 246 227 / .12);color:var(--amarillo)}
@media (max-width:899px){.nav__escritorio{display:none!important}}
.menu-item[aria-current=page]{color:var(--amarillo)}
.overlay__redes{display:flex;gap:.4rem;margin-top:1.2rem}
.overlay__dato{color:rgb(255 246 227 / .82);font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.55}
.overlay__dato a{color:var(--crema)}
.overlay__dato a:hover{color:var(--amarillo)}
/* Menú: 15 entradas (petición del cliente, 30-oct-2026). El panel hace scroll en cualquier pantalla y el tamaño
   de letra se ajusta también a la altura de la ventana, para que en portátiles quepa sin cortarse. */
.overlay__rejilla{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;padding-block:clamp(1.5rem,5vh,3rem);margin-block:auto}
.overlay__lista{list-style:none;display:flex;flex-direction:column;gap:.1rem}
.overlay .menu-item{font-size:clamp(1.05rem,min(2.6vw,4.2vh),2.1rem);line-height:1.12}
.overlay.open li:nth-child(14){transition-delay:.58s}.overlay.open li:nth-child(15){transition-delay:.62s}
.overlay__cerrar-arriba{display:none}
@media (max-width:767px){
  .overlay__rejilla{grid-template-columns:1fr;align-content:start;margin-block:0}
  .overlay .menu-item{font-size:clamp(1.2rem,5.6vw,1.7rem);display:inline-flex;align-items:center;min-height:44px}
  .overlay{flex-direction:column}
  .overlay__cerrar-arriba{display:inline-flex;position:sticky;top:.8rem;align-self:flex-start;margin:.8rem 1.25rem 0 auto;z-index:2;background:var(--navy)}
}

/* --- Cabecera de página interior --- */
.cabecera-pagina{padding-block:clamp(3rem,7vw,6.5rem) clamp(2.5rem,5vw,4.5rem)}
/* Portátiles de poca altura: menos aire arriba para que lo principal quepa en la primera pantalla (3-nov-2026). */
@media (min-width:900px) and (max-height:820px){.cabecera-pagina{padding-top:clamp(1.5rem,4vh,2.5rem)}}
.cabecera-pagina .lead{max-width:62ch;margin-top:clamp(1.2rem,2.5vw,2rem)}
.migas{font-family:var(--f-texto);font-size:.875rem;letter-spacing:.03em;color:var(--gris);margin-bottom:1rem}
.migas a{color:var(--gris);text-decoration:underline;text-underline-offset:.2em}
.migas a:hover{color:var(--azul-ink)}

/* --- Hero de inicio --- */
.hero-inicio{min-height:calc(100dvh - 88px);display:flex;flex-direction:column;justify-content:center;background:var(--crema);padding-block:clamp(2rem,5vw,4rem)}
.hero-inicio__h1{display:grid;grid-template-areas:"stack";place-items:center;position:relative;isolation:isolate}
.hero-inicio__h1>*{grid-area:stack}
.rotador{position:relative;min-height:3.2em;max-width:40ch;margin-inline:auto;text-align:center}
.rotador__frase{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(0.98rem,0.7rem + 1.12vw,1.68rem);line-height:1.05;color:var(--navy);position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.rotador__frase.activa{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rotador{min-height:0}
  .rotador__frase{position:static;opacity:1;transform:none;display:block;margin-bottom:.4em}
}

/* --- Stickers grandes (área de actuación) --- */
.stickers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1rem,4vw,3.5rem);padding-block:clamp(1rem,3vw,2rem)}
.stickers .sticker{--w:clamp(150px,22vw,250px);text-decoration:none}
.stickers .sticker__txt{font-size:clamp(1.05rem,.7rem + 1.3vw,1.9rem)}
.stickers .sticker:nth-child(1){--tilt:-9deg}.stickers .sticker:nth-child(2){--tilt:6deg;translate:0 -6%}.stickers .sticker:nth-child(3){--tilt:-4deg}
a.sticker:focus-visible{outline-offset:8px;border-radius:50%}

/* --- Abanico de tarjetas (zonas, iniciativas) --- */
.zona{display:block;width:clamp(240px,27vw,360px);aspect-ratio:460/259;border-radius:14px;overflow:hidden;border:6px solid var(--blanco);box-shadow:var(--sombra-card);background:var(--hueso)}
.zona:hover{box-shadow:var(--sombra-lift)}
.zona img{width:100%;height:100%;object-fit:cover}
@media (max-width:767px){
  .zona{width:100%}
}


/* --- Contadores --- */
.cifra__num{font-family:var(--f-alta);font-weight:900;font-size:clamp(1.92rem,4.2vw,3.3rem);line-height:1;color:var(--azul)}
.cifra__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(0.924rem,0.792rem + 0.352vw,1.144rem);color:var(--navy);margin:.25rem 0 .5rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,3vw,2.5rem)}
@media (max-width:1000px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid-4{grid-template-columns:1fr}}

/* --- Tres claims (Donde / Cuando / Como quieras) --- */
.claim{background:var(--crema);border-radius:18px;padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--sombra-card);position:relative}
.claim h3{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.4rem,2.52vw,2.1rem);line-height:1.02;color:var(--navy)}
.claim .chip{color:var(--azul-ink);margin:.4rem 0 .8rem;display:block}

/* --- Listas tipo capa (Realizamos / Mejoramos) --- */
.capas{display:flex;flex-direction:column;gap:.7rem;list-style:none}
.capas li{background:var(--hueso);border-radius:12px;padding:1rem 1.3rem}
.capas h4{font-family:var(--f-alta);font-weight:800;font-size:clamp(0.96rem,1.52vw,1.28rem);line-height:1.12;text-transform:uppercase;letter-spacing:.02em}
.precio{color:var(--azul-ink);white-space:nowrap}
.fondo-hueso .capas li{background:var(--crema)}

/* --- Acordeón de centros y clínicas --- */
.faq summary .h3{text-transform:uppercase;font-weight:400}
.faq .cuenta{font-family:var(--f-texto);font-size:.875rem;letter-spacing:.04em;color:var(--gris);margin-left:.6rem;text-transform:none;white-space:nowrap}
.lista-centros{list-style:none;columns:15rem auto;column-gap:2rem;padding-bottom:1.6rem}
.lista-centros li{break-inside:avoid;font-size:.9375rem;line-height:1.35;padding:.32rem 0 .32rem 1rem;position:relative;color:var(--navy)}
.lista-centros li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--azul)}

/* --- Logos de alianzas --- */
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:clamp(1rem,2.5vw,1.8rem);align-items:stretch;list-style:none}
.logos li{background:var(--blanco);border-radius:16px;box-shadow:var(--sombra-card);display:grid;place-items:center;padding:clamp(1rem,2.5vw,1.8rem);min-height:130px;transition:transform var(--dur-base) var(--ease-out)}
.logos li:nth-child(odd){transform:rotate(-1.5deg)}.logos li:nth-child(even){transform:rotate(1.5deg)}
.logos li:hover{transform:none}
.logos img{max-width:100%;max-height:90px;width:auto;height:auto}
/* Cada logo de Alianzas y Formación lleva a la subpágina de productos del proveedor. */
.logos img{transition:transform var(--dur-base) var(--ease-out)}
.logo-alianza{display:grid;place-items:center;width:100%;height:100%}
.logos a:hover img,.logos a:focus-visible img{transform:scale(1.05)}
/* Subpáginas de proveedor (/alianzas/<slug>/). */
.proveedor-cabecera{display:flex;gap:clamp(1rem,3vw,2.2rem);align-items:flex-start;flex-wrap:wrap}
.proveedor-cabecera__logo{flex:0 0 auto;width:clamp(120px,14vw,170px);min-height:110px;display:grid;place-items:center;padding:1rem;background:var(--blanco);border-radius:16px;box-shadow:var(--sombra-card)}
.proveedor-cabecera__logo img{max-width:100%;max-height:78px;width:auto;height:auto}
.proveedor-grupo+.proveedor-grupo{margin-top:clamp(2rem,4vw,3.2rem)}
.productos{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem;margin-top:1.2rem}
.producto{display:flex;flex-direction:column;gap:.6rem;border-radius:18px;padding:1rem;height:100%}
.producto__img{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--blanco);display:grid;place-items:center}
.producto__img img{width:100%;height:100%;object-fit:contain;padding:.7rem}
.producto__nombre{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:0.968rem;line-height:1.12;color:var(--navy)}
.producto__para{font-size:.9375rem;line-height:1.45;color:var(--navy)}
.producto__muestra{margin-top:auto;min-height:46px;padding:.65em 1.2em;font-size:1rem}
.producto__enlace{align-self:center;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:0.792rem;color:var(--azul-ink);text-decoration:underline;text-underline-offset:.25em}
/* Productos sin marca, en Alianzas: el hisopo bucal. */
.otro{display:flex;gap:clamp(1rem,3vw,2rem);align-items:flex-start;flex-wrap:wrap;border-radius:20px;padding:clamp(1rem,2.5vw,1.6rem);margin-top:clamp(1.5rem,3vw,2.4rem)}
.otro__img{flex:0 0 auto;width:clamp(150px,20vw,240px);aspect-ratio:1;display:grid;place-items:center;background:var(--blanco);border-radius:14px;overflow:hidden}
.otro__img img{width:100%;height:100%;object-fit:contain;padding:.8rem}
.otro__cuerpo{flex:1 1 320px;display:flex;flex-direction:column;gap:.6rem}
.otro__nombre{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:clamp(1.12rem,1.92vw,1.52rem);line-height:1.05;color:var(--navy)}
.otro__lista{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;font-size:.9375rem;line-height:1.5;color:var(--navy)}
/* Con una sola columna la foto cuadrada estira demasiado la tarjeta. */
@media (max-width:600px){.producto__img{aspect-ratio:16/10}.otro__img{width:100%;aspect-ratio:16/10}}

/* --- Tarjetas de innovación --- */
.tarjeta-icono{background:var(--crema);border-radius:18px;padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--sombra-card)}
.tarjeta-icono__emoji{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--amarillo);box-shadow:0 0 0 6px var(--blanco);font-size:2rem;line-height:1;margin-bottom:1.2rem;font-weight:400}
.tarjeta-icono__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.12rem,1.76vw,1.6rem);line-height:1.02;margin-bottom:.7rem}

/* --- Premios --- */
.premios{list-style:none;border-top:2px solid rgb(255 246 227 / .25)}
.premios li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:clamp(1rem,2.2vw,1.5rem) 0;border-bottom:2px solid rgb(255 246 227 / .25);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.04rem,2.08vw,1.76rem);line-height:1.05;color:var(--crema)}
.premios .sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.premios .anio{font-family:var(--f-gorda);font-weight:900;color:var(--amarillo);font-size:clamp(1.4rem,3.15vw,2.52rem);line-height:1.02;margin-left:auto}

/* --- Pasos (programa de afiliación) --- */
.pasos{list-style:none;display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem);border-left:6px solid var(--azul);padding-left:clamp(1.2rem,3vw,2.5rem)}
.paso__titulo{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.05rem,1.82vw,1.68rem);line-height:1.02;display:flex;align-items:baseline;gap:.5em;flex-wrap:wrap}
.paso__num{font-family:var(--f-alta);font-weight:900;font-size:clamp(2.04rem,4.8vw,3.72rem);line-height:1.02;color:transparent;-webkit-text-stroke:var(--stroke-md) var(--navy);paint-order:stroke fill}
.paso:last-child .paso__num{color:var(--azul);-webkit-text-stroke-color:var(--blanco)}

/* --- Carrusel --- */
.carrusel{position:relative}
.carrusel__pista{display:flex;gap:clamp(1rem,2vw,1.6rem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.5rem .2rem 1.2rem;scrollbar-width:none;list-style:none}
.carrusel__pista::-webkit-scrollbar{display:none}
.carrusel__pista>li{flex:0 0 min(86%,820px);scroll-snap-align:center;border-radius:18px;overflow:hidden;border:6px solid var(--blanco);box-shadow:var(--sombra-card);background:var(--hueso);aspect-ratio:16/9}
.carrusel__pista img{width:100%;height:100%;object-fit:cover}
.carrusel__controles{display:flex;gap:.7rem;justify-content:center;margin-top:1rem}
.carrusel__btn{width:52px;height:52px;border-radius:50%;border:3px solid var(--navy);background:linear-gradient(160deg,rgb(255 255 255 / .85),rgb(255 255 255 / .45));box-shadow:inset 0 1px 0 #fff,0 6px 16px rgb(0 32 96 / .1);color:var(--navy);font-family:var(--f-alta);font-weight:800;font-size:1.28rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background var(--dur-rapida),box-shadow var(--dur-rapida),transform var(--dur-rapida) var(--ease-back)}
.carrusel__btn:hover{background:var(--amarillo);box-shadow:inset 0 1px 0 rgb(255 255 255 / .7),var(--vidrio-halo);transform:scale(1.06)}
@media (prefers-reduced-motion:reduce){.carrusel__pista{scroll-behavior:auto}}

/* --- Bloques de datos de contacto --- */
.dato{margin-bottom:1.3rem}
.dato strong{display:block;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:1.012rem;color:var(--azul-ink)}
.lista-redes{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}
.lista-redes a{display:inline-flex;align-items:center;gap:.5em;min-height:44px}
.lista-redes svg{width:22px;height:22px}

/* --- Accesos (login) --- */
.acceso{border-radius:18px;padding:clamp(1.6rem,4vw,3rem);box-shadow:var(--sombra-card);display:flex;flex-direction:column;gap:1rem}
.acceso--navy{background:var(--navy);color:var(--crema)}
.acceso--azul{background:var(--azul);color:var(--navy)}
/* Login sin URL todavía (pendiente 3): un botón apagado en vez de una nota de trabajo a la vista (3-nov-2026). */
.acceso__pronto{opacity:.55;cursor:default;pointer-events:none}
.pendiente{border:2px dashed currentColor;border-radius:12px;padding:.9rem 1.1rem;font-family:var(--f-texto);font-size:.8125rem;line-height:1.45;opacity:.75}

/* --- Formularios --- */
.form{display:flex;flex-direction:column;gap:1.05rem;margin-top:1.8rem}
.form-fila{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
@media (max-width:640px){.form-fila{grid-template-columns:1fr}}
.campo{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.campo>label{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(0.792rem,0.704rem + 0.176vw,0.924rem);line-height:1.2;color:var(--navy)}
.campo .req{color:var(--azul-ink)}
.campo input,.campo select,.campo textarea{font-family:var(--f-texto);font-size:1rem;line-height:1.4;color:var(--navy);background:var(--blanco);border:2px solid rgb(0 32 96 / .22);border-radius:12px;padding:.75em 1em;min-height:52px;width:100%;transition:border-color var(--dur-rapida),box-shadow var(--dur-rapida)}
.campo textarea{min-height:112px;resize:vertical}
.campo select{appearance:none;-webkit-appearance:none;padding-right:2.6em;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--azul-ink) 50%),linear-gradient(135deg,var(--azul-ink) 50%,transparent 50%);
  background-position:calc(100% - 1.15em) 1.45em,calc(100% - .8em) 1.45em;background-size:7px 7px,7px 7px;background-repeat:no-repeat}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--azul-ink);box-shadow:0 0 0 4px rgb(0 114 204 / .16)}
.campo.mal input,.campo.mal select,.campo.mal textarea{border-color:var(--rojo)}
.campo.mal input:focus,.campo.mal select:focus,.campo.mal textarea:focus{box-shadow:0 0 0 4px rgb(176 42 30 / .16)}
.error-campo{font-family:var(--f-texto);font-size:.8125rem;line-height:1.35;color:var(--rojo);display:flex;gap:.35em}
.error-campo::before{content:"!";font-weight:700}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-pie{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:.3rem}
.form button[type=submit][disabled]{opacity:.6;cursor:progress;transform:none}
.form-aviso{font-family:var(--f-texto);font-size:.875rem;line-height:1.5;border-radius:12px;padding:.9em 1.1em;display:none}
.form-aviso.visible{display:block}
.form-aviso.error{background:rgb(176 42 30 / .08);border:2px solid var(--rojo);color:var(--rojo)}
.form-aviso.error a{color:var(--rojo);text-decoration:underline}
.form-ok{display:none;background:var(--azul-pale);border:3px solid var(--azul-ink);border-radius:18px;padding:clamp(1.4rem,3vw,2rem);margin-top:1.8rem}
.form-ok.visible{display:block}
.form-ok .tick{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--azul-ink);color:var(--blanco);font-size:1.6rem;line-height:1;margin-bottom:1rem}
.panel-form{background:var(--hueso);border-radius:18px;padding:clamp(1.4rem,3.5vw,2.6rem);box-shadow:var(--sombra-card)}

/* --- Diálogo (formularios emergentes) --- */
.dialogo{border:3px solid var(--navy);border-radius:22px;background:var(--vidrio-solido);color:var(--navy);padding:0;width:min(760px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);box-shadow:var(--vidrio-filo),var(--sombra-lift);margin:auto}
.dialogo::backdrop{background:rgb(0 32 96 / .3);-webkit-backdrop-filter:blur(6px) saturate(140%);backdrop-filter:blur(6px) saturate(140%)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .dialogo{background:rgb(255 250 240 / .9);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
}
.dialogo[open]{animation:dialogo-entra var(--dur-base) var(--ease-back)}
@keyframes dialogo-entra{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.dialogo__cuerpo{padding:clamp(1.4rem,4vw,2.6rem);overflow-y:auto;max-height:calc(100dvh - 2rem)}
.dialogo__cerrar{position:sticky;top:0;float:right;margin:-.4rem -.4rem 0 1rem;width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);color:var(--crema);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:2}
.dialogo__cerrar:hover{background:var(--azul-ink)}
@media (prefers-reduced-motion:reduce){.dialogo[open]{animation:none}}

/* --- Blog --- */
.filtros{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.filtros a{display:inline-flex;align-items:center;min-height:44px;padding:.35em 1em;border-radius:999px;border:2px solid rgb(0 32 96 / .2);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:0.88rem;color:var(--navy);transition:background var(--dur-rapida),border-color var(--dur-rapida)}
.filtros a:hover{background:var(--azul-pale);border-color:var(--azul-ink)}
.filtros a[aria-current=page]{background:var(--navy);border-color:var(--navy);color:var(--crema)}
.rejilla-blog{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.4rem);list-style:none}
@media (max-width:1000px){.rejilla-blog{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.rejilla-blog{grid-template-columns:1fr}}
.entrada{display:flex;flex-direction:column;background:var(--crema);border-radius:18px;overflow:hidden;box-shadow:var(--sombra-card);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);position:relative;height:100%}
.entrada:hover{transform:translateY(-4px);box-shadow:var(--sombra-lift)}
.fondo-crema .entrada{background:var(--hueso)}
.entrada__img{aspect-ratio:4/3;background:var(--azul-pale);overflow:hidden}
.entrada__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-lenta) var(--ease-out)}
.entrada:hover .entrada__img img{transform:scale(1.04)}
.entrada__sin-img{width:100%;height:100%;display:grid;place-items:center;background:var(--azul)}
.entrada__sin-img img{width:44%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgb(0 32 96 / .25))}
.entrada:hover .entrada__sin-img img{transform:none}
.entrada__cuerpo{padding:clamp(1.1rem,2.5vw,1.6rem);display:flex;flex-direction:column;gap:.6rem;flex:1}
.entrada__meta{font-family:var(--f-texto);font-size:.8125rem;letter-spacing:.04em;color:var(--gris)}
.entrada__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.04rem,0.92rem + 0.4vw,1.32rem);line-height:1.04}
.entrada__titulo a{color:var(--navy)}
.entrada__titulo a::after{content:"";position:absolute;inset:0;z-index:1}
.entrada__titulo a:hover{color:var(--azul-ink)}
.entrada__extracto{font-size:.9375rem;line-height:1.55;color:var(--gris)}
.entrada__mas{margin-top:auto;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--azul-ink)}
.paginacion{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:clamp(2.5rem,5vw,4rem);list-style:none}
.paginacion a,.paginacion span{display:inline-grid;place-items:center;min-width:48px;min-height:48px;padding:0 .9em;border-radius:999px;border:2px solid rgb(0 32 96 / .2);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:0.968rem;color:var(--navy)}
.paginacion a:hover{background:var(--azul-pale);border-color:var(--azul-ink)}
.paginacion [aria-current=page]{background:var(--navy);border-color:var(--navy);color:var(--crema)}

/* --- Artículo --- */
.articulo__titulo{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.38rem,3.3vw,3rem);line-height:1.02;letter-spacing:.005em;max-width:22ch;paint-order:stroke fill;-webkit-text-stroke:var(--stroke-sm) var(--blanco)}
.articulo__meta{font-family:var(--f-texto);font-size:.9375rem;color:var(--gris);margin-top:1.2rem}
.articulo__portada{position:relative;z-index:2;max-width:980px;margin:clamp(2rem,4vw,3rem) auto 0;border-radius:18px;overflow:hidden;border:8px solid var(--blanco);box-shadow:var(--sombra-lift);transform:rotate(-1.2deg);background:var(--hueso)}
.articulo__portada img{width:100%;height:auto}
.vecinos{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:2px solid rgb(0 32 96 / .14);padding-top:1.6rem;margin-top:clamp(2.5rem,5vw,4rem)}
.vecinos a{max-width:44ch;display:flex;flex-direction:column;gap:.2rem;color:var(--navy)}
.vecinos a:hover{color:var(--azul-ink)}
.vecinos .chip{color:var(--azul-ink)}
.vecinos__sig{margin-left:auto;text-align:right}

/* --- Prosa (artículos y textos legales) --- */
.prosa{max-width:70ch;margin-inline:auto}
.prosa>*+*{margin-top:1.05em}
.prosa h2,.prosa h3,.prosa h4,.prosa h5{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.05;color:var(--navy);margin-top:1.6em}
.prosa h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.prosa h3{font-size:clamp(1.45rem,2.4vw,2rem)}
.prosa h4,.prosa h5{font-size:clamp(1.25rem,2vw,1.6rem)}
.prosa h6{font-family:var(--f-texto);font-size:clamp(1.125rem,1rem + .6vw,1.45rem);line-height:1.45;font-weight:500;color:var(--navy);border-left:6px solid var(--amarillo);padding-left:1rem}
.prosa h6 b,.prosa h6 strong{font-weight:600}
.prosa strong,.prosa b{font-weight:600;color:var(--navy)}
.prosa p.destacado{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.04rem,1.6vw,1.32rem);line-height:1.1;color:var(--azul-ink);display:block;margin-top:.6em}
.prosa ul,.prosa ol{padding-left:1.3rem}
.prosa li+li{margin-top:.4em}
.prosa ul li::marker{color:var(--azul)}
.prosa a{color:var(--azul-ink);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.prosa a:hover{color:var(--navy)}
.prosa table{width:100%;border-collapse:collapse;font-size:.9rem;display:block;overflow-x:auto}
.prosa th,.prosa td{border:1px solid rgb(0 32 96 / .16);padding:.5em .7em;text-align:left;vertical-align:top}
.prosa del{opacity:.6}
.prosa--legal{font-size:.98em}

/* --- Cierre (CTA azul) --- */
.cierre{background:var(--azul);color:var(--navy)}
.cierre__fila{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem;position:relative}
.cierre .d-xl{max-width:18ch;text-transform:none}

/* --- Pie --- */
.pie{background:var(--navy);color:var(--crema);padding-top:clamp(3rem,7vw,6rem);box-shadow:inset 0 3px 0 rgb(255 246 227 / .14)}
.pie__fila{--titulo:calc(1.1rem * 1.3 + .8rem);display:grid;grid-template-columns:1.2fr 1fr 1fr 1.25fr auto;gap:2rem;align-items:start}
.pie__fila>ul:not(.pie__redes){padding-top:var(--titulo)}
.pie__grupo .eyebrow{color:var(--amarillo);margin-bottom:.8rem;font-size:1.1rem;line-height:1.3}
@media (max-width:1000px){.pie__fila{grid-template-columns:1fr 1fr}.pie__fila>div:first-child{grid-column:1 / -1}}
@media (max-width:520px){.pie__fila{grid-template-columns:1fr}.pie__fila>ul:not(.pie__redes){padding-top:0}}
.pie ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.pie ul a{color:var(--crema);font-size:.9375rem;display:inline-flex;min-height:32px;align-items:center}
.pie ul a:hover{color:var(--amarillo)}
.pie__redes{flex-direction:row!important;gap:.3rem!important}
.pie__base{display:flex;justify-content:space-between;align-items:center;gap:1.2rem 2rem;flex-wrap:wrap;margin-top:clamp(2.5rem,5vw,4rem);padding-block:1.3rem 1.6rem;border-top:1px solid rgb(255 246 227 / .16)}
.pie ul.pie__legales{flex-direction:row;flex-wrap:wrap;gap:.2rem 1.4rem}
.pie__legales a{font-size:.875rem!important;color:rgb(255 246 227 / .8)!important}
/* Logos de financiación europea: pequeños y dentro del pie azul, sobre su placa blanca (petición del cliente, 30-oct-2026). */
.pie__ue{display:flex;gap:clamp(.8rem,2vw,1.4rem);align-items:center;flex-wrap:wrap;background:var(--blanco);border-radius:12px;padding:.5rem .9rem}
.pie__ue img{height:clamp(28px,3vw,36px);width:auto}
@media (min-width:768px){.pie__base{padding-right:84px}}
/* En móvil, la barra inferior, la pestaña «Dime quién es» y la burbuja de WhatsApp tapaban los legales y los
   logos de la UE (su publicidad es obligatoria): el pie deja ese hueco libre al final (3-nov-2026). */
@media (max-width:767px){.pie__base{padding-bottom:calc(1.6rem + 150px)}}

/* --- Banner de cookies --- */
.cookies{position:fixed;left:clamp(.9rem,2vw,1.6rem);bottom:clamp(.9rem,2vw,1.6rem);z-index:95;width:min(440px,calc(100vw - 1.8rem));max-height:calc(100dvh - 1.8rem);overflow-y:auto;background:var(--vidrio-solido);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:3px solid var(--navy);border-radius:18px;box-shadow:var(--sombra-lift);padding:clamp(1.1rem,3vw,1.5rem);animation:wa-entra var(--dur-base) var(--ease-back)}
.cookies[hidden]{display:none}
.cookies__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:1.056rem;line-height:1.1}
.cookies__texto{font-size:.9375rem;line-height:1.5;margin-top:.5rem}
.cookies__botones{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.cookies__botones .btn{min-height:44px;padding:.55em 1.1em;font-size:1rem;border-width:2px}
.cookies__enlaces{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:.9rem;font-size:.8125rem}
.cookies__enlaces a{text-decoration:underline;text-underline-offset:.2em}
.cookies__prefs{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.cookies__prefs[hidden]{display:none}
.cookies__cat{background:var(--blanco);border:2px solid rgb(0 32 96 / .14);border-radius:12px;padding:.2rem .9rem}
.cookies__cat summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:44px;cursor:pointer;list-style:none;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:0.924rem}
.cookies__cat summary::-webkit-details-marker{display:none}
.cookies__cat p{font-size:.8125rem;line-height:1.5;color:var(--gris);padding-bottom:.7rem}
.cookies__cat input{width:20px;height:20px;accent-color:var(--azul-ink)}
.cookies__siempre{font-family:var(--f-texto);font-size:.75rem;text-transform:none;letter-spacing:.02em;color:var(--azul-ink)}
@keyframes wa-entra{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cookies{animation:none}}

/* --- WhatsApp (burbuja sola) --- */
.wa{position:fixed;right:clamp(.9rem,2vw,1.6rem);bottom:clamp(.9rem,2vw,1.6rem);z-index:80;transition:bottom var(--dur-base) var(--ease-out)}
.wa.subida{bottom:calc(clamp(.9rem,2vw,1.6rem) + 76px)}
@media (min-width:768px){.wa.subida{bottom:clamp(.9rem,2vw,1.6rem)}}
.wa__burbuja{width:60px;height:60px;border-radius:50%;background:#25D366;color:var(--blanco);border:3px solid var(--crema);box-shadow:inset 0 1px 0 rgb(255 255 255 / .35),var(--sombra-lift);display:grid;place-items:center;position:relative;cursor:pointer;padding:0;transition:transform var(--dur-rapida) var(--ease-back),background var(--dur-rapida),box-shadow var(--dur-rapida)}
/* Verde de WhatsApp, sólido (petición del cliente, 30-oct-2026). */
.wa__burbuja:hover,.wa__burbuja[aria-expanded=true]{transform:scale(1.07);background:#128C7E;color:var(--blanco);box-shadow:inset 0 1px 0 rgb(255 255 255 / .35),var(--vidrio-halo)}
.wa__burbuja svg{width:30px;height:30px}
.wa__punto{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--amarillo);border:3px solid var(--crema)}
@media (prefers-reduced-motion:reduce){.wa__burbuja:hover{transform:none}}

/* --- Utilidades --- */
.fondo-crema{background:var(--crema)}
.fondo-hueso{background:var(--hueso)}
.fondo-navy{background:var(--navy);color:var(--crema)}
.fondo-azul{background:var(--azul);color:var(--navy)}
.centro{text-align:center}
.mt-s{margin-top:1rem}.mt-m{margin-top:clamp(1.5rem,3vw,2.5rem)}.mt-l{margin-top:clamp(2.5rem,5vw,4rem)}
.titular{margin:.4em 0 clamp(1.6rem,4vw,3rem)}
.titular>*{margin:0}
/* Las tildes de las mayúsculas (CÓMO, ÁREA…) se salen de la línea con interlineado 1,02 y tocaban el antetítulo. */
.titular>.eyebrow+:is(h1,h2,h3){margin-top:.2em}
.overlay.open li:nth-child(9){transition-delay:.38s}.overlay.open li:nth-child(10){transition-delay:.42s}
.grid-contacto{grid-template-columns:1.25fr 1fr}
@media (max-width:900px){.grid-contacto{grid-template-columns:1fr}}
.dato a,.overlay__dato a{overflow-wrap:anywhere}

/* ==========================================================================
   Portales de residencias y de clínicas
   ========================================================================== */
:root{--oro:#D9A520;--oro-claro:#FFF0B3;--plata:#9AA6B6;--plata-claro:#EEF1F5;--bronce:#A8622E;--bronce-claro:#F4DCC8}
.filtros button{display:inline-flex;align-items:center;min-height:44px;padding:.35em 1em;border-radius:999px;border:2px solid rgb(0 32 96 / .2);background:transparent;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:0.88rem;color:var(--navy);cursor:pointer;transition:background var(--dur-rapida),border-color var(--dur-rapida)}
.filtros button:hover{background:var(--azul-pale);border-color:var(--azul-ink)}
.filtros button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--crema)}
.portal__leyenda{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;margin-bottom:1.6rem}
.leyenda{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(0.88rem,0.792rem + 0.264vw,1.056rem);color:var(--navy)}
.leyenda__moli{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--blanco);box-shadow:0 0 0 3px var(--azul-pale)}
.leyenda__moli img{width:34px;height:auto}
.leyenda__moli--dorada{background:var(--oro-claro);box-shadow:0 0 0 3px var(--oro)}
.leyenda__moli--plata{background:var(--plata-claro);box-shadow:0 0 0 3px var(--plata)}
.leyenda__moli--bronce{background:var(--bronce-claro);box-shadow:0 0 0 3px var(--bronce)}
.portal__controles{display:flex;flex-direction:column;gap:.9rem;margin-bottom:clamp(1.5rem,3vw,2.2rem)}
.portal__controles .filtros{margin-top:0}
.portal__buscar input{max-width:560px}
.portal__cuenta{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--gris);font-size:0.924rem}
.portal__cuenta strong{font-weight:400;color:var(--navy)}
.portal__grupo{margin-top:clamp(1.6rem,3vw,2.4rem);padding-block:0;overflow:visible}
.portal__grupo[hidden]{display:none}
.portal__ccaa{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.12rem,2.1vw,1.68rem);line-height:1;display:flex;align-items:baseline;gap:.7rem;border-bottom:2px solid rgb(0 32 96 / .14);padding-bottom:.55rem;margin-bottom:1rem}
.portal__n{font-family:var(--f-texto);font-size:.875rem;letter-spacing:.04em;color:var(--gris)}
.portal__lista{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}
.portal__lista>li[hidden]{display:none}
.portal__vacio{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:1.144rem;color:var(--gris);padding:2rem 0}
.entidad{position:relative;width:100%;height:100%;min-height:68px;text-align:left;background:var(--blanco);border:2px solid rgb(0 32 96 / .1);border-radius:14px;padding:.85rem 3.6rem .85rem 1rem;display:flex;flex-direction:column;justify-content:center;gap:.15rem;font:inherit;color:var(--navy);cursor:pointer;transition:transform var(--dur-rapida) var(--ease-out),box-shadow var(--dur-rapida),border-color var(--dur-rapida)}
.entidad:hover{transform:translateY(-2px);border-color:var(--azul-ink);box-shadow:var(--sombra-card)}
.entidad__nombre{font-family:var(--f-texto);font-weight:600;font-size:.9375rem;line-height:1.25;overflow-wrap:anywhere}
.entidad__lugar{font-size:.8125rem;line-height:1.3;color:var(--gris)}
.entidad__marca{position:absolute;right:.55rem;top:50%;translate:0 -50%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--crema);box-shadow:0 0 0 2px var(--azul-pale)}
.entidad__marca img{width:35px;height:auto}
.entidad--dorada{border-color:var(--oro)}
.entidad--dorada .entidad__marca{background:var(--oro-claro);box-shadow:0 0 0 2px var(--oro)}
.entidad--plata .entidad__marca{background:var(--plata-claro);box-shadow:0 0 0 2px var(--plata)}
.entidad--bronce{border-color:var(--bronce)}
.entidad--bronce .entidad__marca{background:var(--bronce-claro);box-shadow:0 0 0 2px var(--bronce)}
@media (prefers-reduced-motion:reduce){.entidad:hover{transform:none}}

/* --- Ficha (ventana de cada residencia o clínica) --- */
.ficha__marcas{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:.8rem}
.ficha__marca{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:0.924rem}
.ficha__marca[hidden]{display:none}
.ficha__nombre{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.4rem,3.5vw,2.24rem);line-height:1.02;margin:.15em 0 .9rem;overflow-wrap:anywhere}
.ficha__datos{display:grid;gap:.6rem;margin:0 0 1rem}
.ficha__datos>div{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.4rem 1rem;border-bottom:1px solid rgb(0 32 96 / .12);padding-bottom:.6rem}
.ficha__datos>div[hidden]{display:none}
.ficha__datos dt{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--azul-ink)}
@media (max-width:520px){.ficha__datos>div{grid-template-columns:1fr}}
.ficha__web,.ficha__afiliacion{margin-top:1.2rem;padding:clamp(1rem,3vw,1.4rem);border-radius:16px;background:var(--hueso)}
.ficha__web[hidden]{display:none}
.ficha__web .form{margin-top:1rem}
.ficha__texto{margin-top:.3rem}
.ficha__afiliacion{background:var(--azul-pale);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem}
.campo.consentimiento>label{font-family:var(--f-texto);text-transform:none;letter-spacing:.01em;font-size:.8125rem;line-height:1.5;color:var(--gris);display:flex;gap:.7rem;align-items:flex-start;cursor:pointer}
.campo.consentimiento input[type=checkbox]{width:22px;height:22px;min-height:0;flex:0 0 auto;margin-top:.15rem;padding:0;accent-color:var(--azul-ink);cursor:pointer}
.campo.consentimiento a{text-decoration:underline}

/* --- Promociones (debajo del listado de residencias) --- */
.promos{margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(2rem,4vw,3rem);border-top:3px dashed rgb(0 32 96 / .18)}
.promos .lead{margin-top:.6rem;max-width:52ch}
.promos__lista{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1rem,2.5vw,1.8rem);margin-top:clamp(1.5rem,3vw,2.2rem)}
.promo{position:relative;background:var(--amarillo);border-radius:20px;padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--sombra-card);overflow:hidden}
.promo::before{content:"";position:absolute;inset:10px;border:2px dashed rgb(0 48 96 / .25);border-radius:14px;pointer-events:none}
.promo:nth-child(odd){rotate:-1deg}.promo:nth-child(even){rotate:1deg}
.promo--dorada{background:linear-gradient(135deg,#FFE69A,#F3C64A)}
.promo__cifra{font-family:var(--f-alta);font-weight:900;font-size:clamp(2.4rem,5.4vw,3.9rem);line-height:1.02;letter-spacing:.01em;color:var(--navy);paint-order:stroke fill;-webkit-text-stroke:var(--stroke-md) var(--blanco)}
.promo__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.08rem,1.76vw,1.44rem);line-height:1.02;margin-top:.7rem;max-width:18ch}
.promo__texto{margin-top:.5rem;max-width:34ch}
.promo__moli{position:absolute;right:14px;top:14px;width:58px;height:auto;filter:drop-shadow(0 6px 10px rgb(0 32 96 / .2))}
.promos__pie{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center;margin-top:clamp(1.4rem,3vw,2rem)}
.promos__pie .micro{flex:1 1 100%}

/* ==========================================================================
   Portada: videollamada y demo del chatbot de WhatsApp
   ========================================================================== */
.hero-llamada{min-height:auto;padding-block:clamp(2rem,4vw,3.5rem) clamp(3rem,6vw,5rem)}
/* Portátiles bajos: menos aire arriba para que la silueta, ya más grande, quepa con sus mandos (3-nov-2026). */
@media (min-width:900px) and (max-height:820px){.hero-llamada{padding-top:clamp(.6rem,1.6vh,1.2rem)}}
.hero-llamada__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,4rem);align-items:center}
@media (max-width:960px){.hero-llamada__grid{grid-template-columns:1fr}.hero-llamada__texto{text-align:center}.hero-llamada__texto>div>div{justify-content:center}}
.rotador--izq{margin-inline:0;text-align:left;max-width:30ch}
.rotador--izq .rotador__frase{place-items:center start}
@media (max-width:960px){.rotador--izq{margin-inline:auto;text-align:center}.rotador--izq .rotador__frase{place-items:center}}

.llamada{position:relative;padding-bottom:clamp(1rem,3vw,2rem)}
@keyframes latido{to{box-shadow:0 0 0 10px rgb(255 90 95 / 0)}}

.rotador--izq{min-height:3.6em;max-width:34ch}
.rotador--izq .rotador__frase{font-size:clamp(1rem,.85rem + .5vw,1.3rem);line-height:1.2}
@media (max-width:899px){.nav__acciones{gap:.4rem}.nav__login{font-size:1.05rem;padding-inline:.4rem}}

/* --- «Nos acercamos» (aviso de captación en toda la web) --- */
.acercamos{position:fixed;left:clamp(.9rem,2vw,1.6rem);bottom:clamp(.9rem,2vw,1.6rem);z-index:94;width:min(430px,calc(100vw - 1.8rem));max-height:calc(100dvh - 1.8rem);overflow-y:auto;background:var(--vidrio-solido);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:3px solid var(--navy);border-radius:22px;box-shadow:var(--sombra-lift);padding:clamp(1.2rem,3vw,1.6rem);padding-top:clamp(1.6rem,4vw,2rem);animation:wa-entra var(--dur-base) var(--ease-back)}
.acercamos[hidden]{display:none}
/* Pegado arriba: si el formulario hace scroll dentro del panel, el botón de cerrar sigue a la vista (3-nov-2026). */
.acercamos__cerrar{position:sticky;top:0;z-index:2;margin:calc(-1 * clamp(1rem,2.8vw,1.4rem)) calc(-1 * clamp(.6rem,2.4vw,1rem)) -40px auto;width:40px;height:40px;border-radius:50%;border:0;background:var(--navy);color:var(--crema);font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.acercamos__cerrar:hover{background:var(--azul-ink)}
.acercamos__moli{float:right;width:84px;height:auto;margin:-.4rem 2.2rem .2rem .6rem;rotate:8deg;filter:drop-shadow(0 8px 14px rgb(0 32 96 / .2))}
.acercamos__intro{font-size:.95rem;line-height:1.45;color:var(--navy);max-width:30ch}
.acercamos__titulo{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.4rem,3.5vw,1.82rem);line-height:1.02;color:var(--azul);margin-top:.5rem;clear:both;paint-order:stroke fill;-webkit-text-stroke:var(--stroke-sm) var(--blanco)}
.acercamos__sub{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:clamp(1.04rem,2.4vw,1.28rem);line-height:1;color:var(--navy)}
.acercamos__form{margin-top:1rem;gap:.8rem}
.acercamos .campo input,.acercamos .campo select{min-height:46px;padding:.6em .9em}
.acercamos .campo.consentimiento input[type=checkbox]{min-height:0}
.acercamos .form-ok{margin-top:1rem}
.acercamos-tab{position:fixed;left:0;top:58%;z-index:79;writing-mode:vertical-rl;rotate:180deg;background:rgb(0 114 204 / .92);color:var(--blanco);border:1px solid rgb(255 255 255 / .35);border-left:0;border-radius:0 14px 14px 0;padding:1rem .55rem;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:0.88rem;cursor:pointer;box-shadow:inset 0 1px 0 rgb(255 255 255 / .3),var(--sombra-card);transition:background var(--dur-rapida),padding var(--dur-rapida),bottom var(--dur-base) var(--ease-out)}
.acercamos-tab:hover{background:var(--navy);padding-left:.8rem}
.acercamos-tab[hidden]{display:none}
/* Portátiles (768-1339 px): el margen lateral mide 20 px y la pestaña vertical (38 px) tapaba el borde del contenido
   («Contáctanos», «Volver a marcar»). Pasa a ser la píldora de abajo a la izquierda, como en el móvil (3-nov-2026). */
@media (min-width:768px) and (max-width:1339px){
  .acercamos-tab{writing-mode:horizontal-tb;rotate:0deg;top:auto;left:1rem;bottom:1rem;border:1px solid rgb(255 255 255 / .45);border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;min-height:44px;-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);background:rgb(0 114 204 / .86)}
  .acercamos-tab:hover{padding-left:1.1rem}
  .pie__base{padding-bottom:calc(1.6rem + 64px)}
}
@media (max-width:1339px){
  .acercamos-tab{transition:opacity var(--dur-base),visibility 0s linear var(--dur-base)}
  .acercamos-tab:not(.tras-portada){opacity:0;visibility:hidden}
  .acercamos-tab.tras-portada{transition:opacity var(--dur-base)}
}
@media (max-width:767px){
  /* Sube 76 px por la barra inferior: la altura máxima los descuenta para que no se salga por arriba (3-nov-2026). */
  .acercamos{left:.6rem;right:.6rem;width:auto;bottom:calc(.6rem + 76px);max-height:calc(100dvh - 1.2rem - 76px)}
  .acercamos__moli{width:64px}
  /* En móvil la pestaña vertical tapaba el principio de las líneas: pasa a ser una
     píldora de cristal pequeña abajo a la izquierda, que sube con la barra CTA como la burbuja. */
  .acercamos-tab{writing-mode:horizontal-tb;rotate:0deg;top:auto;left:.7rem;bottom:.9rem;border:1px solid rgb(255 255 255 / .45);border-radius:999px;padding:.55rem 1rem;font-size:.95rem;min-height:44px;-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);background:rgb(0 114 204 / .86)}
  .acercamos-tab:hover{padding-left:1rem}
  .acercamos-tab.subida{bottom:calc(.9rem + 76px)}
}
@media (prefers-reduced-motion:reduce){.acercamos{animation:none}}

/* --- Servicio Exclusive (urgencias de día y de noche, landing de domicilios) --- */
.exclusive{background:radial-gradient(120% 90% at 80% 0%,#0B3F78 0%,#002347 55%,#001A35 100%);color:var(--crema);position:relative}
.exclusive::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 30% at 15% 85%,rgb(242 201 106 / .18),transparent 70%),radial-gradient(30% 25% at 90% 20%,rgb(242 201 106 / .12),transparent 70%);pointer-events:none}
.exclusive .contenedor{position:relative}
.exclusive__eyebrow{color:#F2C96A;letter-spacing:.34em}
.exclusive__titulo{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.44rem,3.3vw,2.76rem);line-height:1.02;margin:.3em 0 1.2rem;color:var(--crema);max-width:16ch}
.exclusive__texto{color:rgb(255 246 227 / .86);max-width:52ch}
.exclusive__texto+.exclusive__texto{margin-top:1rem}
.exclusive__btn{background:linear-gradient(135deg,#F7DC8F,#D9A520);color:#1D1300;box-shadow:0 10px 30px rgb(217 165 32 / .3)}
.exclusive__btn:hover{color:#1D1300;transform:translateY(-2px)}
.exclusive__enlace{color:#F2C96A;border-color:#F2C96A}
.exclusive__enlace:hover{color:var(--crema);border-color:var(--crema)}
.exclusive__reloj{list-style:none;display:flex;flex-direction:column;gap:1rem;border-left:2px solid rgb(242 201 106 / .5);padding-left:clamp(1.2rem,3vw,2rem)}
.exclusive__reloj li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline;position:relative}
.exclusive__reloj li::before{content:"";position:absolute;left:calc(-1 * clamp(1.2rem,3vw,2rem) - 7px);top:.55em;width:12px;height:12px;border-radius:50%;background:#F2C96A;box-shadow:0 0 0 5px rgb(242 201 106 / .2)}
.exclusive__hora{font-family:var(--f-alta);font-weight:900;font-size:clamp(1.4rem,2.8vw,2.1rem);line-height:1;color:#F2C96A;letter-spacing:.02em}
.exclusive__reloj strong{display:block;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:1.012rem;color:var(--crema)}
.exclusive__reloj span:last-child{color:rgb(255 246 227 / .82);font-size:.95rem;line-height:1.5}
.exclusive__lema{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.2rem,2.4vw,1.84rem);line-height:1.05;color:#F2C96A;text-align:center;margin-top:clamp(2.5rem,5vw,4rem)}

/* --- Formación --- */
.overlay.open li:nth-child(11){transition-delay:.46s}
.modalidad{background:var(--hueso);border-radius:18px;padding:clamp(1.4rem,3vw,2rem);border-top:6px solid var(--azul)}
.modalidad:nth-child(2){border-top-color:var(--amarillo-d)}.modalidad:nth-child(3){border-top-color:var(--navy)}.modalidad:nth-child(4){border-top-color:var(--azul-ink)}
.modalidad__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:clamp(1.28rem,2.08vw,1.76rem);line-height:1;margin-bottom:.7rem}
.modalidad__ideal{margin-top:.9rem;font-weight:600;color:var(--azul-ink)}
.cursos{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:clamp(1rem,2.5vw,1.6rem)}
.curso{background:rgb(255 246 227 / .06);border:2px solid rgb(255 246 227 / .22);border-radius:18px;padding:clamp(1.2rem,3vw,1.6rem);display:flex;flex-direction:column;gap:.5rem}
.curso__horas{font-family:var(--f-alta);font-weight:900;font-size:clamp(1.54rem,2.8vw,2.1rem);line-height:1;color:var(--amarillo)}
.curso__nombre{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:clamp(1.04rem,1.6vw,1.28rem);line-height:1.05;color:var(--crema)}
.curso__publico{font-size:.875rem;color:rgb(255 246 227 / .75)}
.curso__acciones{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.8rem}
.curso__btn{width:100%;min-height:46px;padding:.6em 1em;font-size:1rem}
.curso__btn--empresas{background:var(--amarillo);color:var(--navy)}
.curso__btn--empresas:hover{color:var(--navy);transform:translateY(-2px);box-shadow:var(--sombra-lift)}

/* --- Pure Estetic (blanqueamientos domiciliarios) --- */
.overlay.open li:nth-child(12){transition-delay:.5s}
.pure{background:radial-gradient(90% 120% at 85% 10%,#FFFFFF 0%,#F4F8FC 45%,#FFF6E3 100%)}
.pure__eyebrow{color:var(--azul-ink)}
.pure__marca{font-family:var(--f-gorda);font-weight:900;font-size:clamp(2.16rem,6vw,5.1rem);line-height:1.02;color:var(--navy);letter-spacing:.01em;margin:.15em 0 .3em;paint-order:stroke fill;-webkit-text-stroke:var(--stroke-lg) var(--blanco);text-shadow:0 18px 40px rgb(0 114 204 / .18)}
.resultados{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.resultados li{display:grid;grid-template-columns:4.2rem 1fr;gap:1rem;align-items:center;background:var(--blanco);border-radius:14px;padding:.8rem 1rem;box-shadow:var(--sombra-card)}
.resultados__cifra{font-family:var(--f-alta);font-weight:900;font-size:1.82rem;line-height:1;color:var(--azul);text-align:center}
.boda{display:flex;flex-direction:column;gap:.7rem}
.boda__img{aspect-ratio:4/3;border-radius:16px;overflow:hidden;border:6px solid var(--blanco);box-shadow:var(--sombra-card)}
.boda__img img{width:100%;height:100%;object-fit:cover}
.boda:nth-child(odd) .boda__img{rotate:-1.5deg}.boda:nth-child(even) .boda__img{rotate:1.5deg}
.boda__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:clamp(1.04rem,1.6vw,1.32rem);line-height:1.05;margin-top:.4rem}
.overlay.open li:nth-child(13){transition-delay:.54s}
/* --- Trabaja con nosotros --- */
.empleo__botones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.empleo__areas{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.vacantes{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.vacante{background:var(--blanco);border-radius:16px;padding:1.3rem;box-shadow:var(--sombra-card);display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.vacante__puesto{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:1.28rem;line-height:1.05}
.vacante__datos{color:var(--gris);font-size:.9375rem}
@media (max-width:767px){.menu-item{font-size:clamp(1.5rem,7.5vw,2.2rem)}}
/* --- Login: accesos por perfil --- */
.accesos{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(1rem,2.5vw,1.6rem);margin-top:clamp(1.5rem,3vw,2.5rem)}
.accesos .acceso{padding:0;overflow:hidden;gap:0}
.accesos .acceso:nth-child(odd){rotate:-1deg}.accesos .acceso:nth-child(even){rotate:1deg}
.acceso__img{aspect-ratio:4/3;overflow:hidden;background:var(--hueso)}
.acceso__img img{width:100%;height:100%;object-fit:cover}
.acceso__cuerpo{padding:clamp(1.2rem,3vw,1.6rem);display:flex;flex-direction:column;gap:.8rem;flex:1}
.acceso__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:clamp(1.2rem,1.92vw,1.6rem);line-height:1}
.acceso--amarillo{background:var(--amarillo);color:var(--navy)}
.acceso--crema{background:var(--blanco);color:var(--navy)}
.acceso--navy .acceso__titulo{color:var(--amarillo)}
/* --- Redes sociales (portada) --- */
.carrusel__pista--redes>li{flex-basis:min(68%,300px);aspect-ratio:4/5;scroll-snap-align:start}
.post__enlace{position:relative;display:block;width:100%;height:100%}
.post__enlace img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-lenta) var(--ease-out)}
.post__enlace:hover img,.post__enlace:focus-visible img{transform:scale(1.04)}
.post__tipo{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--blanco);background:var(--vidrio-oscuro);border:1px solid var(--vidrio-oscuro-borde);box-shadow:inset 0 1px 0 rgb(255 255 255 / .3)}
.post__tipo svg{width:18px;height:18px}
.post__enlace:focus-visible{outline-offset:-6px}
.redes__botones{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.4rem}
/* --- Patrocinios (Cuidar sin barreras) --- */
.patrocinios{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;margin-top:clamp(2rem,4vw,3rem)}
.patrocinio{display:flex;flex-direction:column;gap:.5rem;background:rgb(255 246 227 / .06);border:2px solid rgb(255 246 227 / .22);border-radius:18px;padding:1rem;color:var(--crema);height:100%;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base)}
.patrocinio:hover{transform:translateY(-3px);border-color:var(--amarillo);color:var(--crema)}
.patrocinio__img{aspect-ratio:16/10;border-radius:12px;overflow:hidden}
.patrocinio__img img{width:100%;height:100%;object-fit:cover}
.patrocinio__nombre{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:1.2rem;line-height:1.05;color:var(--amarillo)}
.patrocinio__resumen{font-size:.9375rem;color:rgb(255 246 227 / .85)}
.patrocinio__mas{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:auto}
.prensa{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:.6rem}
.premio-dialogo{width:min(560px,calc(100vw - 2rem))}
.premio-dialogo__logo{max-height:80px;max-width:220px;width:auto;margin-bottom:1rem}
.premio-dialogo__titulo{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.26rem,2.8vw,1.68rem);line-height:1;margin:.2rem 0 .8rem}
.premio-dialogo__resultado{font-weight:600;color:var(--azul-ink);margin-bottom:.8rem}
/* --- Tecnología y metodología (Compañía) --- */
.tecnologia{background:var(--azul);color:var(--navy)}
.tecnologia__eyebrow{color:var(--navy)}
.tecnologia__sigo{max-width:none;color:var(--navy)}
.tecnologia__piezas{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:clamp(2rem,4vw,3rem)}
.pieza{display:flex;flex-direction:column;gap:.6rem;height:100%;background:rgb(255 255 255 / .9);border-radius:16px;padding:1.2rem;color:var(--navy);box-shadow:var(--sombra-card);transition:transform var(--dur-rapida) var(--ease-out),box-shadow var(--dur-rapida)}
.pieza:hover{transform:translateY(-3px);box-shadow:var(--sombra-lift);color:var(--navy)}
.pieza__titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:1.188rem;line-height:1.05}
.pieza__texto{font-size:.9375rem;line-height:1.5}
.pieza__mas{margin-top:auto;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--azul-ink)}
/* --- Nuestra historia (Cuidar sin barreras) --- */
.historia{list-style:none;display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,4rem)}
.capitulo{display:grid;grid-template-columns:clamp(4rem,9vw,8rem) 1fr;gap:clamp(1rem,3vw,2.5rem);align-items:start}
.capitulo__num{font-family:var(--f-gorda);font-weight:900;font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.02;color:transparent;-webkit-text-stroke:var(--stroke-md) var(--navy);paint-order:stroke fill;text-align:center}
.capitulo:nth-child(even) .capitulo__num{color:var(--azul);-webkit-text-stroke-color:var(--blanco)}
.capitulo__cuerpo{max-width:68ch}
.capitulo__cuerpo>p+p{margin-top:.9rem}
.capitulo__titulo{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;font-size:clamp(1.4rem,2.8vw,2.24rem);line-height:1.02;margin-bottom:.8rem}
.capitulo__cita{margin-top:1.4rem;border-left:6px solid var(--amarillo);padding-left:1.2rem}
.capitulo__cita p{font-size:clamp(1.1rem,1rem + .4vw,1.35rem);font-weight:500;line-height:1.45}
.capitulo__cita footer{margin-top:.5rem;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--azul-ink)}
.hitos{list-style:none;border-left:4px solid var(--azul);padding-left:1.4rem;display:flex;flex-direction:column;gap:1rem}
.hitos li{display:grid;grid-template-columns:4.5rem 1fr;gap:1rem;align-items:baseline;position:relative}
.hitos li::before{content:"";position:absolute;left:calc(-1.4rem - 9px);top:.6em;width:14px;height:14px;border-radius:50%;background:var(--amarillo);border:3px solid var(--navy)}
.hitos__anio{font-family:var(--f-alta);font-weight:800;font-size:clamp(1.28rem,2.4vw,1.76rem);line-height:1;color:var(--azul)}
@media (max-width:600px){.capitulo{grid-template-columns:1fr}.capitulo__num{text-align:left}.hitos li{grid-template-columns:1fr;gap:.2rem}}

/* ==========================================================================
   Cristal (23-oct-2026)
   Esmerilado cálido sobre las manchas de color de fondo. Reglas de la casa:
   - backdrop-filter solo en piezas fijas de primer nivel (cabecera, barra CTA,
     WhatsApp, diálogos, avisos); nunca en body, main, section ni .pie;
   - tarjetas y botones: aspecto de cristal sin blur (.vidrio-tarjeta);
   - texto navy sobre fondos de alfa alta; halo amarillo en lo activo.
   ========================================================================== */
.vidrio{background:var(--vidrio-solido);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--vidrio-sombra)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .vidrio{background:var(--vidrio-fondo);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%)}
}
.vidrio--oscuro{background:var(--vidrio-oscuro);border-color:var(--vidrio-oscuro-borde);color:var(--crema);box-shadow:inset 0 1px 0 rgb(255 255 255 / .22),var(--vidrio-sombra)}
.vidrio-tarjeta{background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--sombra-card)}
/* Chip de cristal (fichas del mapa y similares). .chip es solo un estilo de letra. */
.chip-vidrio{display:inline-flex;align-items:center;gap:.5em;min-height:48px;padding:.45em 1.15em;border-radius:999px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),0 6px 16px rgb(0 32 96 / .1);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(0.924rem,0.836rem + 0.308vw,1.188rem);color:var(--navy);cursor:pointer;transition:transform var(--dur-rapida) var(--ease-out),box-shadow var(--dur-rapida),background var(--dur-rapida)}
.chip-vidrio:hover,.chip-vidrio[aria-expanded=true],.chip-vidrio[aria-pressed=true]{background:var(--amarillo);box-shadow:inset 0 1px 0 rgb(255 255 255 / .7),var(--vidrio-halo);transform:translateY(-2px)}

/* Tarjetas existentes con aspecto de cristal (sin blur, por rendimiento). */
.entrada,.logos li,.tarjeta-icono,.capas li,.fondo-hueso .capas li,.claim,.pieza,.vacante,.panel-form,.resultados li{background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--sombra-card)}
.fondo-crema .entrada{background:var(--vidrio-tarjeta)}
.entrada:hover,.pieza:hover,.logos li:hover{box-shadow:var(--vidrio-filo),var(--vidrio-halo)}
.pieza{background:radial-gradient(130% 70% at 12% 0%,rgb(255 255 255 / .85),rgb(255 255 255 / 0) 55%),linear-gradient(160deg,rgb(255 255 255 / .94),rgb(255 255 255 / .78))}
.form-ok{background:linear-gradient(160deg,rgb(255 255 255 / .9),rgb(230 243 254 / .85));box-shadow:var(--vidrio-filo)}
/* Cristal oscuro en las secciones navy */
.curso,.patrocinio{background:linear-gradient(160deg,rgb(255 255 255 / .1),rgb(255 255 255 / .04));border-color:rgb(255 246 227 / .24);box-shadow:inset 0 1px 0 rgb(255 255 255 / .16)}
.patrocinio:hover{box-shadow:inset 0 1px 0 rgb(255 255 255 / .16),0 0 0 3px rgb(253 227 101 / .35)}

/* Manchas de color detrás de las secciones claras: sin ellas el cristal no se nota. */
.fondo-crema{background:radial-gradient(42% 38% at 6% 10%,rgb(0 144 250 / .07),transparent 70%),radial-gradient(38% 42% at 96% 88%,rgb(253 227 101 / .2),transparent 70%),var(--crema)}
.fondo-hueso{background:radial-gradient(40% 40% at 94% 8%,rgb(253 227 101 / .16),transparent 70%),radial-gradient(44% 40% at 4% 92%,rgb(0 144 250 / .08),transparent 70%),var(--hueso)}
.hero-inicio{background:radial-gradient(38% 46% at 82% 30%,rgb(0 144 250 / .1),transparent 70%),radial-gradient(30% 36% at 10% 90%,rgb(253 227 101 / .22),transparent 70%),var(--crema)}

/* Quien pide menos transparencia o más contraste ve fondos sólidos. */
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){
  .vidrio,.nav.condensada .nav__fila,.cta-movil,.dialogo,.cookies,.acercamos,.wa__burbuja,.acercamos-tab{-webkit-backdrop-filter:none;backdrop-filter:none}
  .vidrio,.nav.condensada .nav__fila,.cta-movil,.dialogo,.cookies,.acercamos{background:var(--crema)}
  .wa__burbuja{background:#128C7E}
  .acercamos-tab{background:var(--azul-ink)}
}
@media (forced-colors:active){
  .vidrio,.vidrio-tarjeta,.chip-vidrio{border:2px solid CanvasText}
}
/* ==========================================================================
   Portada: el teléfono que se marca antes de la videoconsulta
   Capa encima de .llamada; solo existe con html[data-intro]. El póster del vídeo
   queda debajo, pintado desde el principio. Si el JS fallara, se oculta a los 12 s.
   ========================================================================== */
.marcador{display:none}
html[data-intro] .marcador{display:flex;position:absolute;inset:-1.2rem -.6rem;z-index:8;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;transition:opacity .38s var(--ease-out),transform .38s var(--ease-out)}
/* Mientras se marca, el carrusel de siluetas no asoma por detrás del teléfono (3-nov-2026); al acabar, aparece. */
html[data-intro] .siluetas{visibility:hidden;opacity:0}
.siluetas{transition:opacity .5s var(--ease-out)}
html[data-intro] .marcador::before{content:"";position:absolute;inset:0;border-radius:32px;background:radial-gradient(60% 60% at 50% 45%,rgb(255 246 227 / .55),rgb(255 246 227 / .15));pointer-events:none}
/* Si web.js no llega a cargar, el teléfono se retira solo a los 12 s. */
html[data-intro]:not(.js-listo) .marcador{animation:marcador-seguro 0s linear 12s forwards}
@keyframes marcador-seguro{to{visibility:hidden;opacity:0;pointer-events:none}}
.marcador.sale{opacity:0;transform:scale(.96)}
.marcador__telefono{position:relative;width:min(100%,300px);border-radius:36px;padding:.9rem .9rem 1rem;border:6px solid var(--navy);background:var(--vidrio-solido);box-shadow:var(--vidrio-filo),var(--sombra-lift);text-align:center}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .marcador__telefono{background:rgb(255 250 240 / .8);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
}
.marcador__quien{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:0.836rem;color:var(--gris);line-height:1}
.marcador__pantalla{font-family:var(--f-alta);font-weight:900;font-size:clamp(1.47rem,2.1vw,1.82rem);letter-spacing:.06em;line-height:1.1;min-height:1.15em;color:var(--navy);margin-top:.15rem}
.marcador__etiqueta{min-height:2.3em;display:grid;place-items:center;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(0.924rem,1.232vw,1.1rem);line-height:1.02;color:var(--azul-ink);padding-inline:.3rem}
.marcador__teclado{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.25rem}
.tecla{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;min-height:54px;padding:.25rem .15rem;border-radius:16px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),0 3px 8px rgb(0 32 96 / .08);transition:transform .12s ease-out,background .12s,box-shadow .12s}
.tecla__num{font-family:var(--f-gorda);font-weight:900;font-size:1.276rem;line-height:1.08;color:var(--navy)}
.tecla__txt{font-size:.56rem;line-height:1.08;color:var(--gris);overflow-wrap:anywhere}
.tecla.pulsada{background:var(--amarillo);transform:scale(.92);box-shadow:inset 0 1px 0 rgb(255 255 255 / .7),var(--vidrio-halo)}
.tecla.pulsada .tecla__txt{color:var(--navy)}
.marcador__verde{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;margin:.65rem auto 0;background:#22A05B;color:#fff;box-shadow:0 6px 16px rgb(34 160 91 / .35)}
.marcador__verde svg{width:24px;height:24px}
.marcador.llamando .marcador__verde{animation:timbre .22s ease-in-out infinite alternate}
.marcador.llamando .marcador__etiqueta{color:#1C8A4E}
@keyframes timbre{from{transform:rotate(-12deg)}to{transform:rotate(12deg) scale(1.06)}}
.marcador__acciones{position:relative;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.marcador__llamar,.marcador__saltar{display:inline-flex;align-items:center;gap:.45em;min-height:44px;padding:.4em 1.1em;border-radius:999px;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:0.924rem;cursor:pointer}
.marcador__llamar{background:var(--navy);color:var(--crema);border:2px solid var(--navy)}
.marcador__llamar:hover{color:var(--crema);background:var(--azul-ink);border-color:var(--azul-ink)}
.marcador__llamar svg{width:18px;height:18px}
.marcador__saltar{background:linear-gradient(160deg,rgb(255 255 255 / .9),rgb(255 255 255 / .6));color:var(--navy);border:2px solid var(--navy);box-shadow:inset 0 1px 0 #fff}
.marcador__saltar:hover{background:var(--amarillo)}
.marcador-otra{display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:.3em .2em;background:none;border:0;border-bottom:3px dotted rgb(0 114 204 / .5);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(0.88rem,1.056vw,1.056rem);color:var(--azul-ink);cursor:pointer}
.marcador-otra::before{content:"☎";font-family:var(--f-texto)}
.marcador-otra:hover{color:var(--navy);border-color:var(--navy)}
/* Va en su propia línea, debajo de los botones: en la misma fila no cabía y caía sola a la siguiente (3-nov-2026).
   El subrayado punteado pasa al texto para que no ocupe todo el ancho. */
.marcador-otra{flex:0 0 100%;justify-content:flex-start;margin-top:-.4rem;border-bottom:0;text-decoration:underline dotted rgb(0 114 204 / .5);text-decoration-thickness:3px;text-underline-offset:.4em}
.marcador-otra:hover{text-decoration-color:var(--navy)}
@media (max-width:767px){.marcador-otra{justify-content:center}}
@media (max-width:960px){html[data-intro] .marcador{inset:-.6rem 0;justify-content:flex-start;padding-top:.5rem}}
@media (prefers-reduced-motion:reduce){.marcador{display:none!important}}
/* «Siempre disponibles»: sticker sobre la videollamada y aviso de sistema en el chat. */

/* ==========================================================================
   Servicios y especialidades (portada y Compañía)
   ========================================================================== */
.seccion-servicios{background:radial-gradient(50% 60% at 90% 10%,rgb(255 255 255 / .22),transparent 70%),radial-gradient(45% 55% at 5% 95%,rgb(253 227 101 / .3),transparent 70%),var(--azul)}
.seccion-servicios .servicios__eyebrow{color:var(--navy)}
.servicios{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.6rem,4vw,3.5rem);align-items:start}
@media (max-width:900px){.servicios{grid-template-columns:1fr}}
.servicios__titulo{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.12rem,1.96vw,1.68rem);line-height:1;color:var(--blanco);paint-order:stroke fill;-webkit-text-stroke:var(--stroke-sm) var(--navy);margin-bottom:1rem}
.servicios__lista{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.servicio{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;border-radius:18px;padding:1rem 1.2rem;color:var(--navy);transition:transform var(--dur-rapida) var(--ease-out),box-shadow var(--dur-rapida)}
.servicio:hover{transform:translateY(-2px);box-shadow:var(--vidrio-filo),var(--vidrio-halo)}
.servicio__num{font-family:var(--f-gorda);font-weight:900;font-size:clamp(1.4rem,2.1vw,1.82rem);line-height:1.02;color:var(--azul);-webkit-text-stroke:2px var(--navy);paint-order:stroke fill;min-width:2.2ch;text-align:center}
.servicio__nombre{display:block;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1rem,0.88rem + 0.4vw,1.28rem);line-height:1.05}
.servicio__detalle{display:block;font-size:.95rem;line-height:1.45;color:var(--navy);margin-top:.25rem;opacity:.85}
.servicio--integral{display:block;padding:1.3rem 1.4rem}
.servicios__pildoras{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:1rem}
.servicios__resto{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(0.88rem,0.792rem + 0.264vw,1.056rem);color:var(--navy);padding:.4em .2em}
/* --- Sedes (pie) --- */
.pie__sedes{margin-top:clamp(2.2rem,4vw,3.2rem);padding-top:clamp(1.4rem,3vw,2rem);border-top:1px solid rgb(255 246 227 / .16)}
.pie__sedes .eyebrow{color:var(--amarillo);margin-bottom:.9rem;font-size:1.1rem}
.pie__sedes-lista{list-style:none;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem!important}
.pie__sedes-lista>li>a,.pie__sedes-lista>li>span{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:.25rem;height:100%;padding:.85rem 1rem;border-radius:14px;background:linear-gradient(160deg,rgb(255 255 255 / .09),rgb(255 255 255 / .03));border:1px solid rgb(255 246 227 / .18);box-shadow:inset 0 1px 0 rgb(255 255 255 / .12);color:var(--crema)}
.pie__sedes-lista>li>a:hover{border-color:var(--amarillo);color:var(--crema)}
.pie__sede-tipo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:0.924rem;line-height:1.1;color:var(--amarillo)}
.pie__sede-dir{font-size:.875rem;line-height:1.45;color:rgb(255 246 227 / .85)}
/* --- Cifras de Domicilios y Residencias (dato de Daniel, 23-oct-2026) --- */
.cifra-dato{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.1rem;padding:.55rem 1.1rem .55rem .7rem;border-radius:999px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--sombra-card);font-weight:600;color:var(--navy)}
.cifra-dato::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--amarillo);box-shadow:0 0 0 3px var(--navy)}
.cifra-sticker{--w:clamp(110px,12vw,160px);position:absolute;z-index:6;top:-1.4rem;right:4%}
.cifra-sticker .sticker__txt{font-size:clamp(.8rem,.55rem + .8vw,1.2rem)}
.cifra-cabecera{display:flex;align-items:center;gap:clamp(1rem,3vw,2.2rem);margin-bottom:clamp(2rem,4vw,3rem);padding:clamp(1.2rem,3vw,1.8rem);border-radius:22px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--sombra-card)}
.cifra-cabecera .cifra-sticker{position:relative;top:auto;right:auto;flex:0 0 auto}
.cifra-cabecera__txt{font-family:var(--f-alta);font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.12rem,2.24vw,1.96rem);line-height:1;color:var(--navy);margin-top:.3rem}
@media (max-width:600px){.cifra-cabecera{flex-direction:column;align-items:flex-start}}
.sticker__dato{position:absolute;left:50%;top:calc(100% + .7rem);translate:-50% 0;rotate:calc(-1 * var(--tilt));white-space:nowrap;padding:.3em .9em;border-radius:999px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),0 6px 14px rgb(0 32 96 / .1);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(0.748rem,0.66rem + 0.264vw,0.924rem);color:var(--navy);z-index:3}
.stickers{padding-bottom:clamp(2.5rem,5vw,3.5rem)}
/* --- Reconocimientos (Innovación y compromiso): cada fila abre su ventana --- */
.premios .premio-fila{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.2rem);width:100%;padding:0;background:none;border:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:14px;transition:background var(--dur-rapida)}
.premios .premio-fila:hover{background:rgb(255 255 255 / .05)}
.premios .premio-fila:focus-visible{outline:3px solid var(--amarillo);outline-offset:4px}
.premio-fila__logo{flex:0 0 auto;display:grid;place-items:center;width:clamp(64px,8vw,92px);height:clamp(44px,5.4vw,60px);padding:.35rem .5rem;border-radius:12px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo)}
.premio-fila__logo img{max-width:100%;max-height:100%;width:auto;height:auto}
.premio-fila__nombre{flex:1 1 auto}
.premio-fila__mas{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:2px solid rgb(255 246 227 / .45);font-family:var(--f-texto);font-size:1.3rem;line-height:1;color:var(--amarillo);transition:background var(--dur-rapida),color var(--dur-rapida)}
.premios .premio-fila:hover .premio-fila__mas{background:var(--amarillo);color:var(--navy);border-color:var(--amarillo)}
.premios .anio{margin-left:auto}
/* --- People & Culture --- */
.people{margin-top:clamp(2.5rem,5vw,4rem)}
.people__lista{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}
.people__comentario{border-radius:18px;padding:1.2rem 1.3rem}
.people__comentario blockquote p{font-size:1.05rem;line-height:1.5;font-weight:500}
/* --- Panel de WhatsApp (cristal; el blur va en el panel y en la burbuja, nunca en .wa) --- */
.wa{display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}
.wa__panel{width:min(330px,calc(100vw - 1.8rem));max-height:calc(100dvh - 7rem);overflow-y:auto;border:3px solid var(--navy);border-radius:20px;background:var(--vidrio-solido);box-shadow:var(--vidrio-filo),var(--sombra-lift);transform-origin:bottom right;animation:wa-entra var(--dur-base) var(--ease-back)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .wa__panel{background:rgb(255 250 240 / .9);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
}
.wa__panel[hidden]{display:none}
.wa__cabecera{display:flex;align-items:center;gap:.7rem;padding:.75rem .8rem .75rem 1rem;background:#075E54;color:#fff}
.wa__avatar{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--crema);display:grid;place-items:center}
.wa__avatar img{width:30px;height:auto}
.wa__marca{font-weight:600;font-size:1rem;line-height:1.15}
.wa__sub{font-size:.78rem;line-height:1.2;opacity:.9}
.wa__cabecera>div{flex:1}
.wa__cerrar{width:40px;height:40px;border-radius:50%;border:0;background:rgb(255 255 255 / .16);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
.wa__cerrar:hover{background:rgb(255 255 255 / .3)}
.wa__cuerpo{padding:1rem;display:flex;flex-direction:column;gap:.8rem}
.wa__aviso{align-self:center;background:#FFF3C4;color:#54471B;border-radius:8px;padding:.35rem .7rem;font-size:.78rem;line-height:1.3;text-align:center}
.wa__op{display:flex;align-items:center;gap:.6rem;width:100%;min-height:48px;padding:.65em .95em;border-radius:14px;background:var(--vidrio-tarjeta);border:1px solid rgb(0 32 96 / .14);box-shadow:var(--vidrio-filo);color:var(--navy);font-weight:600;font-size:.95rem;line-height:1.3;transition:transform var(--dur-rapida),box-shadow var(--dur-rapida),background var(--dur-rapida)}
.wa__op:hover{color:var(--navy);transform:translateX(3px);box-shadow:var(--vidrio-filo),var(--vidrio-halo)}
.wa__op svg{width:22px;height:22px;flex:0 0 auto}
.wa__op--principal{background:#25D366;border-color:#1DA851;color:#06331C}
.wa__op--principal:hover{color:#06331C;background:#2EE071}
.wa__agenda{border-top:1px dashed rgb(0 32 96 / .2);padding-top:.8rem;display:flex;flex-direction:column;gap:.5rem}
.wa__agenda-titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;line-height:1.05;color:var(--navy)}
.wa__agenda-txt{font-size:.85rem;line-height:1.45;color:var(--navy)}
.wa__pasos{list-style:none;display:flex;flex-direction:column;gap:.45rem;counter-reset:paso}
.wa__pasos li{counter-increment:paso}
.wa__pasos .wa__op::before{content:counter(paso);display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--amarillo);color:var(--navy);font-family:var(--f-gorda);font-weight:900;font-size:0.88rem;line-height:1;box-shadow:0 0 0 2px var(--navy)}
.wa--guardado [data-wa-avisa]{background:var(--amarillo);box-shadow:var(--vidrio-filo),var(--vidrio-halo)}
.wa__nota{font-size:.75rem;line-height:1.4;color:var(--gris)}
@media (prefers-reduced-motion:reduce){.wa__panel{animation:none}.wa__op:hover{transform:none}}

/* ==========================================================================
   Modo iaia's (html[data-modo="mayores"])
   Desde el segundo documento del cliente (3-nov-2026), una página limpia a pantalla completa en
   cualquier página: los tres diseños del cliente (Dientes, Boca, Prótesis) que se pasan como las hojas
   de un libro, con sus frases y los cuatro botones abajo. Se ocultan el contenido, el pie y los flotantes.
   ========================================================================== */
.iaia{display:none}
/* Botón de la cabecera, como un interruptor de tema */
.nav__mayores{display:inline-flex;align-items:center;gap:.45em;min-height:44px;padding:.35em .9em;border-radius:999px;border:2px solid var(--navy);background:linear-gradient(160deg,rgb(255 255 255 / .8),rgb(255 255 255 / .45));box-shadow:inset 0 1px 0 #fff;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(0.836rem,0.968vw,1.012rem);color:var(--navy);cursor:pointer;transition:background var(--dur-rapida),box-shadow var(--dur-rapida)}
.nav__mayores svg{width:22px;height:22px;flex:0 0 auto}
.nav__mayores:hover{box-shadow:inset 0 1px 0 #fff,var(--vidrio-halo)}
.nav__mayores-sale{display:none}
html[data-modo=mayores] .nav__mayores{background:var(--amarillo)}
html[data-modo=mayores] .nav__mayores-entra{display:none}
html[data-modo=mayores] .nav__mayores-sale{display:inline}
/* «Contáctanos» fuera dentro del modo (documento del 3-nov-2026). */
html[data-modo=mayores] .nav__acciones>.nav__escritorio{display:none}
@media (max-width:899px){.nav__login{display:none}.nav__marca img{width:clamp(112px,30vw,150px)}.nav__mayores{padding:.3em .7em;font-size:.95rem}}
@media (max-width:400px){.nav__mayores span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* Botón grande de la portada */
.mayores-activa{display:flex;align-items:center;gap:.9rem;margin-top:1.4rem;max-width:30rem;width:100%;min-height:64px;padding:.8rem 1.2rem .8rem .8rem;border-radius:20px;border:3px solid var(--navy);background:linear-gradient(160deg,rgb(255 255 255 / .92),rgb(255 246 227 / .7));box-shadow:var(--vidrio-filo),var(--sombra-card);font-family:var(--f-texto);font-weight:600;font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.3;text-align:left;color:var(--navy);cursor:pointer;transition:transform var(--dur-rapida) var(--ease-out),box-shadow var(--dur-rapida)}
.mayores-activa:hover{transform:translateY(-2px);box-shadow:var(--vidrio-filo),var(--vidrio-halo)}
.mayores-activa__icono{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--amarillo);box-shadow:0 0 0 3px var(--navy)}
.mayores-activa__icono svg{width:28px;height:28px}
@media (max-width:960px){.mayores-activa{margin-inline:auto}}

.mayores__grande{font-weight:700;font-size:1.6rem;line-height:1.2;margin-bottom:.6rem}
.mayores__lista{margin:.4rem 0 0 1.4rem;display:flex;flex-direction:column;gap:.25rem}
.mayores__form{margin-top:1rem}
.mayores__form .campo>label{font-family:var(--f-texto);text-transform:none;letter-spacing:0;font-weight:700;font-size:1.05rem}
.mayores__form .campo input{min-height:60px;font-size:1.15rem;border-width:3px;border-color:var(--navy)}
.mayores__form .campo.consentimiento>label{font-size:.85rem;color:var(--navy)}
.mayores__form .campo.consentimiento input[type=checkbox]{width:30px;height:30px}
.mayores__enviar{min-height:60px;padding:.5em 2em;border-radius:16px;border:4px solid var(--navy);background:var(--amarillo);color:var(--navy);font:700 1.3rem/1 var(--f-texto);cursor:pointer;box-shadow:0 5px 0 var(--navy)}
.mayores__form .form-aviso{font-size:1rem}
/* Sin cristal ni más movimiento que el pase de página (web.js, con la Web Animations API) */
html[data-modo=mayores] *,html[data-modo=mayores] *::before,html[data-modo=mayores] *::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important;transition:none!important}
html[data-modo=mayores] .reveal{opacity:1;transform:none}
html[data-modo=mayores] main>:not(.iaia),html[data-modo=mayores] .pie,html[data-modo=mayores] .marquesina,html[data-modo=mayores] .acercamos-tab,html[data-modo=mayores] .acercamos,html[data-modo=mayores] .cta-movil,html[data-modo=mayores] .wa,html[data-modo=mayores] .marcador,html[data-modo=mayores] .carrusel__controles{display:none!important}
html[data-modo=mayores] .nav.condensada .nav__fila,html[data-modo=mayores] .dialogo,html[data-modo=mayores] .cookies{background:var(--crema)}
html[data-modo=mayores] .cookies{left:0;right:0;bottom:0;width:100%;max-width:none;border-radius:0;border-width:4px 0 0;font-size:1.05rem}
html[data-modo=mayores] .cookies__botones .btn{min-height:56px;font-size:1.1rem}
html[data-modo=mayores] .cookies__texto,html[data-modo=mayores] .cookies__titulo{font-size:1.1rem}
html[data-modo=mayores] :focus-visible{outline-width:4px}

/* ==========================================================================
   Mapa de cobertura con los Smart (portada y Zonas de cobertura)
   Estética clara de siempre: comunidades azules, contorno navy, puntos amarillos.
   La comunidad activa se enciende en amarillo con halo (capa <use> encima).
   ========================================================================== */
.mapa{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;scroll-margin-top:7rem}
@media (max-width:900px){.mapa{grid-template-columns:1fr}}
.mapa__lienzo{position:relative}
.mapa__svg{display:block;width:100%;height:auto;overflow:visible}
.mapa__canarias-marco{fill:none;stroke:var(--gris);stroke-width:1.5;stroke-dasharray:5 4;opacity:.7}
.mapa__canarias{fill:none;stroke:var(--navy);stroke-width:1.5;stroke-linejoin:round}
.mapa__regiones{fill:var(--azul);stroke:var(--crema);stroke-width:2;stroke-linejoin:round}
.mapa__reg{cursor:pointer;transition:opacity .3s,fill .3s}
.mapa__reg:hover{fill:#2EA3FB}
.mapa[data-activa] .mapa__reg:not(.activa){opacity:.62}
.mapa__contorno{fill:none;stroke:var(--navy);stroke-width:3;stroke-linejoin:round;pointer-events:none}
.mapa__foco{fill:var(--amarillo);stroke:var(--navy);stroke-width:3;stroke-linejoin:round;pointer-events:none}
.mapa__rutas{fill:none;stroke:rgb(0 48 96 / .38);stroke-width:1.3;stroke-dasharray:2.5 3;stroke-linecap:round;pointer-events:none}
.mapa[data-activa] .mapa__rutas{stroke:rgb(0 48 96 / .5)}
.mapa__sedes,.mapa__coches{pointer-events:none}
.mapa__sede{fill:var(--amarillo);stroke:var(--navy);stroke-width:3}
.mapa__sede--anillo{fill:var(--crema);stroke-width:2.5}
.mapa__pulso{fill:var(--amarillo);opacity:.6;transform-box:fill-box;transform-origin:center;animation:mapa-pulso 2.4s ease-out infinite}
@keyframes mapa-pulso{from{transform:scale(1);opacity:.6}to{transform:scale(2.8);opacity:0}}
.mapa--pausa .mapa__pulso{animation-play-state:paused}
.mapa__coche image{filter:none}
.mapa__coche-sombra{fill:var(--navy);opacity:.14}
/* En móvil el mapa se encoge y el Smart baja de 10px: se agranda para que siga leyéndose.
   Se escala la imagen, no el grupo, porque del grupo tira animateMotion. */
@media (max-width:600px){.mapa__coche--extra{display:none}
.mapa__coche image,.mapa__coche-sombra{transform:scale(1.5);transform-box:fill-box;transform-origin:center}}
.mapa__pausa{position:absolute;left:0;bottom:0;display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:.35em .95em;border-radius:999px;border:2px solid var(--navy);background:var(--vidrio-tarjeta);box-shadow:var(--vidrio-filo),0 4px 12px rgb(0 32 96 / .1);font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:0.836rem;color:var(--navy);cursor:pointer}
.mapa__pausa:hover{box-shadow:var(--vidrio-filo),var(--vidrio-halo)}
.mapa__pausa-icono{width:12px;height:13px;border-left:4px solid currentColor;border-right:4px solid currentColor}
.mapa__pausa[aria-pressed=true] .mapa__pausa-icono{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.mapa__fichas{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem}
.mapa__ficha{margin-top:1.2rem;border-radius:20px;overflow:hidden}
.mapa__ficha[hidden]{display:none}
.mapa__ficha-img{width:100%;aspect-ratio:460/260;height:auto;object-fit:cover;border-bottom:1px solid var(--vidrio-borde)}
.mapa__ficha-cuerpo{padding:1rem 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.mapa__ficha-titulo{font-family:var(--f-alta);font-weight:800;text-transform:uppercase;font-size:clamp(1.36rem,2.08vw,1.84rem);line-height:1;color:var(--navy)}
.mapa__ficha-sede{font-size:.95rem;line-height:1.45;color:var(--navy)}
.mapa__ficha-sede strong{display:block;font-family:var(--f-alta);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:0.924rem;color:var(--azul-ink)}
.mapa__fuente{margin-top:.9rem}
@media (prefers-reduced-motion:reduce){.mapa__pulso{animation:none;opacity:0}}
html[data-modo=mayores] .mapa__coches,html[data-modo=mayores] .mapa__rutas,html[data-modo=mayores] .mapa__pausa{display:none}
.mapa:not(.mapa--listo) .mapa__coches{visibility:hidden}

/* ---- Cambios del 26-oct-2026 ------------------------------------------------ */
/* Teléfonos borrosos: el número se enseña al pulsar «Ver teléfono» (web.js). El botón
   aparece encima al pasar el ratón o con el foco; en pantallas táctiles está siempre. */
/* El número borroso y, al lado, «Ver teléfono» (3-nov-2026): con el botón encima del número, siempre a la vista,
   el difuminado que pide el cliente no se veía. */
.tel-oculto{position:relative;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;vertical-align:baseline;white-space:nowrap}
.tel-oculto__num{display:inline-block;min-width:6.6em;color:var(--navy);font-weight:700;letter-spacing:.06em;filter:blur(2.5px);user-select:none;pointer-events:none}
.fondo-navy .tel-oculto__num,.overlay .tel-oculto__num{color:var(--crema)}
.tel-oculto__ver{position:static;min-height:32px;padding:.2em .8em;border-radius:999px;border:2px solid var(--navy);background:var(--amarillo);color:var(--navy);font-family:var(--f-alta);font-weight:800;font-size:0.88rem;letter-spacing:.05em;text-transform:uppercase;line-height:1;cursor:pointer}
/* Siempre a la vista (3-nov-2026): con ratón solo aparecía al pasar por encima y se veía un número borroso sin
   ninguna acción a la vista. */
/* «Dime quién es»: sin formulario, el botón abre WhatsApp. */
.acercamos__wa{width:100%;margin-top:.2rem}
.acercamos__wa svg{width:22px;height:22px;flex:0 0 auto}
.acercamos .form-fila{grid-template-columns:1fr;gap:.8rem}
.acercamos .campo textarea{min-height:84px}
.acercamos .form-pie .btn{width:100%}
.acercamos__o{margin:1rem 0 .4rem;font-size:.9375rem;font-weight:700;color:var(--gris);text-align:center}
/* Sedes, ahora dentro de Área de actuación. */
.sedes-area .pie__sedes{margin-top:0;padding-top:0;border-top:0}
/* Espacio digital: muestras de LinkedIn con el texto del post en vez de un titular. */
.entrada__titulo--post{font-family:var(--f-texto);text-transform:none;letter-spacing:0;font-size:1rem;line-height:1.5;font-weight:500}
.espacio__red .redes__botones{margin-top:clamp(1.6rem,3vw,2.4rem)}
.espacio__red .titular .eyebrow{margin-bottom:.7em}
/* ==========================================================================
   Ajustes del cliente del 30-oct-2026 (documento «Ajustes web Dental»)
   ========================================================================== */

/* --- Carrusel genérico (data-pase): una diapositiva visible, flechas y puntos.
       Sin JS se ve la primera; con movimiento reducido no pasa solo. --- */
.pase{position:relative;touch-action:pan-y}
.pase__marco{display:grid}
.pase__diapo{grid-area:1 / 1;margin:0;opacity:0;visibility:hidden;transition:opacity .6s var(--ease-out),visibility 0s linear .6s}
.pase__diapo.activa{opacity:1;visibility:visible;transition:opacity .6s var(--ease-out)}
.pase__controles{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1rem}
.pase__btn{width:48px;height:48px;flex:0 0 auto;border-radius:50%;border:3px solid var(--navy);background:var(--vidrio-tarjeta);box-shadow:var(--vidrio-filo),0 6px 16px rgb(0 32 96 / .1);color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background var(--dur-rapida)}
.pase__btn svg{width:22px;height:22px}
.pase__btn:hover{background:var(--amarillo)}
.pase__puntos{display:flex;gap:.1rem}
.pase__punto{width:28px;height:28px;padding:0;border:0;background:none;display:grid;place-items:center;cursor:pointer}
.pase__punto::before{content:"";width:11px;height:11px;border-radius:50%;border:2px solid var(--navy);transition:background var(--dur-rapida),transform var(--dur-rapida)}
.pase__punto[aria-current=true]::before{background:var(--navy);transform:scale(1.15)}
.pase--claro .pase__btn{border-color:var(--crema);color:var(--crema);background:rgb(255 255 255 / .12)}
.pase--claro .pase__btn:hover{color:var(--navy);background:var(--amarillo);border-color:var(--amarillo)}
.pase--claro .pase__punto::before{border-color:var(--crema)}
.pase--claro .pase__punto[aria-current=true]::before{background:var(--crema)}
@media (prefers-reduced-motion:reduce){.pase__diapo,.pase__diapo.activa{transition:none}}

/* --- Portada: siluetas de lo que hace el odontólogo (sustituyen a la videollamada) --- */
.siluetas{padding-top:.5rem}
/* La silueta 4 del cliente termina en un corte seco abajo y a la derecha: se funde con el fondo (3-nov-2026). */
.silueta img[src$="silueta-4.webp"]{-webkit-mask-image:linear-gradient(to right,#000 78%,transparent 99%),linear-gradient(to bottom,#000 80%,transparent 99%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 78%,transparent 99%),linear-gradient(to bottom,#000 80%,transparent 99%);mask-composite:intersect}
.silueta{display:flex;flex-direction:column;align-items:center;text-align:center}
/* Siluetas más grandes y frase más pequeña, con la etiqueta de a quién atendemos entre las dos (3-nov-2026). */
/* Correo del cliente del 5-nov-2026: ilustraciones más grandes (las imágenes van recortadas a su dibujo, sin el
   margen transparente) y los mandos de debajo más pequeños, solo en este carrusel. */
.silueta img{height:clamp(340px,min(62vh,100vh - 300px),680px);width:auto;max-width:100%;object-fit:contain}
@media (max-width:960px){.silueta img{height:clamp(300px,52vh,480px)}}
.siluetas .pase__controles{gap:.45rem;margin-top:.6rem}
.siluetas .pase__btn{width:36px;height:36px;border-width:2px}
.siluetas .pase__btn svg{width:16px;height:16px}
.siluetas .pase__punto{width:24px;height:24px}
.siluetas .pase__punto::before{width:8px;height:8px}
.silueta__perfil{margin-top:.5rem}
.silueta__txt{font-weight:800;font-size:clamp(.95rem,.85rem + .4vw,1.15rem);line-height:1.3;color:var(--navy);max-width:30ch;margin-top:.55rem;min-height:2.6em}
/* Más grande y en azul marino: es justo la nota para personas con dificultades visuales (3-nov-2026). */
.mayores-activa__nota{font-size:clamp(1rem,.96rem + .2vw,1.08rem);font-weight:600;line-height:1.45;color:var(--navy);max-width:30rem;margin-top:.7rem}
@media (max-width:960px){.mayores-activa__nota{margin-inline:auto}}

/* --- Portada: burbujas de Área de actuación (imágenes del cliente con el nombre dentro) --- */
.burbujas{display:flex;justify-content:center;align-items:flex-start;gap:clamp(1rem,5vw,4rem);flex-wrap:wrap;margin-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:2.5rem}
.burbuja-area{--tilt:0deg;position:relative;display:block;width:clamp(170px,20vw,250px);border-radius:50%;transition:transform var(--dur-base) var(--ease-back)}
.burbuja-area img{width:100%;height:auto;filter:drop-shadow(0 16px 26px rgb(0 48 96 / .18))}
.burbuja-area:hover,.burbuja-area:focus-visible{transform:translateY(-6px) scale(1.04)}
.burbuja-area:nth-child(2){margin-top:clamp(0rem,2vw,1.5rem)}
.fondo-crema .burbujas{background:radial-gradient(50% 60% at 50% 45%,rgb(0 144 250 / .1),transparent 70%)}
@media (prefers-reduced-motion:reduce){.burbuja-area{transition:none}.burbuja-area:hover{transform:none}}
/* En el móvil van de una en una: más grandes, para que se lea el nombre que llevan dentro (3-nov-2026). */
@media (max-width:600px){.burbuja-area{width:min(66vw,250px)}}

/* --- Portada: Iniciativas con impacto, como «Modelos éticos» de csaformacion.com ---
   La activa crece y se pinta en azul; las demás quedan en pastel. */
/* --h más bajo que en el primer montaje: las tarjetas cerradas tenían ~170 px vacíos (3-nov-2026). */
.acp-grid{--fig-h:clamp(140px,13vw,190px);--h:clamp(240px,19vw,262px);--ease-acp:cubic-bezier(.22,.8,.24,1);list-style:none;margin:clamp(1rem,2vw,1.5rem) 0 0;padding:calc(var(--fig-h) * .78) 0 0;display:flex;align-items:center;gap:clamp(10px,1.2vw,18px)}
.acp-card{--acp:var(--azul-ink);--acp-soft:#E6F3FE;position:relative;flex:1 1 0;min-width:0;min-height:var(--h);display:flex;flex-direction:column;border-radius:26px;background:var(--acp-soft);color:var(--navy);cursor:pointer;transition:flex-grow .65s var(--ease-acp),min-height .65s var(--ease-acp),background-color .45s ease,color .45s ease,box-shadow .65s ease}
.acp-card--2{--acp-soft:#FFF3C2}
.acp-card--3{--acp-soft:#E2F0E9}
.acp-card--4{--acp-soft:#FAE6E3}
.acp-card--5{--acp-soft:#ECE8F7}
.acp-card.is-active{flex-grow:1.5;min-height:calc(var(--h) * 1.3);background:var(--acp);color:var(--blanco);cursor:default;box-shadow:0 34px 60px -28px rgb(0 0 0 / .6)}
.acp-card:not(.is-active):hover{box-shadow:0 0 0 3px var(--amarillo)}
.acp-card:focus-visible{outline:3px solid var(--amarillo);outline-offset:3px}
.acp-fig{position:relative;z-index:1;height:var(--fig-h);margin-top:calc(var(--fig-h) * -.55);padding:0 10px;display:flex;align-items:flex-end;justify-content:center;transition:height .65s var(--ease-acp),margin-top .65s var(--ease-acp),padding .65s var(--ease-acp)}
.acp-card.is-active .acp-fig{height:calc(var(--fig-h) * 1.3);margin-top:calc(var(--fig-h) * -.72);padding:0 40px}
.acp-sil{display:block;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:18px;border:4px solid var(--blanco);box-shadow:0 14px 24px rgb(0 0 0 / .28)}
/* A la altura de la imagen, como en csaformacion.com; a .55 se montaban sobre el título (3-nov-2026). */
.acp-arrow{position:absolute;z-index:2;top:calc(var(--fig-h) * .3 - 20px);width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:rgb(255 255 255 / .14);color:var(--blanco);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s,background-color .2s ease}
.acp-arrow svg{width:24px;height:24px}
.acp-arrow--prev{left:8px}.acp-arrow--next{right:8px}
.acp-arrow:hover{background:rgb(255 255 255 / .28)}
.acp-card.is-active .acp-arrow{opacity:1;visibility:visible;transition:opacity .35s ease .3s,visibility 0s,background-color .2s ease}
.acp-body{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;padding:16px clamp(14px,1.4vw,22px) 20px;transition:padding .65s var(--ease-acp)}
.acp-card.is-active .acp-body{padding:20px clamp(20px,2vw,30px) 24px}
.acp-titulo{font-weight:900;text-transform:uppercase;letter-spacing:.01em;line-height:1.12;font-size:clamp(.95rem,1.1vw,1.1rem);margin:0 0 .4rem;transition:font-size .65s var(--ease-acp)}
.acp-card.is-active .acp-titulo{font-size:clamp(1.2rem,1.7vw,1.6rem)}
.acp-desc{margin:0;font-size:.9375rem;line-height:1.45;color:var(--gris);transition:color .45s ease}
.acp-card.is-active .acp-desc{color:rgb(255 255 255 / .9)}
.acp-more{display:grid;grid-template-rows:0fr;margin-top:auto;opacity:0;visibility:hidden;transition:grid-template-rows .65s var(--ease-acp),opacity .2s ease,visibility 0s linear .65s}
.acp-more>div{overflow:hidden;margin:0 -6px;padding:0 6px}
.acp-card.is-active .acp-more{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .65s var(--ease-acp),opacity .4s ease .25s,visibility 0s}
.acp-btn{display:flex;align-items:center;justify-content:center;min-height:48px;margin:18px 0 4px;padding:0 16px;border-radius:999px;background:var(--blanco);color:var(--azul-ink);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.875rem;box-shadow:0 10px 22px -12px rgb(0 0 0 / .45);transition:transform .2s ease}
.acp-btn:hover{transform:translateY(-2px);color:var(--navy)}
@media (max-width:860px){
  .acp-grid{--fig-h:150px;--h:280px;--cw:min(74vw,320px);margin-inline:calc((100vw - 100%) / -2);padding:calc(var(--fig-h) * .78 + 10px) calc(50vw - var(--cw) / 2) 30px;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
  .acp-grid::-webkit-scrollbar{display:none}
  .acp-card,.acp-card.is-active{flex:0 0 var(--cw);scroll-snap-align:center}
}
@media (prefers-reduced-motion:reduce){.acp-card,.acp-fig,.acp-body,.acp-titulo,.acp-more,.acp-arrow{transition:none}}

/* --- Portada: Expertos en tiras, como el equipo de csaformacion.com ---
   El cartel lleva el nombre rotulado: en la tira estrecha el recorte se escora a la izquierda para
   no comérselo; al abrirla (ratón o foco) enseña la colegiación sobre un velo. */
.team-band{--alto:clamp(400px,42vw,600px);list-style:none;display:flex;height:var(--alto);margin-top:clamp(1.5rem,3vw,2.5rem)}
.tb-strip{position:relative;flex:1 1 0;min-width:0;overflow:hidden;background:var(--fondo,var(--hueso));outline:none;transition:flex .45s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s ease,border-radius .45s ease,filter .35s ease}
.tb-strip:first-child{border-radius:22px 0 0 22px}
.tb-strip:last-child{border-radius:0 22px 22px 0}
/* La foto no cambia nunca de tamaño: va a la altura de la banda, anclada a la izquierda (el nombre rotulado queda a la
   vista en la tira estrecha). Al abrirla, la tira crece hasta el ancho exacto de la foto a ese alto (9:16), así que
   se ve entera: sin hueco al lado, sin recorte y sin zoom, como en csaformacion.com (correo del cliente del
   5-nov-2026; el 3-nov el hueco se rellenaba con el color de fondo). --fondo solo se ve mientras carga la foto. */
.tb-poster{position:absolute;top:0;left:0;display:block;height:100%;width:auto;max-width:none}
.tb-role{position:absolute;inset:auto 0 0 0;z-index:2;padding:4rem 1.1rem 1.1rem;background:linear-gradient(180deg,rgb(0 0 0 / 0) 0%,rgb(0 24 48 / .78) 70%);color:var(--blanco);opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.tb-nombre{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tb-datos{display:flex;flex-direction:column;gap:.15rem;font-size:.9375rem;font-weight:700;line-height:1.3}
/* Abierta: se despega del grupo (sube y gana sombra), sin escalar, que estiraría la foto. */
.tb-strip:hover,.tb-strip:focus-visible{flex:0 0 calc(var(--alto) * 540 / 960);z-index:2;border-radius:22px;transform:translateY(-10px);box-shadow:0 22px 50px rgb(0 0 0 / .28)}
.tb-strip:hover .tb-role,.tb-strip:focus-visible .tb-role{opacity:1;transform:none}
.tb-strip:focus-visible{box-shadow:0 0 0 3px var(--azul-ink),0 22px 50px rgb(0 0 0 / .28)}
.team-band:hover .tb-strip:not(:hover){filter:saturate(.75) brightness(.95)}
@media (max-width:767px){
  .team-band{height:auto;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc((100vw - 100%) / -2);padding:0 1.25rem 1rem;scrollbar-width:none}
  .tb-strip,.tb-strip:first-child,.tb-strip:last-child{flex:0 0 62vw;aspect-ratio:9 / 16;border-radius:20px;scroll-snap-align:center}
  .tb-strip:hover,.tb-strip:focus-visible{transform:none;flex:0 0 62vw}
  .tb-poster{object-position:50% center}
  .tb-role{opacity:1;transform:none}
  .team-band:hover .tb-strip:not(:hover){filter:none}
}
@media (prefers-reduced-motion:reduce){.tb-strip,.tb-poster,.tb-role{transition:none}}
/* --- Modo iaia's: las tres páginas (segundo documento del 3-nov-2026) ---
   Fondo, palabra en 3D y frases como en los diseños del cliente (Okabe-Ito: naranja, púrpura y azul). Los
   títulos van en blanco salvo en Dientes, en azul marino: el blanco sobre #E69F00 da 2,2:1 y no se lee bien
   (azul marino, 5,8:1; blanco sobre púrpura, 6:1, y sobre azul, 5,2:1). Los cuatro botones de abajo
   conservan los tonos claros del modo del 30-oct, que se reconocen también por el icono y el texto. */
html[data-modo=mayores] .iaia{display:block;position:relative;overflow:clip;padding:0}
/* pan-y: el gesto horizontal es para pasar la hoja (web.js); el vertical sigue desplazando. */
.iaia__libro{display:grid;perspective:3200px;min-height:calc(100svh - var(--alto-nav,96px));touch-action:pan-y}
.iaia__pagina{position:relative;grid-area:1/1;display:flex;flex-direction:column;gap:clamp(.7rem,2vh,1.4rem);padding:clamp(4.6rem,10vh,5.6rem) clamp(1rem,4.5vw,4.5rem) clamp(1.1rem,3vh,2rem);background:var(--fondo);color:var(--tinta);transform-origin:0 50%;backface-visibility:hidden;--foco:var(--tinta)}
.iaia__pagina[hidden]{display:none}
/* Sombra de la hoja que pasa sobre la de debajo (la pone y la anima web.js). */
.iaia__sombra{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgb(0 0 0 / .5),rgb(0 0 0 / .12) 55%,rgb(0 0 0 / 0));opacity:0}
.iaia__cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 2rem}
.iaia__titulo,.iaia__pista{font:800 clamp(1.3rem,.95rem + 1.1vw,2.05rem)/1.2 var(--f-texto);color:var(--tinta)}
.iaia__titulo:focus{outline:none}
/* La palabra ocupa lo que dejan títulos, frases y botones, para que todo quepa en la pantalla. */
.iaia__palabra{position:relative;flex:1 1 0;min-height:90px;margin:0}
.iaia__palabra img{position:absolute;inset:0;margin:auto;display:block;width:auto;height:auto;max-width:min(100%,1180px);max-height:min(100%,340px)}
.iaia__frases{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.6rem,1.6vh,1.1rem) clamp(.6rem,1.2vw,1rem);max-width:1240px;margin-inline:auto}
.iaia__frase{min-height:56px;padding:.5em 1.05em;border:0;border-radius:12px;background:#F3F2E8;color:#1D1D1B;font:600 clamp(1.05rem,.9rem + .45vw,1.4rem)/1.25 var(--f-texto);text-align:center;cursor:pointer;box-shadow:0 8px 22px rgb(0 0 0 / .2)}
.iaia__frase:hover{background:#FFFFFF}
.iaia__frase[aria-pressed=true]{background:var(--navy);color:var(--blanco);box-shadow:0 0 0 4px #F3F2E8,0 8px 22px rgb(0 0 0 / .25)}
.iaia__frase[aria-pressed=true]::before{content:"✓ ";font-weight:800}
.iaia__acciones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1rem);width:100%;max-width:1240px;margin:clamp(.2rem,1vh,.8rem) auto 0}
.iaia__accion{display:flex;align-items:center;gap:.75rem;min-height:76px;padding:.6rem .9rem;border:3px solid var(--navy);border-radius:18px;color:var(--navy);font:700 clamp(1rem,.84rem + .42vw,1.3rem)/1.2 var(--f-texto);text-align:left;text-decoration:none;cursor:pointer;box-shadow:0 5px 0 var(--navy)}
.iaia__accion:hover{color:var(--navy);transform:translateY(2px);box-shadow:0 3px 0 var(--navy)}
.iaia__accion--llamar{background:#FBE3B8}
.iaia__accion--wa{background:#C4E8DC}
.iaia__accion--llamen{background:#F1D9E8}
.iaia__accion--voz{background:#CDE8F8}
.iaia__accion--voz[aria-pressed=true]{background:var(--navy);color:var(--blanco)}
.iaia__accion--voz[aria-pressed=true] .iaia__icono{background:var(--blanco);color:var(--navy)}
.iaia__icono{flex:0 0 auto;display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--navy);color:var(--blanco)}
.iaia__icono svg{width:58%;height:58%}
.iaia__dato{display:block;font-weight:600;font-size:.85em;margin-top:.1rem}
.iaia__frase:focus-visible,.iaia__accion:focus-visible{outline:4px solid var(--foco);outline-offset:4px}
/* Pestañas y flechas: fijas arriba, no se pasan con la hoja. */
.iaia__pestanas{position:absolute;z-index:4;top:clamp(.7rem,1.8vh,1.1rem);left:50%;translate:-50% 0;display:flex;align-items:center;gap:.3rem;padding:.3rem;border-radius:999px;background:rgb(255 255 255 / .94);box-shadow:0 8px 24px rgb(0 0 0 / .18)}
.iaia__pestana,.iaia__flecha{min-height:48px;min-width:48px;padding:.35em 1.05em;border:0;border-radius:999px;background:none;color:var(--navy);font:700 clamp(1rem,.95rem + .2vw,1.15rem)/1 var(--f-texto);cursor:pointer}
.iaia__flecha{display:grid;place-items:center;padding:0}
.iaia__pestana[aria-current=true]{background:var(--navy);color:var(--blanco)}
.iaia__pestana:hover:not([aria-current=true]),.iaia__flecha:hover{background:#E9EEF5}
.iaia__pestana:focus-visible,.iaia__flecha:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
/* Con una frase elegida, WhatsApp y «Que me llamen» se resaltan con un anillo blanco y azul marino. */
.iaia[data-elegida] .iaia__accion--wa,.iaia[data-elegida] .iaia__accion--llamen{box-shadow:0 0 0 4px var(--blanco),0 0 0 7px var(--navy),0 5px 0 7px var(--navy)}
/* Lo que se oye o se ha elegido, en una línea bajo las pestañas: abajo tapaba los botones que pide tocar. */
.iaia__estado{position:fixed;z-index:70;left:50%;top:calc(var(--alto-nav,96px) + clamp(4.4rem,9vh,5rem));translate:-50% 0;width:max-content;max-width:min(92vw,46rem);padding:.7rem 1.1rem;border-radius:16px;background:var(--navy);color:var(--blanco);font:700 1.1rem/1.35 var(--f-texto);text-align:center;box-shadow:0 10px 30px rgb(0 0 0 / .3)}
.iaia__estado:empty{display:none}
@media (max-width:899px){
  .iaia__cabeza{flex-direction:column;align-items:center;text-align:center}
  .iaia__palabra{flex:none;min-height:0}
  .iaia__palabra img{position:static;margin-inline:auto;max-height:clamp(80px,22vh,200px)}
  .iaia__acciones{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .iaia__pagina{padding-inline:1rem}
  .iaia__frases{flex-direction:column;align-items:stretch}
  .iaia__accion{flex-direction:column;align-items:flex-start;gap:.5rem;min-height:7rem}
  .iaia__pestana{padding-inline:.7em}
  .iaia__estado{top:calc(var(--alto-nav,64px) + .6rem)}
}
.mayores__motivo{font-weight:700;font-size:1.2rem;margin-bottom:.6rem;padding:.6rem .9rem;border-radius:14px;background:#F2F7FC;border:2px solid var(--navy)}
/* --- Contacto: imagen de la videollamada bajo los datos (petición del cliente, 30-oct-2026) --- */
.contacto__videollamada{display:block;width:min(100%,250px);height:auto;margin:1.8rem auto 0;filter:drop-shadow(0 18px 28px rgb(0 32 96 / .22))}
/* --- Residencias: la página entra directamente en el directorio (30-oct-2026) --- */
.cabecera-residencias{padding-top:clamp(1.5rem,3vw,2.5rem)}
/* Como H1 de la página, más grande que la cifra de las cabeceras (en el móvil se quedaba en 17,9 px; 3-nov-2026). */
.cabecera-residencias h1.cifra-cabecera__txt{margin:0;font-size:clamp(1.6rem,1.2rem + 2vw,2.6rem);line-height:1.08}
.sedes-area .pie__sedes-lista{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.cierre .d-xl{font-size:clamp(1.7rem,3.6vw,3.2rem)}
/* --- Carrusel de fotos (Domicilios, Hospitales…) --- */
.pase--fotos{position:relative}
.foto-pase img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:22px;border:6px solid var(--blanco);box-shadow:var(--sombra-lift);background:var(--hueso)}
.pase__sello{position:absolute;top:-1.4rem;right:-.6rem;z-index:3}
@media (max-width:767px){.pase__sello{--w:88px!important;right:.2rem}}

/* --- Motivos desplegables con ✅ (Domicilios, Hospitales, Tecnología para el cuidado) ---
   El título queda a la vista; al abrirlo, los motivos caen uno detrás de otro. */
.motivos{max-width:62rem}
.motivos__resumen{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;cursor:pointer;list-style:none;padding:.4rem 0}
.motivos__resumen::-webkit-details-marker{display:none}
.motivos__titulo{margin:0}
.motivos__mas{flex:0 0 auto;position:relative;width:56px;height:56px;border-radius:50%;background:var(--navy);box-shadow:0 6px 16px rgb(0 32 96 / .2);transition:transform var(--dur-base) var(--ease-out),background var(--dur-rapida)}
.motivos__mas::before,.motivos__mas::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:4px;border-radius:2px;background:var(--blanco);translate:-50% -50%}
.motivos__mas::after{rotate:90deg;transition:rotate var(--dur-base) var(--ease-out)}
.motivos[open] .motivos__mas::after{rotate:0deg}
.motivos__resumen:hover .motivos__mas{background:var(--azul-ink)}
.motivos__resumen:focus-visible{outline:3px solid var(--azul-ink);outline-offset:6px;border-radius:12px}
.motivos__lista{list-style:none;display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}
.motivos__lista li{position:relative;padding:1.1rem 1.3rem 1.1rem 4rem;border-radius:18px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--sombra-card);font-size:clamp(1.05rem,1rem + .3vw,1.25rem);line-height:1.5;color:var(--navy)}
/* ✅ en verde, como el emoji que usa el cliente en el documento (3-nov-2026). */
.motivos__lista li::before{content:"";position:absolute;left:1.2rem;top:1.15rem;width:1.8rem;height:1.8rem;border-radius:8px;background:#2E9E44 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 72% no-repeat}
.motivos[open] .motivos__lista li{animation:motivo-cae .5s var(--ease-out) both}
.motivos[open] .motivos__lista li:nth-child(2){animation-delay:.12s}
.motivos[open] .motivos__lista li:nth-child(3){animation-delay:.24s}
.motivos[open] .motivos__lista li:nth-child(4){animation-delay:.36s}
.motivos[open] .motivos__lista li:nth-child(5){animation-delay:.48s}
@keyframes motivo-cae{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.motivos[open] .motivos__lista li{animation:none}.motivos__mas,.motivos__mas::after{transition:none}}
.fondo-navy .motivos__lista li{color:var(--navy)}

/* --- Domicilios: las siete comunidades --- */
.ccaa-tarjetas{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:clamp(.8rem,1.6vw,1.2rem);margin-top:clamp(1.5rem,3vw,2.5rem)}
.ccaa-tarjeta{display:flex;flex-direction:column;gap:.6rem;color:var(--navy);text-decoration:none}
.ccaa-tarjeta img{width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:18px;border:5px solid var(--blanco);box-shadow:var(--sombra-card);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}
.ccaa-tarjeta:hover img,.ccaa-tarjeta:focus-visible img{transform:translateY(-6px);box-shadow:var(--sombra-lift)}
.ccaa-tarjeta__nombre{font-weight:900;text-transform:uppercase;letter-spacing:.03em;text-align:center;font-size:clamp(.95rem,.85rem + .3vw,1.1rem)}
.ccaa-tarjeta:hover{color:var(--azul-ink)}
@media (max-width:560px){.ccaa-tarjetas{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.ccaa-tarjeta img{transition:none}.ccaa-tarjeta:hover img{transform:none}}
/* --- Clínicas dentales de toda España (30-oct-2026) --- */
.portal__mas{display:flex;justify-content:center;margin-top:1.1rem}
.portal__cargando{font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);padding:1.2rem 0}
.portal--clinicas-espana .filtros{gap:.4rem}
/* En el móvil, las 20 comunidades en una fila que se desliza: en varias filas ocupaban 447 px antes del primer
   resultado (3-nov-2026). */
@media (max-width:767px){
  .portal--clinicas-espana .filtros{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:1.25rem;scrollbar-width:none;margin-inline:-1.25rem;padding:.2rem 1.25rem .6rem;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 2.5rem),transparent)}
  .portal--clinicas-espana .filtros::-webkit-scrollbar{display:none}
  .portal--clinicas-espana .filtros button{flex:0 0 auto;scroll-snap-align:start}
}
.portal--clinicas-espana .entidad{padding-right:1rem}
/* --- Quiénes somos: mazo de cristal, como «Formación bonificable FUNDAE» de csaformacion.com ---
   Fondo desenfocado, tarjeta central de cristal y las vecinas en perspectiva. web.js pone [data-mazo-listo]
   y --pos/--abs en cada carta; sin JS es una rejilla de tarjetas. */
.mazo{position:relative;isolation:isolate;background:#2a2219;color:var(--blanco);padding-block:clamp(6.5rem,10vw,8rem) 2.5rem}
/* El fondo se ve tal cual, sin desenfoque, como en «FUNDAE» de csaformacion.com desde el 9-sep (3-nov-2026);
   el antetítulo va en una píldora de cristal para leerse sobre la pared clara. */
.mazo__fondo{position:absolute;inset:0;z-index:0}
.mazo__fondo img{width:100%;height:100%;object-fit:cover}
.mazo__eyebrow{position:relative;z-index:3;width:fit-content;margin-inline:auto;text-align:center;color:var(--amarillo)!important;margin-bottom:1.2rem;padding:.45rem 1.1rem;border-radius:999px;background:rgb(12 22 38 / .62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mazo__cartas{position:relative;z-index:2;list-style:none;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:min(100% - 2.5rem,1240px);margin-inline:auto}
.mazo__carta{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:rgb(12 22 38 / .5);border:1px solid rgb(255 255 255 / .32);box-shadow:0 20px 60px rgb(0 0 0 / .35),inset 0 1px 0 rgb(255 255 255 / .4);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}
.mazo__img{display:block;width:100%;height:auto;aspect-ratio:16 / 8;object-fit:cover}
.mazo__cuerpo{padding:20px clamp(18px,2vw,26px) 24px;overflow:auto;min-height:0}
.mazo__titulo{font-weight:900;text-transform:none;letter-spacing:0;line-height:1.1;font-size:clamp(1.3rem,2vw,1.8rem);color:var(--blanco);margin:0 0 .6rem}
.mazo__cuerpo p{color:rgb(255 255 255 / .92);font-size:clamp(.98rem,.95rem + .2vw,1.08rem);line-height:1.55}
.mazo__acciones{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.1rem}
.mazo__enlace{color:var(--amarillo);border-color:var(--amarillo)}
.mazo__enlace:hover{color:var(--blanco)}
.mazo__dock{display:none}
/* Modo espacial (con JS) */
.mazo[data-mazo-listo]{min-height:clamp(620px,92vh,860px);overflow:clip;padding:0}
.mazo[data-mazo-listo] .mazo__eyebrow{position:absolute;top:clamp(6rem,11vh,7.5rem);left:50%;translate:-50% 0;margin:0}
.mazo[data-mazo-listo] .mazo__cartas{display:block;position:absolute;inset:0;width:auto;margin:0;perspective:1400px;perspective-origin:50% 45%;touch-action:pan-y}
.mazo[data-mazo-listo] .mazo__carta{position:absolute;left:50%;top:55%;width:min(560px,82vw);max-height:66vh;cursor:pointer;transform:translate(-50%,-50%) translateX(calc(var(--pos,0) * 72%)) translateZ(calc(var(--abs,0) * -260px)) rotateY(calc(var(--pos,0) * -22deg));opacity:calc(1 - var(--abs,0) * .3);z-index:calc(10 - var(--abs,0));transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .4s ease;will-change:transform}
.mazo[data-mazo-listo] .mazo__carta.lejos{visibility:hidden}
.mazo[data-mazo-listo] .mazo__carta.activa{cursor:default}
.mazo[data-mazo-listo] .mazo__dock{display:flex;position:absolute;bottom:clamp(16px,4vh,36px);left:50%;translate:-50% 0;z-index:3;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:999px;background:rgb(12 22 38 / .45);border:1px solid rgb(255 255 255 / .3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.mazo__dock .pase__btn{border-color:var(--crema);color:var(--crema);background:rgb(255 255 255 / .12)}
.mazo__dock .pase__btn:hover{color:var(--navy);background:var(--amarillo);border-color:var(--amarillo)}
.mazo__dock .pase__punto::before{border-color:var(--crema)}
.mazo__dock .pase__punto[aria-current=true]::before{background:var(--crema)}
@media (max-width:767px){
  .mazo[data-mazo-listo] .mazo__carta{width:86vw;max-height:64vh;transform:translate(-50%,-50%) translateX(calc(var(--pos,0) * 92%)) translateZ(calc(var(--abs,0) * -200px)) rotateY(calc(var(--pos,0) * -14deg))}
  .mazo__img{aspect-ratio:16 / 6}
}
@media (prefers-reduced-motion:reduce){.mazo[data-mazo-listo] .mazo__carta{transition:none}}
html[data-modo=mayores] .mazo__carta{background:rgb(12 22 38 / .82)}
/* Mazo: la carta vive entre la cabecera (con el antetítulo) y los controles; si no cabe, su texto hace scroll. */
.mazo[data-mazo-listo] .mazo__cartas{inset:clamp(8.5rem,17vh,10rem) 0 clamp(5.5rem,11vh,6.5rem)}
.mazo[data-mazo-listo] .mazo__carta{top:50%;max-height:100%}
/* Escritorio: la carta pasa a horizontal, imagen a la izquierda y texto a la derecha. Con la carta en vertical el
   texto se cortaba a 1366×768 y 1280×720 y había que leerlo con una barra interna (3-nov-2026). */
@media (min-width:900px){
  .mazo[data-mazo-listo] .mazo__carta{flex-direction:row;width:min(860px,74vw)}
  .mazo[data-mazo-listo] .mazo__img{width:42%;flex:0 0 42%;height:auto;aspect-ratio:auto;align-self:stretch;object-fit:cover}
  .mazo[data-mazo-listo] .mazo__cuerpo{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,2.2vw,30px)}
  .mazo[data-mazo-listo] .mazo__cuerpo p{font-size:clamp(.95rem,.9rem + .25vh,1.06rem);line-height:1.5}
}
@media (max-width:767px){
  .mazo[data-mazo-listo] .mazo__cartas{bottom:10.2rem}
  .mazo[data-mazo-listo] .mazo__dock{bottom:5.6rem}
}
/* --- Cuidar sin barreras, como People & Culture de csaformacion.com (30-oct-2026, segunda revisión) ---
   El lienzo replica el recuadro «cover» de la ilustración (proporción 2400×1792) y se escala con ella, así cada
   recorte cae exactamente sobre su figura en cualquier pantalla. En reposo las figuras laten con un halo blanco;
   al pasar el cursor la figura se levanta e ilumina, el resto se apaga y aparece su tarjeta. */
/* La ilustración es más alta que la pantalla en casi todos los escritorios: el recorte se reparte 25 % arriba y
   75 % abajo para no cortar el techo de la clínica ni el letrero, y en pantallas grandes la escena ya no se
   limita a 920 px de alto (3-nov-2026). */
.escena{position:relative;isolation:isolate;overflow:hidden;height:max(560px,calc(100svh - 5.5rem));background:#E8D5CB}
.escena__lienzo{position:absolute;left:50%;top:25%;translate:-50% -25%;min-width:100%;min-height:100%;aspect-ratio:2400 / 1792}
.escena__fondo{position:absolute;inset:0;width:100%;height:100%;transition:filter .3s ease}
.escena__figuras{list-style:none;position:absolute;inset:0;margin:0;padding:0}
.escena__figura{position:absolute;left:var(--x);top:var(--y);width:var(--w);pointer-events:none}
.escena__recorte{display:block;width:100%;height:auto;animation:escena-late 3.4s ease-in-out infinite;animation-delay:calc(var(--i) * .45s);transition:transform .3s cubic-bezier(.22,1,.36,1),filter .3s ease;transform-origin:50% 90%}
@keyframes escena-late{0%,100%{filter:drop-shadow(0 0 0 rgb(255 255 255 / 0))}50%{filter:drop-shadow(0 0 12px rgb(255 255 255 / .9))}}
.escena__zona{position:absolute;left:var(--zx);top:var(--zy);width:var(--zw);height:var(--zh);padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;border-radius:24px}
.escena__zona:focus-visible{outline:3px solid var(--azul-ink);outline-offset:4px}
/* Figura activa: se levanta e ilumina; el fondo y las demás figuras se apagan. */
.escena__figura:has(.escena__zona:hover,.escena__zona:focus-visible,.escena__zona[aria-expanded=true]) .escena__recorte{animation:none;transform:scale(1.035);filter:drop-shadow(0 0 16px rgb(255 255 255 / .95)) drop-shadow(0 6px 14px rgb(0 0 0 / .35)) brightness(1.05)}
.escena:has(.escena__zona:hover,.escena__zona[aria-expanded=true]) .escena__fondo,
.escena:has(.escena__zona:hover,.escena__zona[aria-expanded=true]) .escena__figura:not(:has(.escena__zona:hover,.escena__zona[aria-expanded=true])) .escena__recorte{animation:none;filter:brightness(.55) saturate(.7)}
.escena__figura:has(.escena__zona:hover,.escena__zona[aria-expanded=true]){z-index:5}
/* Tarjeta: junto a la figura, del lado que tiene sitio. */
/* Más pequeña desde el segundo documento del 3-nov-2026 («reducir el tamaño del texto y contenedor»). */
.escena__tarjeta{position:absolute;top:22%;width:min(290px,24vw);padding:.85rem 1rem 1rem;border-radius:16px;background:rgb(0 32 64 / .86);border:1px solid rgb(255 255 255 / .2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--blanco);font-size:.9rem;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility 0s .2s;pointer-events:none}
.escena__figura--derecha .escena__tarjeta{left:calc(100% + 12px)}
.escena__figura--izquierda .escena__tarjeta{right:calc(100% + 12px)}
.escena__tarjeta.visible{opacity:1;visibility:visible;transform:none;transition-delay:0s;pointer-events:auto}
/* web.js la desplaza (--dx/--dy) para que no se salga de la escena ni tape el título (3-nov-2026). */
.escena__tarjeta{translate:var(--dx,0px) var(--dy,0px)}
/* Más alta, para que la clínica y la casa (recortes con fondo transparente) no se vean diminutas junto a la foto. */
.escena__tarjeta-img{display:block;width:100%;height:clamp(92px,14vh,136px);object-fit:contain;padding:.25rem;margin-bottom:.6rem;border-radius:12px;background:radial-gradient(80% 90% at 50% 60%,#fff,#F3E6DD)}
.escena__tarjeta-img--foto{object-fit:cover;padding:0}
.escena__pista-tacto{display:none}
/* La tarjeta no tiene enlaces: deja pasar el ratón y el dedo. Si tapaba otra figura, esa figura no se podía
   alcanzar mientras estuviera abierta (3-nov-2026). */
.escena__tarjeta.visible{pointer-events:none}
@media (hover:none){.escena__pista-raton{display:none}.escena__pista-tacto{display:inline}}
.escena__tarjeta-titulo{font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:.95rem;line-height:1.2;color:var(--amarillo);margin-bottom:.4rem}
.escena__tarjeta p{color:rgb(255 255 255 / .94)}
/* Título y pista abajo a la izquierda, sobre un velo, como el copy de People & Culture. */
.escena::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgb(0 0 0 / 0),rgb(30 18 10 / .55))}
.escena__texto{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 max(1.25rem,calc((100% - 1240px) / 2)) clamp(1.6rem,5vh,3rem);color:var(--blanco);pointer-events:none}
.escena__titulo{font-weight:900;text-transform:uppercase;line-height:1.02;font-size:clamp(2.2rem,5vw,4.4rem);color:var(--blanco);text-shadow:0 4px 24px rgb(0 0 0 / .35)}
.escena__pista{margin-top:.6rem;max-width:44ch;font-weight:600;font-size:clamp(.95rem,.9rem + .3vw,1.1rem);color:rgb(255 255 255 / .92)}
@media (prefers-reduced-motion:reduce){.escena__recorte{animation:none;transition:none}.escena__tarjeta{transition:none}}
/* Móvil: la ilustración entera y los textos en lista, sin figuras encima. */
@media (max-width:899px){
  .escena{height:auto;overflow:visible;background:var(--crema)}
  .escena::after{display:none}
  .escena__lienzo{position:relative;left:auto;top:auto;translate:none;min-width:0;min-height:0;width:100%}
  .escena__recorte,.escena__zona{display:none}
  .escena__figuras{position:static;display:flex;flex-direction:column;gap:1rem;padding:1.2rem 1.25rem 2.5rem}
  .escena__figura{position:static;width:auto;pointer-events:auto}
  .escena__tarjeta,.escena__figura--derecha .escena__tarjeta,.escena__figura--izquierda .escena__tarjeta{position:static;width:auto;opacity:1;visibility:visible;transform:none;translate:none;background:var(--navy);font-size:1rem;line-height:1.5}
  .escena__tarjeta-titulo{font-size:1.05rem}
  .escena__tarjeta-img{height:clamp(150px,44vw,220px)}
  .escena__lienzo{aspect-ratio:auto}
  .escena__fondo{position:relative;height:auto;aspect-ratio:2400 / 1792}
  .escena__texto{position:static;padding:1.6rem 1.25rem 0;color:var(--navy)}
  .escena__titulo{color:var(--navy);text-shadow:none}
  .escena__pista{display:none}
}

/* --- Precios y servicios (30-oct-2026): tarjetas como la referencia del cliente; crecen al pasar el cursor --- */
/* 4 por fila con la última centrada (4+4+2): con la rejilla automática la décima tarjeta quedaba sola a la
   izquierda (3-nov-2026). 2 por fila en tableta y 1 en el móvil. */
.tarifas{--g:clamp(1.2rem,2.4vw,2rem);list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--g);margin-top:clamp(2rem,4vw,3rem);align-items:stretch}
.tarifas>.tarifa{flex:0 0 calc((100% - 3 * var(--g)) / 4)}
@media (max-width:1099px){.tarifas>.tarifa{flex-basis:calc((100% - var(--g)) / 2)}}
@media (max-width:599px){.tarifas>.tarifa{flex-basis:100%}}
.tarifa{position:relative;display:flex;flex-direction:column;align-items:stretch;text-align:center;min-width:0;padding:1.4rem 1.4rem 1.6rem;border-radius:24px;background:var(--blanco);border:1px solid rgb(0 32 96 / .08);box-shadow:var(--sombra-card);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.tarifa:hover,.tarifa:focus-within{transform:scale(1.05);box-shadow:var(--sombra-lift);z-index:2}
.tarifa__img{width:100%;aspect-ratio:16 / 9;display:grid;place-items:center;border-radius:18px;background:radial-gradient(60% 60% at 50% 55%,var(--azul-pale),transparent 70%)}
.tarifa__img img{width:auto;height:100%;max-height:150px;object-fit:contain;filter:drop-shadow(0 12px 16px rgb(0 32 96 / .16))}
.tarifa__nombre{font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.05rem,1rem + .3vw,1.25rem);line-height:1.15;color:var(--navy);margin-top:1rem}
.tarifa__lista{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin:.9rem 0 1rem;text-align:left;width:100%;font-size:.9375rem;line-height:1.4;color:var(--gris)}
.tarifa__lista li{position:relative;padding-left:1.6rem}
/* Ticks verdes, como en la referencia de tarjetas del cliente (image42 del documento; 3-nov-2026). */
.tarifa__lista li::before{content:"";position:absolute;left:0;top:.18em;width:1.05rem;height:1.05rem;border-radius:5px;background:#2E9E44 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 76% no-repeat}
.tarifa__cifra{margin-top:auto;color:var(--navy);line-height:1}
.tarifa__desde{display:block;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gris);margin-bottom:.3rem}
.tarifa__cifra strong{font-size:clamp(2.2rem,2rem + 1vw,2.8rem);font-weight:900}
/* Texto azul marino sobre el verde de WhatsApp: 6,65:1 (en blanco era 1,98:1 y no pasaba WCAG AA). */
.tarifa__wa{margin-top:1.1rem;background:#25D366;color:var(--navy);border:0;white-space:normal;text-align:center;padding-inline:.8em;font-size:.84rem;letter-spacing:.02em}
.tarifa__wa:hover{background:#1FBF5B;color:var(--navy)}
@media (prefers-reduced-motion:reduce){.tarifa{transition:none}.tarifa:hover,.tarifa:focus-within{transform:none}}
/* --- Canales de comunicación: rejilla de Instagram (8 publicaciones enteras) y podcast (30-oct-2026) --- */
.rejilla-redes{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.4rem,1vw,.8rem);margin-top:clamp(1.2rem,2.5vw,2rem)}
.rejilla-redes .post__enlace{position:relative;display:block;aspect-ratio:4 / 5;border-radius:14px;overflow:hidden;background:var(--hueso);box-shadow:var(--sombra-card)}
/* La publicación se ve entera (contain) y el hueco lo rellena la misma imagen desenfocada: sin franjas (3-nov-2026). */
.rejilla-redes .post__enlace{isolation:isolate}
.rejilla-redes .post__enlace::before{content:"";position:absolute;inset:-12%;z-index:-1;background:var(--fondo) center / cover no-repeat;filter:blur(18px) saturate(1.1) brightness(.92)}
.rejilla-redes img{position:relative;width:100%;height:100%;object-fit:contain;transition:transform var(--dur-base) var(--ease-out)}
.rejilla-redes .post__enlace:hover img{transform:scale(1.03)}
@media (max-width:700px){.rejilla-redes{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.rejilla-redes img{transition:none}.rejilla-redes .post__enlace:hover img{transform:none}}
/* Portada cuadrada del programa (3-nov-2026). */
.podcast{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,2rem);max-width:56rem;margin-top:clamp(1.2rem,2.5vw,2rem);padding:clamp(.8rem,1.5vw,1.1rem);border-radius:22px;background:var(--blanco);box-shadow:var(--sombra-card);color:var(--navy)}
.podcast img{width:100%;height:auto;border-radius:14px}
.podcast__texto{display:flex;flex-direction:column;gap:.7rem}
.podcast__nombre{font-weight:900;text-transform:uppercase;font-size:clamp(1.3rem,1rem + 1.2vw,2rem);line-height:1.1}
.podcast__desc{font-size:clamp(.98rem,.95rem + .2vw,1.08rem);line-height:1.55;color:var(--gris)}
.podcast:hover{box-shadow:var(--sombra-lift);color:var(--azul-ink)}
@media (max-width:640px){.podcast{grid-template-columns:1fr}.podcast img{max-width:16rem}}
/* --- Tecnología para el cuidado (Innovación y compromiso, 30-oct-2026) --- */
.innovacion__titulo{font-size:clamp(1.7rem,3.4vw,3rem);text-transform:none;line-height:1.08;margin-top:.4rem}
.innovacion__ipad img{width:100%;height:auto;filter:drop-shadow(0 26px 36px rgb(0 32 96 / .22))}
.motivos--compacto{margin-top:1.4rem}
.motivos--compacto .motivos__titulo{color:var(--azul-ink)}
.motivos--compacto .motivos__mas{width:44px;height:44px}
.motivos--compacto .motivos__mas::before,.motivos--compacto .motivos__mas::after{width:18px;height:3px}
.motivos--compacto .motivos__lista{gap:.6rem;margin-top:1rem}
.motivos--compacto .motivos__lista li{padding:.75rem 1rem .75rem 3.3rem;font-size:1rem}
.motivos--compacto .motivos__lista li::before{left:.9rem;top:.8rem;width:1.5rem;height:1.5rem}
/* Las cuatro líneas, desplegables una a una */
.lineas{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.4rem);align-items:start}
@media (max-width:760px){.lineas{grid-template-columns:1fr}}
.linea{display:block;border-radius:22px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--sombra-card);color:var(--navy)}
.linea__resumen{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;cursor:pointer;list-style:none}
.linea__resumen::-webkit-details-marker{display:none}
.linea__resumen .tarjeta-icono__emoji{flex:0 0 auto;margin:0}
.linea__resumen .tarjeta-icono__titulo{flex:1;margin:0;font-size:clamp(1.05rem,1rem + .4vw,1.3rem)}
.linea__resumen .motivos__mas{width:42px;height:42px}
.linea__resumen .motivos__mas::before,.linea__resumen .motivos__mas::after{width:16px;height:3px}
.linea[open] .motivos__mas::after{rotate:0deg}
.linea>p{padding:0 1.4rem 1.3rem;line-height:1.6}
.linea[open]>p{animation:motivo-cae .4s var(--ease-out) both}
.linea__resumen:focus-visible{outline:3px solid var(--azul-ink);outline-offset:4px;border-radius:18px}
@media (prefers-reduced-motion:reduce){.linea[open]>p{animation:none}}
/* Premios: el texto arriba, de lado a lado, y debajo los cuatro en hexágonos brillantes (referencia del cliente) */
.premios__texto{color:var(--crema);max-width:none}
/* minmax(0,1fr): con 1fr la columna crecía con el nombre y en el móvil salían hexágonos de dos tamaños (3-nov-2026). */
.premios-hex{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem);margin-top:clamp(2rem,4vw,3rem)}
@media (max-width:760px){.premios-hex{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Es un <button>: sin font-family heredaba la letra del sistema y no Nunito (3-nov-2026). */
.premio-hex{display:flex;flex-direction:column;align-items:center;gap:.9rem;width:100%;height:100%;padding:0;border:0;background:none;color:var(--crema);cursor:pointer;text-align:center;font-family:var(--f-texto)}
/* El hexágono se dibuja en ::before: con el clip-path en el propio elemento, su sombra quedaba recortada. */
.premio-hex__forma{--c1:#4FC3F7;--c2:#1E88E5;position:relative;isolation:isolate;display:grid;place-items:center;width:min(100%,190px);aspect-ratio:1 / 1.1547;filter:drop-shadow(0 16px 24px rgb(0 0 0 / .35));transition:transform var(--dur-base) var(--ease-back)}
/* Esquinas redondeadas, como los hexágonos de la referencia del cliente (image50 del documento; 3-nov-2026). */
.premio-hex__forma::before{content:"";position:absolute;inset:0;z-index:-1;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 115.47' preserveAspectRatio='none'%3E%3Cpath d='M40.47 5.5Q50 0 59.53 5.5L90.47 23.37Q100 28.87 100 39.87L100 75.6Q100 86.6 90.47 92.1L59.53 109.97Q50 115.47 40.47 109.97L9.53 92.1Q0 86.6 0 75.6L0 39.87Q0 28.87 9.53 23.37Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 115.47' preserveAspectRatio='none'%3E%3Cpath d='M40.47 5.5Q50 0 59.53 5.5L90.47 23.37Q100 28.87 100 39.87L100 75.6Q100 86.6 90.47 92.1L59.53 109.97Q50 115.47 40.47 109.97L9.53 92.1Q0 86.6 0 75.6L0 39.87Q0 28.87 9.53 23.37Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;background:radial-gradient(60% 50% at 35% 25%,rgb(255 255 255 / .55),transparent 60%),linear-gradient(160deg,var(--c1),var(--c2))}
.premio-hex--2 .premio-hex__forma{--c1:#FFE082;--c2:#F5B300}
.premio-hex--3 .premio-hex__forma{--c1:#FF9AA8;--c2:#E2475F}
.premio-hex--4 .premio-hex__forma{--c1:#B39DFF;--c2:#6A4DE0}
/* Placa apaisada que ocupa la franja ancha del hexágono: en la cuadrada los logos alargados (SUPER Cuidadores,
   Corresponsables) salían a 72×9 px y no se leían (3-nov-2026). */
.premio-hex__logo{display:grid;place-items:center;width:84%;height:42%;border-radius:16px;background:var(--blanco);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .7),0 8px 18px -6px rgb(0 0 0 / .3);padding:6% 7%}
.premio-hex__logo img{width:100%;height:100%;min-height:0;object-fit:contain}
.premio-hex__nombre{font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(.9rem,.85rem + .3vw,1.05rem);line-height:1.2;min-height:2.4em}
/* El año, siempre abajo: así quedan alineados aunque los nombres ocupen distinto número de líneas. */
.premio-hex .anio{display:block;font-weight:900;color:var(--amarillo);font-size:clamp(1.5rem,1.3rem + .8vw,2.1rem);line-height:1;margin:auto 0 0}
.premio-hex:hover .premio-hex__forma,.premio-hex:focus-visible .premio-hex__forma{transform:translateY(-6px) scale(1.04)}
.premio-hex:focus-visible{outline:3px solid var(--amarillo);outline-offset:6px;border-radius:12px}
@media (prefers-reduced-motion:reduce){.premio-hex__forma{transition:none}.premio-hex:hover .premio-hex__forma{transform:none}}
/* Sonrisas que suenan */
.sonrisas__img{display:flex;justify-content:center}
.sonrisas__img img{width:min(100%,380px);height:auto;border-radius:22px;border:6px solid var(--blanco);box-shadow:var(--sombra-lift);rotate:-2deg}
.premio-hex .sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* --- Alianzas: ventana de cada proveedor con sus productos (30-oct-2026) --- */
.dialogo--proveedor{width:min(1080px,calc(100vw - 2rem))}
.dialogo--proveedor .proveedor-cabecera{margin-bottom:1.6rem}
.dialogo--proveedor .productos{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
/* Tarjeta de producto en la ventana, como la referencia del cliente: blanca, centrada y con el botón azul. */
.productos--ventana{margin-top:clamp(1.4rem,3vw,2rem)}
.producto--ventana{align-items:center;text-align:center;background:var(--blanco);border:1px solid rgb(0 32 96 / .08);border-radius:28px;padding:1.1rem 1.1rem 1.2rem;box-shadow:0 18px 40px -22px rgb(0 32 96 / .35)}
.producto--ventana .producto__img{width:100%}
.producto__necesidad{display:inline-block;padding:.28em .8em;border-radius:999px;background:var(--azul-pale);color:var(--azul-ink);font-weight:800;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.producto--ventana .producto__muestra{align-self:stretch;padding-inline:.7em;font-size:.9rem;letter-spacing:.04em}
.producto--ventana .producto__enlace{letter-spacing:.01em;font-size:.74rem;white-space:nowrap}
.dialogo--proveedor .producto__img{aspect-ratio:4 / 3}
.logo-alianza{cursor:pointer}
/* --- Formación especializada: carrusel de los cinco cursos dentales (30-oct-2026) --- */
/* El ancho también depende del alto de la pantalla: a 1366×768 el botón y los mandos quedaban por debajo de la
   primera pantalla (3-nov-2026). */
.pase--cursos{width:min(100%,440px,max(300px,calc((100svh - 360px) * .75)));margin-inline:auto}
.curso-pase{display:flex;flex-direction:column;align-items:center;gap:.8rem}
.curso-pase img{width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:22px;border:6px solid var(--blanco);box-shadow:var(--sombra-lift)}
/* Cada curso enlaza a su ficha en csaformacion.com: al pasar el cursor sube y enseña «Ver curso ↗» (3-nov-2026). */
.curso-pase__enlace{display:flex;flex-direction:column;align-items:center;gap:.8rem;width:100%;color:inherit;text-decoration:none;border-radius:22px}
.curso-pase__foto{position:relative;display:block;width:100%;border-radius:22px;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.curso-pase__foto img{display:block}
.curso-pase__ver{position:absolute;left:50%;bottom:1.1rem;translate:-50% 6px;padding:.55em 1.1em;border-radius:999px;background:var(--navy);color:var(--blanco);font-weight:800;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity var(--dur-base),translate var(--dur-base) var(--ease-out);pointer-events:none}
.curso-pase__enlace:hover .curso-pase__foto,.curso-pase__enlace:focus-visible .curso-pase__foto{transform:translateY(-6px)}
.curso-pase__enlace:hover .curso-pase__ver,.curso-pase__enlace:focus-visible .curso-pase__ver{opacity:1;translate:-50% 0}
.curso-pase__enlace:focus-visible{outline:3px solid var(--azul-ink);outline-offset:6px}
@media (hover:none){.curso-pase__ver{opacity:1;translate:-50% 0}}
@media (prefers-reduced-motion:reduce){.curso-pase__foto,.curso-pase__ver{transition:none}}
.curso-pase__nombre{font-weight:900;text-transform:uppercase;letter-spacing:.02em;text-align:center;font-size:clamp(1rem,.95rem + .3vw,1.2rem);line-height:1.2;color:var(--navy);min-height:2.4em}
/* --- Alianzas: los 7 logos en dos filas centradas, 4 + 3 (como la captura del cliente, 30-oct-2026) --- */
.logos--alianzas{--g:clamp(1rem,2.5vw,1.8rem);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--g)}
.logos--alianzas>li{flex:0 0 calc((100% - 3 * var(--g)) / 4)}
@media (max-width:700px){.logos--alianzas>li{flex-basis:calc((100% - var(--g)) / 2)}}
/* Desplegables de motivos (30-oct-2026, segunda revisión): cerrados se ven como una tarjeta con «Ver los N motivos». */
.motivos:not(.motivos--compacto) .motivos__resumen{flex-wrap:wrap;padding:clamp(1.1rem,2.5vw,1.6rem) clamp(1.2rem,3vw,2rem);border-radius:24px;background:var(--vidrio-tarjeta);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-filo),var(--sombra-card)}
.motivos:not(.motivos--compacto) .motivos__titulo{flex:1 1 20ch;font-size:clamp(1.5rem,3vw,2.6rem)}
.motivos__ver{order:3;flex-basis:100%;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;color:var(--azul-ink)}
.motivos__ver-cerrar,.motivos[open] .motivos__ver-abrir{display:none}
.motivos[open] .motivos__ver-cerrar{display:inline}
.motivos__resumen:hover .motivos__ver{text-decoration:underline;text-underline-offset:.25em}
/* Precios sobre fondo de color, como la referencia del cliente (segunda revisión). */
.seccion-precios{background:radial-gradient(50% 50% at 85% 10%,rgb(0 144 250 / .35),transparent 70%),radial-gradient(40% 50% at 5% 95%,rgb(253 227 101 / .18),transparent 70%),var(--navy)}
/* Aviso del modo iAiA's (segunda revisión): ventana que sale al entrar en el modo. */
.mayores__dialogo{font-size:1.15rem;line-height:1.55;color:var(--navy)}
.mayores__dialogo .mayores__lista{gap:.6rem;margin-top:.8rem}
.mayores__dialogo p+p,.mayores__dialogo .mayores__lista+p{margin-top:.8rem}

