/* ==========================================================================
   MENPEZ — estilo
   Paneles de color plenos (violeta y tinta del logo) sobre un fondo claro,
   tipografía grande y apretada, y el verde agua reservado para las acciones.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0}
img,svg{max-width:100%;display:block}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0}
a{color:inherit}

/* ---------- tokens ---------- */
:root{
  color-scheme:light;
  --violeta:#6A5AE0;
  --violeta-hondo:#5646CF;
  --violeta-claro:#E4E0FF;
  --lavanda:#D2CCFF;
  --verde:#2FC6A4;
  --verde-vivo:#48D6B5;
  --menta:#A9F2DD;
  --tinta:#1C1830;
  --tinta-suave:#2A2542;
  --tinta-2:#4F4A66;
  --tinta-3:#817B98;
  --fondo:#F6F5FB;
  --papel:#FDFCFF;
  --linea:rgba(28,24,48,.10);
  --linea-clara:rgba(253,252,255,.16);
  --mal:#FF9B80;
  --ok:#6BE3C4;

  --r-panel:clamp(24px,3vw,36px);
  --r-md:18px;
  --r-sm:12px;

  --fuente:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --salida:cubic-bezier(.22,1,.36,1);
  --foco:var(--violeta);
}

body{
  font-family:var(--fuente);
  color:var(--tinta);
  background:var(--fondo);
  font-size:clamp(15px,1.02vw,17px);
  line-height:1.6;
  overflow-x:hidden;
  font-kerning:normal;
}

/* ---------- tipografía ---------- */
h1,h2,h3{margin:0;font-weight:800;text-wrap:balance;letter-spacing:-.025em;line-height:1.02}
h1{font-size:clamp(2.7rem,7.2vw,5.6rem);letter-spacing:-.03em;line-height:.98}
h2{font-size:clamp(2rem,4.4vw,3.4rem)}
h3{font-size:clamp(1.15rem,1.7vw,1.35rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.lead{font-size:clamp(1.05rem,1.45vw,1.2rem);line-height:1.55;max-width:52ch}
.suave{color:var(--tinta-2)}
.tenue{color:var(--tinta-3)}
.chico{font-size:.86rem}
.numeros{font-variant-numeric:tabular-nums}
.rotulo{
  display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--violeta-hondo);
}

/* ---------- layout ---------- */
.envoltorio{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}
.marco{padding-inline:clamp(8px,1.2vw,16px)}
.seccion{padding-block:clamp(64px,10vw,132px)}
.seccion-corta{padding-block:clamp(40px,6vw,72px)}
.apilar{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,22px)}
.fila{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.cabecera{display:grid;gap:clamp(14px,2vw,24px);margin-bottom:clamp(32px,5vw,60px)}
@media (min-width:900px){.cabecera.partida{grid-template-columns:1fr 1fr;align-items:end}}

/* ---------- paneles de color ---------- */
.panel{border-radius:var(--r-panel);position:relative;overflow:hidden}
.panel-violeta{background:var(--violeta);color:var(--papel);--foco:var(--papel)}
.panel-tinta{background:var(--tinta);color:var(--papel);--foco:var(--menta)}
.panel-violeta .rotulo{color:var(--lavanda)}
.panel-tinta .rotulo{color:var(--menta)}
.panel-violeta .suave{color:var(--violeta-claro)}
.panel-tinta .suave{color:#C9C4DD}
.panel-tinta .tenue,.panel-violeta .tenue{color:#B3ACD6}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.8rem;
  border:0;cursor:pointer;text-decoration:none;
  padding:.62rem .65rem .62rem 1.3rem;border-radius:14px;
  font-weight:700;font-size:1rem;line-height:1.1;letter-spacing:-.01em;
  transition:transform .3s var(--salida),background-color .25s,box-shadow .3s var(--salida);
}
.btn .flechita{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;
  transition:transform .3s var(--salida);
}
.btn:hover .flechita{transform:translateX(3px)}
.btn:active{transform:scale(.97)}
.btn-verde{background:var(--verde);color:var(--tinta);box-shadow:0 14px 30px -18px rgba(18,120,98,.9)}
.btn-verde .flechita{background:var(--tinta);color:var(--menta)}
.btn-verde:hover{background:var(--verde-vivo);transform:translateY(-2px)}
.btn-tinta{background:var(--tinta);color:var(--papel)}
.btn-tinta:hover{background:var(--tinta-suave);transform:translateY(-2px)}
.btn-chico{padding:.72rem 1.1rem;font-size:.92rem;border-radius:12px}
.btn-texto{
  background:none;padding:.6rem .2rem;font-weight:600;color:inherit;
  text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;
  text-decoration-color:color-mix(in oklab,currentColor 45%,transparent);
}
.btn-texto:hover{text-decoration-color:currentColor}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important}
.ico-wa{width:20px;height:20px}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2.5px solid var(--foco);outline-offset:3px;border-radius:12px;
}

