/* Página de congelamiento (MX), misma base que el home. Composición del home: portada con tesis + carrusel de servicios (foto y etiqueta de precio que cambian),
   tres puertas ligeras que mandan a su página, una franja visual con las dos promesas (medicamentos
   incluidos, precio completo publicado) y los dos tiempos del congelamiento sin cuentas, el equipo,
   cómo se agenda y el formulario. Una sola acción: «Agendar cita». */
:root{
  --hestia-verde:#AFC9AB; --hestia-crema:#FAFBF0; --hestia-verde-profundo:#95AB83;
  --hestia-verde-oscuro:#4F702D; --hestia-coral:#F4AD95; --hestia-arena:#F4D9B5;
  --hestia-rosa:#F7D7D2; --hestia-terracota:#D49975;
  --bg:var(--hestia-crema); --bg-elevado:#FFFFFF; --bg-suave:#F3F5E8; --bg-franja:#E9F0E4;
  --texto:#3A3A36; --texto-suave:#6E6E66; --texto-enfasis:var(--hestia-verde-oscuro);
  --borde:rgba(79,112,45,.16); --acento:var(--hestia-verde-oscuro); --acento-texto:#FFFFFF;
  --nota-bg:#FFF6D9; --nota-borde:#E9C46A; --nota-texto:#5C4A12;
  --fuente-titulo:'Cabrito Didone Norm','Playfair Display',Georgia,serif;
  --fuente-cuerpo:'Montserrat',system-ui,-apple-system,sans-serif;
  --radio-pildora:999px; --radio-tarjeta:24px; --radio-suave:12px;
  --aire:clamp(2.6rem,5.5vw,4.5rem); --sombra:0 2px 24px rgba(79,112,45,.07);
  --logo-claro:block; --logo-oscuro:none;
  --grad-suave:rgba(247,215,210,.38); --halo:rgba(247,215,210,.75);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#16241A; --bg-elevado:#1F3123; --bg-suave:#1A2B1E; --bg-franja:#223826;
    --texto:#EEF2E6; --texto-suave:#B4C2AC; --texto-enfasis:#CFE5C3;
    --borde:rgba(175,201,171,.24); --acento:#AFC9AB; --acento-texto:#16241A;
    --nota-bg:#3A3216; --nota-borde:#9C8236; --nota-texto:#F2E3B3;
    --grad-suave:rgba(175,201,171,.12); --halo:rgba(244,173,149,.16);
    --sombra:0 2px 24px rgba(0,0,0,.35); --logo-claro:none; --logo-oscuro:block; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#16241A; --bg-elevado:#1F3123; --bg-suave:#1A2B1E; --bg-franja:#223826;
    --texto:#EEF2E6; --texto-suave:#B4C2AC; --texto-enfasis:#CFE5C3;
    --borde:rgba(175,201,171,.24); --acento:#AFC9AB; --acento-texto:#16241A;
    --nota-bg:#3A3216; --nota-borde:#9C8236; --nota-texto:#F2E3B3;
    --grad-suave:rgba(175,201,171,.12); --halo:rgba(244,173,149,.16);
    --sombra:0 2px 24px rgba(0,0,0,.35); --logo-claro:none; --logo-oscuro:block; color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0; background:var(--bg); color:var(--texto); font-family:var(--fuente-cuerpo);
  font-size:1rem; line-height:1.65; -webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--fuente-titulo); font-weight:400; line-height:1.12; letter-spacing:-.01em;
  color:var(--texto-enfasis); margin:0; text-wrap:balance}
h1{font-size:clamp(2.4rem,5.6vw,4rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.2rem)}
h3{font-size:1.35rem}
p{margin:0}
a{color:var(--texto-enfasis)}
.w{max-width:1120px; margin:0 auto; padding-inline:clamp(16px,4vw,32px)}
.kicker{font-weight:600; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--texto-enfasis)}
.sec{padding-block:var(--aire)}
/* el degradado rosa se desvanece antes de terminar la sección: si sigue una sección lisa, la frontera no se ve y los dos rellenos se sumaban como un hueco (Rodrigo, 9-oct) */
.sec--suave + .sec:not(.sec--suave){padding-top:calc(var(--aire) * .4)}
#promesas{padding-top:clamp(.5rem,1.5vw,1rem)}
.sec--suave{background:linear-gradient(180deg,var(--grad-suave),transparent 66%)}
.intro{color:var(--texto-suave); font-size:1.04rem; max-width:58ch}
.cab{display:flex; flex-direction:column; gap:12px; margin-bottom:clamp(28px,4vw,44px)}
.num{font-variant-numeric:tabular-nums}
.logo-c{display:var(--logo-claro)} .logo-o{display:var(--logo-oscuro)}

.btn{display:inline-flex; align-items:center; gap:10px; font:600 .95rem var(--fuente-cuerpo);
  padding:15px 28px; border-radius:var(--radio-pildora); border:1.5px solid var(--acento);
  background:var(--acento); color:var(--acento-texto); text-decoration:none; cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease}
.btn:hover{transform:translateY(-1px); box-shadow:0 8px 22px rgba(79,112,45,.22)}
.btn--claro{background:transparent; color:var(--texto-enfasis)}
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:3px}

/* barra para médicos */
.medicos{background:var(--bg-suave); border-bottom:1px solid var(--borde); font-size:.78rem}
.medicos .w{display:flex; justify-content:flex-end; align-items:center; gap:18px; min-height:36px; flex-wrap:wrap; padding-block:4px}
.medicos span{color:var(--texto-suave); font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:.68rem}
.medicos a{color:var(--texto); text-decoration:none; font-weight:500}
.medicos a:hover{color:var(--texto-enfasis)}
.medicos .nombre-prov{border-bottom:1px dashed var(--nota-borde)}

/* encabezado */
.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:20; background:color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--borde)}
.top .w{display:flex; align-items:center; gap:28px; height:72px}
.top .logo{height:36px; width:auto}
.menu{display:flex; gap:22px; margin-left:auto; font-size:.86rem; font-weight:500}
.menu a{color:var(--texto); text-decoration:none}
.menu a:hover{color:var(--texto-enfasis)}
.top .btn{padding:11px 22px; font-size:.86rem}
@media (max-width:1140px){ .menu{display:none} .top .btn{margin-left:auto} }

/* portada */
.portada{padding-block:clamp(2.6rem,6vw,5rem) clamp(3rem,6vw,5rem); position:relative; overflow:hidden}
.portada::before{content:""; position:absolute; right:-12%; top:-30%; width:62%; aspect-ratio:1;
  background:radial-gradient(closest-side, var(--halo), transparent); pointer-events:none}
.portada .w{display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(28px,5vw,64px); align-items:center; position:relative}
.portada-txt{display:flex; flex-direction:column; gap:22px; min-width:0}
.portada .bajada{font-size:1.12rem; color:var(--texto-suave); max-width:46ch}
.acciones{display:flex; flex-wrap:wrap; gap:12px; margin-top:6px}
.sellos{display:flex; flex-wrap:wrap; gap:8px 20px; font-size:.82rem; color:var(--texto-suave); margin-top:4px}
.sellos span{display:inline-flex; align-items:center; gap:8px}
.sellos span::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--hestia-verde-profundo)}

/* carrusel de servicios */
.vitrina{position:relative; max-width:100%}
.recorte{aspect-ratio:4/5; border-radius:46% 54% 42% 58% / 38% 40% 60% 62%; overflow:hidden; box-shadow:var(--sombra); position:relative; background:var(--bg-suave)}
.recorte img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0;
  transition:opacity 1s ease, transform 6.5s ease-out; transform:scale(1.06)}
