/* Sonia Montoya — landing de captación de vendedores
   Motivos: el arco (la puerta de la casa) y el sello (el cierre en notaría). */

:root {
  --azul: #002855;
  --azul-noche: #001b3d;
  --azul-claro: #0b3d78;
  --dorado: #d4af37;
  --dorado-vivo: #e3c455;
  --dorado-tinta: #7a5c00;
  --blusa: #8c9fd1;       /* el azul de la blusa de la foto */
  --niebla: #eef1f8;
  --papel: #ffffff;
  --tinta: #14213a;
  --tinta-suave: #4a5670;
  --linea: #d8deeb;
  --wa: #0f7a43;
  --wa-vivo: #0c6638;
  --error: #b3261e;

  --serif: "Young Serif", Georgia, "Times New Roman", serif;
  --sans: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --margen: clamp(1.25rem, 4vw, 3.5rem);
  --seccion: clamp(4rem, 8vw, 7.5rem);
  --sombra: 0 24px 60px -18px rgba(0, 27, 61, .45);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  /* Crece con suavidad en pantallas grandes para que no se vea diminuto en 1440p/4K */
  font-size: clamp(1rem, .4vw + .69rem, 1.32rem);
  scroll-behavior: smooth;
  scroll-padding-top: 5.5rem;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--sans);
  color: var(--tinta);
  background: var(--papel);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, p, ul, ol, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; }

h1, h2 { font-family: var(--serif); font-weight: 400; line-height: 1.1; letter-spacing: -.01em; text-wrap: balance; }
h2 { font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); color: var(--azul); }
h3 { font-size: 1.125rem; line-height: 1.3; font-weight: 700; }

:focus-visible { outline: 3px solid var(--dorado); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--dorado); color: var(--azul-noche); }

.contenedor { width: min(100% - 2 * var(--margen), 84rem); margin-inline: auto; }
.ico { width: 1.25em; height: 1.25em; flex: none; }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.saltar {
  position: absolute; left: 1rem; top: -4rem; z-index: 100;
  background: var(--papel); color: var(--azul); padding: .6rem 1rem; border-radius: .5rem; font-weight: 700;
}
.saltar:focus { top: 1rem; }

/* Botones */
.boton {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 3.25rem; padding: .8rem 1.5rem;
  border: 0; border-radius: .7rem;
  font: 700 1rem/1.2 var(--sans); text-align: center; text-decoration: none; text-wrap: balance; cursor: pointer;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.boton:hover { transform: translateY(-2px); }
.boton:active { transform: translateY(0); }
.boton--chico { min-height: 2.75rem; padding: .5rem 1.1rem; font-size: .9rem; }
.boton--ancho { width: 100%; }
.boton--dorado { background: var(--dorado); color: var(--azul-noche); }
.boton--dorado:hover { background: var(--dorado-vivo); box-shadow: 0 10px 24px -10px rgba(212, 175, 55, .8); }
.boton--azul { background: var(--azul); color: var(--papel); }
.boton--azul:hover { background: var(--azul-claro); }
.boton--wa { background: var(--wa); color: var(--papel); }
.boton--wa:hover { background: var(--wa-vivo); }

/* Encabezado */
.encabezado {
  position: sticky; top: 0; z-index: 40;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--linea);
}
@supports (backdrop-filter: blur(8px)) {
  .encabezado { background: rgba(255, 255, 255, .88); backdrop-filter: blur(10px); }
}
.encabezado__fila { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.25rem; }
.encabezado__acciones { display: flex; align-items: center; gap: .9rem; }

.marca { display: flex; align-items: center; gap: .7rem; text-decoration: none; }
.marca__monograma {
  display: grid; place-items: center; width: 2.6rem; height: 3rem;
  border-radius: 1.3rem 1.3rem .25rem .25rem;   /* el arco, también aquí */
  background: var(--azul); color: var(--dorado);
  font: 400 .95rem/1 var(--serif); padding-top: .25rem;
}
.marca__texto { display: grid; line-height: 1.25; }
.marca__texto strong { color: var(--azul); font-size: 1.05rem; font-weight: 800; }
.marca__texto span { color: var(--tinta-suave); font-size: .78rem; font-weight: 500; }

.enlace-wa { display: none; align-items: center; gap: .45rem; color: var(--wa); font-weight: 700; font-size: .92rem; text-decoration: none; white-space: nowrap; }
.enlace-wa:hover { color: var(--wa-vivo); text-decoration: underline; text-underline-offset: 3px; }
.encabezado__cta { display: none; }
.encabezado__llamar {
  display: grid; place-items: center; width: 2.75rem; height: 2.75rem;
  border: 1.5px solid var(--linea); border-radius: 50%; color: var(--azul); font-size: 1rem;
}

