/* 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} }