.recorte img.on{opacity:1; transform:scale(1)}
.etiqueta{position:absolute; left:-18px; bottom:28px; background:var(--bg-elevado); border-radius:20px;
  padding:16px 20px 14px; box-shadow:0 12px 34px rgba(79,112,45,.16); width:min(270px,82%);
  display:flex; flex-direction:column; gap:2px}
.etiqueta small{font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--texto-suave)}
.etiqueta b{font-family:var(--fuente-titulo); font-weight:400; font-size:1.9rem; color:var(--texto-enfasis); line-height:1.1}
.etiqueta .det{font-size:.8rem; color:var(--texto-suave); min-height:2.6em}
.etiqueta .med{display:inline-flex; align-self:flex-start; align-items:center; gap:6px; margin-top:6px; font-size:.7rem; font-weight:600;
  color:var(--texto-enfasis); background:rgba(175,201,171,.3); border-radius:var(--radio-pildora); padding:4px 10px}
.etiqueta .med[hidden]{display:none}
.etiqueta.cambia > *{animation:entra .55s cubic-bezier(.2,.7,.2,1) both}
.etiqueta.cambia > *:nth-child(2){animation-delay:.05s}
.etiqueta.cambia > *:nth-child(3){animation-delay:.1s}
.etiqueta.cambia > *:nth-child(4){animation-delay:.15s}
@keyframes entra{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
.controles{position:absolute; right:6%; bottom:-6px; display:flex; align-items:center; gap:8px;
  background:var(--bg-elevado); border-radius:var(--radio-pildora); padding:8px 12px; box-shadow:var(--sombra)}
.controles .punto{width:9px; height:9px; border-radius:50%; border:none; padding:0; background:var(--borde); cursor:pointer; transition:width .3s ease, background .3s ease}
.controles .punto.on{width:22px; border-radius:6px; background:var(--hestia-verde-oscuro)}
.controles .pausa{border:none; background:transparent; color:var(--texto-suave); font:600 .7rem var(--fuente-cuerpo); cursor:pointer; padding:0 0 0 4px}
@media (max-width:860px){
  .portada .w{grid-template-columns:1fr}
  .vitrina{max-width:440px; margin-inline:auto; width:100%}
  .etiqueta{left:0}
}

/* las tres decisiones */
.puertas{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch}
.puerta{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:var(--radio-tarjeta);
  padding:28px 26px 24px; display:flex; flex-direction:column; gap:12px; box-shadow:var(--sombra);
  text-decoration:none; color:inherit; transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; min-width:0}
.puerta .dice{font-family:var(--fuente-titulo); font-style:italic; font-size:1.3rem; color:var(--texto-enfasis); line-height:1.3}
.puerta h3{font-family:var(--fuente-cuerpo); font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--texto-suave)}
.puerta .linea{color:var(--texto-suave); font-size:.92rem}
.puerta .pie-p{margin-top:auto; padding-top:16px; border-top:1px solid var(--borde); display:flex; justify-content:space-between; align-items:center; gap:10px}
.puerta .precio{font-family:var(--fuente-titulo); font-size:1.5rem; color:var(--texto-enfasis)}
.puerta .precio small{font-family:var(--fuente-cuerpo); font-size:.72rem; color:var(--texto-suave); margin-right:4px}
.puerta .ir{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--bg-suave); color:var(--texto-enfasis);
  transition:transform .3s ease, background .3s ease; flex:none}
@media (hover:hover){
  .puerta:hover{transform:translateY(-4px); box-shadow:0 14px 36px rgba(79,112,45,.13)}
  .puerta:hover .ir{transform:translateX(3px); background:var(--hestia-verde)}
}
@media (max-width:900px){ .puertas{grid-template-columns:1fr} }

/* la franja de las dos promesas */
.franja{background:var(--bg-franja); border-radius:clamp(24px,4vw,40px); padding:clamp(28px,5vw,56px)}
.promesas{display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,4vw,48px)}
.promesa{display:flex; gap:20px; align-items:flex-start; min-width:0}
.icono{flex:none; width:64px; height:64px; border-radius:50%; background:var(--bg-elevado); display:grid; place-items:center}
.icono svg{width:34px; height:34px; stroke:var(--hestia-verde-oscuro); fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round}
.promesa b{display:block; font-family:var(--fuente-titulo); font-weight:400; font-size:clamp(1.6rem,3vw,2.1rem); color:var(--texto-enfasis); line-height:1.1; margin-bottom:8px}
.promesa p{color:var(--texto); font-size:.95rem; max-width:40ch}
.tiempos{margin-top:clamp(28px,4vw,44px); padding-top:clamp(24px,3vw,36px); border-top:1px solid var(--borde);
  display:grid; grid-template-columns:auto 1fr auto 1fr; gap:14px 20px; align-items:center}
.tiempos .t-tit{grid-column:1/-1; font-family:var(--fuente-titulo); font-size:1.35rem; color:var(--texto-enfasis)}
.tiempo{display:contents}
.tiempo .marca{width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative;
  background:var(--bg-elevado); color:var(--texto-enfasis); border:1.5px solid rgba(149,171,131,.45);
  font-size:.64rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; line-height:1; padding-left:.08em;
  transition:background .6s ease, color .6s ease, border-color .6s ease, transform .6s ease}