/* Portada */
.portada { position: relative; background: var(--azul); color: var(--papel); }
.portada::before {
  /* Un halo muy tenue detrás de la foto, para despegarla del fondo */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(50rem 34rem at 12% 100%, rgba(140, 159, 209, .28), transparent 70%);
}
.portada__rejilla {
  position: relative; display: grid; gap: 2rem;
  grid-template-columns: minmax(0, 1fr);
  padding-block-start: clamp(2.25rem, 5vw, 3.5rem);
}
.portada__zona {
  display: flex; align-items: center; gap: .7rem;
  color: var(--dorado); font-size: .875rem; font-weight: 600; margin-bottom: 1rem;
}
.portada__zona::before { content: ""; width: 1.75rem; height: 2px; background: currentColor; flex: none; }
h1 { font-size: clamp(2.25rem, 1.45rem + 3.1vw, 3.75rem); color: var(--papel); }
h1 em { display: block; font-style: normal; color: var(--dorado); }

.portada__intro { color: #d6deef; font-size: 1.0625rem; max-width: 38rem; }
/* En celular estas dos acciones ya están en la barra inferior */
.portada__botones { display: none; gap: .75rem; margin-top: 1.5rem; }

.garantias {
  display: grid; gap: .65rem; margin-top: 1.5rem; padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, .18);
  font-size: .92rem; color: #e6ebf6; font-weight: 500;
}
.garantias li { display: flex; align-items: center; gap: .6rem; }
.garantias .ico { color: var(--dorado); }

/* El arco */
.arco {
  position: relative; overflow: hidden;
  border-radius: 999px 999px 0 0;
  background: var(--azul-noche);
}
.arco img { width: 100%; height: 100%; object-fit: cover; }
.portada__foto { width: min(76%, 18rem); justify-self: center; box-shadow: 0 0 0 1px rgba(212, 175, 55, .55), 0 0 0 .55rem var(--azul), 0 0 0 calc(.55rem + 1px) rgba(212, 175, 55, .3); }
.portada__foto picture { display: block; aspect-ratio: 560 / 728; }
.arco__placa {
  position: absolute; inset: auto 0 0; display: grid; gap: .1rem;
  padding: 3.5rem 1.15rem 1rem; text-align: center;
  background: linear-gradient(to top, rgba(0, 27, 61, .94) 30%, rgba(0, 27, 61, 0));
}
.arco__placa strong { font: 400 1.3rem/1.2 var(--serif); }
.arco__placa span { font-size: .78rem; font-weight: 500; color: #e4e9f5; text-wrap: balance; }

/* El formulario */
.ficha {
  position: relative; background: var(--papel); color: var(--tinta);
  border-radius: 1.25rem; padding: clamp(1.5rem, 3vw, 2.25rem);
  box-shadow: var(--sombra); scroll-margin-top: 5.5rem;
}
.portada__ficha { margin-bottom: -3.5rem; z-index: 2; }
.ficha h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2rem); padding-right: 5.25rem; }
.ficha__intro { margin: .7rem 0 1.25rem; color: var(--tinta-suave); font-size: .95rem; }
.ficha__intro strong { color: var(--tinta); font-weight: 600; }
.ficha__sello { position: absolute; top: -1.75rem; right: .9rem; width: 6.75rem; transform: rotate(10deg); filter: drop-shadow(0 6px 10px rgba(0, 27, 61, .3)); }

