
.vx main { overflow-x: clip; }
.vx-pj, .vx-ob { display: block; }
.vx .vx-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 999px;
  font: 400 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border: 1.5px solid transparent;
  transition: transform .2s ease, background .2s ease, color .2s ease; }
.vx .vx-btn:hover { transform: translateY(-2px); }
.vx-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--s4); }
.vx-sello { display: inline-block; font: 400 12px/1 var(--sans); letter-spacing: .28em; text-transform: uppercase; }
.vx-lede { margin-top: var(--s3); font-size: 17.5px; line-height: 1.65; max-width: 46ch; }
.vx-h2 { margin: 0; font: 300 clamp(36px, 8vw, 58px)/1.05 var(--serif); }
.vx-h2 em { font-style: italic; }

.vx-cab .fl-headbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; }
.vx-cab .vx-logo { order: 1; text-decoration: none; display: flex; align-items: baseline; gap: 10px; }
.vx-cab .fl-headtools { order: 2; margin-left: auto; }
.vx-cab .vx-nav { order: 3; flex-basis: 100%; display: flex; gap: 22px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.vx-cab .vx-nav a { white-space: nowrap; text-decoration: none; font: 400 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
@media (min-width: 900px) {
  .vx-cab .vx-nav { order: 2; flex-basis: auto; margin: 0 auto; }
  .vx-cab .fl-headtools { order: 3; margin-left: 0; }
}

.vx .fl-linea-card.vx-card { display: block; text-decoration: none; color: inherit; background: none; border: 0; padding: 0; box-shadow: none; }
.vx-foto { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 18px; }
.vx-foto picture { position: absolute; inset: 0; transition: opacity .6s ease, transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.vx-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vx-foto-b { opacity: 0; }
.fl-linea-card:hover .vx-foto-a { transform: scale(1.05); }
.fl-linea-card:hover .vx-foto-b, .fl-linea-card:focus-visible .vx-foto-b { opacity: 1; }
.vx .vx-nombre { display: block; margin-top: 12px; font: 400 19px/1.25 var(--serif); }
.vx .vx-precio { display: block; margin-top: 6px; font: 400 15px/1 var(--sans); }
.vx-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3) var(--s2); }
@media (min-width: 900px) { .vx-rejilla { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.vx-bebes { --a-fondo: #FBF3EC; --a-vino: #5C2E2E; --a-rosa: #E59D98; --a-rosa-claro: #F7DFDA; --a-celeste: #D7E7F4; --a-ocre: #D8AF58; --a-noche: #2C3152;
  background: var(--a-fondo); color: var(--a-vino); }
.vx-cab--bebes { background: rgba(251, 243, 236, .94); backdrop-filter: blur(8px); }
.vx-cab--bebes .vx-logo b { font: 500 32px/1 var(--serif); color: var(--a-vino); letter-spacing: .02em; }
.vx-cab--bebes .vx-logo i { font: italic 300 17px/1 var(--serif); color: #B9706B; }
.vx-cab--bebes .vx-nav a { color: var(--a-vino); }
.vx-bebes .vx-btn--rosa { background: var(--a-vino); color: #FFF7F2; }
.vx-bebes .vx-btn--rosa:hover { background: var(--a-rosa); color: #fff; }
.vx-bebes .vx-btn--linea { border-color: rgba(92, 46, 46, .35); color: var(--a-vino); }
.vx-bebes .vx-sello { color: #B9706B; }
.vx-bebes .vx-h2 em, .vx-bebes .vx-heroa-titulo em { color: #C27A74; }
.vx-bebes .vx-precio { color: #9C5B55; }

.vx-heroa { position: relative; display: grid; gap: var(--s4); padding: var(--s5) var(--s3) var(--s4);
  background: linear-gradient(180deg, #F6E1EA 0%, #F9ECEC 45%, var(--a-fondo) 100%); overflow: hidden; }
.vx-heroa-titulo { margin: var(--s2) 0 0; font: 400 clamp(52px, 13vw, 96px)/.98 var(--serif); }
.vx-heroa .vx-lede { color: #7A4A47; }
.vx-cielo { position: absolute; inset: 0; pointer-events: none; }
.vx-cielo i { position: absolute; left: var(--x); top: var(--y); width: 7px; height: 7px; border-radius: 50%; background: var(--a-ocre); opacity: .7; }
.vx-escenario { position: relative; width: 100%; max-width: 560px; aspect-ratio: 1 / 1.02; margin: 0 auto; transform: translateY(var(--vx-py, 0)); }
.vx-escenario > * { position: absolute; }
.vx-e-marco { left: 20%; top: 12%; width: 60%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 10px solid #fff;
  box-shadow: 0 30px 60px rgba(92, 46, 46, .18); }
.vx-e-marco picture, .vx-e-marco img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vx-e-movil { left: 2%; top: -2%; width: 30%; }
.vx-e-luna { right: 6%; top: 0; width: 15%; }
.vx-e-lila { right: -1%; top: 24%; width: 20%; }
.vx-e-azul { right: 0; bottom: 4%; width: 27%; }
.vx-e-rojo { left: -1%; bottom: 10%; width: 27%; }
.vx-e-nube { left: 27%; bottom: -3%; width: 46%; }
.vx-e-nube .vx-ob { width: 100%; }
.vx-e-nacar { position: absolute; left: 28%; bottom: 38%; width: 44%; }
@media (min-width: 900px) {
  .vx-heroa { grid-template-columns: 1fr 1fr; align-items: center; min-height: calc(100svh - 120px); padding: var(--s6) max(var(--s5), calc((100vw - 1200px) / 2)); }
}

.vx-promesas { padding: var(--s5) 0; }
.vx-promesas-fila { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s4) var(--s3); }
.vx-promesas-fila > div { display: grid; gap: 6px; justify-items: start; }
.vx-promesas-fila .vx-ob { width: 70px; height: 70px; }
.vx-promesas-fila b { font: 400 21px/1.2 var(--serif); }
.vx-promesas-fila span { font-size: 14.5px; line-height: 1.5; color: #8A5F5B; }
@media (min-width: 900px) { .vx-promesas-fila { grid-template-columns: repeat(4, 1fr); } }

.vx-momentos { padding-top: var(--s4); }
.vx-momentos-fila { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s2); margin-top: var(--s4); }
.vx-momento { display: grid; gap: 4px; padding: 14px 14px 20px; border-radius: 22px; text-decoration: none; color: var(--a-vino); transition: transform .25s ease; }
.vx-momento:hover { transform: translateY(-4px) rotate(-.5deg); }
.vx-momento--nacimiento { background: #F6E3E7; }
.vx-momento--bautizo { background: #E3ECF6; }
.vx-momento--cumple { background: #F8EBD3; }
.vx-momento--regalo { background: #EAEEDF; }
.vx-momento-escena { position: relative; display: block; aspect-ratio: 1; margin-bottom: 8px; }
.vx-momento-escena .vx-ob { position: absolute; left: 4%; bottom: 4%; width: 52%; }
.vx-momento-escena .vx-pj { position: absolute; right: 2%; bottom: 0; width: 56%; }
.vx-momento b { font: 400 22px/1.15 var(--serif); }
.vx-momento > span:last-child { font-size: 14px; line-height: 1.45; color: #8A5F5B; }
@media (min-width: 900px) { .vx-momentos-fila { grid-template-columns: repeat(4, 1fr); } }

.vx-tienda { padding-top: var(--s6); }
.vx-tienda-cab { position: relative; display: grid; justify-items: center; text-align: center; margin-bottom: var(--s4); }
.vx-t-salvia { width: 120px; margin-bottom: -6px; }
.vx-bebes .vx-rango { margin-top: 10px; font: 400 13px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #B9706B; }
.vx-mas { text-align: center; margin-top: var(--s4); }

.vx-cuentos { margin-top: var(--s6); padding: var(--s5) 0; background: #F6E9E4; }
.vx-cuentos-fila { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: var(--s2); overflow-x: auto; scroll-snap-type: x mandatory;
  margin-top: var(--s4); padding-bottom: 8px; scrollbar-width: none; }
.vx-cuento { margin: 0; scroll-snap-align: start; }
.vx-cuento picture, .vx-cuento img { display: block; width: 100%; height: auto; border-radius: 16px; }
.vx-cuento figcaption { display: grid; gap: 4px; padding-top: 12px; }
.vx-cuento b { font: 400 20px/1.2 var(--serif); }
.vx-cuento span { font-size: 14px; line-height: 1.5; color: #8A5F5B; }
@media (min-width: 900px) { .vx-cuentos-fila { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; } }

.vx-taller { padding: var(--s6) var(--s3); text-align: center; }
.vx-pasos { list-style: none; margin: var(--s4) 0 0; padding: 0; display: grid; gap: var(--s4); }
.vx-pasos li { display: grid; justify-items: center; gap: 6px; }
.vx-pasos .vx-pj { width: 150px; }
.vx-pasos b { font: 400 23px/1.2 var(--serif); }
.vx-pasos span { max-width: 32ch; font-size: 15px; line-height: 1.55; color: #8A5F5B; }
@media (min-width: 900px) { .vx-pasos { grid-template-columns: repeat(3, 1fr); } }

.vx-noche { position: relative; padding: var(--s6) 0; background: radial-gradient(120% 90% at 80% 0%, #4A4F7A 0%, var(--a-noche) 60%); color: #FBF1E8; overflow: hidden; }
.vx-noche h2 { margin: 0 0 var(--s4); font: 300 clamp(38px, 8vw, 60px)/1.05 var(--serif); max-width: 14ch; }
.vx-noche h2 em { color: #F2C9C2; }
.vx-noche-escena { position: absolute; right: 0; top: 0; width: min(46vw, 380px); height: 230px; pointer-events: none; }
@media (max-width: 899px) { .vx-noche .fl-wrap { padding-top: 150px; } }
@media (min-width: 900px) { .vx-noche-escena { height: 100%; } }
.vx-n-luna { position: absolute; right: 10%; top: 8%; width: 34%; }
.vx-n-lila { position: absolute; right: 36%; top: 26%; width: 34%; }
.vx-n-huellas { position: absolute; right: 8%; bottom: 6%; width: 40%; opacity: .7; }
.vx-envios { display: grid; gap: var(--s3); margin: 0 0 var(--s4); max-width: 640px; }
.vx-envios dt { font: 400 12px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: #F2C9C2; }
.vx-envios dd { margin: 6px 0 0; font-size: 15.5px; line-height: 1.5; color: rgba(251, 241, 232, .85); }
.vx-noche .vx-btn--rosa { background: #F2C9C2; color: var(--a-noche); }
@media (min-width: 900px) { .vx-envios { grid-template-columns: 1fr 1fr; } }

.vx-devocional { --b-noche: #121A2E; --b-azul: #1D2B4C; --b-oro: #D6AE75; --b-crema: #F5ECDD; background: var(--b-noche); color: var(--b-crema); }
.vx-devocional .vx-sello--oro { color: var(--b-oro); }
.vx-devocional .vx-btn--oro { background: var(--b-oro); color: var(--b-noche); }
.vx-devocional .vx-btn--oro:hover { background: var(--b-crema); }
.vx-devocional .vx-btn--claro { border-color: rgba(245, 236, 221, .45); color: var(--b-crema); }
.vx-devocional .vx-h2 em, .vx-devocional h2 em { color: var(--b-oro); }
.vx-devocional .vx-precio { color: var(--b-oro); }
.vx-devocional .vx-nombre { color: var(--b-crema); }

.vx-herob { position: relative; display: grid; gap: var(--s4); padding: var(--s5) var(--s3) calc(var(--s6) + 40px); overflow: hidden;
  background: radial-gradient(90% 70% at 50% 100%, #3A2A2A 0%, var(--b-azul) 45%, var(--b-noche) 100%); }
.vx-herob-luz { position: absolute; left: 50%; bottom: -30%; width: 140%; height: 80%; transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(242, 196, 107, .35), rgba(242, 196, 107, 0)); pointer-events: none; }
.vx-herob-medalla { position: relative; width: min(82vw, 440px); aspect-ratio: 1; margin: 0 auto; transform: translateY(var(--vx-py, 0)); }
.vx-rayos { position: absolute; inset: -18%; opacity: .75; }
.vx-herob-foto { position: absolute; inset: 14%; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 3px var(--b-oro), 0 0 0 12px rgba(214, 174, 117, .18), 0 40px 80px rgba(0, 0, 0, .45); }
.vx-herob-foto picture, .vx-herob-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vx-herob-titulo { margin: var(--s2) 0 0; font: 300 clamp(54px, 13vw, 100px)/.98 var(--serif); }
.vx-herob-titulo em { color: var(--b-oro); }
.vx-herob .vx-lede { color: rgba(245, 236, 221, .82); }
.vx-velas { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: flex-end; gap: 4vw; pointer-events: none; }
.vx-vela { width: 54px; }
.vx-vela--1, .vx-vela--3 { width: 42px; }
.vx-vela--0, .vx-vela--4 { width: 34px; opacity: .8; }
@media (min-width: 900px) {
  .vx-herob { grid-template-columns: 1.05fr 1fr; align-items: center; min-height: calc(100svh - 150px); padding: var(--s6) max(var(--s5), calc((100vw - 1200px) / 2)) calc(var(--s6) + 60px); }
  .vx-herob-medalla { order: 2; }
}

.vx-cita { padding: var(--s6) 0; text-align: center; background: linear-gradient(180deg, var(--b-noche), #18223A); }
.vx-cita-paloma { width: 90px; margin: 0 auto var(--s2); }
.vx-cita blockquote { margin: 0 auto; max-width: 24ch; font: italic 300 clamp(28px, 6vw, 44px)/1.25 var(--serif); color: var(--b-crema); }
.vx-cita cite { display: block; margin-top: var(--s2); font: 400 12px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--b-oro); font-style: normal; }

.vx-devos { padding-top: var(--s5); }
.vx-devos-fila { display: grid; gap: var(--s3); margin-top: var(--s4); }
.vx-devo { display: grid; grid-template-columns: 110px 1fr; gap: var(--s3); align-items: center; padding: 16px; border-radius: 22px; text-decoration: none;
  color: var(--b-crema); background: linear-gradient(135deg, rgba(214, 174, 117, .12), rgba(214, 174, 117, .03)); border: 1px solid rgba(214, 174, 117, .25);
  transition: transform .25s ease, border-color .25s ease; }
.vx-devo:hover { transform: translateY(-3px); border-color: var(--b-oro); }
.vx-devo-foto { display: block; aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 2px var(--b-oro); }
.vx-devo-foto picture, .vx-devo-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vx-devo-texto { display: grid; gap: 6px; }
.vx-devo-texto b { font: 400 25px/1.1 var(--serif); }
.vx-devo-texto span { font-size: 14.5px; line-height: 1.5; color: rgba(245, 236, 221, .75); }
.vx-devo-texto i { font: normal 400 12px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--b-oro); }
@media (min-width: 900px) { .vx-devos-fila { grid-template-columns: 1fr 1fr; } }

.vx-fila { padding-top: var(--s6); }
.vx-fila-cab { margin-bottom: var(--s4); border-top: 1px solid rgba(214, 174, 117, .3); padding-top: var(--s3); }
.vx-fila-cab h2 { margin: 0; font: 300 clamp(32px, 7vw, 46px)/1.1 var(--serif); }
.vx-fila-cab p { margin-top: 8px; color: rgba(245, 236, 221, .7); }
.vx-devocional .vx-foto { border-radius: 14px; background: #1B2440; }

.vx-letras { margin-top: var(--s6); padding: var(--s6) 0; background: linear-gradient(180deg, #18223A, #2A1E22); }
.vx-letras-fila { display: grid; gap: var(--s5); align-items: center; }
.vx-letras-medalla { position: relative; width: min(70vw, 320px); aspect-ratio: 1; margin: 0 auto; display: grid; place-items: center; }
.vx-letras-disco { position: relative; display: grid; place-items: center; width: 64%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #F7DFA0, #C6982F 55%, #7E5A18); color: #3A2A10;
  font: 500 clamp(16px, 4vw, 22px)/1 var(--serif); letter-spacing: .12em; box-shadow: 0 20px 50px rgba(0, 0, 0, .4); }
.vx-letras h2 { margin: var(--s2) 0; font: 300 clamp(34px, 7vw, 50px)/1.1 var(--serif); }
.vx-letras p { margin-bottom: var(--s4); max-width: 46ch; line-height: 1.65; color: rgba(245, 236, 221, .8); }
@media (min-width: 900px) { .vx-letras-fila { grid-template-columns: 1fr 1.2fr; } }

.vx-devocional .vx-cierreb { margin: 0; padding: var(--s6) 0; background: #121A2E; color: var(--b-crema); text-align: left; }
.vx-cierreb-cruz { width: 54px; margin-bottom: var(--s3); }
.vx-devocional .vx-cierreb h2 { color: var(--b-crema); }
.vx-devocional .vx-cierreb dt { color: var(--b-oro); }
.vx-devocional .vx-cierreb dd { color: rgba(245, 236, 221, .8); }

.vx-maison { --c-negro: #0E0E0E; --c-marfil: #F4F0EA; --c-gris: #8A857E; background: var(--c-marfil); color: var(--c-negro); }
body.vx-maison header.fl-header.vx-cab--maison { background: var(--c-negro) !important; border-bottom: 0; box-shadow: none; }
.vx-cab--maison .fl-headbar { justify-content: center; }
.vx-cab--maison .vx-logo { font: 300 22px/1 var(--sans); letter-spacing: .6em; color: #fff; padding: 6px 0; }
.vx-cab--maison .vx-nav a { color: rgba(255, 255, 255, .78); font-size: 11.5px; letter-spacing: .24em; }
.vx-cab--maison .vx-nav a:hover { color: #fff; }
.vx-cab--maison .fl-headtools, .vx-cab--maison .fl-headtools * { color: #fff; border-color: rgba(255, 255, 255, .35); }

.vx-heroc { position: relative; height: calc(100svh - 110px); min-height: 560px; overflow: hidden; background: #000; color: #fff; }
.vx-heroc-foto { position: absolute; inset: -40px 0; transform: translateY(var(--vx-py, 0)); }
.vx-heroc-foto picture, .vx-heroc-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vx-heroc::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .1) 40%, rgba(0, 0, 0, .65)); }
.vx-heroc-texto { position: absolute; z-index: 1; left: var(--s3); right: var(--s3); bottom: var(--s5); display: grid; gap: var(--s2); }
.vx-heroc-texto > span { font: 300 11.5px/1 var(--sans); letter-spacing: .32em; text-transform: uppercase; }
.vx-heroc-titulo { margin: 0; font: 300 clamp(60px, 15vw, 150px)/.92 var(--serif); letter-spacing: -.01em; }
.vx-heroc-texto a { justify-self: start; color: #fff; text-decoration: none; font: 300 12px/1 var(--sans); letter-spacing: .28em; text-transform: uppercase;
  padding-bottom: 8px; border-bottom: 1px solid #fff; }
@media (min-width: 900px) { .vx-heroc-texto { left: max(var(--s5), calc((100vw - 1200px) / 2)); bottom: var(--s6); } }

.vx-manifiesto { padding: var(--s7) var(--s3); text-align: center; }
.vx-manifiesto p { margin: 0 auto; max-width: 30ch; font: 300 clamp(26px, 5vw, 40px)/1.35 var(--serif); }

.vx-editorial { display: grid; gap: 4px; }
.vx-ed { position: relative; display: block; overflow: hidden; color: #fff; text-decoration: none; background: #000; }
.vx-ed picture, .vx-ed img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s cubic-bezier(.2, .7, .2, 1), opacity .6s; }
.vx-ed:hover img { transform: scale(1.04); opacity: .92; }
.vx-ed span { position: absolute; left: 20px; bottom: 20px; display: grid; gap: 6px; font: 300 12px/1.3 var(--sans); letter-spacing: .22em; text-transform: uppercase; }
.vx-ed small { font-size: 10.5px; opacity: .8; }
@media (min-width: 900px) {
  .vx-editorial { grid-template-columns: 1.4fr 1fr; grid-template-rows: 1fr 1fr; height: 92vh; }
  .vx-ed--0 { grid-row: 1 / 3; }
}

.vx-rail-sec { padding: var(--s7) 0 var(--s6); }
.vx-rail-cab { display: flex; justify-content: space-between; align-items: baseline; padding: 0 var(--s3) var(--s4); }
.vx-rail-cab h2 { margin: 0; font: 300 clamp(34px, 6vw, 54px)/1 var(--serif); }
.vx-rail-cab a, .vx-mlink { color: var(--c-negro); text-decoration: none; font: 300 11.5px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase;
  padding-bottom: 6px; border-bottom: 1px solid currentColor; }
.vx-rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(72vw, 320px); gap: var(--s3); overflow-x: auto; padding: 0 var(--s3) 10px;
  scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.vx-rail::-webkit-scrollbar { display: none; }
.vx .fl-linea-card.vx-mcard { display: block; scroll-snap-align: start; text-decoration: none; color: var(--c-negro); background: none; border: 0; padding: 0; box-shadow: none; }
.vx-mcard .vx-foto { border-radius: 0; background: #E7E2DA; }
.vx-mcard .vx-foto img { filter: grayscale(1) contrast(1.05); transition: filter .8s ease, transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.vx-mcard:hover .vx-foto img { filter: none; }
.vx-maison .vx-nombre { font: 300 12px/1.5 var(--sans); letter-spacing: .2em; text-transform: uppercase; margin-top: 14px; }
.vx-maison .vx-precio { font: 300 13px/1 var(--sans); color: var(--c-gris); letter-spacing: .08em; }
@media (min-width: 900px) { .vx-rail-cab, .vx-rail { padding-left: max(var(--s5), calc((100vw - 1200px) / 2)); padding-right: max(var(--s5), calc((100vw - 1200px) / 2)); } }

.vx-banda { position: relative; height: 78vh; overflow: hidden; background: #000; }
.vx-banda picture { position: absolute; inset: -40px 0; transform: translateY(var(--vx-py, 0)); }
.vx-banda img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .82; }
.vx-banda p { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; text-align: center; color: #fff;
  font: 300 clamp(36px, 8vw, 84px)/1.05 var(--serif); }

.vx-servicios { padding: var(--s7) var(--s3); text-align: center; }
.vx-servicios h2 { margin: 0 0 var(--s5); font: 300 12px/1 var(--sans); letter-spacing: .4em; text-transform: uppercase; }
.vx-servicios ul { list-style: none; margin: 0 auto var(--s5); padding: 0; display: grid; gap: var(--s4); max-width: 1100px; }
.vx-servicios li { display: grid; gap: 10px; }
.vx-servicios b { font: 300 24px/1.2 var(--serif); }
.vx-servicios span { font-size: 14.5px; line-height: 1.6; color: #5D5952; }
@media (min-width: 900px) { .vx-servicios ul { grid-template-columns: repeat(4, 1fr); } }
.vx-maison .fl-foot { background: var(--c-negro); }

@media (prefers-reduced-motion: no-preference) {
  .vx-js [data-vx-revela] { opacity: 0; translate: 0 26px;
    transition: opacity .9s ease calc(var(--i, 0) * 110ms), translate 1s cubic-bezier(.2, .7, .2, 1) calc(var(--i, 0) * 110ms); }
  .vx-js [data-vx-revela].vx-visto { opacity: 1; translate: 0 0; }
  .vx-cielo i { animation: vx-titila 3.2s ease-in-out var(--d) infinite; }
  .vx-e-movil { animation: vx-mece 5s ease-in-out infinite; transform-origin: 50% 0; }
  .vx-e-luna, .vx-n-luna { animation: vx-flota 6s ease-in-out infinite; }
  .vx-e-nube { animation: vx-flota 7s ease-in-out infinite; }
  .vx-js .vx-e-marco { opacity: 0; transform: scale(.85) rotate(-6deg); transition: opacity 1s ease .2s, transform 1.4s cubic-bezier(.2, .8, .2, 1) .2s; }
  .vx-listo .vx-e-marco { opacity: 1; transform: none; }
  .vx-rayos { animation: vx-gira 60s linear infinite; }
  .vx-rayos--lento { animation-duration: 90s; }
  .vx-herob-luz { animation: vx-vela-luz 3s ease-in-out infinite alternate; }
  .vx-js .vx-heroc-foto img { transform: scale(1.12); transition: transform 7s cubic-bezier(.2, .6, .2, 1); }
  .vx-listo .vx-heroc-foto img { transform: scale(1); }
}
@keyframes vx-titila { 0%, 100% { opacity: .15; transform: scale(.6); } 50% { opacity: .85; transform: scale(1); } }
@keyframes vx-mece { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes vx-flota { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes vx-gira { to { rotate: 360deg; } }
@keyframes vx-vela-luz { from { opacity: .75; } to { opacity: 1; } }