.tiempo .marca .anillo{position:absolute; inset:-1.5px; width:calc(100% + 3px); height:calc(100% + 3px); transform:rotate(-90deg); pointer-events:none}
.tiempo .marca .anillo circle{fill:none; stroke:var(--hestia-verde-oscuro); stroke-width:2; stroke-dasharray:164; stroke-dashoffset:164}
.tiempo .marca.dibuja .anillo circle{stroke-dashoffset:0; transition:stroke-dashoffset 2.4s linear}
.tiempo .marca.llego{background:var(--hestia-verde-oscuro); color:#fff; border-color:var(--hestia-verde-oscuro); transform:scale(1.05)}
.tiempo p{transition:opacity .6s ease}
.tiempos.anima .tiempo .marca:not(.llego):not(.dibuja) + p{opacity:.55}
.tiempo p{font-size:.92rem; color:var(--texto)}
.tiempo p b{font-weight:600}
.tiempos .ver{grid-column:1/-1; font-weight:600; font-size:.9rem; text-decoration:none}
@media (max-width:820px){ .promesas{grid-template-columns:1fr} .tiempos{grid-template-columns:auto 1fr} }

/* equipo */
.equipo-foto{border-radius:var(--radio-tarjeta); overflow:hidden; aspect-ratio:21/9; max-width:100%}
.equipo-foto img{width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block}
.equipo-g{display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(24px,4vw,48px); margin-top:clamp(24px,4vw,40px); align-items:start}
.doc-col{display:flex; flex-direction:column; gap:12px}
.escuchala{align-self:flex-start; padding-left:8px; font-size:.86rem; font-weight:600; text-decoration:none; color:var(--texto-enfasis)}
.escuchala em{font-style:normal; font-weight:400; color:var(--texto-suave)}
@media (hover:hover){ .escuchala:hover{text-decoration:underline; text-underline-offset:3px} }
.equipo-g p{color:var(--texto-suave); max-width:56ch}
.doctora{display:flex; gap:16px; align-items:center; background:var(--bg-elevado); border-radius:var(--radio-pildora);
  padding:10px 24px 10px 10px; box-shadow:var(--sombra); text-decoration:none; color:inherit; min-width:0}
.doctora{transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease}
.doctora .foto{position:relative; flex:none; width:64px; height:64px; border-radius:50%}
.doctora .foto::after{content:""; position:absolute; inset:0; border-radius:50%; animation:halo 3.8s ease-out infinite}
@keyframes halo{0%{box-shadow:0 0 0 0 rgba(244,173,149,.55)} 70%{box-shadow:0 0 0 12px rgba(244,173,149,0)} 100%{box-shadow:0 0 0 0 rgba(244,173,149,0)}}
.doctora img{width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:center 18%; display:block}
.doctora .mas{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; flex:none; margin-left:auto;
  background:var(--bg-suave); color:var(--texto-enfasis); transition:transform .3s ease, background .3s ease}
@media (hover:hover){
  .doctora:hover{transform:translateY(-3px); box-shadow:0 12px 30px rgba(79,112,45,.14)}
  .doctora:hover .mas{transform:translateX(3px); background:var(--hestia-verde)}
}
.doctora b{display:block; font-family:var(--fuente-titulo); font-weight:400; font-size:1.1rem; color:var(--texto-enfasis)}
.doctora span{font-size:.8rem; color:var(--texto-suave)}
@media (max-width:760px){ .equipo-g{grid-template-columns:1fr} .equipo-foto{aspect-ratio:4/3} }

/* cómo se agenda: una línea avanza despacio del 1 al 3 y vuelve a empezar */
.pasos{display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative}
.pista{position:absolute; background:rgba(149,171,131,.35); border-radius:2px; z-index:0}
.pista i{position:absolute; inset:0; background:var(--hestia-verde-oscuro); border-radius:2px; transform-origin:left center; transform:scaleX(0)}
.pasos.vertical .pista i{transform-origin:center top; transform:scaleY(0)}
.paso{padding:0 22px 0 0; display:flex; flex-direction:column; gap:10px; position:relative}
.paso .n{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; line-height:1; font-family:var(--fuente-titulo);
  font-size:1.2rem; color:var(--texto-enfasis); background:var(--bg-elevado); border:1.5px solid var(--hestia-verde-profundo); position:relative; z-index:1;
  transition:background .6s ease, color .6s ease, border-color .6s ease, transform .6s ease}
.paso h3, .paso p{transition:opacity .6s ease}
.paso.llego .n{background:var(--hestia-verde-oscuro); color:#fff; border-color:var(--hestia-verde-oscuro); transform:scale(1.06)}
.pasos.anima .paso:not(.llego) h3, .pasos.anima .paso:not(.llego) p{opacity:.55}
.paso p{color:var(--texto-suave); font-size:.92rem; max-width:32ch}
@media (max-width:760px){
  .pasos{grid-template-columns:1fr; gap:28px}
  .paso{display:grid; grid-template-columns:44px 1fr; column-gap:18px; row-gap:4px; padding:0}
  .paso .n{grid-row:1 / span 2}
  .paso h3{align-self:center}
}

/* formulario */
.cierre{display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(28px,5vw,60px); align-items:start}
.cierre-txt{display:flex; flex-direction:column; gap:16px; min-width:0}
.cierre-txt p{color:var(--texto-suave); max-width:44ch}
.contacto{display:flex; flex-direction:column; gap:6px; font-size:.9rem; margin-top:6px}
.contacto b{font-weight:600}
form.agenda{background:var(--bg-elevado); border-radius:var(--radio-tarjeta); padding:clamp(22px,3.4vw,34px); box-shadow:var(--sombra);
  display:flex; flex-direction:column; gap:16px; min-width:0}
.campo{display:flex; flex-direction:column; gap:6px}
.campo label{font-size:.8rem; font-weight:600}
.campo input, .campo select{font:inherit; font-size:.95rem; padding:13px 16px; border-radius:var(--radio-suave);
  border:1px solid var(--borde); background:var(--bg); color:var(--texto); width:100%; min-width:0}
.tel{display:grid; grid-template-columns:110px 1fr; gap:8px}
.consent{display:flex; gap:10px; font-size:.8rem; color:var(--texto-suave); align-items:flex-start}
.consent input{margin-top:3px; accent-color:var(--hestia-verde-oscuro)}
form .btn{justify-content:center; width:100%}
.listo{display:flex; flex-direction:column; gap:12px; text-align:center; padding:16px 0}
.listo b{font-family:var(--fuente-titulo); font-weight:400; font-size:1.6rem; color:var(--texto-enfasis)}
.asesora{display:flex; gap:14px; align-items:center; text-align:left; background:var(--bg-suave); border-radius:18px; padding:14px 16px}
.asesora .ini{width:48px; height:48px; flex:none; border-radius:50%; background:var(--hestia-verde); color:var(--hestia-verde-oscuro);
  display:grid; place-items:center; font-family:var(--fuente-titulo); font-size:1.3rem}
.asesora p{font-size:.88rem; color:var(--texto)}
@media (max-width:860px){ .cierre{grid-template-columns:1fr} }

/* pie */
.pie{background:var(--hestia-verde-oscuro); color:#F2F4E6; padding-block:48px 36px; font-size:.86rem}
.pie .w{display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:32px}
.pie img{height:42px; width:auto; margin-bottom:14px}
.pie b{color:var(--hestia-arena); font-weight:600; display:block; margin-bottom:8px; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase}
.pie a{color:#F2F4E6}
.pie p{opacity:.92}
.pie .legal{grid-column:1/-1; border-top:1px solid rgba(242,244,230,.2); padding-top:18px; font-size:.76rem; opacity:.8;
  display:flex; flex-wrap:wrap; gap:8px 22px}
@media (max-width:860px){ .pie .w{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .pie .w{grid-template-columns:1fr} }

/* notas de construcción (sólo en el mockup) */
.barra-mock{background:var(--nota-bg); color:var(--nota-texto); border-bottom:1px solid var(--nota-borde); font-size:.8rem}
.barra-mock .w{display:flex; align-items:center; gap:14px; min-height:42px; flex-wrap:wrap; padding-block:6px}
.barra-mock button{font:600 .78rem var(--fuente-cuerpo); color:var(--nota-texto); background:transparent; border:1px solid var(--nota-borde);
  border-radius:var(--radio-pildora); padding:5px 14px; cursor:pointer; margin-left:auto}
.nota{display:none; background:var(--nota-bg); color:var(--nota-texto); border:1px dashed var(--nota-borde); border-radius:12px;
  padding:10px 14px; font-size:.78rem; line-height:1.5}
.nota b{font-weight:600}
body.con-notas .nota{display:block}

/* entrada */
@keyframes sube{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
@keyframes aparece{from{opacity:0} to{opacity:1}}
.portada-txt > *{animation:sube .7s cubic-bezier(.2,.7,.2,1) both}
.portada-txt > *:nth-child(2){animation-delay:.08s}
.portada-txt > *:nth-child(3){animation-delay:.16s}
.portada-txt > *:nth-child(4){animation-delay:.24s}
.portada-txt > *:nth-child(5){animation-delay:.32s}
.vitrina{animation:sube .9s .15s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){
  /* sin desplazamientos ni acercamientos; el carrusel sigue, sólo con fundidos */
  .portada-txt > *, .vitrina, .etiqueta.cambia > *{animation-name:aparece}
  .recorte img, .recorte img.on{transform:none; transition:opacity 1s ease}
  .puerta, .btn{transition:none}
  .puerta:hover, .btn:hover{transform:none}
}

/* --- 13-oct (Gerd y Debbie) --- */
/* modo oscuro: verde Hestia profundo en lugar de casi negro */
.doctora{padding:14px 30px 14px 14px}
.doctora .foto, .doctora img{width:84px; height:84px}
.doctora b{font-size:1.4rem}
.doctora span{font-size:.92rem}
.escuchala{padding:10px 18px; border:1.5px solid var(--borde); border-radius:var(--radio-pildora); font-size:.98rem; background:var(--bg-elevado)}
.tiempo p{font-size:1.02rem}
.tiempos .t-tit{font-size:1.6rem}
.menu a, .top .btn{white-space:nowrap}
/* menú en celular: botón hamburguesa (lo crea el script del encabezado) */
.hamb{display:none; width:44px; height:44px; border-radius:50%; border:1.5px solid var(--borde); background:var(--bg-elevado);
  color:var(--texto-enfasis); cursor:pointer; place-items:center; flex:none; padding:0}
.hamb i, .hamb i::before, .hamb i::after{display:block; width:18px; height:2px; border-radius:2px; background:currentColor; position:relative; transition:transform .25s ease, opacity .25s ease}
.hamb i::before, .hamb i::after{content:""; position:absolute; left:0}
.hamb i::before{top:-6px} .hamb i::after{top:6px}
.top.abierto .hamb i{background:transparent}
.top.abierto .hamb i::before{transform:translateY(6px) rotate(45deg)}
.top.abierto .hamb i::after{transform:translateY(-6px) rotate(-45deg)}
.hamb:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:2px}
@media (max-width:1140px){
  .hamb{display:grid; margin-left:10px}
  .top .w{position:relative}
  .top.abierto .menu{display:flex; flex-direction:column; gap:0; position:absolute; top:calc(100% + 8px); left:clamp(16px,4vw,32px); right:clamp(16px,4vw,32px);
    margin:0; padding:8px; background:var(--bg-elevado); border:1px solid var(--borde); border-radius:20px; box-shadow:0 18px 40px rgba(0,0,0,.18); font-size:1rem; z-index:30}
  .top.abierto .menu a{padding:13px 16px; border-radius:12px}
  .top.abierto .menu a:hover{background:var(--bg-franja)}
}
@media (max-width:420px){ .top .btn{padding:12px 16px; font-size:.85rem} }

/* --- congelamiento --- */
.menu a.activo{color:var(--texto-enfasis); font-weight:600}
.tit-l{font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--texto-enfasis)}
/* qué incluye: a lo ancho, en tres columnas; lo que va aparte, como una línea discreta debajo */
.incluye-caja{background:var(--bg-elevado); border-radius:var(--radio-tarjeta); padding:clamp(24px,3.4vw,38px); box-shadow:var(--sombra)}
.lista-si{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:22px 28px}
.lista-si li{display:grid; grid-template-columns:22px 1fr; column-gap:12px; row-gap:2px; min-width:0}
.lista-si li::before{content:""; grid-row:1 / span 2; width:20px; height:20px; margin-top:3px; border-radius:50%;
  background:var(--hestia-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.2 4.7-5' fill='none' stroke='%234F702D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.lista-si b{font-weight:600; font-size:.95rem; color:var(--texto)}
.lista-si span{font-size:.86rem; color:var(--texto-suave)}
.aparte{margin-top:clamp(22px,3vw,30px); padding-top:18px; border-top:1px dashed var(--borde); font-size:.86rem; color:var(--texto-suave)}
.aparte .tit-l{display:block; margin-bottom:4px; color:var(--texto-suave)}
.incluye-caja .nota{margin-top:14px}
@media (max-width:900px){ .lista-si{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .lista-si{grid-template-columns:1fr} }
/* proceso: cinco pasos y el precio de cada etapa */
.pasos--5{grid-template-columns:repeat(5,1fr)}
.paso .hito{align-self:flex-start; margin-top:auto; font-family:var(--fuente-titulo); font-size:1.15rem; color:var(--texto-enfasis);
  background:var(--bg-suave); border-radius:var(--radio-pildora); padding:3px 12px}
.paso .hito small{font-family:var(--fuente-cuerpo); font-size:.7rem; color:var(--texto-suave)}
.paso .hito--total{background:var(--hestia-verde-oscuro); color:#fff}
@media (max-width:760px){ .pasos--5{grid-template-columns:1fr} .paso .hito{grid-column:2} }
/* después: dos tiempos */
.despues-g{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(24px,4vw,48px); align-items:center}
.despues-txt{display:flex; flex-direction:column; gap:12px; min-width:0}
.despues-txt p{color:var(--texto); max-width:46ch}
.tiempos--v{margin-top:0; padding-top:0; border-top:none; grid-template-columns:auto 1fr; gap:22px 18px}
.tiempos--v .tiempo p{display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:2px 12px}
.tiempos--v .tiempo p b{font-weight:600}
.tiempos--v .pr{font-family:var(--fuente-titulo); font-size:1.35rem; color:var(--texto-enfasis); text-align:right}
.tiempos--v small{grid-column:1 / -1; font-size:.82rem; color:var(--texto-suave)}
.tiempo .marca{font-size:.58rem; text-align:center; line-height:1.15; padding:0 6px}
.franja .letra{font-size:.78rem; color:var(--texto-suave); margin-top:18px}
@media (max-width:820px){ .despues-g{grid-template-columns:1fr} }
/* opcionales */
.opcionales{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.opc{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:var(--radio-tarjeta); padding:26px; box-shadow:var(--sombra);
  display:flex; flex-direction:column; gap:10px; min-width:0; transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease}
.opc p{color:var(--texto-suave); font-size:.92rem}
.opc .pr{margin-top:auto; padding-top:12px; border-top:1px solid var(--borde); font-family:var(--fuente-titulo); font-size:1.5rem; color:var(--texto-enfasis)}
@media (hover:hover){ .opc:hover{transform:translateY(-4px); box-shadow:0 14px 36px rgba(79,112,45,.13)} }
@media (max-width:700px){ .opcionales{grid-template-columns:1fr} }
/* preguntas, con la silueta de la diosa a la derecha */
.faq-g{display:grid; grid-template-columns:1fr minmax(180px,300px); gap:clamp(24px,5vw,72px); align-items:center}
.diosa{display:block; width:100%; aspect-ratio:683/900; pointer-events:none; background:var(--hestia-verde-oscuro); opacity:.22;
  --silueta:url(/img/571edc80212f.png); -webkit-mask:var(--silueta) center/contain no-repeat; mask:var(--silueta) center/contain no-repeat; order:2}
@media (max-width:820px){ .faq-g{grid-template-columns:1fr} .diosa{width:min(200px,55%); margin-inline:auto; order:0} }
/* preguntas */
.faq{display:flex; flex-direction:column; gap:10px; max-width:820px}
.faq details{background:var(--bg-elevado); border-radius:18px; padding:4px 22px; box-shadow:var(--sombra)}
.faq summary{cursor:pointer; list-style:none; padding:16px 0; font-family:var(--fuente-titulo); font-size:1.15rem; color:var(--texto-enfasis);
  display:flex; justify-content:space-between; gap:16px; align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--fuente-cuerpo); font-size:1.3rem; color:var(--texto-enfasis); transition:transform .3s ease; flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--texto-suave); padding:0 0 18px; max-width:64ch}
@media (prefers-reduced-motion:reduce){ .opc:hover{transform:none} }

/* --- FIV: dos paquetes, complementos en tres y el escalón a otros tratamientos --- */
.paquetes{display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:stretch}
.paq{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:var(--radio-tarjeta); padding:clamp(22px,3vw,32px);
  box-shadow:var(--sombra); display:flex; flex-direction:column; gap:12px; min-width:0;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease}
.paq h3{font-family:var(--fuente-cuerpo); font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--texto-suave)}
.paq-precio{font-family:var(--fuente-titulo); font-size:clamp(2.2rem,4vw,2.8rem); line-height:1; color:var(--texto-enfasis)}
.paq p{color:var(--texto-suave); font-size:.94rem}
.paq-etapas{margin-top:auto; padding-top:14px; border-top:1px solid var(--borde); display:flex; flex-direction:column; gap:6px; font-size:.86rem; color:var(--texto-suave)}
.paq-etapas span{display:flex; justify-content:space-between; gap:12px}
.paq-etapas b{font-weight:600; color:var(--texto); white-space:nowrap}
.paq--com{border-color:rgba(79,112,45,.35)}
@media (hover:hover){ .paq:hover{transform:translateY(-4px); box-shadow:0 14px 36px rgba(79,112,45,.13)} }
@media (max-width:760px){ .paquetes{grid-template-columns:1fr} }
.aviso-fx{font-size:.84rem; color:var(--texto-suave); margin-top:18px}
.opcionales--3{grid-template-columns:repeat(3,1fr)}
.opc .pr small{font-family:var(--fuente-cuerpo); font-size:.74rem; color:var(--texto-suave)}
@media (max-width:900px){ .opcionales--3{grid-template-columns:1fr} }
.escalon{background:var(--bg-elevado); border-radius:var(--radio-tarjeta); padding:clamp(22px,3vw,32px); box-shadow:var(--sombra);
  display:flex; flex-wrap:wrap; gap:16px 32px; align-items:center; justify-content:space-between}
.escalon > div{flex:1 1 420px; display:flex; flex-direction:column; gap:8px; min-width:0}
.escalon p{color:var(--texto-suave); max-width:60ch}
.paso .hito small{display:block}
@media (prefers-reduced-motion:reduce){ .paq:hover{transform:none} }

/* --- diagnóstico --- */
.dos-listas{display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,4vw,48px)}
.dos-listas .tit-l{margin-bottom:14px}
.lista-1{grid-template-columns:1fr}
.opc--link{text-decoration:none; color:inherit}
.opc--link .pr::after{content:" →"; font-family:var(--fuente-cuerpo); font-size:1rem}
.opc .pr small{font-family:var(--fuente-cuerpo); font-size:.74rem; color:var(--texto-suave)}
@media (max-width:700px){ .dos-listas{grid-template-columns:1fr} }

/* --- caminos elegibles --- */
.elige{font-size:.8rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--texto-enfasis); margin:6px 0 0}
.dos-prog{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.prog{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:18px; padding:16px 18px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:4px;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease}
.prog small{font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--texto-suave)}
.prog b{font-family:var(--fuente-titulo); font-weight:400; font-size:1.3rem; color:var(--texto-enfasis)}
.prog b::after{content:" →"; font-family:var(--fuente-cuerpo); font-size:.95rem}
.prog span{font-size:.86rem; color:var(--texto-suave)}
.prog[aria-pressed="true"]{border-color:var(--hestia-verde-oscuro); box-shadow:0 0 0 2px var(--hestia-verde-oscuro)}
@media (hover:hover){ .prog:hover{transform:translateY(-3px); box-shadow:var(--sombra)} }
html.js .camino{display:none}
html.js .camino.on{display:block}
.cinta-prog{position:sticky; top:calc(env(safe-area-inset-top,0px) + var(--alto-top,73px)); z-index:5; background:var(--bg); border-bottom:1px solid var(--borde)}
.cinta-prog .w{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding-block:10px}
.cinta-prog span{font-size:.78rem; color:var(--texto-suave)}
.seg{display:inline-flex; background:var(--bg-suave); border-radius:999px; padding:4px; gap:4px}
.seg button{font:inherit; font-size:.86rem; font-weight:600; border:0; border-radius:999px; padding:7px 16px; background:transparent; color:var(--texto-enfasis); cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--hestia-verde-oscuro); color:#fff}
.seg button:focus-visible, .prog:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:2px}
@media (max-width:520px){ .dos-prog{grid-template-columns:1fr} }

/* --- precios --- */
.portada--precios{padding-block:clamp(2.6rem,6vw,4.5rem)}
.portada--precios .w{display:flex; flex-direction:column; gap:16px}
.portada--precios h1{max-width:16ch}
.portada--precios .bajada{max-width:52ch}
.sellos-p{list-style:none; margin:4px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 10px}
.sellos-p li{font-size:.82rem; font-weight:500; color:var(--texto-enfasis); background:var(--bg-franja); border-radius:999px; padding:7px 14px}
.pr-chips{position:sticky; top:calc(env(safe-area-inset-top,0px) + var(--alto-top,73px)); z-index:5; display:flex; flex-wrap:wrap; gap:8px; padding:12px 0;
  background:var(--bg); box-shadow:0 0 0 100vmax var(--bg); clip-path:inset(0 -100vmax); margin-bottom:6px; border-bottom:1px solid var(--borde)}
.pr-chips a, .pr-chips button{font:inherit; font-size:.82rem; font-weight:500; text-decoration:none; color:var(--texto-enfasis);
  border:1px solid var(--borde); background:var(--bg-elevado); border-radius:999px; padding:7px 14px; cursor:pointer}
.pr-chips button{margin-left:auto; color:var(--texto-suave)}
.pr-vig{font-size:.84rem; color:var(--texto-suave); margin-bottom:8px}
.pr-grupo{margin-top:clamp(26px,4vw,40px); scroll-margin-top:150px}
.pr-grupo h2{font-size:clamp(1.35rem,2.4vw,1.7rem); margin-bottom:12px}
.pr{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:18px; margin-bottom:10px; overflow:hidden;
  transition:box-shadow .3s ease}
.pr[open]{box-shadow:var(--sombra)}
.pr summary{list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr auto 22px; gap:16px; align-items:center; padding:16px 20px}
.pr summary::-webkit-details-marker{display:none}
.pr summary::after{content:"+"; font-size:1.3rem; color:var(--texto-enfasis); text-align:center; transition:transform .3s ease}
.pr[open] summary::after{transform:rotate(45deg)}
.pr summary:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:-3px}
.pr-n{display:flex; flex-direction:column; gap:2px; min-width:0}
.pr-n b{font-weight:600; color:var(--texto)}
.pr-n small{font-size:.84rem; color:var(--texto-suave)}
.pr-p{font-family:var(--fuente-titulo); font-size:1.5rem; color:var(--texto-enfasis); text-align:right; line-height:1.1; white-space:nowrap}
.pr-p small{display:block; font-family:var(--fuente-cuerpo); font-size:.72rem; color:var(--texto-suave)}
.pr-det{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px 28px; padding:4px 20px 20px; border-top:1px solid var(--borde); padding-top:16px}
.pr-det .tit-l{display:block; margin-bottom:6px}
.pr-si, .pr-no{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px; font-size:.88rem}
.pr-si li::before{content:"✓ "; color:var(--hestia-verde-oscuro); font-weight:600}
.pr-no li{color:var(--texto-suave)}
.pr-no li::before{content:"· "}
.pr-etapas{display:flex; flex-direction:column; gap:4px; font-size:.88rem; color:var(--texto-suave)}
.pr-etapas span:not(.tit-l){display:flex; justify-content:space-between; gap:12px}
.pr-etapas b{color:var(--texto); font-weight:600}
.pr-nota{grid-column:1/-1; font-size:.82rem; color:var(--texto-suave)}
.pr-liga{grid-column:1/-1; font-size:.86rem; font-weight:600; text-decoration:none}
.pr-liga::after{content:" →"}
.pr-det .nota{grid-column:1/-1; margin:0}
@media (max-width:700px){ .pr-chips{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-inline:-16px; padding-inline:16px}
  .pr-chips::-webkit-scrollbar{display:none} .pr-chips a, .pr-chips button{flex:none} }
@media (max-width:560px){ .pr summary{grid-template-columns:1fr 18px} .pr-p{grid-column:1; grid-row:2; text-align:left} .pr summary::after{grid-column:2; grid-row:1} }

/* --- médicos --- */
/* elegir programa: se carga sólo el elegido (como surrogacy); sin JS se ven los dos */
.elige{font-size:.8rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--texto-enfasis); margin-top:6px}
.prog[aria-pressed="true"]{border-color:var(--hestia-verde-oscuro); box-shadow:0 0 0 2px var(--hestia-verde-oscuro)}
html.js .camino, html.js .camino-form{display:none}
html.js .camino.on, html.js .camino-form.on{display:block}
.cinta-prog{position:sticky; top:calc(env(safe-area-inset-top,0px) + var(--alto-top,73px)); z-index:5; background:var(--bg); border-bottom:1px solid var(--borde)}
.cinta-prog .w{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding-block:10px}
.cinta-prog span{font-size:.78rem; color:var(--texto-suave)}
.seg{display:inline-flex; background:var(--bg-suave); border-radius:999px; padding:4px; gap:4px}
.seg button{font:inherit; font-size:.86rem; font-weight:600; border:0; border-radius:999px; padding:7px 16px; background:transparent; color:var(--texto-enfasis); cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--hestia-verde-oscuro); color:#fff}
.seg button:focus-visible, .prog:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:2px}

