@import url(fonts.css);
/* ==========================================================================
   RVD Médica — Maqueta Home
   Identidad visual sobre Bootstrap 5. Mobile-first.
   Bootstrap resuelve grid, breakpoints, offcanvas y utilidades;
   este archivo solo aporta color, tipografía y las composiciones propias.
   ========================================================================== */

:root {
  /* Paleta muestreada del layout de referencia */
  --rvd-cream:      #F2F0EA;
  --rvd-ink:        #282828;
  --rvd-black:      #0D0D0D;
  --rvd-taupe:      #A29C8E;
  --rvd-text:       #2B2B2B;
  --rvd-muted:      #6B6459;
  --rvd-rule:       rgba(43, 43, 43, .22);
  --rvd-rule-light: rgba(242, 240, 234, .50);

  /* Tratamiento fotográfico de las bandas (deriva del layout) */
  --rvd-media-filter: saturate(.75);
  --rvd-veil:         rgba(38, 36, 33, .22);

  --rvd-display: 'Alta', 'Times New Roman', serif;
  --rvd-body:    'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --rvd-header-h: 72px;
}

/* ===========================  Base  =========================== */

body {
  background-color: var(--rvd-cream);
  color: var(--rvd-text);
  font-family: var(--rvd-body);
  font-size: .9375rem;
  font-weight: normal;
  line-height: 1.1;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

::selection { background: var(--rvd-taupe); color: var(--rvd-cream); }

:focus-visible {
  outline: 2px solid var(--rvd-taupe);
  outline-offset: 3px;
}

.rvd-skip {
  position: absolute;
  top: .5rem;
  left: .5rem;
  z-index: 1080;
  background: var(--rvd-ink);
  color: var(--rvd-cream);
  padding: .75rem 1.25rem;
  text-decoration: none;
}

/* Ancho de contenido del layout de referencia (1146 px sobre 1470).
   Este max-width pisa el de `.container` en todos los breakpoints, así que el
   contenedor deja de estar limitado a los 960 px de Bootstrap entre 992 y
   1180 px y ocupa el ancho disponible. En ese tramo el padding de 12 px que
   trae `.container` (medio gutter por defecto) ya no alcanza para absorber el
   margen negativo de -24 px de las filas `g-lg-5`, y se desbordan 12 px por
   lado. Igualamos el padding al medio gutter que realmente se usa. */
.rvd-container--narrow { max-width: 1180px; }
.rvd-container--narrow .rvd-grid-copy { padding: 0 4vw; }
.rvd-container--narrow .rvd-grid-copy .rvd-prose,
.rvd-container--narrow .rvd-grid-copy dd { font-size: clamp(0.8rem, 0.9vw, 1.2rem); line-height:  clamp(1rem, 1.2vw, 1.5rem); }

@media (min-width: 992px) {
  .rvd-container--narrow { padding-inline: 1.5rem; }
}

.rvd-section { padding-block: clamp(3.5rem, 5vw, 7.5rem); }

/* Los anclas no deben quedar bajo el header fijo */
[id] { scroll-margin-top: calc(var(--rvd-header-h) + 1rem); }

/* ===========================  Tipografía  =========================== */

.rvd-title {
  font-family: var(--rvd-display);
  font-weight: bold;
  font-size: clamp(1.85rem, 4.4vw, 2.6rem);
  line-height: clamp(1.85rem, 4.4vw, 2.6rem);
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--rvd-ink);
  margin-bottom: 1rem;
}

.rvd-title--center {
  text-align: center;
  font-size: clamp(1.75rem, 4.6vw, 3.1rem);
}

.rvd-eyebrow {
  font-family: var(--rvd-body);
  font-size: clamp(1rem, 1.1vw, 1.2rem);
  line-height: clamp(1rem, 1.3vw, 1.5rem);
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}

.rvd-eyebrow--dark  { color: var(--rvd-ink); }
.rvd-eyebrow--muted { color: var(--rvd-muted); }
.rvd-eyebrow--light { color: var(--rvd-cream); }

.rvd-prose { max-width: 46ch; margin-bottom: 2rem; }
.rvd-prose p { font-size: clamp(0.8rem, 0.9vw, 1.2rem); line-height:  clamp(1rem, 1.2vw, 1.5rem); font-weight: normal; }
.rvd-prose p:last-child { margin-bottom: 0; }

/* ===========================  Botones y enlaces  =========================== */