/* ---------- barra superior ---------- */
.barra{
  position:sticky;top:0;z-index:40;padding-block:.8rem;
  background:color-mix(in oklab,var(--fondo) 88%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.barra .envoltorio{display:flex;align-items:center;gap:1.5rem;justify-content:space-between}
.marca{display:block;flex:none}
.logo{height:28px;width:auto}
.menu{display:none;gap:2rem;font-size:.95rem;font-weight:600;color:var(--tinta-2)}
.menu a{text-decoration:none;transition:color .2s}
.menu a:hover{color:var(--tinta)}
@media (min-width:880px){.menu{display:flex}}

/* ---------- hero ---------- */
.hero{padding-block:clamp(40px,6vw,76px) clamp(28px,4vw,44px)}
.hero-grilla{display:grid;gap:clamp(36px,5vw,64px);align-items:center}
@media (min-width:980px){.hero-grilla{grid-template-columns:1.08fr .92fr}}
.hero h1{color:var(--papel)}
.hero h1 .resalte{color:var(--menta)}
.hero .lead{color:var(--violeta-claro)}
.hero-acciones{margin-top:.5rem;gap:1.1rem}

.cifras{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,3vw,40px);
  margin-top:clamp(36px,5vw,64px);padding-top:clamp(20px,2.5vw,28px);
  border-top:1px solid var(--linea-clara);
}
.cifra b{display:block;font-size:clamp(1.3rem,3.6vw,2.6rem);font-weight:800;letter-spacing:-.04em;line-height:1}
.cifra span{display:block;margin-top:.45rem;font-size:.86rem;line-height:1.35;color:var(--violeta-claro);max-width:18ch}

/* ---------- el duelo: 200 pantallas contra 12 ---------- */
.duelo-caja{
  background:var(--tinta);border-radius:26px;padding:clamp(18px,2.2vw,26px);
  box-shadow:0 40px 80px -40px rgba(20,12,70,.8);
}
.duelo-titulo{display:flex;align-items:center;gap:.55rem;font-size:.85rem;font-weight:600;color:#C9C4DD;margin-bottom:1rem}
.duelo-titulo .led{width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 4px rgba(47,198,164,.18)}
.duelo{display:grid;gap:14px;grid-template-columns:1fr;align-items:stretch}
@media (min-width:560px){.duelo{grid-template-columns:1.32fr auto 1fr;gap:clamp(8px,1.4vw,16px)}}
/* overflow:hidden hace que los puntos que caen desaparezcan en el borde */
.lado{
  display:flex;flex-direction:column;gap:.8rem;padding:1rem 1rem .95rem;overflow:hidden;
  background:var(--tinta-suave);border-radius:18px;
}
.lado .cabeza{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.lado .que{font-weight:700;font-size:.98rem;color:var(--papel);letter-spacing:-.015em}
.marcador{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;white-space:nowrap}
.marcador.mal{background:rgba(255,155,128,.14);color:var(--mal)}
.marcador.ok{background:rgba(107,227,196,.14);color:var(--ok)}
.lado .pie{font-size:.88rem;color:#B3ACD6;margin-top:auto}
.lado .pie b{color:var(--papel);font-weight:700}
.pie .rojo{color:var(--mal);font-weight:700}
.pie .verde{color:var(--ok);font-weight:700}
.flecha{display:grid;place-items:center;transform:rotate(90deg);color:var(--menta)}
@media (min-width:560px){.flecha{transform:none}}

.puntos{display:grid;gap:3px}
.puntos i{display:block;aspect-ratio:1;max-width:100%;border-radius:50%}
.muchos{grid-template-columns:repeat(20,1fr)}
.muchos i{background:rgba(253,252,255,.13)}
.muchos i.usada{background:#9D90FF}
@media (prefers-reduced-motion:reduce){.muchos i:not(.usada){opacity:.45}}
/* width:100% no es decorativo: con ancho auto y márgenes auto, flex no estira
   la grilla y los puntos colapsan a cero. */
.pocos{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:150px;margin-inline:auto}
.pocos i{background:var(--verde);animation:brotarPunto .5s var(--salida) both}
@keyframes brotarPunto{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
.pocos i:nth-child(1){animation-delay:.55s} .pocos i:nth-child(2){animation-delay:.6s}
.pocos i:nth-child(3){animation-delay:.65s} .pocos i:nth-child(4){animation-delay:.7s}
.pocos i:nth-child(5){animation-delay:.75s} .pocos i:nth-child(6){animation-delay:.8s}
.pocos i:nth-child(7){animation-delay:.85s} .pocos i:nth-child(8){animation-delay:.9s}
.pocos i:nth-child(9){animation-delay:.95s} .pocos i:nth-child(10){animation-delay:1s}
.pocos i:nth-child(11){animation-delay:1.05s} .pocos i:nth-child(12){animation-delay:1.1s}

/* ---------- las preguntas de todos los días ---------- */
.preguntas-grilla{display:grid;gap:clamp(28px,4vw,56px)}
@media (min-width:900px){.preguntas-grilla{grid-template-columns:.9fr 1.1fr;align-items:start}}
.preguntas{list-style:none;margin:0;padding:0;counter-reset:p}
.preguntas li{
  counter-increment:p;display:flex;align-items:baseline;gap:1.1rem;
  padding-block:clamp(14px,1.8vw,20px);border-bottom:1px solid var(--linea);
  font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;
}
.preguntas li:first-child{border-top:1px solid var(--linea)}
.preguntas li::before{content:counter(p,decimal-leading-zero);font-size:.8rem;font-weight:700;letter-spacing:.05em;color:var(--violeta);flex:none;width:2ch}

/* ---------- la cuenta de las horas ---------- */
.cuenta{
  background:var(--papel);border-radius:var(--r-panel);border:1px solid var(--linea);
  display:grid;overflow:hidden;
}
@media (min-width:820px){.cuenta{grid-template-columns:1.1fr .9fr}}
.cuenta-entrada{padding:clamp(24px,4vw,48px)}
.cuenta-salida{padding:clamp(24px,4vw,48px);background:var(--violeta-claro);display:flex;flex-direction:column;justify-content:center;gap:.4rem}
.cuenta h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.cifra-h{font-size:clamp(3.2rem,8vw,4.8rem);font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--violeta)}
.grande-n{font-size:clamp(3rem,7vw,4.4rem);font-weight:800;letter-spacing:-.05em;line-height:.95;color:var(--violeta-hondo)}

/* ---------- slider ---------- */
.rango{-webkit-appearance:none;appearance:none;width:100%;height:34px;background:transparent;cursor:grab;margin:0}
.rango:active{cursor:grabbing}
.rango::-webkit-slider-runnable-track{
  height:10px;border-radius:999px;
  background:linear-gradient(90deg,var(--violeta) var(--pos,40%),rgba(28,24,48,.10) var(--pos,40%));
}
.rango::-moz-range-track{height:10px;border-radius:999px;background:rgba(28,24,48,.10)}
.rango::-moz-range-progress{height:10px;border-radius:999px;background:var(--violeta)}
.rango::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:28px;height:28px;margin-top:-9px;border-radius:50%;
  background:var(--papel);box-shadow:0 6px 16px -6px rgba(40,24,120,.8),inset 0 0 0 5px var(--violeta);
  transition:transform .2s var(--salida);
}
.rango::-webkit-slider-thumb:hover{transform:scale(1.1)}
.rango::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:var(--papel);box-shadow:0 6px 16px -6px rgba(40,24,120,.8),inset 0 0 0 5px var(--violeta)}

/* ---------- cómo trabajamos ---------- */
.fases{display:grid;gap:clamp(28px,3vw,40px)}
@media (min-width:860px){.fases{grid-template-columns:repeat(3,1fr)}}
.fase{display:flex;flex-direction:column;gap:.7rem;padding-top:1.4rem;border-top:2px solid var(--tinta)}
.fase .num{font-size:clamp(2.6rem,4.5vw,3.6rem);font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--violeta)}
.fase p{color:var(--tinta-2)}
.fase ul{margin:.2rem 0 0;padding-left:1.1rem;color:var(--tinta-2);display:flex;flex-direction:column;gap:.45rem;font-size:.95rem}
.fase strong{color:var(--tinta)}
.sello{margin-top:auto;padding-top:.6rem;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--tinta-3)}

/* ---------- ejemplos: la tarjeta se da vuelta ----------
   Las dos caras se apilan con grid (mismo grid-area): la altura la fija la
   cara más alta y nunca se corta el texto. */
.ejemplos{display:grid;gap:clamp(14px,2vw,22px)}
@media (min-width:860px){.ejemplos{grid-template-columns:repeat(3,1fr)}}
.flipper{perspective:1400px;cursor:pointer;border-radius:22px}
.cara-doble{display:grid;height:100%;transform-style:preserve-3d;transition:transform .7s var(--salida)}
.flipper[aria-expanded="true"] .cara-doble{transform:rotateY(180deg)}
.cara{
  grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:22px;padding:clamp(22px,2.6vw,30px);
  display:flex;flex-direction:column;gap:1rem;
}
.cara.frente{background:var(--papel);border:1px solid var(--linea)}
.cara.dorso{background:var(--tinta);color:var(--papel);transform:rotateY(180deg);justify-content:center}
.cara .tag{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--violeta)}
.cara.dorso .tag{color:var(--menta)}
.tramo{display:flex;flex-direction:column;gap:.3rem}
.tramo .rot{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3)}
.tramo p{font-size:.96rem;line-height:1.5;color:var(--tinta-2)}
.tramo.situacion p{color:var(--tinta);font-weight:700;font-size:1.12rem;line-height:1.25;letter-spacing:-.02em}
.tramo.resultado .rot{color:var(--menta)}
.tramo.resultado p{color:var(--papel);font-weight:700;font-size:clamp(1.25rem,2vw,1.45rem);line-height:1.2;letter-spacing:-.025em}
.pista{margin-top:auto;padding-top:.4rem;font-size:.84rem;font-weight:600;color:var(--tinta-3);transition:color .25s}
.flipper:hover .pista{color:var(--violeta)}
.cara.dorso .pista{color:#B3ACD6}

/* ---------- cotización ---------- */
.cotizacion{padding:clamp(28px,5vw,64px)}
.cot-grilla{display:grid;gap:clamp(32px,4vw,56px)}
@media (min-width:900px){.cot-grilla{grid-template-columns:1fr 1fr}}
.dos-partes{display:grid;gap:.6rem;margin-top:.4rem}
.parte{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:var(--r-md);background:var(--tinta-suave)}
.parte .pic{width:10px;height:10px;border-radius:3px;margin-top:.45rem;flex:none;background:var(--verde)}
.parte .pic.dos{background:#9D90FF}
.parte b{display:block;font-weight:700}
.parte span span{font-size:.9rem;color:#C9C4DD}
.modulitos{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.pastilla{
  display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:999px;
  background:var(--tinta-suave);font-size:.86rem;font-weight:500;color:#E2DEF2;
}
.punto{width:6px;height:6px;border-radius:50%;background:var(--verde);flex:none}
.autos-bloque{margin-top:clamp(32px,4vw,52px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--linea-clara)}
.autos{display:grid;gap:.9rem 2rem;margin-top:1.2rem}
@media (min-width:700px){.autos{grid-template-columns:1fr 1fr}}
.autos div{display:flex;gap:.75rem;align-items:flex-start;font-size:.95rem;line-height:1.45;color:#C9C4DD}
.autos b{color:var(--papel);font-weight:700}
.tilde{width:20px;height:20px;flex:none;margin-top:.1rem;color:var(--menta)}

/* ---------- preguntas frecuentes ---------- */
.faq-grilla{display:grid;gap:clamp(24px,4vw,56px)}
@media (min-width:900px){.faq-grilla{grid-template-columns:.8fr 1.2fr;align-items:start}.faq-grilla .cabecera{position:sticky;top:96px}}
.acordeon{border-top:1px solid var(--linea)}
.acordeon details{border-bottom:1px solid var(--linea)}
.acordeon summary{
  cursor:pointer;list-style:none;padding:1.15rem 0;font-weight:700;font-size:1.06rem;letter-spacing:-.015em;
  display:flex;justify-content:space-between;gap:1rem;align-items:center;
}
.acordeon summary::-webkit-details-marker{display:none}
.acordeon summary::after{
  content:"";width:22px;height:22px;flex:none;border-radius:50%;
  background:
    linear-gradient(var(--tinta),var(--tinta)) center/10px 2px no-repeat,
    linear-gradient(var(--tinta),var(--tinta)) center/2px 10px no-repeat,
    var(--violeta-claro);
  transition:transform .35s var(--salida);
}
.acordeon details[open] summary::after{transform:rotate(45deg)}
.acordeon p{padding-bottom:1.2rem;color:var(--tinta-2);max-width:62ch}

/* ---------- cierre: el embudo ---------- */
.cierre{padding:clamp(28px,5vw,64px)}
.cierre h2{color:var(--papel)}
.tablero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.marcaje{display:flex;align-items:baseline;gap:.55rem}
.marcaje .n{font-size:clamp(2.6rem,5vw,3.4rem);font-weight:800;letter-spacing:-.05em;line-height:1}
.marcaje .de{font-size:.95rem;color:var(--violeta-claro)}
.lectura{font-size:.95rem;color:var(--violeta-claro);max-width:36ch}
@media (min-width:700px){.lectura{text-align:right}}
.termo{height:6px;border-radius:999px;background:rgba(253,252,255,.18);overflow:hidden;margin-bottom:1.4rem}
.termo i{display:block;height:100%;width:0;border-radius:999px;background:var(--menta);transition:width .5s var(--salida)}

.dolores{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.chip{
  display:flex;align-items:center;gap:.75rem;border:0;cursor:pointer;text-align:left;
  padding:.85rem 1rem;border-radius:var(--r-sm);font-size:.95rem;font-weight:600;line-height:1.3;
  background:rgba(253,252,255,.1);color:var(--papel);box-shadow:inset 0 0 0 1px rgba(253,252,255,.2);
  transition:transform .25s var(--salida),background-color .2s,box-shadow .2s,color .2s;
}
.chip::before{
  content:"";width:18px;height:18px;flex:none;border-radius:6px;box-shadow:inset 0 0 0 1.5px rgba(253,252,255,.55);
  transition:background-color .2s,box-shadow .2s;
}
.chip:hover{background:rgba(253,252,255,.17)}
.chip[aria-pressed="true"]{background:var(--papel);color:var(--tinta);box-shadow:none}
.chip[aria-pressed="true"]::before{
  box-shadow:none;
  background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5.5' fill='none' stroke='%231C1830' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
}

/* el formulario y la vista previa, en la "ventana" oscura */
.ventana{margin-top:clamp(24px,3vw,36px);background:var(--tinta);border-radius:24px;display:grid;overflow:hidden}
@media (min-width:860px){.ventana{grid-template-columns:1fr 1fr}}
.ventana-form{padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:1rem}
.ventana-form .btn{width:100%;justify-content:space-between;white-space:nowrap}
@media (min-width:860px){.ventana-form .btn{width:auto}}
.ventana-chat{padding:clamp(20px,3vw,32px);background:var(--tinta-suave);display:flex;flex-direction:column;gap:1rem}
.chat-cabeza{display:flex;align-items:center;gap:.7rem;padding-bottom:.9rem;border-bottom:1px solid var(--linea-clara)}
.chat-cabeza img{width:36px;height:36px;border-radius:10px;background:var(--papel);padding:5px}
.chat-cabeza b{display:block;font-size:.95rem}
.chat-cabeza span{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#B3ACD6}
.chat-cabeza span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--verde)}
.campo{display:flex;flex-direction:column;gap:.4rem}
.campo label{font-size:.85rem;font-weight:600;color:#C9C4DD}
.campo input,.campo textarea{
  border:0;border-radius:var(--r-sm);padding:.85rem 1rem;width:100%;
  background:var(--tinta-suave);color:var(--papel);box-shadow:inset 0 0 0 1px rgba(253,252,255,.1);
  transition:box-shadow .2s;
}
.campo input::placeholder,.campo textarea::placeholder{color:#8C86A6}
.campo input:focus,.campo textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--menta)}
.burbuja{
  align-self:flex-end;max-width:min(44ch,100%);
  background:var(--violeta);color:var(--papel);border-radius:18px 18px 6px 18px;
  padding:.95rem 1.1rem;font-size:.92rem;line-height:1.5;white-space:pre-wrap;
}
/* la burbuja reserva su alto: si no, el tipeo la hace crecer y salta la página */
#mensajeVista{min-height:11em}
.tipeando::after{content:"▍";color:var(--menta);animation:latir 1s steps(2) infinite}
@keyframes latir{50%{opacity:0}}

/* ---------- pie ---------- */
.pie-pagina{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;
  padding:clamp(20px,2.4vw,28px) clamp(28px,5vw,64px);font-size:.84rem;color:var(--tinta-3);
}
.pie-pagina a{text-decoration:none;font-weight:600;color:var(--tinta-2);transition:color .2s}
.pie-pagina a:hover{color:var(--violeta)}

/* ---------- aparición al hacer scroll ---------- */
.revelar{opacity:1}
.revelar.entrar{animation:entrar .8s var(--salida) both}
@keyframes entrar{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ---------- aviso flotante ---------- */
#aviso{
  position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(24px);
  z-index:90;background:var(--tinta);color:var(--papel);padding:.85rem 1.3rem;border-radius:999px;
  font-size:.9rem;box-shadow:0 20px 40px -20px rgba(28,24,48,.9);
  opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--salida);max-width:calc(100% - 32px);text-align:center;
}
#aviso.visible{opacity:1;transform:translateX(-50%) translateY(0)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
