/* Lic. Débora Cardozo — onepage premium, arquitectura 100% mobile-first */
:root{
  --marfil:#F8F4EC;
  --crema:#F1E9D8;
  --papel:#FFFDF8;
  --salvia:#5F7161;
  --salvia-osc:#3E4F42;
  --salvia-suave:#E4E8DD;
  --dorado:#A98548;
  --dorado-texto:#7F6128;
  --tinta:#2E2A24;
  --tinta-suave:#5C564B;
  --linea:#E2D8C4;
  --radio:16px;
  --sombra:0 14px 24px -12px rgba(46,42,36,.18);
  --sombra-elevada:0 18px 28px -12px rgba(46,42,36,.24);
  --fuente-tit:'Fraunces',Georgia,'Times New Roman',serif;
  --fuente-txt:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* Escala tipográfica disciplinada (ratio ~1.25) */
  --t-xs:.8125rem;   /* 13px */
  --t-sm:.9375rem;   /* 15px */
  --t-base:1.0625rem;/* 17px */
  --t-lg:1.3125rem;  /* 21px */
  --t-xl:clamp(1.75rem,4.5vw,2.5rem);
  --t-2xl:clamp(2.15rem,6.2vw,3.4rem);
  /* Curvas de movimiento orgánicas */
  --curva-calma:cubic-bezier(0.16, 1, 0.3, 1);
  --curva-onda:cubic-bezier(0.22, 1, 0.36, 1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scrollbar-color:var(--salvia) var(--crema);
}
::selection{
  background:var(--salvia-suave);
  color:var(--salvia-osc);
}
body{
  font-family:var(--fuente-txt);
  font-size:var(--t-base);
  line-height:1.65;
  color:var(--tinta);
  background:var(--marfil);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
a{
  color:var(--salvia-osc);
  text-underline-offset:3px;
}
:focus-visible{outline:2px solid var(--dorado);outline-offset:3px;border-radius:6px}
.saltar{position:absolute;left:-9999px;top:0;background:var(--salvia-osc);color:#fff;padding:.6rem 1rem;z-index:60}
.saltar:focus{left:8px;top:8px}

/* Contenedores mobile-first con respiro lateral en cada sección */
.contenedor{width:min(1140px,100%);margin-inline:auto}
.contenedor-angosto{width:min(760px,100%);margin-inline:auto}

h1,h2,h3{
  font-family:var(--fuente-tit);
  font-weight:500;
  line-height:1.18;
  text-wrap:balance;
  color:var(--salvia-osc);
}
h1{font-size:var(--t-2xl);letter-spacing:-.015em}
h2{font-size:var(--t-xl);letter-spacing:-.01em}
h3{font-size:var(--t-lg)}
p{text-wrap:pretty;max-width:68ch}

/* Preludio editorial de sección (sin mayúsculas forzadas largas) */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--fuente-tit);
  font-style:italic;
  font-size:var(--t-sm);
  font-weight:500;
  letter-spacing:.02em;
  color:var(--dorado-texto);
  margin-bottom:.75rem;
}
.eyebrow::before{
  content:"";
  width:18px;
  height:1px;
  background:currentColor;
  opacity:.65;
  flex:none;
}
.eyebrow-claro{color:#E9CF9F}

/* Cabecera mobile-first + hilo de progreso de lectura */
.cabecera{
  position:sticky;top:0;z-index:50;
  padding-inline:1.25rem;
  background:rgba(248,244,236,.9);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.cabecera.con-sombra{
  border-bottom-color:var(--linea);
  box-shadow:0 8px 20px -16px rgba(62,79,66,.28);
}
.cabecera-progreso{
  position:absolute;
  left:0;bottom:-1px;
  height:2px;width:100%;
  background:linear-gradient(90deg,var(--salvia),var(--dorado));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .12s linear;
  pointer-events:none;
}
.cabecera-interior{display:flex;align-items:center;gap:1rem;padding:.7rem 0}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--tinta);margin-right:auto}
.marca-mono{
  font-family:var(--fuente-tit);font-size:var(--t-base);color:#fff;background:var(--salvia);
  width:42px;height:42px;border-radius:50% 50% 50% 50%/58% 58% 42% 42%;
  display:grid;place-items:center;letter-spacing:.03em;flex:none;
}
.marca-texto{font-family:var(--fuente-tit);font-size:var(--t-base);line-height:1.18;color:var(--salvia-osc);display:flex;flex-direction:column}
.marca-texto small{font-family:var(--fuente-txt);font-size:var(--t-xs);font-weight:600;letter-spacing:.04em;color:var(--tinta-suave)}
.nav{display:none}
.cabecera .boton-cabecera{display:none}
.menu-boton{
  flex:none;width:44px;height:44px;border:1px solid var(--linea);border-radius:12px;
  background:var(--papel);cursor:pointer;display:grid;place-content:center;gap:5px;
  transition:background-color .2s ease, border-color .2s ease;
}
.menu-boton:active{transform:scale(.96)}
.menu-boton span{display:block;width:20px;height:2px;background:var(--salvia-osc);border-radius:2px;transition:transform .25s var(--curva-calma),opacity .25s ease}
.menu-boton[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-boton[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-boton[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-movil{
  border-top:1px solid var(--linea);
  background:var(--marfil);
  padding:.5rem 0 .9rem;
  margin-inline:-1.25rem;
  animation:menu-despliegue .28s var(--curva-calma);
}
@keyframes menu-despliegue{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}
.menu-movil a{
  display:block;padding:.75rem 1.25rem;text-decoration:none;
  font-weight:600;font-size:var(--t-base);color:var(--tinta);
  transition:background-color .2s ease, color .2s ease;
}
.menu-movil a:active,.menu-movil a:hover{background:var(--crema);color:var(--salvia-osc)}

/* Botones (ergonomía táctil mobile-first: min 52px alto) */
.boton{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:700;font-size:var(--t-base);text-decoration:none;
  padding:.95rem 1.6rem;border-radius:999px;border:1px solid transparent;
  transition:transform .28s var(--curva-calma), box-shadow .28s var(--curva-calma), background-color .25s ease;
  min-height:52px;text-align:center;
}
.boton:active{transform:scale(.985)}
.boton-primario{background:var(--salvia-osc);color:#fff;box-shadow:0 10px 22px -10px rgba(62,79,66,.5)}
.boton-suave{background:transparent;color:var(--salvia-osc);border-color:var(--salvia)}
.boton-claro{background:#fff;color:var(--salvia-osc);box-shadow:0 10px 22px -12px rgba(0,0,0,.3)}

@media (hover: hover){
  .boton-primario:hover{background:var(--salvia);transform:translateY(-2px)}
  .boton-suave:hover{background:var(--salvia-suave)}
  .boton-claro:hover{transform:translateY(-2px);box-shadow:0 14px 24px -10px rgba(0,0,0,.38)}
}

/* Hero Mobile-First (sin overflow que recorte la insignia flotante) */
.hero{padding:2.2rem 1.25rem 3.4rem;overflow-x:clip}
.hero-grilla{display:grid;gap:2.4rem;align-items:center}
.hero-sub{margin:1rem 0 1.5rem;color:var(--tinta-suave);font-size:var(--t-base);max-width:56ch}
.hero-acciones{display:flex;flex-direction:column;gap:.75rem}
.hero-nota{margin-top:1rem;font-size:var(--t-sm);color:var(--tinta-suave)}
.hero-foto{
  position:relative;
  max-width:390px;
  margin-inline:auto;
  margin-bottom:1.1rem;
  width:100%;
}
.hero-foto img{
  border-radius:190px 190px var(--radio) var(--radio);
  box-shadow:var(--sombra);
  width:100%;object-fit:cover;aspect-ratio:3/4;
}
.hero-foto::before{
  content:"";position:absolute;top:-12px;right:-10px;width:110px;height:110px;
  border:1px solid var(--dorado);border-radius:50%;opacity:.45;z-index:-1;
  transition:transform .8s var(--curva-calma);
}
.hero-tarjeta{
  position:absolute;left:50%;transform:translateX(-50%);bottom:-18px;
  background:var(--papel);border-radius:14px;
  box-shadow:var(--sombra-elevada);
  padding:.65rem 1.15rem;text-align:center;width:max-content;max-width:92%;
}
.hero-tarjeta strong{display:block;font-family:var(--fuente-tit);color:var(--salvia-osc);font-size:var(--t-base)}
.hero-tarjeta span{font-size:var(--t-xs);color:var(--tinta-suave)}

/* Barra de Confianza */
.confianza{background:var(--salvia-osc);color:#EDEBE2;padding:0 1.25rem}
.confianza-grilla{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1rem;padding:1.85rem 1rem;text-align:center}
.confianza-grilla strong{display:block;font-family:var(--fuente-tit);font-size:var(--t-lg);font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.confianza-grilla span{font-size:var(--t-xs);color:#D8DCD2}

/* Secciones base (mobile-first) */
.seccion{padding:3.8rem 1.25rem}
.seccion-suave{background:var(--crema)}
.seccion-cab{max-width:640px;margin-bottom:2.1rem}
.seccion-cab p:last-child{color:var(--tinta-suave);margin-top:.75rem}

/* Tarjetas especialidades (elevación por borde en reposo; acento vivo al revelarse en móvil) */
.tarjetas{display:grid;gap:1rem}
.tarjeta{
  position:relative;
  background:var(--papel);
  border:1px solid var(--linea);
  border-radius:var(--radio);
  padding:1.45rem;
  transition:transform .35s var(--curva-calma), border-color .45s ease, box-shadow .35s var(--curva-calma);
}
.tarjeta-num{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-family:var(--fuente-tit);
  color:var(--dorado-texto);
  font-size:var(--t-sm);
  letter-spacing:.06em;
  font-variant-numeric:tabular-nums;
}
.tarjeta-num::after{
  content:"";
  width:0;
  height:1px;
  background:var(--dorado);
  transition:width .6s var(--curva-calma) .15s;
}
.tarjeta.visible .tarjeta-num::after{width:22px}
.tarjeta h3{margin:.45rem 0 .45rem}
.tarjeta p{color:var(--tinta-suave);font-size:var(--t-sm)}

@media (hover: hover){
  .tarjeta:hover{
    transform:translateY(-3px);
    border-color:rgba(169,133,72,.45);
    box-shadow:var(--sombra);
  }
}

/* Sección ADOS-2 destacada */
.seccion-ados{background:var(--salvia-osc);color:#EDEBE2;position:relative;overflow:hidden}
.seccion-ados::after{
  content:"ADOS-2";position:absolute;right:-.5rem;bottom:-2.6rem;
  font-family:var(--fuente-tit);font-size:clamp(5.5rem,18vw,13rem);line-height:1;
  color:rgba(255,255,255,.045);pointer-events:none;letter-spacing:.02em;
}
.seccion-ados h2{color:#fff}
.seccion-ados .seccion-cab p:last-child{color:#D8DCD2}
.ados-puntos{display:grid;gap:1rem;position:relative;z-index:1}
.ados-punto{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radio);
  padding:1.45rem;
  transition:background-color .35s ease, border-color .35s ease, transform .35s var(--curva-calma);
}
.ados-punto h3{color:#F0D9A8;margin-bottom:.45rem}
.ados-punto p{color:#D8DCD2;font-size:var(--t-sm)}
@media (hover: hover){
  .ados-punto:hover{
    background:rgba(255,255,255,.1);
    border-color:rgba(240,217,168,.38);
    transform:translateY(-3px);
  }
}
.ados-accion{
  margin-top:2rem;display:flex;flex-direction:column;gap:1rem;align-items:stretch;
  position:relative;z-index:1;
}
.ados-sello{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--fuente-tit);
  font-size:var(--t-sm);
  font-weight:500;
  letter-spacing:.02em;
  color:#F0D9A8;
  border:1px solid rgba(240,217,168,.45);
  border-radius:999px;
  padding:.55rem 1.1rem;
  text-align:center;
}
.ados-sello::before{
  content:"";width:7px;height:7px;border-radius:50%;background:#F0D9A8;flex:none;
}

/* Cómo es empezar (scrollytelling protagonista mobile-first + sticky en desktop) */
.seccion-como{
  position:relative;
  background:
    radial-gradient(circle at 12% 18%, rgba(169,133,72,.08) 0%, transparent 52%),
    radial-gradient(circle at 88% 82%, rgba(95,113,97,.08) 0%, transparent 55%),
    var(--crema);
}
.como-grilla{display:grid;gap:1.8rem}
.como-cabecera .seccion-cab{margin-bottom:1.1rem}
.como-indicador{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:var(--papel);
  border:1px solid var(--linea);
  border-radius:999px;
  padding:.48rem 1rem;
  font-size:var(--t-xs);
  font-weight:700;
  color:var(--salvia-osc);
  letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
.como-indicador-punto{
  width:8px;height:8px;border-radius:50%;
  background:var(--dorado);
  box-shadow:0 0 0 4px rgba(169,133,72,.18);
  transition:transform .35s var(--curva-calma), background-color .35s ease;
}

.camino{position:relative;display:grid;gap:1.25rem;padding-left:2.75rem}
.camino-linea{
  position:absolute;left:19px;top:22px;bottom:22px;width:2px;
  background:var(--linea);border-radius:2px;
}
.camino-linea span{
  position:relative;
  display:block;width:100%;height:100%;
  background:linear-gradient(180deg,var(--salvia-osc) 0%,var(--dorado) 100%);
  transform:scaleY(0);transform-origin:top;
  transition:transform .14s linear;
  border-radius:2px;
}
.paso{
  position:relative;
  display:grid;grid-template-columns:1fr;gap:.35rem;
  padding:1.35rem 1.3rem 1.35rem;
  border-radius:var(--radio);
  background:rgba(255,253,248,.48);
  border:1px solid rgba(226,216,196,.75);
  transition:
    opacity .5s var(--curva-calma),
    background-color .5s var(--curva-calma),
    border-color .45s ease,
    transform .5s var(--curva-calma),
    box-shadow .5s var(--curva-calma);
}
/* Barra de luz dorada superior que se llena según --progreso-paso (0 a 1) */
.paso-barra{
  position:absolute;
  left:1.1rem;right:1.1rem;top:0;
  height:2px;
  background:linear-gradient(90deg,var(--dorado),var(--salvia));
  border-radius:2px;
  transform:scaleX(var(--progreso-paso, 0));
  transform-origin:left;
  transition:transform .16s linear, opacity .35s ease;
  opacity:.85;
  pointer-events:none;
}
.paso-etapa{
  display:block;
  font-family:var(--fuente-tit);
  font-style:italic;
  font-size:var(--t-xs);
  color:var(--dorado-texto);
  margin-bottom:.25rem;
}
.paso-num{
  position:absolute;left:-2.75rem;top:1.25rem;
  width:40px;height:40px;border-radius:50%;
  background:var(--papel);border:1px solid var(--dorado-texto);color:var(--salvia-osc);
  font-family:var(--fuente-tit);font-size:var(--t-base);display:grid;place-items:center;z-index:1;
  font-variant-numeric:tabular-nums;
  transition:
    background-color .45s var(--curva-calma),
    color .45s ease,
    border-color .45s ease,
    transform .45s var(--curva-calma),
    box-shadow .45s ease;
}
.paso h3{margin-bottom:.35rem}
.paso p{color:var(--tinta-suave);font-size:var(--t-sm);max-width:58ch}
.paso p strong{color:var(--tinta);font-weight:600}

/* Estados dinámicos del Scrollytelling */
.camino.animado .paso{
  opacity:.46;
  transform:translate3d(0, 8px, 0) scale(.98);
}
.camino.animado .paso.alcanzado{
  opacity:.92;
  transform:translate3d(0, 0, 0) scale(1);
  background:rgba(255,253,248,.78);
}
.camino.animado .paso.actual{
  opacity:1;
  transform:translate3d(0, -2px, 0) scale(1);
  background:var(--papel);
  border-color:rgba(169,133,72,.5);
  box-shadow:var(--sombra);
}
.paso.alcanzado .paso-num{
  background:var(--salvia-osc);
  border-color:var(--salvia-osc);
  color:#fff;
}
.paso.actual .paso-num{
  background:var(--salvia-osc);
  border-color:var(--dorado);
  color:#fff;
  transform:scale(1.1);
  box-shadow:0 0 0 6px rgba(169,133,72,.18);
}

/* CTA limpio debajo de las tarjetas, sin efecto de scroll */
.centro{
  text-align:center;
  margin-top:2.2rem;
}
.centro .boton{
  padding:.82rem 1.85rem;
  min-height:48px;
  white-space:nowrap;
}

/* Sobre mí */
.sobre-grilla{display:grid;gap:2rem;align-items:center}
.sobre-foto{overflow:hidden;border-radius:var(--radio);box-shadow:var(--sombra)}
.sobre-foto img{aspect-ratio:3/2;object-fit:cover;width:100%}
.sobre-rol{font-weight:700;font-size:var(--t-sm);color:var(--dorado-texto);letter-spacing:.03em;margin:.35rem 0 1rem}
.sobre-texto p{color:var(--tinta-suave);margin-bottom:1rem}
.sobre-texto p strong{color:var(--tinta)}
.sobre-sub{margin:1.4rem 0 .8rem;font-size:var(--t-base)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{
  background:var(--salvia-suave);color:var(--salvia-osc);font-weight:600;font-size:var(--t-sm);
  padding:.45rem .9rem;border-radius:999px;border:1px solid #D3DAC7;
}

/* Galería consultorio (con revelado fotográfico en lugar de zoom en hover) */
.galeria{display:grid;gap:1.25rem}
.galeria-item{
  overflow:hidden;
  border-radius:var(--radio);
  background:var(--papel);
  border:1px solid var(--linea);
}
.galeria-item img{
  aspect-ratio:3/2;
  object-fit:cover;
  width:100%;
}
.galeria-item figcaption{
  padding:.85rem 1.15rem;
  font-size:var(--t-sm);
  color:var(--tinta-suave);
  border-top:1px solid var(--linea);
}

/* FAQ con apertura cuidada */
.faq details{
  background:var(--papel);border:1px solid var(--linea);border-radius:14px;
  padding:1rem 1.2rem;margin-bottom:.75rem;
  transition:border-color .25s ease, background-color .25s ease;
}
.faq details[open]{border-color:var(--dorado)}
.faq summary{
  font-weight:700;font-size:var(--t-base);cursor:pointer;color:var(--salvia-osc);
  list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:32px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";font-family:var(--fuente-tit);font-size:var(--t-lg);color:var(--dorado-texto);
  transition:transform .3s var(--curva-calma);flex:none;
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{
  color:var(--tinta-suave);
  font-size:var(--t-sm);
  margin-top:.65rem;
  animation:faq-abre .32s var(--curva-calma);
}
@keyframes faq-abre{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}

/* CTA final (jerarquía en 2 niveles: invitación principal + ficha estructurada) */
.cta-final{
  background:var(--salvia-osc);
  color:#EDEBE2;
  padding:4.2rem 1.25rem 3.8rem;
  text-align:center;
}
.cta-interior{
  max-width:920px;
  margin-inline:auto;
}
.cta-cabecera{
  max-width:600px;
  margin-inline:auto;
}
.cta-final .eyebrow{
  justify-content:center;
  margin-bottom:.85rem;
}
.cta-final .eyebrow::after{
  content:"";
  width:18px;
  height:1px;
  background:currentColor;
  opacity:.65;
  flex:none;
}
.cta-final h2{
  color:#fff;
  font-size:clamp(1.9rem,4.8vw,2.75rem);
  margin-bottom:1rem;
}
.cta-bajada{
  max-width:48ch;
  margin:0 auto 2rem;
  color:#D8DCD2;
  font-size:var(--t-base);
}
.boton-cta-final{
  padding:.95rem 2rem;
  min-height:52px;
  white-space:nowrap;
}
.cta-ficha{
  margin-top:2.8rem;
  padding:1.8rem 1rem 0;
  border-top:1px solid rgba(240,217,168,.22);
  display:grid;
  gap:1.35rem;
  text-align:center;
}
.cta-dato dt{
  font-family:var(--fuente-tit);
  font-style:italic;
  font-size:var(--t-xs);
  color:#F0D9A8;
  letter-spacing:.03em;
  margin-bottom:.25rem;
}
.cta-dato dd{
  display:flex;
  flex-direction:column;
  gap:.12rem;
}
.cta-dato dd strong{
  font-family:var(--fuente-tit);
  font-weight:500;
  font-size:var(--t-base);
  color:#fff;
}
.cta-dato dd span{
  font-size:var(--t-xs);
  color:#D8DCD2;
}

/* Pie */
.pie{padding:1.6rem 1.25rem 2.2rem;background:var(--marfil)}
.pie-interior{display:flex;flex-direction:column;gap:.4rem;align-items:center;text-align:center}
.pie p{font-size:var(--t-sm);color:var(--tinta-suave)}
.pie .credito{font-size:var(--t-xs);color:#6E6656}
.pie .credito a{color:#6E6656;text-decoration:none;border-bottom:1px dotted #B9AF99}
.pie .credito a:hover{color:var(--salvia-osc)}

/* Botón flotante de WhatsApp: joya sutil mobile-first (sin barra fija invasiva) */
.wa-flotante{
  position:fixed;
  right:max(16px, env(safe-area-inset-right));
  bottom:max(18px, env(safe-area-inset-bottom));
  z-index:56;
  display:flex;
  align-items:center;
  gap:.65rem;
  text-decoration:none;
  opacity:.82;
  transform:scale(.94);
  transition:opacity .45s var(--curva-calma), transform .45s var(--curva-calma);
}
.wa-flotante.en-lectura{
  opacity:1;
  transform:scale(1);
}
.wa-icono{
  position:relative;
  flex:none;
  width:50px;
  height:50px;
  border-radius:50%;
  background:var(--salvia-osc);
  color:#fff;
  border:1.5px solid rgba(248,244,236,.38);
  display:grid;
  place-items:center;
  box-shadow:0 10px 24px -6px rgba(46,42,36,.34);
  transition:transform .35s var(--curva-calma), background-color .35s ease, box-shadow .35s ease;
}
.wa-flotante:active .wa-icono{transform:scale(.95)}
@media (hover: hover){
  .wa-flotante:hover .wa-icono{
    transform:scale(1.05);
    background:var(--salvia);
    box-shadow:0 14px 26px -6px rgba(46,42,36,.42);
  }
}
/* Onda única orgánica y muy sutil ("respiración calma") */
.wa-icono::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  border:1px solid rgba(95,113,97,.36);
  background:radial-gradient(circle, rgba(169,133,72,.10) 0%, transparent 72%);
  z-index:-1;
  pointer-events:none;
  animation:wa-onda 4.6s var(--curva-onda) infinite;
}
@keyframes wa-onda{
  0%{transform:scale(1);opacity:0}
  18%{opacity:.38}
  68%{transform:scale(1.26);opacity:0}
  100%{transform:scale(1.26);opacity:0}
}
.wa-etiqueta{
  display:none;
  background:var(--papel);
  color:var(--salvia-osc);
  font-weight:600;
  font-size:var(--t-sm);
  padding:.5rem .95rem;
  border-radius:999px;
  box-shadow:var(--sombra);
  white-space:nowrap;
}

/* Coreografía Scrollytelling: Hero + Secciones + Fotos */
.revelar-hero{
  transition:opacity .85s var(--curva-calma), transform .85s var(--curva-calma);
}
.revelar-hero.preparado{
  opacity:0;
  transform:translate3d(0, 16px, 0);
}
.revelar-hero-foto.preparado{
  opacity:0;
  transform:translate3d(0, 20px, 0) scale(.985);
  transition-delay:120ms;
}
.revelar-hero.visible{
  opacity:1;
  transform:translate3d(0, 0, 0) scale(1);
}

.revelar{
  transition:
    opacity .8s var(--curva-calma),
    transform .8s var(--curva-calma);
  transition-delay:calc(var(--i, 0) * 85ms);
}
.revelar.preparado{
  opacity:0;
  transform:translate3d(0, 20px, 0);
}
.revelar.visible{
  opacity:1;
  transform:translate3d(0, 0, 0);
}

/* Velo fotográfico editorial al hacer scroll */
.revelar-foto img{
  transition:transform 1.05s var(--curva-calma);
}
.revelar-foto.preparado img{
  transform:scale(1.045);
}
.revelar-foto.visible img{
  transform:scale(1);
}

/* Tablet (min-width: 700px) */
@media (min-width:700px){
  .hero-acciones{flex-direction:row;flex-wrap:wrap}
  .tarjetas{grid-template-columns:1fr 1fr}
  .galeria{grid-template-columns:1fr 1fr}
  .confianza-grilla{grid-template-columns:repeat(4,1fr)}
  .ados-puntos{grid-template-columns:repeat(3,1fr)}
  .ados-accion{flex-direction:row;align-items:center;justify-content:space-between}
  .cta-ficha{
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
    padding-top:2rem;
  }
  .cta-dato:not(:first-child){
    border-left:1px solid rgba(240,217,168,.16);
    padding-left:1.5rem;
  }
}

/* Desktop (min-width: 960px) */
@media (min-width:960px){
  .nav{display:flex;gap:1.5rem}
  .nav a{
    position:relative;
    text-decoration:none;font-weight:600;font-size:var(--t-sm);color:var(--tinta);
    padding:.25rem 0;
    transition:color .25s ease;
  }
  .nav a::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;
    background:var(--dorado);transform:scaleX(0);transform-origin:center;
    transition:transform .3s var(--curva-calma);
  }
  .nav a:hover,.nav a.activo{color:var(--salvia-osc)}
  .nav a.activo::after{transform:scaleX(1)}
  .cabecera .boton-cabecera{display:inline-flex;min-height:44px;padding:.55rem 1.2rem;font-size:var(--t-sm)}
  .menu-boton,.menu-movil{display:none !important}
  .hero{padding:4.2rem 1.5rem 4.8rem}
  .hero-grilla{grid-template-columns:1.05fr .95fr;gap:3.5rem}
  .hero-foto{margin-inline:0;margin-left:auto;margin-bottom:0}
  .tarjetas{grid-template-columns:repeat(3,1fr)}
  .sobre-grilla{grid-template-columns:1fr 1fr;gap:3.5rem}
  .seccion{padding:5.2rem 1.5rem}
  .como-grilla{
    grid-template-columns:.82fr 1.18fr;
    gap:3.5rem;
    align-items:start;
  }
  .como-cabecera{
    position:sticky;
    top:6.5rem;
  }
  .camino{padding-left:3.4rem;gap:1.45rem}
  .camino-linea{left:23px}
  .paso{padding:1.55rem 1.65rem}
  .paso-num{left:-3.4rem;width:48px;height:48px;font-size:var(--t-base)}
  .centro{margin-top:2.8rem}
  .wa-flotante{
    right:max(26px, env(safe-area-inset-right));
    bottom:max(26px, env(safe-area-inset-bottom));
    opacity:1;
    transform:none;
  }
  .wa-icono{width:54px;height:54px}
  .wa-etiqueta{
    display:block;
    opacity:0;
    transform:translateX(6px);
    transition:opacity .3s var(--curva-calma),transform .3s var(--curva-calma);
  }
  .wa-flotante:hover .wa-etiqueta,.wa-flotante:focus-visible .wa-etiqueta{
    opacity:1;
    transform:none;
  }
}

/* Movimiento reducido */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .revelar,.revelar-hero{opacity:1 !important;transform:none !important}
  .revelar-foto img{transform:none !important}
}