.portada--med{padding-block:clamp(2.6rem,6vw,4.5rem)}
.portada--med .w{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,5vw,64px); align-items:center}
.portada--med .txt{display:flex; flex-direction:column; gap:16px; min-width:0}
.portada--med h1{max-width:15ch}
.med-foto{margin:0; border-radius:240px 240px var(--radio-tarjeta) var(--radio-tarjeta); overflow:hidden; aspect-ratio:4/5; max-width:420px; justify-self:end; width:100%;
  box-shadow:0 0 0 10px var(--bg-franja), var(--sombra)}
.med-foto img{width:100%; height:100%; object-fit:cover; display:block}
.dos-prog{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:6px}
.prog{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:18px; padding:16px 18px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:4px;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease}
.prog small{font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--texto-suave)}
.prog b{font-family:var(--fuente-titulo); font-weight:400; font-size:1.3rem; color:var(--texto-enfasis)}
.prog b::after{content:" →"; font-family:var(--fuente-cuerpo); font-size:.95rem}
.prog span{font-size:.86rem; color:var(--texto-suave)}
@media (hover:hover){ .prog:hover{transform:translateY(-3px); box-shadow:var(--sombra)} }
.cab h2{text-wrap:balance}
.h3g{font-size:clamp(1.25rem,2.2vw,1.55rem); color:var(--texto-enfasis)}
.sub-k{font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--texto-suave); margin:clamp(20px,3vw,30px) 0 12px}
.circulo{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; counter-reset:c}
.circulo li{background:var(--bg-elevado); border-radius:var(--radio-tarjeta); padding:20px; display:flex; flex-direction:column; gap:6px; box-shadow:var(--sombra); position:relative}
.circulo .n{width:34px; height:34px; border-radius:50%; background:var(--hestia-verde-oscuro); color:#fff; display:grid; place-items:center; font-family:var(--fuente-titulo); margin-bottom:6px}
.circulo li:last-child .n{background:var(--hestia-coral); color:#3A3A36}
.circulo b{font-weight:600; color:var(--texto-enfasis)}
.circulo span:not(.n){font-size:.9rem; color:var(--texto-suave)}
.frase{font-family:var(--fuente-titulo); font-size:clamp(1.2rem,2vw,1.45rem); color:var(--texto-enfasis); margin-top:16px}
.partner{margin-top:clamp(28px,4vw,44px); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(20px,4vw,48px); align-items:start}
.partner-cab{display:flex; flex-direction:column; gap:8px}
.beneficios{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.beneficios > div, .diferencia > div{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:18px; padding:16px 18px; display:flex; flex-direction:column; gap:4px}
.beneficios b, .diferencia b{font-weight:600; color:var(--texto)}
.beneficios span, .diferencia span{font-size:.88rem; color:var(--texto-suave)}
.beneficios .dest{background:var(--hestia-verde-oscuro); border-color:var(--hestia-verde-oscuro)}
.beneficios .dest b, .beneficios .dest span, .beneficios .dest strong{color:#fff}
.proceso{list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:12px 18px; counter-reset:p}
.proceso li{counter-increment:p; display:flex; flex-direction:column; gap:4px; padding-left:40px; position:relative}
.proceso li::before{content:counter(p); position:absolute; left:0; top:-2px; width:28px; height:28px; border-radius:50%; border:1px solid var(--hestia-verde-oscuro);
  color:var(--texto-enfasis); display:grid; place-items:center; font-size:.82rem; font-weight:600}
.proceso b{font-weight:600; color:var(--texto)}
.proceso span{font-size:.88rem; color:var(--texto-suave)}
.proceso--3{grid-template-columns:1fr; gap:14px}
/* médicos externos (19-oct) */
.proceso--4{grid-template-columns:repeat(4,1fr)}
.sello-bienvenida{align-self:flex-start; margin:0; padding:8px 16px; border-radius:999px; background:var(--bg-suave); color:var(--texto-enfasis); font-weight:600; font-size:.95rem}
.mex-lab{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,64px); align-items:center}
.mex-foto{margin:0; border-radius:var(--radio-tarjeta); overflow:hidden; aspect-ratio:4/3; box-shadow:var(--sombra)}
.mex-foto img{width:100%; height:100%; object-fit:cover; display:block}
.mex-mapa{margin:8px 0 0; border-radius:var(--radio-tarjeta); overflow:hidden; border:1px solid var(--borde)}
.mex-mapa img{width:100%; display:block}
@media (max-width:900px){ .mex-lab{grid-template-columns:1fr} .proceso--4{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .proceso--4{grid-template-columns:1fr} }
/* médicos externos · demo del portal (19-oct, del video de la campaña) */
.mex-gancho{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,64px); align-items:center}
.mex-gancho .btn{align-self:flex-start}
.mex-chat{position:relative; display:flex; flex-direction:column; gap:12px; min-height:330px; justify-content:center}
.mex-chat span{align-self:flex-end; max-width:78%; padding:12px 20px; border-radius:22px 22px 6px 22px; background:var(--bg-elevado); border:1px solid var(--borde);
  font-size:.95rem; color:var(--texto); box-shadow:0 6px 18px rgba(0,0,0,.05); transition:opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1)}
.mex-chat span:nth-child(even){align-self:flex-start; border-radius:22px 22px 22px 6px; background:var(--bg-suave)}
html.js .mex-chat span{opacity:0; transform:translateY(16px) scale(.96)}
html.js .mex-chat.entra span{opacity:1; transform:none}
html.js .mex-chat.limpia span{opacity:0; transform:translateX(40px) scale(.94)}
.mex-chat.entra span:nth-child(2){transition-delay:.25s} .mex-chat.entra span:nth-child(3){transition-delay:.5s}
.mex-chat.entra span:nth-child(4){transition-delay:.75s} .mex-chat.entra span:nth-child(5){transition-delay:1s} .mex-chat.entra span:nth-child(6){transition-delay:1.25s}
.mex-demo{margin-top:clamp(36px,6vw,64px); background:var(--bg); border:1px solid var(--borde); border-radius:var(--radio-tarjeta); padding:clamp(18px,3vw,32px); box-shadow:var(--sombra)}
.mex-tabs{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(18px,3vw,28px)}
.mex-tabs button{font:inherit; font-size:.88rem; font-weight:600; display:inline-flex; align-items:center; gap:8px; border:1px solid var(--borde); background:var(--bg-elevado);
  color:var(--texto-enfasis); border-radius:999px; padding:8px 16px 8px 8px; cursor:pointer; position:relative; overflow:hidden}
.mex-tabs button i{font-style:normal; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--hestia-verde-oscuro); font-size:.75rem}
.mex-tabs button[aria-selected="true"]{background:var(--hestia-verde-oscuro); color:#fff; border-color:var(--hestia-verde-oscuro)}
.mex-tabs button[aria-selected="true"] i{border-color:#fff}
.mex-tabs button::after{content:""; position:absolute; left:0; bottom:0; height:3px; width:var(--avance,0%); background:var(--hestia-coral)}
.mex-tabs button:focus-visible, .mex-pausa:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:2px}
.mex-escena{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(20px,4vw,48px); align-items:center}
.mex-txt{display:flex; flex-direction:column; gap:12px; min-width:0}
.mex-tit{font-family:var(--fuente-titulo); font-weight:400; font-size:clamp(1.5rem,3vw,2.2rem); line-height:1.12; margin:0; color:var(--texto-enfasis)}
.mex-sub{margin:0; color:var(--texto-suave)}
.mex-pausa{align-self:flex-start; font:inherit; font-size:.8rem; border:0; background:none; color:var(--texto-suave); text-decoration:underline; cursor:pointer; padding:4px 0}
.mex-pantallas{position:relative; min-height:360px; display:grid}
.mex-hilo{position:absolute; left:-12%; top:50%; width:40%; height:40px; overflow:visible; pointer-events:none}
.mex-hilo path{fill:none; stroke:var(--hestia-verde-oscuro); stroke-width:3; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .9s ease}
.mex-pantallas.vivo .mex-hilo path{stroke-dashoffset:0}
.mex-card{grid-area:1/1; align-self:center; background:var(--bg-elevado); border:1px solid var(--borde); border-radius:22px; padding:22px 24px; display:flex; flex-direction:column; gap:12px;
  box-shadow:0 18px 44px rgba(0,0,0,.08); position:relative; z-index:1; opacity:0; visibility:hidden; transform:translateY(18px) scale(.97);
  transition:opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1), visibility 0s .55s}
.mex-card.on{opacity:1; visibility:visible; transform:none; transition:opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1), visibility 0s}
.mex-bar{display:flex; justify-content:space-between; gap:12px; font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--texto-suave)}
.mex-ej{color:var(--hestia-coral)}
.mex-ttl{font-family:var(--fuente-titulo); font-weight:400; font-size:1.35rem; color:var(--texto-enfasis)}
.mex-row{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid var(--borde); font-size:.95rem}
.mex-row span:first-child{color:var(--texto-suave)} .mex-row b{font-weight:600; color:var(--texto); font-variant-numeric:tabular-nums}
.mex-pill{display:inline-block; align-self:flex-start; font-size:.78rem; font-weight:600; padding:5px 12px; border-radius:999px; background:var(--bg-suave); color:var(--texto-enfasis)}
.mex-pill.hot{background:var(--hestia-coral); color:#3A2A24}
.mex-acc{display:flex; align-items:center; gap:14px; margin-top:4px}
.mex-btn{display:inline-block; padding:10px 22px; border-radius:999px; background:var(--hestia-verde-oscuro); color:#fff; font-weight:600; font-size:.9rem; transition:transform .15s ease}
.mex-btn.pulsa{transform:scale(.94)}
.mex-card .pop{animation:mexPop .45s cubic-bezier(.2,1.6,.4,1) both}
@keyframes mexPop{from{opacity:0; transform:scale(.6)} to{opacity:1; transform:none}}
.mex-flujo{display:flex; align-items:center; gap:10px; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--texto-enfasis)}
.mex-flujo i{flex:1; height:2px; background:linear-gradient(90deg,var(--hestia-verde-oscuro) var(--f,0%), var(--borde) var(--f,0%)); transition:--f 1s}
.mex-cel{background:none; border:0; box-shadow:none; align-items:center}
.mex-tel{width:min(300px,100%); border-radius:42px; border:10px solid var(--texto-enfasis); background:var(--bg-suave); padding:26px 16px; display:flex; flex-direction:column; gap:12px;
  box-shadow:0 22px 50px rgba(0,0,0,.14)}
.mex-mini{background:var(--bg-elevado); border-radius:18px; padding:14px 16px; display:flex; flex-direction:column; gap:4px; box-shadow:0 6px 16px rgba(0,0,0,.06)}
.mex-mini small{font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--texto-suave)}
.mex-mini b{font-weight:600}
.mex-cel.on .mex-mini{animation:mexEntra .5s cubic-bezier(.2,.7,.2,1) both} .mex-cel.on .mex-mini:nth-child(2){animation-delay:.2s} .mex-cel.on .mex-mini:nth-child(3){animation-delay:.4s}
@keyframes mexEntra{from{opacity:0; transform:translateX(-40px)} to{opacity:1; transform:none}}
#ubicacion .mex-mapa{margin:0}
@media (max-width:900px){ .mex-gancho, .mex-escena{grid-template-columns:1fr} .mex-chat{min-height:0} .mex-hilo{display:none} }
@media (prefers-reduced-motion: reduce){ .mex-card, .mex-chat span, .mex-mini{transition:none !important; animation:none !important} }
.mex-intro{max-width:62ch; display:flex; flex-direction:column; gap:12px}
.mex-video{position:relative; margin:clamp(24px,4vw,40px) auto 0; max-width:980px; border-radius:var(--radio-tarjeta); overflow:hidden; box-shadow:var(--sombra); background:var(--bg-suave); aspect-ratio:16/9}
.mex-video video{display:block; width:100%; height:100%; object-fit:cover; background:var(--bg-suave)}
.mex-video.vertical{aspect-ratio:9/16; max-width:420px}
.mex-play{position:absolute; inset:auto 50% 50% auto; transform:translate(50%,50%); display:inline-flex; align-items:center; gap:12px; font:inherit; font-weight:600;
  border:0; border-radius:999px; padding:12px 22px 12px 12px; background:var(--hestia-verde-oscuro); color:#fff; cursor:pointer; box-shadow:0 12px 30px rgba(0,0,0,.18)}
.mex-play-i{width:40px; height:40px; border-radius:50%; background:#fff; position:relative}
.mex-play-i::after{content:""; position:absolute; left:15px; top:11px; border-left:14px solid var(--hestia-verde-oscuro); border-top:9px solid transparent; border-bottom:9px solid transparent}
.mex-play:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:3px}
.mex-video.reproduce .mex-play{display:none}
.mex-demo-tit{margin:clamp(28px,5vw,48px) 0 0; font-weight:600; color:var(--texto-enfasis)}
.mex-demo-tit + .mex-demo{margin-top:12px}
.diferencia{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:clamp(22px,3vw,32px)}
.sede-g{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,64px); align-items:start}
.sede-col{display:flex; flex-direction:column; gap:12px; min-width:0}
.lista-v{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
.lista-v li{padding-left:26px; position:relative; color:var(--texto-suave); font-size:.95rem}
.lista-v li::before{content:"✓"; position:absolute; left:0; color:var(--hestia-verde-oscuro); font-weight:600}
.lista-v b{color:var(--texto); font-weight:600}
.en-claro{margin-top:clamp(22px,3vw,32px); padding:18px 22px; border-radius:18px; background:var(--bg-suave); border-left:3px solid var(--hestia-verde-profundo); max-width:860px}
.en-claro b{display:block; font-weight:600; color:var(--texto-enfasis); margin-bottom:4px}
.en-claro p{font-size:.94rem; color:var(--texto-suave)}
@media (max-width:900px){ .portada--med .w, .partner, .sede-g{grid-template-columns:1fr} .med-foto{justify-self:start; max-width:300px}
  .circulo{grid-template-columns:1fr 1fr} .proceso, .diferencia{grid-template-columns:1fr} }
@media (max-width:520px){ .dos-prog, .circulo, .beneficios{grid-template-columns:1fr} }

.beneficios .dest-obs{grid-column:1/-1}   /* honorarios de obstetricia (Gerd, 16-oct) */
/* --- Alianza: tu potencial (13-oct, de la experiencia de Lety y Pablo) --- */
.potencial{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(20px,4vw,44px); margin-top:clamp(28px,4vw,44px); padding:clamp(22px,3vw,34px);
  background:var(--bg-elevado); border:1px solid var(--borde); border-radius:var(--radio-tarjeta); box-shadow:var(--sombra); align-items:center}
.pot-txt{display:flex; flex-direction:column; gap:12px; min-width:0}
.pot-txt > p{color:var(--texto-suave); font-size:.94rem}
.pot-lab{display:flex; justify-content:space-between; align-items:baseline; font-weight:600; font-size:.9rem; margin-top:6px}
.pot-lab b{font-family:var(--fuente-titulo); font-weight:400; font-size:2rem; color:var(--texto-enfasis)}
.pot-slider{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:99px; outline:none; --p:21%;
  background:linear-gradient(90deg,var(--hestia-verde-oscuro) var(--p),var(--bg-franja) var(--p))}
.pot-slider::-webkit-slider-thumb{-webkit-appearance:none; width:28px; height:28px; border-radius:50%; background:var(--bg-elevado); border:3px solid var(--hestia-verde-oscuro); box-shadow:0 2px 8px rgba(0,0,0,.15); cursor:pointer}
.pot-slider::-moz-range-thumb{width:24px; height:24px; border-radius:50%; background:var(--bg-elevado); border:3px solid var(--hestia-verde-oscuro); cursor:pointer}
.pot-slider:focus-visible{outline:3px solid var(--hestia-coral); outline-offset:6px}
.pot-seg{display:flex; flex-wrap:wrap; gap:8px}
.pot-seg button{font:500 .84rem var(--fuente-cuerpo); padding:9px 14px; border-radius:999px; border:1px solid var(--borde); background:var(--bg); color:var(--texto); cursor:pointer}
.pot-seg button[aria-checked="true"]{background:var(--hestia-verde-oscuro); border-color:var(--hestia-verde-oscuro); color:#fff}
.pot-res{display:flex; flex-direction:column; gap:6px; padding:clamp(20px,3vw,28px); border-radius:20px; background:var(--bg-franja); min-width:0}
.pot-nivel{align-self:flex-start; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:5px 12px; border-radius:999px; background:var(--hestia-verde-oscuro); color:#fff}
.pot-nivel.l3{background:var(--hestia-terracota)}
.pot-total{font-family:var(--fuente-titulo); font-weight:400; font-size:clamp(2.4rem,5vw,3.4rem); line-height:1.05; color:var(--texto-enfasis)}
.pot-sub{font-size:.84rem; color:var(--texto-suave)}
.pot-per{font-size:.9rem; margin-top:6px}
.pot-barra{height:6px; border-radius:99px; background:var(--bg-elevado); overflow:hidden; margin-top:8px}
.pot-barra i{display:block; height:100%; width:50%; background:var(--hestia-coral); transition:width .5s cubic-bezier(.2,.7,.2,1)}
.pot-falta{font-size:.8rem; color:var(--texto-suave)}
.pot-res .btn{align-self:flex-start; margin-top:10px}
.niveles{list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.niveles > li{background:var(--bg-elevado); border:1px solid var(--borde); border-radius:20px; padding:18px; display:flex; flex-direction:column; gap:4px;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease; opacity:.72}
.niveles > li.on{opacity:1; border-color:var(--hestia-verde-oscuro); box-shadow:0 12px 30px rgba(79,112,45,.14); transform:translateY(-4px)}
.niv-pct{font-family:var(--fuente-titulo); font-size:2rem; line-height:1; color:var(--texto-enfasis)}
.niveles b{font-size:1.05rem}
.niveles small{font-size:.78rem; color:var(--texto-suave)}
.niveles ul{margin:8px 0 0; padding-left:18px; font-size:.84rem; color:var(--texto-suave); display:flex; flex-direction:column; gap:3px}
@media (max-width:860px){ .potencial{grid-template-columns:1fr} .niveles{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .niveles > li, .pot-barra i{transition:none} }

/* --- 13-oct: Alianza y Sede en páginas propias --- */
.med-foto--ancha{aspect-ratio:4/3; max-width:560px; border-radius:var(--radio-tarjeta)}
.med-foto--ancha img{object-position:center 35%}
.portada--med .w:has(.med-foto--ancha){grid-template-columns:1fr 1fr}
@media (max-width:900px){ .med-foto--ancha{max-width:100%} }
.otro-prog{font-size:.88rem; color:var(--texto-suave)}
.otro-prog a{font-weight:600; text-decoration:none; display:inline-block; white-space:nowrap}   /* 20-oct: el enlace nunca se parte; si no cabe, baja completo */
.otro-prog{text-wrap:pretty}
.sec--pot .potencial{margin-top:0}
.beneficios--3{grid-template-columns:1.25fr 1fr 1fr; grid-auto-rows:minmax(0,auto); gap:14px}
.beneficios--3 > div{padding:20px 22px; gap:6px}
.beneficios--3 .dest-pac{grid-row:1 / span 2; background:var(--hestia-rosa); border-color:var(--hestia-coral); justify-content:flex-end; padding:clamp(22px,3vw,32px)}
.beneficios--3 .dest-pac b, .beneficios--3 .dest-pac span, .beneficios--3 .dest-pac strong{color:#3A3A36}
.beneficios--3 .dest-pac b{font-size:1.15rem}
.beneficios--3 .dest-pac span:not(.dp-num){font-size:.95rem}
.dp-num{font-family:var(--fuente-titulo); font-size:clamp(3.4rem,7vw,5rem); line-height:1; color:#3A3A36 !important; margin-bottom:auto}
@media (max-width:900px){ .beneficios--3{grid-template-columns:1fr 1fr} .beneficios--3 .dest-pac{grid-row:auto; grid-column:1 / -1}  }
@media (max-width:520px){ .beneficios--3{grid-template-columns:1fr} }