.rvd-btn {
  display: inline-block;
  font-size: .8125rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  padding: 0.7rem 1.5rem;
  border: 1px solid transparent;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

.rvd-btn--ink     { background: var(--rvd-ink);   color: var(--rvd-cream); }
.rvd-btn--taupe   { background: var(--rvd-taupe); color: var(--rvd-cream); }
.rvd-btn--solid   { background: var(--rvd-cream); color: var(--rvd-ink); }
.rvd-btn--outline { background: transparent; color: var(--rvd-muted); border-color: var(--rvd-taupe); }

.rvd-btn--ink:hover,
.rvd-btn--ink:focus-visible     { background: var(--rvd-taupe); color: var(--rvd-cream); }
.rvd-btn--taupe:hover,
.rvd-btn--taupe:focus-visible   { background: var(--rvd-ink);   color: var(--rvd-cream); }
.rvd-btn--solid:hover,
.rvd-btn--solid:focus-visible   { background: var(--rvd-taupe); color: var(--rvd-cream); }
.rvd-btn--outline:hover,
.rvd-btn--outline:focus-visible { background: var(--rvd-taupe); color: var(--rvd-cream); border-color: var(--rvd-taupe); }

.rvd-link {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-height: 44px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--rvd-taupe);
  transition: color .3s ease;
}
.rvd-link.light-variant { color: var(--rvd-cream); }

.rvd-link:hover,
.rvd-link:focus-visible { color: var(--rvd-ink); }

.rvd-link__arrow {
  display: inline-block;
  width: 34px;
  height: 1px;
  background: currentColor;
  position: relative;
  transition: transform .3s ease;
}

.rvd-link__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: -3px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}

.rvd-link:hover .rvd-link__arrow { transform: translateX(6px); }

/* ===========================  Header  =========================== */

.rvd-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1030;
  background: transparent;
  transition: background-color .35s ease, padding .35s ease;
  padding-block: 1rem;
}

.rvd-header.is-scrolled {
  background: var(--rvd-ink);
  padding-block: .625rem;
}

.rvd-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 1400px;
}

.rvd-header__brand {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.rvd-header__brand img {
  width: clamp(120px, 14vw, 172px);
  height: auto;
  display: block;
}

.rvd-header__actions {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.75rem);
}

.rvd-header__phone {
  display: none;
  color: var(--rvd-cream);
  font-size: .8125rem;
  letter-spacing: .12em;
  text-decoration: none;
}

.rvd-header__phone:hover,
.rvd-header__phone:focus-visible { color: var(--rvd-taupe); }

.rvd-header__menu {
  display: inline-flex;
  align-items: center;
  gap: .875rem;
  min-height: 44px;
  padding: 0;
  background: none;
  border: 0;
  color: var(--rvd-cream);
}

.rvd-header__menu-label {
  font-size: .8125rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.rvd-burger {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  width: 30px;
}

.rvd-burger span {
  display: block;
  height: 1px;
  background: currentColor;
}

@media (min-width: 768px) {
  .rvd-header__phone { display: inline-block; }
}

/* ===========================  Offcanvas  =========================== */

.rvd-offcanvas {
  background: var(--rvd-ink);
  color: var(--rvd-cream);
  width: min(420px, 88vw);
}

.rvd-offcanvas .offcanvas-header { padding: 1.75rem 1.75rem 1rem; }
.rvd-offcanvas .offcanvas-body   { padding: 0 1.75rem 2.5rem; }
.rvd-offcanvas .offcanvas-title  { margin-bottom: 0; color: var(--rvd-taupe); }

.rvd-offcanvas__nav { margin: 0; }

.rvd-offcanvas__nav a {
  display: block;
  padding: .875rem 0;
  border-bottom: 1px solid var(--rvd-rule-light);
  font-family: var(--rvd-display);
  font-size: 1.125rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--rvd-cream);
  text-decoration: none;
  transition: color .3s ease, padding-left .3s ease;
}

.rvd-offcanvas__nav a:hover,
.rvd-offcanvas__nav a:focus-visible { color: var(--rvd-taupe); padding-left: .5rem; }

.rvd-offcanvas__phone {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 1.5rem;
  font-size: .8125rem;
  letter-spacing: .12em;
  color: var(--rvd-taupe);
  text-decoration: none;
}

.rvd-offcanvas__phone:hover,
.rvd-offcanvas__phone:focus-visible { color: var(--rvd-cream); }

@media (min-width: 768px) {
  .rvd-offcanvas__phone { display: none; }
}

/* ===========================  Hero  =========================== */