.campo { margin-bottom: 1rem; }
.campo label { display: block; margin-bottom: .3rem; font-size: .875rem; font-weight: 700; color: var(--azul); }
.campo input {
  width: 100%; min-height: 3.1rem; padding: .7rem .9rem;
  border: 1.5px solid #aab4c9; border-radius: .6rem; background: var(--papel);
  font: 500 1rem/1.3 var(--sans); color: var(--tinta);   /* 16 px evita el zoom automático en iPhone */
  transition: border-color .15s ease, box-shadow .15s ease;
}
.campo input::placeholder { color: #66718a; font-weight: 400; }
.campo input:focus { outline: 0; border-color: var(--azul); box-shadow: 0 0 0 3px rgba(0, 40, 85, .18); }
.campo input[aria-invalid="true"] { border-color: var(--error); }
.campo__error { margin-top: .3rem; color: var(--error); font-size: .84rem; font-weight: 500; }
.campo__error[hidden] { display: none; }

.ficha__nota { margin-top: .85rem; color: var(--tinta-suave); font-size: .8rem; text-align: center; line-height: 1.4; }
.ficha__nota .ico { display: inline-block; width: 1em; height: 1em; margin-right: .35em; vertical-align: -.12em; }

.ficha__listo { text-align: center; }
.ficha__listo[hidden] { display: none; }
.ficha__listo:focus { outline: 0; }
.ficha__listo > .ico { width: 2.75rem; height: 2.75rem; margin: 0 auto .75rem; color: var(--wa); }
.ficha__listo h3 { font: 400 1.4rem/1.2 var(--serif); color: var(--azul); }
.ficha__listo p { margin: .6rem 0 1.25rem; color: var(--tinta-suave); font-size: .95rem; }

/* Sello */
.sello { overflow: visible; }
.sello__fondo { fill: var(--dorado); }
.sello__aro { fill: none; stroke: var(--azul-noche); stroke-width: .9; }
.sello__orla { font: 800 7.8px var(--sans); fill: var(--azul-noche); letter-spacing: .02em; }
.sello__centro { font: 400 15px var(--serif); fill: var(--azul-noche); }
.sello__palomita { fill: none; stroke: var(--azul-noche); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }

/* Secciones */
.seccion { padding-block: var(--seccion); }
.cabeza { max-width: 44rem; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
.cabeza > p:last-child { margin-top: .8rem; color: var(--tinta-suave); font-size: 1.0625rem; }
.cabeza--centro { margin-inline: auto; text-align: center; }
.antetitulo { margin-bottom: .6rem; color: var(--dorado-tinta); font-size: .875rem; font-weight: 700; }

/* Plazos: el tiempo es la información principal */
.despues { padding-block-start: calc(var(--seccion) + 3.5rem); }
.plazos { display: grid; counter-reset: plazo; }
.plazo { position: relative; padding: 0 0 2.25rem 2rem; border-left: 2px solid var(--linea); counter-increment: plazo; }
.plazo:last-child { padding-bottom: 0; border-left-color: transparent; }
.plazo::before {
  content: ""; position: absolute; left: -.5625rem; top: .55rem;
  width: 1rem; height: 1rem; border-radius: 50%;
  background: var(--papel); border: 2px solid var(--azul);
}
.plazo--final::before { background: var(--dorado); border-color: var(--dorado); }
.plazo__tiempo { color: var(--tinta-suave); font-size: .9rem; font-weight: 600; }
.plazo__tiempo b { display: block; font: 400 clamp(1.85rem, 1.5rem + 1.2vw, 2.6rem)/1.15 var(--serif); color: var(--azul); }
.plazo--final .plazo__tiempo b { color: var(--dorado-tinta); }
.plazo h3 { margin-top: .55rem; }
.plazo > p:last-child { margin-top: .25rem; color: var(--tinta-suave); font-size: .975rem; max-width: 30rem; }
.plazo--final > p:last-child { margin-top: .55rem; }

/* Ruta de 7 pasos */
.ruta-seccion { background: var(--niebla); }
.ruta-cabeza .boton { margin-top: 1.5rem; }
.cabeza.ruta-cabeza > p:last-of-type { margin-top: .8rem; color: var(--tinta-suave); font-size: 1.0625rem; }

.ruta { position: relative; --avance: 1; }
.ruta__linea {
  position: absolute; left: 1.3rem; top: 1.5rem; bottom: 0; width: 3px; margin-left: -1.5px;
  background: #cdd5e6; border-radius: 3px; overflow: hidden;
}
.ruta__avance {
  display: block; width: 100%; height: 100%;
  background: var(--azul); transform-origin: top; transform: scaleY(var(--avance));
}
.paso { position: relative; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 1.1rem; padding-bottom: 2rem; }
.paso:last-child { padding-bottom: 0; }
.paso__num {
  position: relative; display: grid; place-items: center; width: 2.6rem; height: 2.6rem;
  border-radius: 50%; background: var(--azul); color: var(--papel);
  font: 400 1.05rem/1 var(--serif);
  transition: background-color .3s ease;
}
.paso h3 { font: 400 1.4rem/1.25 var(--serif); color: var(--azul); padding-top: .4rem; }
.paso p { margin-top: .35rem; color: var(--tinta-suave); max-width: 38rem; }

.paso--cierre { grid-template-columns: 2.6rem minmax(0, 1fr); padding: 0; }
.paso--cierre .paso__num { background: var(--dorado); color: var(--azul-noche); }
/* Tapa la línea por debajo del paso 7: la ruta termina ahí */
.paso--cierre::after { content: ""; position: absolute; left: 0; top: 2.6rem; bottom: 0; width: 2.6rem; background: var(--niebla); }
.paso__sello { grid-column: 2; width: 6.5rem; margin-top: .9rem; transform: rotate(-9deg); }

/* El sello se estampa solo si el visitante acepta animaciones (la clase la pone main.js) */
.con-animacion .paso__sello { opacity: 0; }
.con-animacion .paso__sello.estampado { animation: estampar .55s cubic-bezier(.2, 1.3, .4, 1) forwards; }
@keyframes estampar {
  0% { opacity: 0; transform: rotate(-22deg) scale(2.1); }
  65% { opacity: 1; transform: rotate(-7deg) scale(.94); }
  100% { opacity: 1; transform: rotate(-9deg) scale(1); }
}

/* Compromisos */
.compromisos { background: var(--azul-noche); color: var(--papel); }
.compromisos h2 { color: var(--papel); }
.compromisos .antetitulo { color: var(--dorado); }
.compromisos__lista { display: grid; gap: 2rem; }
.compromisos__lista li { padding-top: 1.25rem; border-top: 1px solid rgba(212, 175, 55, .5); }
.compromisos__lista .ico { width: 2rem; height: 2rem; color: var(--dorado); }
.compromisos__lista h3 { margin-top: .85rem; font: 400 1.35rem/1.25 var(--serif); }
.compromisos__lista p { margin-top: .45rem; color: #cbd5e8; font-size: .975rem; }

/* Por qué Sonia */
.sonia__rejilla { display: grid; gap: 2.5rem; }
.sonia__retrato { text-align: center; }
.arco--chico { width: min(72%, 19rem); margin-inline: auto; aspect-ratio: 490 / 615; }
.sonia__retrato figcaption { display: grid; justify-items: center; gap: .15rem; margin-top: -1.05rem; position: relative; }
.sonia__insignia {
  display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .7rem;
  padding: .35rem .85rem; border-radius: 99px;
  background: var(--dorado); color: var(--azul-noche); font-size: .82rem; font-weight: 700;
}
.sonia__retrato strong { font: 400 1.5rem/1.2 var(--serif); color: var(--azul); }
.sonia__retrato figcaption > span:last-child { color: var(--tinta-suave); font-size: .9rem; }
.sonia__entrada { margin-top: 1rem; font-size: 1.125rem; color: var(--tinta-suave); max-width: 44rem; }
.razones { margin-top: 1.75rem; display: grid; gap: 1.35rem; }
.razones li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .85rem; }
.razones .ico { width: 1.5rem; height: 1.5rem; margin-top: .05rem; color: var(--dorado-tinta); }
.razones h3 { color: var(--azul); }
.razones p { margin-top: .2rem; color: var(--tinta-suave); font-size: .975rem; max-width: 42rem; }

/* Preguntas */
.preguntas { background: var(--niebla); }
.acordeon { display: grid; gap: .75rem; }
.acordeon details { background: var(--papel); border: 1px solid var(--linea); border-radius: .85rem; }
.acordeon details[open] { border-color: #b9c4dc; }
.acordeon summary {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  min-height: 3.5rem; padding: .9rem 1.2rem;
  font-weight: 700; color: var(--azul); cursor: pointer; list-style: none; border-radius: .85rem;
}
.acordeon summary::-webkit-details-marker { display: none; }
.acordeon summary::after {
  content: ""; flex: none; width: .65rem; height: .65rem; margin-right: .2rem;
  border-right: 2.5px solid var(--dorado-tinta); border-bottom: 2.5px solid var(--dorado-tinta);
  transform: translateY(-20%) rotate(45deg); transition: transform .2s ease;
}
.acordeon details[open] summary::after { transform: translateY(20%) rotate(-135deg); }
.acordeon details p { padding: 0 1.2rem 1.2rem; color: var(--tinta-suave); }
.acordeon details p strong { color: var(--tinta); }

/* Cierre y pie */
.cierre { background: var(--azul); color: var(--papel); padding-block: clamp(3.5rem, 7vw, 6rem); text-align: center; }
.cierre h2 { color: var(--papel); max-width: 40rem; margin-inline: auto; }
.cierre p { margin: 1rem auto 1.75rem; color: #d6deef; max-width: 36rem; }

.pie { background: var(--azul-noche); color: #b9c4da; padding-block: 2.25rem; font-size: .9rem; border-top: 1px solid rgba(255, 255, 255, .1); }
.pie__fila { display: grid; gap: 1rem; }
.pie strong { color: var(--papel); font-weight: 600; }
.pie a { color: var(--papel); font-weight: 600; }
.pie a:hover { color: var(--dorado); }
.pie__legal { font-size: .82rem; color: #9fabc4; }

/* WhatsApp flotante y barra móvil */
.wa-flotante {
  display: none; position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 50;
  place-items: center; width: 3.6rem; height: 3.6rem; border-radius: 50%;
  background: var(--wa); color: var(--papel); font-size: 1.45rem;
  box-shadow: 0 12px 28px -8px rgba(0, 27, 61, .6);
  transition: transform .18s ease, background-color .18s ease;
}
.wa-flotante:hover { transform: scale(1.07); background: var(--wa-vivo); }

.barra-movil {
  position: fixed; inset: auto 0 0; z-index: 50;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem;
  padding: .65rem var(--margen) calc(.65rem + env(safe-area-inset-bottom));
  background: var(--papel); border-top: 1px solid var(--linea);
  box-shadow: 0 -8px 24px -14px rgba(0, 27, 61, .5);
  transition: transform .22s ease;
}
.barra-movil .boton { min-height: 3rem; padding-block: .5rem; }
.barra-movil__wa { width: 3.4rem; padding-inline: 0; font-size: 1.2rem; }
.barra-movil.oculta { transform: translateY(110%); }
body { padding-bottom: 4.5rem; }   /* espacio para la barra móvil */

/* ───── Tablet ───── */
@media (min-width: 40rem) {
  .garantias { grid-template-columns: repeat(3, auto); justify-content: start; column-gap: 1.75rem; }
  .plazos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
  .plazo:last-child { padding-bottom: 2.25rem; border-left-color: var(--linea); }
  .plazo:nth-last-child(-n+2) { padding-bottom: 0; }
  .compromisos__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 2rem; }
}

@media (min-width: 48rem) {
  body { padding-bottom: 0; }
  .barra-movil { display: none; }
  .wa-flotante { display: grid; }
  .enlace-wa { display: inline-flex; }
  .encabezado__cta { display: inline-flex; }
  .encabezado__llamar { display: none; }
  .encabezado__fila { min-height: 4.75rem; }

  .portada__botones { display: flex; flex-wrap: wrap; }
  .portada__rejilla { grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr); column-gap: clamp(1.75rem, 3vw, 2.75rem); row-gap: 2rem; }
  .portada__titular { grid-column: 1 / -1; }
  .ficha h2 { padding-right: 7rem; }
  .portada__foto { width: 100%; align-self: end; }
  .portada__texto { padding-bottom: 2.5rem; align-self: center; }
  .portada__ficha { grid-column: 1 / -1; max-width: 34rem; justify-self: center; width: 100%; margin-top: 0; }
}

/* ───── Escritorio ───── */
@media (min-width: 68rem) {
  .plazos { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 0; }
  .plazo, .plazo:last-child, .plazo:nth-last-child(-n+2) {
    padding: 2rem 2rem 0 0; border-left: 0; border-top: 2px solid var(--linea);
  }
  .plazo:last-child { padding-right: 0; }
  .plazo::before { left: 0; top: -.5625rem; }

  .ruta-rejilla { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 6vw, 6rem); align-items: start; }
  .ruta-cabeza { position: sticky; top: 7rem; margin-bottom: 0; }

  .compromisos__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem; }

  .sonia__rejilla { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 6vw, 6rem); align-items: center; }
  .arco--chico { width: min(100%, 22rem); }

  .preguntas__rejilla { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 6vw, 6rem); align-items: start; }
  .preguntas__cabeza { position: sticky; top: 7rem; margin-bottom: 0; }

  .pie__fila { grid-template-columns: 1fr auto; align-items: center; }
  .pie__legal { grid-column: 1 / -1; }
}

/* ───── Portada a tres columnas ───── */
@media (min-width: 78rem) {
  .portada__rejilla {
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr) minmax(24rem, 27rem);
    grid-template-rows: auto 1fr;
    column-gap: clamp(2rem, 3vw, 3.25rem);
  }
  h1 { font-size: clamp(2.75rem, 4vw, 3.75rem); }
  .ficha h2 { padding-right: 5.25rem; }
  .portada__titular { grid-column: 1 / 3; grid-row: 1; }
  /* El arco nace del borde inferior: recorta el marco para que no invada la sección siguiente */
  .portada__foto { grid-column: 1; grid-row: 2; clip-path: inset(-1rem -1rem 0 -1rem); }
  .portada__texto { grid-column: 2; grid-row: 2; }
  .portada__ficha { grid-column: 3; grid-row: 1 / -1; align-self: start; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .boton:hover { transform: none; }
}

@media print {
  .encabezado, .barra-movil, .wa-flotante, .portada__ficha { display: none; }
}