.rvd-hero {
  position: relative;
  /* En móvil se reduce la altura para que el encuadre horizontal de la
     fotografía siga siendo legible; en desktop ocupa la pantalla completa. */
  min-height: 78svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

@media (min-width: 768px) {
  .rvd-hero { min-height: 100svh; }
}

.rvd-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: var(--rvd-media-filter);
}

.rvd-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(13, 13, 13, .35) 0%, rgba(13, 13, 13, 0) 20%),
    linear-gradient(to top, rgba(13, 13, 13, .45) 0%, rgba(13, 13, 13, 0) 20%),
    var(--rvd-veil);
}

.rvd-hero__content {
  position: relative;
  text-align: center;
  color: var(--rvd-cream);
  padding-bottom: clamp(3.5rem, 12vh, 7rem);
}

.rvd-hero__title {
  font-family: var(--rvd-display);
  font-weight: bold;
  font-size: clamp(2.25rem, 6.6vw, 4.25rem);
  line-height: 1.08;
  letter-spacing: .015em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.rvd-hero__subtitle {
  font-size: clamp(1rem, 2vw, 1.5rem);
  font-weight: normal;
  margin-bottom: 2.25rem;
}

/* ===========================  Doctor  =========================== */

.rvd-doctor__portrait { width: 100%; display: block; }

.rvd-doctor__sign {
  display: block;
  width: clamp(150px, 40%, 200px);
  height: auto;
  margin: 1.5rem 0 1rem;
}

.rvd-doctor__cta {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

@media (min-width: 992px) {
  .rvd-doctor__body { padding-left: 3.5rem; }
  .rvd-doctor__cta  { justify-content: flex-end; margin-top: 3.5rem; }
}

/* ===========================  Bandas fotográficas  =========================== */

.rvd-band {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(220px, 34vw, 342px);
  overflow: hidden;
}

.rvd-band__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: var(--rvd-media-filter);
}

.rvd-band__veil {
  position: absolute;
  inset: 0;
  background: var(--rvd-veil);
}

.rvd-band__content {
  position: relative;
  text-align: center;
  color: var(--rvd-cream);
  padding-block: 2.5rem;
}

.rvd-band__title {
  font-family: var(--rvd-display);
  font-weight: bold;
  font-size: clamp(2rem, 5.6vw, 3.7rem);
  line-height: 1.15;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.rvd-band__subtitle {
  margin: 1rem auto 0;
  max-width: 80vw;
  font-size: clamp(.75rem, 1.3vw, .875rem);
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1.7;
}

/* ===========================  Tratamientos  =========================== */

.rvd-treatment { position: relative; }
.rvd-treatment__inner { position: relative; z-index: 2; }

.rvd-treatment__media {
  width: 100%;
  display: block;
}

/* Panel oscuro desplazado. La textura se aplica en cuanto exista el archivo;
   mientras tanto queda el color sólido de respaldo.
   PENDIENTE: img/home/home-textura-oscura.jpg */
.rvd-treatment__panel {
  display: none;
  position: absolute;
  z-index: 1;
  background-color: var(--rvd-black);
  background-image: url('../img/home/home-textura-oscura.jpg');
  /* La textura lleva el degradado vertical horneado (oscurece arriba y abajo,
     igual que la referencia). Con `cover` el recorte se come justo esas bandas
     en cuanto el bloque es más apaisado que la textura (1.777): a 1920 px el
     panel perdía el 7% y la cita el 57%. `100% 100%` fija el degradado al alto
     real del bloque a cualquier ancho, a cambio de estirar algo las diagonales. */
  background-size: cover;
  background-position: center;
}

/* Variante A — panel sangrando a la derecha (Toxina, Dermopigmentación) */
@media (min-width: 992px) {
  .rvd-treatment--panel-right .rvd-treatment__panel {
    display: block;
    top: 8%;
    bottom: 8%;
    left: 62%;
    right: 0;
  }
}

/* Variante B — panel sangrando a la izquierda (Calidad de Piel).
   En móvil, con las columnas apiladas, la sección entera es oscura. */
.rvd-treatment--dark {
  background-color: var(--rvd-black);
  background-image: url('../img/home/home-textura-oscura.jpg');
  /* Aquí sí `cover`: este fondo solo se ve por debajo de 992 px, donde la
     sección es muy alta y estrecha y estirar la textura dejaría las diagonales
     casi verticales. */
  background-size: cover;
  background-position: center;
  color: var(--rvd-cream);
}

.rvd-treatment--dark .rvd-title,
.rvd-treatment--dark .rvd-features dt { color: var(--rvd-cream); }
.rvd-treatment--dark .rvd-features__item { border-left-color: var(--rvd-rule-light); }
.rvd-treatment--dark .rvd-features__item + .rvd-features__item { border-top-color: var(--rvd-rule-light); }

@media (min-width: 992px) {
  /* Desde lg el oscuro deja de cubrir la fila entera: en la referencia llega
     al 73.07% del viewport (1074 de 1470 px) sangrando por la izquierda, y la
     fotografía monta ese borde y lo rebasa. Verticalmente el panel coincide
     con la caja de la sección, así que la foto queda contenida. */
  .rvd-treatment--dark {
    background: none;
  }

  .rvd-treatment--dark .rvd-treatment__panel {
    display: block;
    inset: 0 26.93% 0 0;
  }
}

/* Lista de características */
.rvd-features {
  padding-left: 1rem;
  margin-bottom: 2rem;
  max-width: 48ch;
}

.rvd-features__item { padding-block: 1rem; border-left: 1px solid var(--rvd-rule); }
.rvd-features__item:first-child { padding-top: 0; }
.rvd-features__item:last-child  { padding-bottom: 0; }
.rvd-features__item + .rvd-features__item { border-top: 1px solid var(--rvd-rule); }

.rvd-features dt {
  margin: 0 0 0 1rem;
  font-family: var(--rvd-display);
  font-weight: bold;
  font-size: clamp(1.0625rem, 1.5vw, 1.8rem);
  line-height: clamp(1.1625rem, 1.6vw, 1.9rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--rvd-ink);
  margin-bottom: .25rem;
}

.rvd-features dd {
  margin: 0 0 0 2rem;
  font-size: clamp(0.8rem, 0.9vw, 1.2rem);
  line-height:  clamp(1rem, 1.2vw, 1.5rem); 
  line-height: 1.65;
}

/* ===========================  Tratamientos corporales  =========================== */

.rvd-body-care__grid { margin-top: clamp(2rem, 5vw, 3.5rem); }

.rvd-body-care__media {
  display: block;
  width: 100%;
  max-width: 568px;
  margin-inline: auto;
  margin-bottom: 1rem;
  border-radius: 190px;
}

@media (min-width: 992px) {
  .rvd-body-care__media { margin-bottom: 0; }
}

.rvd-body-care__item {
  text-align: center;
  padding-block: 1.25rem;
  margin: 0;
  display: grid;
  place-content: center;
}

.rvd-body-care__item + .rvd-body-care__item { border-top: 1px solid var(--rvd-rule); }

.rvd-body-care__item dt {
  font-family: var(--rvd-display);
  font-weight: bold;
  /* font-size: 1.0625rem; */
  font-size: clamp(1.0625rem, 1.7vw, 1.9rem);
  line-height: clamp(1.1625rem, 1.75vw, 2rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--rvd-ink);
  margin-bottom: .5rem;
}

.rvd-body-care__item dd {
  margin: 0;
  font-size: clamp(0.875rem, 1.1vw, 1.4rem);
  line-height: clamp(1rem, 1.2vw, 1.5rem);
}

.rvd-body-care__foot {
  margin-top: clamp(2rem, 5vw, 3rem);
  text-align: center;
}

.rvd-body-care__foot .rvd-prose {
  max-width: 52ch;
  margin-inline: auto;
  margin-bottom: 4rem;
  font-weight: 500;
}

@media (min-width: 992px) {
  .rvd-body-care__item { padding-block: 2rem; }

  /* Las fichas laterales forman dos filas que deben coincidir entre la columna
     izquierda y la derecha. Flexbox no comparte alturas entre columnas
     hermanas, así que se les da una altura de fila común: mientras el texto
     quepa en `--rvd-body-care-row`, las cuatro fichas miden lo mismo y tanto
     los títulos como los separadores quedan a la misma altura en cualquier
     ancho ≥ 992 px. El caso más ajustado es 992 px (columnas más estrechas,
     el texto ocupa más líneas): ahí la ficha más alta mide 195 px. Si en el
     futuro un texto crece, sube este valor. */
  .rvd-body-care__grid { --rvd-body-care-row: 13rem; }

  .rvd-body-care__grid > .col-lg-3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .rvd-body-care__grid > .col-lg-3 .rvd-body-care__item {
    min-height: var(--rvd-body-care-row);
    padding-inline: 1.5rem;
  }

  /* La imagen se centra frente al par de fichas */
  .rvd-body-care__grid > .col-lg-6 {
    display: flex;
    align-items: center;
  }

  .rvd-body-care__item:first-child { place-content: end; }
  .rvd-body-care__item:last-child { place-content: start; }

  .rvd-body-care__foot .rvd-prose {
    max-width: 52ch;
    margin-inline: auto;
    margin-bottom: 1rem;
  }
}


/* ===========================  Tecnología  =========================== */

.rvd-tech {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.5rem, 9vw, 6.5rem);
  color: var(--rvd-cream);
}

.rvd-tech__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 30% center;
  filter: var(--rvd-media-filter);
}

.rvd-tech__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(13, 13, 13, .55) 0%, rgba(13, 13, 13, .82) 55%, rgba(13, 13, 13, .9) 100%);
}

.rvd-tech__inner { position: relative; }

.rvd-tech .rvd-title,
.rvd-tech .rvd-features dt { color: var(--rvd-cream); }
.rvd-tech .rvd-features__item { padding-block: 1rem; border-left: 1px solid var(--rvd-rule-light); }
.rvd-tech .rvd-features__item + .rvd-features__item { border-top-color: var(--rvd-rule-light); }

@media (min-width: 992px) {
  .rvd-tech__veil {
    background: linear-gradient(to right, rgba(13, 13, 13, .2) 0%, rgba(13, 13, 13, .35) 38%, rgba(13, 13, 13, .86) 90%, rgba(13, 13, 13, .92) 100%);
  }
}

/* ===========================  Valoración  =========================== */

.rvd-note {
  padding-left: 1.5rem;
  margin-bottom: 2.25rem;
  max-width: 48ch;
}

.rvd-note p {
  margin-bottom: 0;
  font-size: .875rem;
  line-height: 1.7;
  padding: 1rem 0 1rem 0.7rem;
  border-left: 1px solid var(--rvd-rule);
}

/* ===========================  Nuestro espacio  =========================== */

.rvd-space { padding-top: clamp(2rem, 6vw, 4rem); }

.rvd-space__title {
  font-size: clamp(1.9rem, 5vw, 3.1rem);
  font-weight: 400;
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.rvd-space__gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* ===========================  Cita  =========================== */

.rvd-quote {
  background-color: var(--rvd-black);
  background-image: url('../img/home/home-textura-oscura.jpg');
  background-size: cover;
  background-position: center;
  color: var(--rvd-cream);
  padding-block: clamp(4rem, 11vw, 8rem);
  text-align: center;
}


/* En desktop la galería se solapa sobre esta sección, igual que en la
   referencia. En móvil las fichas se apilan y el solape estorbaría. */
@media (min-width: 992px) {
  .rvd-quote {
    margin-top: -6rem;
    padding-top: clamp(6rem, 14vw, 10rem);
  }
}
@media (min-width: 1200px) {
  .rvd-quote {
    margin-top: -7rem;
    padding-top: clamp(6rem, 14vw, 20rem);
  }
}

.rvd-quote figure { margin: 0; }

.rvd-quote blockquote p {
  font-size: clamp(1.05rem, 2.2vw, 1.4rem);
  font-weight: 300;
  line-height: 1.2;
  max-width: 44ch;
  margin: 0 auto 2rem;
}

.rvd-quote figcaption {
  font-family: var(--rvd-display);
  font-size: clamp(1rem, 2vw, 1.7rem);
  font-weight: bold;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* ===========================  Footer  =========================== */

.rvd-footer {
  background: var(--rvd-ink);
  color: rgba(242, 240, 234, .82);
  font-size: .8125rem;
}

.rvd-footer .container { padding-block: clamp(3rem, 7vw, 5rem); }

.rvd-footer__logo {
  width: 170px;
  height: auto;
  display: block;
  margin-bottom: 1.5rem;
}

.rvd-footer__tagline { max-width: 34ch; margin-bottom: 1.5rem; }

.rvd-footer__legal {
  line-height: 1.2;
  margin-bottom: 1.5rem;
  font-style: normal;
}

.rvd-footer__nav a {
  display: inline-flex;
  align-items: center;
  padding-block: .375rem;
  color: rgba(242, 240, 234, .82);
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .3s ease;
}

.rvd-footer__nav a:hover,
.rvd-footer__nav a:focus-visible { color: var(--rvd-taupe); }

.rvd-footer__bar {
  border-top: 1px solid var(--rvd-rule-light);
  text-align: center;
  padding-block: 1.5rem;
}

.rvd-footer__bar p { margin: 0; font-size: .75rem; }

/* ===========================  Movimiento reducido  =========================== */

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