

/* =========================================================
   HOME v2 (2026-09-27): portada inmersiva. Clases vdm-hm-* en
   containers/columnas/elementos nativos. Todo prefijado con
   .vdm-hm-page (body class) para ganar al CSS dinamico de Avada.
   ========================================================= */

.vdm-hm-page .vdm-eyebrow, .vdm-hm-page .vdm-eyebrow p { font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 16px; line-height: 1.5; }
.vdm-hm-page .vdm-eyebrow--coral, .vdm-hm-page .vdm-eyebrow--coral p { color: var(--awb-color5); }
.vdm-hm-page .vdm-eyebrow--light, .vdm-hm-page .vdm-eyebrow--light p { color: rgba(255,255,255,.85); }
.vdm-hm-page .vdm-eyebrow--pill p { display: inline-block; background: rgba(249,34,75,.22); color: #fff; padding: 8px 18px; border-radius: 30px; text-transform: none; letter-spacing: .01em; font-size: 13.5px; backdrop-filter: blur(6px); }
.vdm-hm-page .fusion-fullwidth[class*="vdm-hm-"]:not(.vdm-hm-hero) { position: relative; }
.vdm-hm-page .fusion-fullwidth.vdm-hm-intro, .fusion-fullwidth.vdm-hm-acomp, .fusion-fullwidth.vdm-hm-pack, .fusion-fullwidth.vdm-hm-ideas, .fusion-fullwidth.vdm-hm-op, .fusion-fullwidth.vdm-hm-blog, .fusion-fullwidth.vdm-hm-faq, .fusion-fullwidth.vdm-hm-cta { padding-left: var(--vdm-nos-gut) !important; padding-right: var(--vdm-nos-gut) !important; }
.vdm-hm-page .fusion-button-wrapper { margin: 0 !important; }
.vdm-hm-page .fusion-button { transition: transform .35s cubic-bezier(.22,.8,.26,1), box-shadow .35s, background .3s, color .3s; }
.vdm-hm-page .fusion-button:hover { transform: translateY(-2px); }
.vdm-hm-page .vdm-hm-h2 h2, .vdm-hm-page .vdm-hm-ideas-title h2, .vdm-hm-page .vdm-hm-op-title h2, .vdm-hm-page .vdm-hm-blog-title h2, .vdm-hm-page .vdm-hm-faq-title h2, .vdm-hm-page .vdm-hm-pack-title h2 { font-size: clamp(34px, 4.6vw, 58px) !important; line-height: 1.06 !important; letter-spacing: -.02em; text-wrap: balance; }
.vdm-hm-page .vdm-hm-op-p p, .vdm-hm-page .vdm-hm-blog-p p, .vdm-hm-page .vdm-hm-faq-p p, .vdm-hm-page .vdm-hm-ideas-p p { max-width: 680px; margin: 18px auto 0; font-size: 17px; line-height: 1.7; }
.vdm-hm-page .vdm-hm-op-p a, .vdm-hm-page .vdm-hm-faq-p a { color: var(--awb-color5); font-weight: 600; }
.vdm-hm-page .vdm-count { font-size: inherit; color: inherit; }

/* ---------- 1. Hero ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-hero { --p: 0; position: sticky; top: 0; height: 100vh; height: 100svh; min-height: 620px; z-index: 0; padding: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; overflow: hidden; color: #fff; }
.vdm-hm-page .vdm-hm-hero > .fusion-row { position: static; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; padding: 0 var(--vdm-nos-gut) !important; }
.vdm-hm-page .vdm-hm-hero .fusion-layout-column { margin-top: 0 !important; margin-bottom: 0 !important; }
.vdm-hm-page .vdm-hm-hero-bg { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; z-index: 0 !important; }
.vdm-hm-page .vdm-hm-hero-bg > .fusion-column-wrapper { position: relative !important; display: block !important; height: 100% !important; padding: 0 !important; }
.vdm-hm-page .vdm-hm-hero-bg .fusion-imageframe { position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-hero-bg img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 55%; transform: scale(calc(1.06 + .18 * var(--p))) translate(calc(var(--mx, 0) * -10px), calc(var(--my, 0) * -10px)); animation: vdmHmKen 16s ease-out forwards; }
@keyframes vdmHmKen { from { object-position: 45% 60%; } to { object-position: 50% 52%; } }
.vdm-hm-page .vdm-hm-hero-bg::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(2,33,81,.55) 0%, rgba(2,33,81,.25) 45%, rgba(2,33,81,0) 75%), linear-gradient(180deg, rgba(2,33,81,.25) 0%, rgba(2,33,81,.15) 40%, rgba(2,33,81,.85) 100%); }
.vdm-hm-page .vdm-hm-hero-mist { position: absolute; inset: 0; z-index: 1 !important; pointer-events: none; overflow: hidden; }
.vdm-hm-page .vdm-hm-hero-mist i { position: absolute; width: 70vw; height: 70vw; border-radius: 50%; filter: blur(90px); opacity: .28; background: radial-gradient(circle, rgba(255,255,255,.9), rgba(255,255,255,0) 60%); animation: vdmMist 18s ease-in-out infinite alternate; transform: translate(calc(var(--mx, 0) * -30px), calc(var(--my, 0) * -30px)); }
.vdm-hm-page .vdm-hm-hero-mist i:nth-child(1) { left: -20vw; top: 20vh; }
.vdm-hm-page .vdm-hm-hero-mist i:nth-child(2) { right: -25vw; bottom: -10vh; animation-delay: -9s; opacity: .2; }
.vdm-hm-page .vdm-hm-hero-motas { position: absolute; inset: 0; z-index: 1 !important; pointer-events: none; transform: translate(calc(var(--mx, 0) * 24px), calc(var(--my, 0) * 24px)); transition: transform .6s cubic-bezier(.22,.8,.26,1); }
.vdm-hm-page .vdm-hm-hero-motas i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #fff; opacity: 0; box-shadow: 0 0 14px 3px rgba(255,255,255,.55); animation: vdmMota var(--d, 12s) linear infinite; animation-delay: var(--dl, 0s); }
.vdm-hm-page .vdm-hm-hero-motas i:nth-child(1) { left: 8%; top: 70%; --d: 14s; --dl: -2s; } .vdm-hm-hero-motas i:nth-child(2) { left: 18%; top: 85%; --d: 11s; --dl: -6s; width: 4px; height: 4px; } .vdm-hm-hero-motas i:nth-child(3) { left: 30%; top: 60%; --d: 16s; --dl: -1s; } .vdm-hm-hero-motas i:nth-child(4) { left: 42%; top: 78%; --d: 13s; --dl: -8s; width: 3px; height: 3px; } .vdm-hm-hero-motas i:nth-child(5) { left: 55%; top: 66%; --d: 15s; --dl: -4s; } .vdm-hm-hero-motas i:nth-child(6) { left: 63%; top: 88%; --d: 12s; --dl: -10s; width: 4px; height: 4px; } .vdm-hm-hero-motas i:nth-child(7) { left: 72%; top: 58%; --d: 17s; --dl: -3s; } .vdm-hm-hero-motas i:nth-child(8) { left: 80%; top: 74%; --d: 14s; --dl: -7s; width: 3px; height: 3px; } .vdm-hm-hero-motas i:nth-child(9) { left: 88%; top: 62%; --d: 13s; --dl: -5s; } .vdm-hm-hero-motas i:nth-child(10) { left: 94%; top: 82%; --d: 16s; --dl: -9s; width: 4px; height: 4px; } .vdm-hm-hero-motas i:nth-child(11) { left: 50%; top: 92%; --d: 12s; --dl: -11s; width: 3px; height: 3px; } .vdm-hm-hero-motas i:nth-child(12) { left: 24%; top: 95%; --d: 15s; --dl: -12s; }
.vdm-hm-page .vdm-hm-polaroids { position: absolute; inset: 0; z-index: 1 !important; pointer-events: none; }
.vdm-hm-page .vdm-hm-polaroid { position: absolute; margin: 0; background: #fff; padding: 10px 10px 30px; border-radius: 12px; box-shadow: 0 30px 60px -24px rgba(2,33,81,.7); width: 180px; transform: rotate(var(--r, -6deg)) translate(calc(var(--mx, 0) * var(--depth, 1) * -20px), calc(var(--my, 0) * var(--depth, 1) * -20px)); opacity: 0; animation: vdmPolIn 1.2s cubic-bezier(.22,.8,.26,1) forwards, vdmBob 7s ease-in-out infinite; animation-delay: var(--dl, .8s), 1.8s; }
.vdm-hm-page .vdm-hm-polaroid img { width: 100%; aspect-ratio: 1 / 1.1; object-fit: cover; border-radius: 6px; display: block; }
.vdm-hm-page .vdm-hm-polaroid figcaption { position: absolute; left: 0; right: 0; bottom: 8px; text-align: center; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 12.5px; color: var(--awb-color4); }
.vdm-hm-page .vdm-hm-polaroid:nth-child(1) { right: 22%; top: 20%; --r: 6deg; --dl: .9s; }
.vdm-hm-page .vdm-hm-polaroid:nth-child(2) { right: 8%; top: 40%; --r: -7deg; --dl: 1.2s; width: 160px; }
.vdm-hm-page .vdm-hm-polaroid:nth-child(3) { right: 26%; top: 58%; --r: 3deg; --dl: 1.5s; width: 150px; }
@keyframes vdmPolIn { from { opacity: 0; translate: 0 40px; } to { opacity: 1; translate: 0 0; } }
.vdm-hm-page .vdm-hm-hero-content { position: relative !important; z-index: 2 !important; width: 100% !important; padding: 0 0 6vh !important; transform: translateY(calc(var(--p) * -90px)); opacity: calc(1 - var(--p) * 1.6); }
.vdm-hm-page .vdm-hm-hero-content > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-hero .vdm-letters h1 { color: #fff !important; font-size: clamp(44px, 6.8vw, 96px) !important; line-height: .96 !important; letter-spacing: -.04em; margin: 18px 0 24px !important; max-width: 900px; }
.vdm-hm-page .vdm-letters .vdm-word { display: inline-block; white-space: nowrap; }
.vdm-hm-page .vdm-letters .l { display: inline-block; opacity: 0; transform: translateY(.6em) rotate(6deg); animation: vdmLetter .9s cubic-bezier(.22,.8,.26,1) forwards; animation-delay: calc(.25s + var(--i) * .035s); transform-origin: 0 100%; }
.vdm-hm-page .vdm-hm-hero-lead, .vdm-hm-page .vdm-hm-hero-lead p { font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; max-width: 600px; color: rgba(255,255,255,.88); margin: 0 0 32px; }
.vdm-hm-page .vdm-hm-hero-btns { width: 100% !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-hero-btns > .fusion-column-wrapper { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 14px; padding: 0 !important; }
.vdm-hm-page .vdm-hm-hero-foot { position: relative !important; z-index: 2 !important; width: 100% !important; padding: 0 !important; opacity: calc(1 - var(--p) * 2); }
.vdm-hm-page .vdm-hm-hero-foot > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-hero-foot .fusion-text { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-top: 1px solid rgba(255,255,255,.2); padding: 0 0 70px; }
.vdm-hm-page .vdm-hm-ticker { overflow: hidden; flex: 1; mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.vdm-hm-page .vdm-hm-ticker-list { list-style: none; margin: 0; padding: 20px 0; display: flex; gap: 44px; width: max-content; animation: vdmTicker 36s linear infinite; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.vdm-hm-page .vdm-hm-ticker-list li { margin: 0; white-space: nowrap; }
.vdm-hm-page .vdm-hm-ticker-list li::before { content: "✈"; margin-right: 14px; color: var(--awb-color5); font-size: 12px; }
@keyframes vdmTicker { to { transform: translateX(-50%); } }
.vdm-hm-page .vdm-hm-scrollcue { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; color: #fff; flex: none; }
.vdm-hm-page .vdm-hm-scrollcue i { width: 64px; height: 1px; background: rgba(255,255,255,.35); position: relative; overflow: hidden; }
.vdm-hm-page .vdm-hm-scrollcue i::after { content: ""; position: absolute; inset: 0; background: #fff; transform: translateX(-100%); animation: vdmCue 2.2s cubic-bezier(.22,.8,.26,1) infinite; }

/* ---------- 2. Intro ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-intro { box-shadow: 0 -30px 60px -30px rgba(2,33,81,.35); padding-top: 34px !important; padding-bottom: 18vh !important; }
.vdm-hm-page .vdm-hm-trust { width: 100% !important; margin: 0 0 14vh !important; }
.vdm-hm-page .vdm-hm-trust > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-trust-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.vdm-hm-page .vdm-hm-trust-list li { margin: 0; background: #fff; border-radius: 22px; padding: 26px 28px; display: flex; align-items: center; gap: 16px; box-shadow: 0 20px 40px -32px rgba(2,33,81,.35); }
.vdm-hm-page .vdm-hm-trust-list strong { font-family: 'Quicksand', sans-serif; font-size: 34px; color: var(--awb-color4); letter-spacing: -.03em; line-height: 1; flex: none; }
.vdm-hm-page .vdm-hm-trust-list li > span { font-size: 13.5px; line-height: 1.4; color: #4a5873; }
.vdm-hm-page .vdm-hm-intro-col { width: min(1000px, 100%) !important; margin: 0 auto !important; }
.vdm-hm-page .vdm-hm-intro-col > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-words h2 { font-size: clamp(32px, 4.4vw, 64px) !important; line-height: 1.12 !important; letter-spacing: -.025em; }
.vdm-hm-page .vdm-words .w { opacity: .14; transition: opacity .35s linear; }
.vdm-hm-page .vdm-words .w.on { opacity: 1; }
.vdm-hm-page .vdm-hm-intro-p p { font-size: 18px; line-height: 1.7; margin: 36px 0 0; max-width: 900px; color: #4a5873; }
.vdm-hm-page .vdm-hm-intro-p strong { color: var(--awb-color5); }

/* ---------- 3. Pasos horizontales ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-steps { --p: 0; overflow: visible !important; padding: 0 !important; }
.vdm-hm-page .vdm-hm-steps > .fusion-row { display: block; }
.vdm-hm-page .vdm-hm-steps-track { width: 100% !important; height: 380vh; margin: 0 !important; }
.vdm-hm-page .vdm-hm-steps-track > .fusion-column-wrapper { position: sticky !important; top: 0; height: 100vh !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: stretch !important; padding: var(--vdm-nos-header) 0 60px !important; }
.vdm-hm-page .vdm-hm-steps-eyebrow, .vdm-hm-page .vdm-hm-steps-head { width: auto !important; margin: 0 var(--vdm-nos-gut) !important; }
.vdm-hm-page .vdm-hm-steps-head { margin-bottom: 40px !important; }
.vdm-hm-page .vdm-hm-steps-head h2 { color: #fff !important; font-size: clamp(30px, 3.4vw, 46px) !important; }
.vdm-hm-page .vdm-hm-steps-track .fusion-builder-row-inner { position: relative !important; display: flex !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 28px; width: max-content !important; max-width: none !important; margin: 0 !important; padding: 0 24px 0 var(--vdm-nos-gut) !important; will-change: transform; }
.vdm-hm-page .vdm-hm-step { position: relative; z-index: 1; flex: 0 0 auto !important; width: min(420px, 72vw) !important; max-width: none !important; margin: 0 !important; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 28px; color: #fff; backdrop-filter: blur(4px); transition: transform .5s cubic-bezier(.22,.8,.26,1), background .5s; }
.vdm-hm-page .vdm-hm-step > .fusion-column-wrapper { padding: 34px 32px 36px !important; height: 100%; }
.vdm-hm-page .vdm-hm-step.is-on { background: rgba(255,255,255,.12); transform: translateY(-10px); }
.vdm-hm-page .vdm-hm-step-n { font-family: 'Quicksand', sans-serif; font-weight: 700; color: var(--awb-color5); letter-spacing: .1em; display: block; margin-bottom: 60px; }
.vdm-hm-page .vdm-hm-step h3 { color: #fff; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: clamp(28px, 2.6vw, 36px); margin: 0 0 12px; line-height: 1.1; }
.vdm-hm-page .vdm-hm-step p { margin: 0; color: rgba(255,255,255,.75); font-size: 15.5px; line-height: 1.6; }
.vdm-hm-page .vdm-hm-step--cta { background: var(--awb-color5); border-color: var(--awb-color5); }
.vdm-hm-page .vdm-hm-step--cta > .fusion-column-wrapper { display: flex !important; flex-direction: column; justify-content: center; align-items: flex-start; gap: 18px; }
.vdm-hm-page .vdm-hm-step--cta .fusion-text p { color: #fff; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 24px; }
.vdm-hm-page .vdm-hm-step--cta .fusion-button { box-shadow: none; }
.vdm-hm-page .vdm-hm-route { position: absolute; left: 0; top: 0; height: 100%; z-index: 0; overflow: visible; pointer-events: none; }
.vdm-hm-page .vdm-hm-route path { fill: none; stroke-linecap: round; }
.vdm-hm-page .vdm-hm-route-base { stroke: rgba(255,255,255,.16); stroke-width: 2; stroke-dasharray: 3 14; }
.vdm-hm-page .vdm-hm-route-fill { stroke: var(--awb-color5); stroke-width: 2.5; stroke-dasharray: 3 14; }
.vdm-hm-page .vdm-hm-plane path { fill: var(--awb-color5); stroke: none; filter: drop-shadow(0 6px 14px rgba(249,34,75,.6)); }
.vdm-hm-page .vdm-hm-steps-bar { position: absolute; left: var(--vdm-nos-gut); right: var(--vdm-nos-gut); bottom: 40px; height: 2px; background: rgba(255,255,255,.14); }
.vdm-hm-page .vdm-hm-steps-bar i { display: block; height: 100%; background: var(--awb-color5); width: calc(var(--p) * 100%); }

/* ---------- 4. Acompañamiento ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-acomp { color: #fff; padding-top: 140px !important; padding-bottom: 140px !important; }
.vdm-hm-page .vdm-hm-acomp > .fusion-row { align-items: center; gap: 80px; }
.vdm-hm-page .vdm-hm-acomp-txt, .vdm-hm-page .vdm-hm-acomp-phone { flex: 1 1 0 !important; width: auto !important; max-width: none !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-acomp-txt > .fusion-column-wrapper, .vdm-hm-page .vdm-hm-acomp-phone > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-acomp-title h2 { color: #fff !important; font-size: clamp(34px, 4vw, 52px) !important; line-height: 1.06 !important; margin-bottom: 22px !important; }
.vdm-hm-page .vdm-hm-acomp-p p { font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.78); margin: 0 0 36px; }
.vdm-hm-page .vdm-hm-acomp-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vdm-hm-page .vdm-hm-acomp-list li { margin: 0; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; padding: 20px 22px; display: flex; flex-direction: column; gap: 4px; }
.vdm-hm-page .vdm-hm-acomp-list b { font-family: 'Quicksand', sans-serif; font-size: 17px; color: #fff; }
.vdm-hm-page .vdm-hm-acomp-list b::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--awb-color5); margin-right: 10px; box-shadow: 0 0 0 4px rgba(249,34,75,.25); }
.vdm-hm-page .vdm-hm-acomp-list span { font-size: 14px; color: rgba(255,255,255,.65); }
.vdm-hm-page .vdm-hm-phone { background: #fff; border-radius: 34px; box-shadow: 0 50px 100px -40px rgba(0,0,0,.7); overflow: hidden; max-width: 420px; margin-left: auto; font-size: 15px; color: #4a5873; rotate: 2deg; }
.vdm-hm-page .vdm-hm-phone-head { display: flex; align-items: center; gap: 14px; padding: 18px 22px; background: var(--awb-color4); color: #fff; }
.vdm-hm-page .vdm-hm-phone-head b { display: block; font-family: 'Quicksand', sans-serif; font-size: 16px; color: #fff; }
.vdm-hm-page .vdm-hm-phone-head small { color: rgba(255,255,255,.6); font-size: 12px; }
.vdm-hm-page .vdm-hm-phone-head small::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #3ddc84; margin-right: 6px; }
.vdm-hm-page .vdm-hm-phone-head em { margin-left: auto; font-style: normal; font-size: 12px; color: rgba(255,255,255,.5); }
.vdm-hm-page .vdm-hm-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--awb-color5); display: grid; place-items: center; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 13px; color: #fff; }
.vdm-hm-page .vdm-hm-chat { padding: 22px; background: #FFF8F5; display: flex; flex-direction: column; gap: 12px; min-height: 360px; }
.vdm-hm-page .vdm-hm-chat .vdm-msg { margin: 0; max-width: 86%; padding: 12px 16px; border-radius: 18px; line-height: 1.5; opacity: 0; transform: translateY(14px) scale(.96); transition: opacity .5s cubic-bezier(.22,.8,.26,1), transform .5s cubic-bezier(.22,.8,.26,1); }
.vdm-hm-page .vdm-hm-chat .vdm-msg.is-on { opacity: 1; transform: none; }
.vdm-hm-page .vdm-hm-chat .vdm-msg--in { align-self: flex-start; background: #fff; color: var(--awb-color4); border-bottom-left-radius: 6px; }
.vdm-hm-page .vdm-hm-chat .vdm-msg--out { align-self: flex-end; background: var(--awb-color4); color: #fff; border-bottom-right-radius: 6px; }
.vdm-hm-page .vdm-hm-chat .vdm-typing { margin: 0; align-self: flex-end; display: none; gap: 5px; padding: 14px 16px; background: var(--awb-color4); border-radius: 18px; border-bottom-right-radius: 6px; }
.vdm-hm-page .vdm-hm-chat .vdm-typing.is-on { display: flex; }
.vdm-hm-page .vdm-hm-chat .vdm-typing i { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.7); animation: vdmTyping 1s ease-in-out infinite; }
.vdm-hm-page .vdm-hm-chat .vdm-typing i:nth-child(2) { animation-delay: .15s; } .vdm-hm-chat .vdm-typing i:nth-child(3) { animation-delay: .3s; }

/* ---------- 5. Destinos ---------- */

/* ---------- 6. Paquete destacado ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-pack { --p: 0; padding-top: 140px !important; padding-bottom: 140px !important; }
.vdm-hm-page .vdm-hm-pack > .fusion-row { background: #fff; border-radius: 36px; overflow: hidden; box-shadow: 0 50px 100px -50px rgba(2,33,81,.45); }
.vdm-hm-page .vdm-hm-pack-media, .vdm-hm-page .vdm-hm-pack-body { flex: 1 1 0 !important; width: auto !important; max-width: none !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-pack-media { --s: .78; position: relative !important; min-height: 520px !important; align-self: stretch !important; overflow: hidden; cursor: ew-resize; }
.vdm-hm-page .vdm-hm-pack > .fusion-row { align-items: stretch; }
.vdm-hm-page .vdm-hm-pack-media > .fusion-column-wrapper { position: absolute !important; inset: 0 !important; display: block !important; height: auto !important; padding: 0 !important; }
.vdm-hm-page .vdm-hm-pack-img { position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-pack-img img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transform: scale(calc(1.22 - .18 * var(--p))) translateY(calc((var(--p) - .5) * 40px)); }
.vdm-hm-page .vdm-hm-pack-img--b { z-index: 1; clip-path: polygon(calc(var(--s) * 100% + 9%) 0, 100% 0, 100% 100%, calc(var(--s) * 100% - 9%) 100%); transition: clip-path .35s cubic-bezier(.2,.8,.2,1); }
.vdm-hm-page .vdm-hm-pack-split { position: absolute; z-index: 3; top: 0; bottom: 0; left: calc(var(--s) * 100%); width: 0; pointer-events: none; transition: left .35s cubic-bezier(.2,.8,.2,1); }
.vdm-hm-page .vdm-hm-pack-split::before { content: ""; position: absolute; top: -10%; bottom: -10%; left: 0; width: 3px; background: #fff; transform: translateX(-50%) skewX(-9.5deg); box-shadow: 0 0 22px rgba(255,255,255,.7); }
.vdm-hm-page .vdm-hm-pack-split-plane { position: absolute; left: 0; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; background: #fff; color: var(--awb-color5); display: grid; place-items: center; font-style: normal; font-size: 18px; box-shadow: 0 12px 30px -8px rgba(0,0,0,.5); }
.vdm-hm-page .vdm-hm-pack-lbls { position: absolute !important; inset: 0; z-index: 2; margin: 0 !important; pointer-events: none; }
.vdm-hm-page .vdm-hm-pack-lbls::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; background: linear-gradient(180deg, rgba(2,33,81,0), rgba(2,33,81,.55)); }
.vdm-hm-page .vdm-hm-pack-lbl { z-index: 1; }
.vdm-hm-page .vdm-hm-pack-lbl { position: absolute; bottom: 26px; font-family: 'Quicksand', sans-serif; font-weight: 700; color: #fff; font-size: 22px; line-height: 1; text-shadow: 0 4px 18px rgba(0,0,0,.45); transition: opacity .35s, transform .35s; }
.vdm-hm-page .vdm-hm-pack-lbl small { display: block; font-family: 'Montserrat', 'Montserrat Fallback', sans-serif; font-weight: 500; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; opacity: .85; margin-top: 6px; }
.vdm-hm-page .vdm-hm-pack-lbl--a { left: 28px; }
.vdm-hm-page .vdm-hm-pack-lbl--b { right: 28px; text-align: right; }
.vdm-hm-page .vdm-hm-pack-badgewrap { position: absolute !important; left: 28px; top: 28px; z-index: 2; }
.vdm-hm-page .vdm-hm-pack-badge { display: inline-block; background: var(--awb-color4); color: #fff; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 13.5px; padding: 10px 16px; border-radius: 30px; box-shadow: 0 12px 30px -12px rgba(2,33,81,.7); animation: vdmBob 5s ease-in-out infinite; }
.vdm-hm-page .vdm-hm-pack-body > .fusion-column-wrapper { padding: 56px 60px !important; }
.vdm-hm-page .vdm-hm-pack-title h2 { font-size: clamp(32px, 3.6vw, 48px) !important; line-height: 1.04 !important; }
.vdm-hm-page .vdm-hm-pack-sub p { margin: 10px 0 26px; color: #7b879c; font-size: 16px; }
.vdm-hm-page .vdm-hm-pack-list { list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15.5px; color: var(--awb-color4); font-weight: 500; }
.vdm-hm-page .vdm-hm-pack-list li { margin: 0; }
.vdm-hm-page .vdm-hm-pack-list li::before { content: "✓"; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(249,34,75,.12); color: var(--awb-color5); font-size: 12px; margin-right: 12px; }
.vdm-hm-page .vdm-hm-pack-facts { display: flex; gap: 44px; border-top: 1px solid #eef0f4; border-bottom: 1px solid #eef0f4; padding: 22px 0; margin-bottom: 30px; }
.vdm-hm-page .vdm-hm-pack-facts strong { display: block; font-family: 'Quicksand', sans-serif; font-size: 40px; line-height: 1; color: var(--awb-color4); letter-spacing: -.03em; }
.vdm-hm-page .vdm-hm-pack-facts strong.is-coral { color: var(--awb-color5); }
.vdm-hm-page .vdm-hm-pack-facts > div > span { font-size: 13px; color: #7b879c; }

/* ---------- 7. Ideas (vdm_viajes) ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-ideas { padding-top: 130px !important; padding-bottom: 110px !important; }
.vdm-hm-page .vdm-hm-ideas-head { width: 100% !important; margin: 0 0 40px !important; }
.vdm-hm-page .vdm-hm-ideas-head > .fusion-column-wrapper { padding: 0 !important; display: grid !important; grid-template-columns: 1fr auto; grid-template-rows: auto auto auto; gap: 0 24px; align-items: end; }
.vdm-hm-page .vdm-hm-ideas-head .vdm-eyebrow { grid-column: 1; }
.vdm-hm-page .vdm-hm-ideas-title { grid-column: 1; }
.vdm-hm-page .vdm-hm-ideas-p { grid-column: 1; }
.vdm-hm-page .vdm-hm-ideas-p p { margin: 18px 0 0; }
.vdm-hm-page .vdm-arrows { grid-column: 2; grid-row: 1 / 4; align-self: end; display: flex; gap: 10px; }
.vdm-hm-page .vdm-arrows button { width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--awb-color2); color: var(--awb-color4); font-size: 20px; cursor: pointer; transition: background .3s, color .3s; padding: 0; }
.vdm-hm-page .vdm-arrows button:hover { background: var(--awb-color4); color: #fff; }
.vdm-hm-page .vdm-hm-ideas-track { width: 100% !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-ideas-track > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-grid { display: flex !important; grid-template-columns: none !important; gap: 20px; overflow-x: auto !important; overflow-y: hidden !important; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 10px 0 30px; margin-right: calc(-1 * var(--vdm-nos-gut)); padding-right: var(--vdm-nos-gut); }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-grid::-webkit-scrollbar { display: none; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-grid { cursor: grab; scroll-snap-type: none; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-grid.is-drag { cursor: grabbing; scroll-behavior: auto; user-select: none; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-grid.is-drag .vdm-v-card { pointer-events: none; }
.vdm-hm-page .vdm-ideas-bar { position: relative; height: 3px; width: min(360px, 100%); margin: 6px 0 0; border-radius: 3px; background: rgba(2,33,81,.10); overflow: hidden; }
.vdm-hm-page .vdm-ideas-bar i { position: absolute; left: 0; top: 0; height: 100%; border-radius: 3px; background: var(--awb-color5); transition: transform .15s linear; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-card { flex: 0 0 340px; scroll-snap-align: start; border-radius: 26px; box-shadow: 0 24px 50px -30px rgba(2,33,81,.4); transition: transform .5s cubic-bezier(.22,.8,.26,1), box-shadow .5s; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-card:hover { box-shadow: 0 40px 70px -30px rgba(2,33,81,.5); }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-photo { height: 220px; overflow: hidden; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.22,.8,.26,1); }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-card:hover .vdm-v-photo img { transform: scale(1.06); }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-more { text-align: center; margin-top: 20px; }
.vdm-hm-page .vdm-hm-ideas-track .vdm-v-more-btn { display: inline-flex; align-items: center; gap: 10px; background: var(--awb-color5); color: #fff; font-weight: 500; font-size: 15px; padding: 17px 32px; border-radius: 40px; box-shadow: 0 14px 34px -12px rgba(249,34,75,.6); }

/* ---------- 8. Opiniones ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-op { padding-top: 120px !important; padding-bottom: 100px !important; }
.vdm-hm-page .vdm-hm-op-head { width: 100% !important; margin: 0 0 56px !important; }
.vdm-hm-page .vdm-hm-op-head > .fusion-column-wrapper, .vdm-hm-page .vdm-hm-op-rows > .fusion-column-wrapper, .vdm-hm-page .vdm-hm-op-awards > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-op-rows { width: calc(100% + 2 * var(--vdm-nos-gut)) !important; max-width: none !important; flex: none !important; margin: 0 calc(-1 * var(--vdm-nos-gut)) !important; }
.vdm-hm-page .vdm-hm-op-rows .fusion-text { display: flex; flex-direction: column; gap: 18px; mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.vdm-hm-page .vdm-hm-op-row { display: flex; gap: 18px; width: max-content; animation: vdmRow 60s linear infinite; }
.vdm-hm-page .vdm-hm-op-row--rev { animation-direction: reverse; }
.vdm-hm-page .vdm-hm-op-rows:hover .vdm-hm-op-row { animation-play-state: paused; }
@keyframes vdmRow { to { transform: translateX(-50%); } }
.vdm-hm-page .vdm-hm-quote { flex: 0 0 380px; background: #fff; border-radius: 24px; padding: 28px 30px; box-shadow: 0 20px 40px -32px rgba(2,33,81,.4); }
.vdm-hm-page .vdm-hm-quote .vdm-stars { color: var(--awb-color5); letter-spacing: 3px; font-size: 14px; }
.vdm-hm-page .vdm-hm-quote p { font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 19px; color: var(--awb-color4); margin: 12px 0 16px; line-height: 1.35; }
.vdm-hm-page .vdm-hm-quote footer { font-size: 13.5px; }
.vdm-hm-page .vdm-hm-quote footer b { display: block; color: var(--awb-color4); }
.vdm-hm-page .vdm-hm-quote footer span { color: #7b879c; }
.vdm-hm-page .vdm-hm-op-awards { width: 100% !important; margin: 56px 0 0 !important; }
.vdm-hm-page .vdm-hm-op-awards > .fusion-column-wrapper { display: flex !important; flex-direction: row !important; justify-content: center; align-items: center; gap: 26px; flex-wrap: wrap; }
.vdm-hm-page .vdm-hm-op-awards .fusion-text { width: auto; }
.vdm-hm-page .vdm-hm-op-pill { display: inline-block; background: var(--awb-color4); color: #fff; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 13.5px; padding: 10px 18px; border-radius: 30px; }
.vdm-hm-page .vdm-hm-op-seal { display: block !important; width: 72px !important; height: 72px !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-op-seal img, .vdm-hm-page .vdm-hm-op-logo img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain; }
.vdm-hm-page .vdm-hm-op-logo { display: block !important; width: 140px !important; height: 26px !important; margin: 0 !important; }

/* ---------- 9. Blog ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-blog { padding-top: 130px !important; padding-bottom: 130px !important; }
.vdm-hm-page .vdm-hm-blog-head { width: 100% !important; margin: 0 0 56px !important; }
.vdm-hm-page .vdm-hm-blog-head > .fusion-column-wrapper, .vdm-hm-page .vdm-hm-blog-grid > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-blog-grid { width: 100% !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-blog-grid .fusion-post-cards .post-card { transition: transform .5s cubic-bezier(.22,.8,.26,1); }
.vdm-hm-page .vdm-hm-blog-grid .fusion-post-cards .post-card:hover { transform: translateY(-8px); }

/* ---------- 10. FAQ ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-faq { padding-top: 120px !important; padding-bottom: 120px !important; }
.vdm-hm-page .vdm-hm-faq-head, .vdm-hm-page .vdm-hm-faq-list { width: min(1000px, 100%) !important; margin: 0 auto !important; }
.vdm-hm-page .vdm-hm-faq-head { margin-bottom: 44px !important; }
.vdm-hm-page .vdm-hm-faq-head > .fusion-column-wrapper, .vdm-hm-page .vdm-hm-faq-list > .fusion-column-wrapper { padding: 0 !important; }
.vdm-hm-page .vdm-hm-faq-list .fusion-accordian .fusion-panel { border-radius: 18px !important; margin-bottom: 12px; background: #fff; box-shadow: 0 14px 30px -26px rgba(2,33,81,.35); }
.vdm-hm-page .vdm-hm-faq-list .fusion-accordian .panel-title a { font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 17px !important; color: var(--awb-color4) !important; padding: 22px 26px !important; }
.vdm-hm-page .vdm-hm-faq-list .fusion-accordian .panel-body { padding: 0 26px 22px !important; font-size: 15.5px; }

/* ---------- 11. CTA ---------- */
.vdm-hm-page .fusion-fullwidth.vdm-hm-cta { --p: 0; position: relative; min-height: 88vh; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; }
.vdm-hm-page .vdm-hm-cta::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(1,20,47,.62) 0%, rgba(1,20,47,.38) 45%, rgba(1,20,47,.82) 100%); }
.vdm-hm-page .vdm-hm-cta-title h2, .vdm-hm-page .vdm-hm-cta-p p { text-shadow: 0 6px 30px rgba(1,20,47,.5); }
.vdm-hm-page .vdm-hm-cta .fusion-bg-parallax, .vdm-hm-page .vdm-hm-cta .fusion-parallax-container { z-index: 0; }
.vdm-hm-page .vdm-hm-cta > .fusion-row { position: static; justify-content: center; width: 100%; }
.vdm-hm-page .vdm-hm-cta-inner { position: relative !important; z-index: 3 !important; width: min(820px, 100%) !important; margin: 0 auto !important; padding: 120px 0 !important; }
.vdm-hm-page .vdm-hm-cta-inner > .fusion-column-wrapper { padding: 0 !important; align-items: center; }
.vdm-hm-page .vdm-eyebrow--pill-dark p { background: rgba(249,34,75,.22); color: #fff; }
.vdm-hm-page .vdm-hm-cta-title h2 { color: #fff !important; font-size: clamp(38px, 5.4vw, 72px) !important; line-height: 1.02 !important; letter-spacing: -.035em; margin: 0 0 22px !important; text-wrap: balance; }
.vdm-hm-page .vdm-hm-cta-p { margin: 0 0 64px !important; }
.vdm-hm-page .vdm-hm-cta-p p { font-size: 19px; line-height: 1.6; color: rgba(255,255,255,.85); margin: 0; }
.vdm-hm-page .post-content > p:empty { display: none !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-cta-btns { width: 100% !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-cta-btns > .fusion-column-wrapper { display: flex !important; flex-direction: row !important; justify-content: center; flex-wrap: wrap; gap: 14px; padding: 0 !important; }

/* ---------- Movil ---------- */
@media (max-width: 1024px) { .vdm-hm-polaroid:nth-child(3) { display: none; } }
@media (max-width: 820px) {
  .vdm-hm-page .fusion-fullwidth.vdm-hm-hero { min-height: 600px; }
  .vdm-hm-page .vdm-hm-hero > .fusion-row { padding-top: calc(var(--vdm-nos-header) + 16px) !important; }
  .vdm-hm-page .vdm-hm-polaroids { display: none !important; }
  .vdm-hm-page .vdm-hm-hero .vdm-letters h1 { font-size: clamp(42px, 12.6vw, 60px) !important; margin-bottom: 16px !important; }
  .vdm-hm-page .vdm-hm-hero-lead, .vdm-hm-page .vdm-hm-hero-lead p { font-size: 16px; margin-bottom: 22px; }
  .vdm-hm-page .vdm-hm-hero-content { padding-bottom: 4vh !important; }
  .vdm-hm-page .vdm-hm-hero-btns > .fusion-column-wrapper .fusion-button-wrapper { flex: 1 1 100%; }
  .vdm-hm-page .vdm-hm-hero-btns .fusion-button { width: 100%; justify-content: center; }
  .vdm-hm-page .vdm-hm-hero-foot .fusion-text { padding-bottom: 56px; }
  .vdm-hm-page .vdm-hm-scrollcue { display: none; }
  .vdm-hm-page .fusion-fullwidth.vdm-hm-intro { border-radius: 28px 28px 0 0 !important; margin-top: -28px !important; padding-bottom: 12vh !important; }
  .vdm-hm-page .vdm-hm-trust { margin-bottom: 10vh !important; }
  .vdm-hm-page .vdm-hm-trust-list { grid-template-columns: 1fr 1fr; gap: 12px; }
  .vdm-hm-page .vdm-hm-trust-list li { padding: 18px; gap: 6px; flex-direction: column; align-items: flex-start; }
  .vdm-hm-page .vdm-hm-trust-list strong { font-size: 28px; }
  .vdm-hm-page .fusion-fullwidth.vdm-hm-steps { padding: 90px 0 !important; }
  .vdm-hm-page .vdm-hm-steps-track { height: auto !important; }
  .vdm-hm-page .vdm-hm-steps-track > .fusion-column-wrapper { position: static !important; height: auto !important; overflow: visible !important; padding: 0 !important; display: block !important; }
  .vdm-hm-page .vdm-hm-steps-eyebrow, .vdm-hm-page .vdm-hm-steps-head { margin: 0 24px !important; }
  .vdm-hm-page .vdm-hm-steps-head { margin-bottom: 28px !important; }
  .vdm-hm-page .vdm-hm-steps-track .fusion-builder-row-inner { flex-direction: column !important; width: 100% !important; padding: 0 24px !important; gap: 14px; transform: none !important; }
  .vdm-hm-page .vdm-hm-step { width: 100% !important; }
  .vdm-hm-page .vdm-hm-step > .fusion-column-wrapper { padding: 26px 24px !important; }
  .vdm-hm-page .vdm-hm-step-n { margin-bottom: 22px; }
  .vdm-hm-page .vdm-hm-route, .vdm-hm-page .vdm-hm-steps-bar { display: none; }
  .vdm-hm-page .fusion-fullwidth.vdm-hm-acomp { padding-top: 90px !important; padding-bottom: 90px !important; }
  .vdm-hm-page .vdm-hm-acomp > .fusion-row { flex-direction: column; gap: 44px; }
  .vdm-hm-page .vdm-hm-acomp-txt, .vdm-hm-page .vdm-hm-acomp-phone { width: 100% !important; flex: none !important; }
  .vdm-hm-page .vdm-hm-acomp-list { grid-template-columns: 1fr; }
  .vdm-hm-page .vdm-hm-phone { max-width: none; rotate: 0deg; }
  .vdm-hm-page .vdm-hm-chat { min-height: 0; }
  .vdm-hm-page .fusion-fullwidth.vdm-hm-pack { padding-top: 90px !important; padding-bottom: 90px !important; }
  .vdm-hm-page .vdm-hm-pack > .fusion-row { flex-direction: column; }
  .vdm-hm-page .vdm-hm-pack-media, .vdm-hm-page .vdm-hm-pack-body { width: 100% !important; flex: none !important; }
  .vdm-hm-page .vdm-hm-pack-media { min-height: 320px !important; cursor: default; }
  .vdm-hm-page .vdm-hm-pack-lbl { font-size: 18px; bottom: 18px; }
  .vdm-hm-page .vdm-hm-pack-lbl--a { left: 18px; }
  .vdm-hm-page .vdm-hm-pack-lbl--b { right: 18px; }
  .vdm-hm-page .vdm-hm-pack-split-plane { width: 36px; height: 36px; margin: -18px 0 0 -18px; font-size: 14px; }
  .vdm-hm-page .vdm-hm-pack-body > .fusion-column-wrapper { padding: 32px 26px !important; }
  .vdm-hm-page .vdm-hm-pack-facts { gap: 30px; }
  .vdm-hm-page .fusion-fullwidth.vdm-hm-ideas, .vdm-hm-page .fusion-fullwidth.vdm-hm-blog, .vdm-hm-page .fusion-fullwidth.vdm-hm-faq { padding-top: 90px !important; padding-bottom: 90px !important; }
  .vdm-hm-page .vdm-arrows { display: none; }
  .vdm-hm-page .vdm-hm-ideas-track .vdm-v-card { flex-basis: 80vw; }
  .vdm-hm-page .fusion-fullwidth.vdm-hm-op { padding-top: 90px !important; padding-bottom: 70px !important; }
  .vdm-hm-page .vdm-hm-quote { flex-basis: 300px; padding: 22px; }
  .vdm-hm-page .fusion-fullwidth.vdm-hm-cta { min-height: 80vh; }
  .vdm-hm-page .vdm-hm-cta-inner { padding: 90px 0 !important; }
  .vdm-hm-page .vdm-hm-cta-btns > .fusion-column-wrapper .fusion-button-wrapper { flex: 1 1 100%; }
  .vdm-hm-page .vdm-hm-cta-btns .fusion-button { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .vdm-hm-page .vdm-words .w { opacity: 1; }
  .vdm-hm-page .vdm-letters .l { opacity: 1; transform: none; animation: none; }
  .vdm-hm-page .vdm-hm-hero-mist i, .vdm-hm-page .vdm-hm-hero-motas i, .vdm-hm-page .vdm-hm-polaroid, .vdm-hm-page .vdm-hm-ticker-list, .vdm-hm-page .vdm-hm-op-row, .vdm-hm-page .vdm-hm-pack-badge, .vdm-hm-page .vdm-hm-hero-bg img { animation: none; opacity: 1; }
  .vdm-hm-page .vdm-hm-chat .vdm-msg { opacity: 1; transform: none; }
}


/* Destinos: mosaico vivo */
.vdm-hm-page .fusion-fullwidth.vdm-hm-bento { position: relative; padding: 96px var(--vdm-nos-gut) 104px !important; --mx: 50%; --my: 50%; overflow: hidden !important; }
.vdm-hm-page .vdm-hm-bento::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 50% at 85% 0%, rgba(249,34,75,.22), transparent 70%), radial-gradient(50% 45% at 0% 100%, rgba(90,140,255,.18), transparent 70%); }
.vdm-hm-page .vdm-hm-bento-light { position: absolute; inset: 0; pointer-events: none; z-index: 0; background: radial-gradient(420px 420px at var(--mx) var(--my), rgba(255,255,255,.10), rgba(255,255,255,0) 70%); opacity: 0; transition: opacity .6s; }
.vdm-hm-page .vdm-hm-bento:hover .vdm-hm-bento-light { opacity: 1; }
.vdm-hm-page .vdm-hm-bento > .fusion-row { position: relative; z-index: 1; }
.vdm-hm-page .vdm-hm-bento-head { width: 100% !important; margin: 0 0 44px !important; }
.vdm-hm-page .vdm-hm-bento-head > .fusion-column-wrapper { padding: 0 !important; display: grid !important; grid-template-columns: 1.1fr .9fr; grid-template-rows: auto auto; gap: 0 40px; align-items: end; }
.vdm-hm-page .vdm-hm-bento-head .vdm-eyebrow { grid-column: 1; grid-row: 1; }
.vdm-hm-page .vdm-hm-bento-title { grid-column: 1; grid-row: 2; }
.vdm-hm-page .vdm-hm-bento-title h2 { color: #fff !important; font-size: clamp(32px, 3.6vw, 50px) !important; line-height: 1.05 !important; letter-spacing: -.01em; margin: 0 !important; }
.vdm-hm-page .vdm-hm-bento-title h2 .w { display: inline-block; overflow: hidden; vertical-align: bottom; }
.vdm-hm-page .vdm-hm-bento-title h2 .w span { display: inline-block; transform: translateY(110%); transition: transform .9s cubic-bezier(.2,.8,.2,1); }
.vdm-hm-page .vdm-hm-bento.is-in .vdm-hm-bento-title h2 .w span { transform: none; }
.vdm-hm-page .vdm-hm-bento-p { grid-column: 2; grid-row: 1 / 3; }
.vdm-hm-page .vdm-hm-bento-p p { margin: 0; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.7; max-width: 520px; opacity: 0; transform: translateY(14px); transition: opacity .8s .3s, transform .8s .3s; }
.vdm-hm-page .vdm-hm-bento.is-in .vdm-hm-bento-p p { opacity: 1; transform: none; }
.vdm-hm-page .vdm-hm-bento-grid { width: 100% !important; margin: 0 !important; }
.vdm-hm-page .vdm-hm-bento-grid > .fusion-column-wrapper { padding: 0 !important; display: block !important; }
.vdm-hm-page .vdm-hm-bento-grid .fusion-builder-row-inner { display: grid !important; width: 100% !important; max-width: none !important; margin: 0 !important; gap: 14px !important; --c1: 1fr; --c2: 1fr; --c3: 1fr; --c4: 1fr; --r1: 280px; --r2: 280px; grid-template-columns: var(--c1) var(--c2) var(--c3) var(--c4); grid-template-rows: var(--r1) var(--r2); transition: grid-template-columns .7s cubic-bezier(.2,.8,.2,1), grid-template-rows .7s cubic-bezier(.2,.8,.2,1); perspective: 1400px; align-items: stretch !important; align-content: start !important; }
.vdm-hm-page .vdm-hm-tile { align-self: stretch !important; height: auto !important; }
.vdm-hm-page .vdm-hm-tile { position: relative !important; width: auto !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 24px; overflow: hidden !important; background: #061c45; isolation: isolate; transform-style: preserve-3d; will-change: transform; opacity: 0; transform: translate(var(--dx, 0), var(--dy, 60px)) rotate(var(--rot, 6deg)) scale(.86); transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform 1.1s cubic-bezier(.2,.8,.2,1), box-shadow .5s; }
.vdm-hm-page .vdm-hm-tile.is-in { opacity: 1; transform: none; }
.vdm-hm-page .vdm-hm-tile.is-in.is-tilt { transition: opacity .9s, transform .18s ease-out, box-shadow .5s; }
.vdm-hm-page .vdm-hm-tile:hover { box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); z-index: 2; }
.vdm-hm-page .vdm-hm-tile > .fusion-column-wrapper { position: absolute !important; inset: 0 !important; padding: 0 !important; display: block !important; height: auto !important; }
.vdm-hm-page .vdm-hm-tile-img { position: absolute !important; inset: 0 !important; z-index: 0; margin: 0 !important; display: block !important; overflow: hidden; }
.vdm-hm-page .vdm-hm-tile-img a { position: absolute; inset: 0; display: block; }
.vdm-hm-page .vdm-hm-tile-img img { position: absolute; inset: -6%; width: 112% !important; height: 112% !important; max-width: none !important; object-fit: cover; transform: translate(var(--px, 0), var(--py, 0)) scale(1.02); transition: transform .9s cubic-bezier(.2,.8,.2,1); }
.vdm-hm-page .vdm-hm-tile.is-tilt .vdm-hm-tile-img img { transition: transform .18s ease-out; }
.vdm-hm-page .vdm-hm-tile-txt { position: absolute !important; inset: 0; z-index: 2; margin: 0 !important; pointer-events: none; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px 24px 24px; transform: translateZ(40px); }
.vdm-hm-page .vdm-hm-tile-txt::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(2,33,81,0) 35%, rgba(2,33,81,.35) 65%, rgba(2,33,81,.88) 100%); }
.vdm-hm-page .vdm-hm-tile-txt::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform: translateX(-120%); }
.vdm-hm-page .vdm-hm-tile.is-in .vdm-hm-tile-txt::after { animation: vdmShine 1.4s cubic-bezier(.2,.8,.2,1) .35s 1; }
@keyframes vdmShine { to { transform: translateX(120%); } }
.vdm-hm-page .vdm-hm-tile-n { position: absolute; left: 22px; top: 20px; font-size: 12px; letter-spacing: .16em; font-weight: 600; color: var(--awb-color5); background: rgba(2,33,81,.55); backdrop-filter: blur(6px); padding: 6px 10px; border-radius: 999px; }
.vdm-hm-page .vdm-hm-tile-body { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.vdm-hm-page .vdm-hm-tile-body h3 { font-family: 'Quicksand', sans-serif; font-weight: 700; color: #fff; font-size: clamp(24px, 2.2vw, 34px); line-height: 1; margin: 0 0 6px !important; letter-spacing: -.01em; }
.vdm-hm-page .vdm-hm-tile-tag { font-size: 13px; color: rgba(255,255,255,.78); transform: translateY(8px); opacity: .85; transition: transform .5s, opacity .5s; }
.vdm-hm-page .vdm-hm-tile-go { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--awb-color5); display: grid; place-items: center; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 20px; line-height: 1; transform: translateY(10px) scale(.9); opacity: 0; transition: transform .5s cubic-bezier(.2,.7,.2,1), opacity .4s; }
.vdm-hm-page .vdm-hm-tile-go::before { content: "\2192"; }
.vdm-hm-page .vdm-hm-tile:hover .vdm-hm-tile-tag { transform: none; opacity: 1; }
.vdm-hm-page .vdm-hm-tile:hover .vdm-hm-tile-go { transform: none; opacity: 1; }
.vdm-hm-page .vdm-hm-tile--maldivas { grid-column: 1 / 3; grid-row: 1; }
.vdm-hm-page .vdm-hm-tile--srilanka { grid-column: 3; grid-row: 1 / 3; }
.vdm-hm-page .vdm-hm-tile--tailandia { grid-column: 4; grid-row: 1; }
.vdm-hm-page .vdm-hm-tile--zanzibar { grid-column: 1; grid-row: 2; }
.vdm-hm-page .vdm-hm-tile--riviera { grid-column: 2; grid-row: 2; }
.vdm-hm-page .vdm-hm-tile--cta { grid-column: 4; grid-row: 2; background: var(--awb-color5); }
.vdm-hm-page .vdm-hm-tile--cta > .fusion-column-wrapper { display: flex !important; flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 26px 24px !important; }
.vdm-hm-page .vdm-hm-tile--cta .vdm-hm-tile-txt { position: static !important; padding: 0; pointer-events: auto; transform: none; display: block; }
.vdm-hm-page .vdm-hm-tile--cta .vdm-hm-tile-txt::before, .vdm-hm-page .vdm-hm-tile--cta .vdm-hm-tile-txt::after { display: none; }
.vdm-hm-page .vdm-hm-tile--cta .vdm-hm-tile-n { position: static; display: inline-block; background: rgba(255,255,255,.18); color: #fff; margin-bottom: 18px; }
.vdm-hm-page .vdm-hm-tile--cta h3 { font-family: 'Quicksand', sans-serif; font-weight: 700; color: #fff; font-size: clamp(22px, 1.9vw, 28px); line-height: 1.1; margin: 0 0 10px !important; }
.vdm-hm-page .vdm-hm-tile--cta p { margin: 0; font-size: 14px; color: rgba(255,255,255,.85); line-height: 1.55; }
.vdm-hm-page .vdm-hm-tile--cta .fusion-button { box-shadow: none; position: relative; z-index: 2; transition: transform .4s, background .4s, color .4s; }
.vdm-hm-page .vdm-hm-tile--cta:hover .fusion-button { transform: translateX(4px); }
.vdm-hm-page .vdm-hm-tile-plane { position: absolute; right: -30px; bottom: -40px; width: 180px; height: 180px; opacity: .16; transform: rotate(-12deg); transition: transform 1s; pointer-events: none; z-index: 1; }
.vdm-hm-page .vdm-hm-tile--cta:hover .vdm-hm-tile-plane { transform: rotate(-4deg) translate(-10px, -10px); }
.vdm-hm-page .vdm-hm-bento-hint p { margin: 22px 0 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); display: flex; gap: 10px; align-items: center; }
.vdm-hm-page .vdm-hm-bento-hint p::before { content: ""; width: 22px; height: 1px; background: rgba(255,255,255,.35); }
@media (max-width: 1024px) {
  .vdm-hm-page .vdm-hm-bento-grid .fusion-builder-row-inner { --r1: 240px; --r2: 240px; }
  .vdm-hm-page .vdm-hm-bento-head > .fusion-column-wrapper { grid-template-columns: 1fr; }
  .vdm-hm-page .vdm-hm-bento-p { grid-column: 1; grid-row: 3; margin-top: 16px; }
}
@media (max-width: 767px) {
  .vdm-hm-page .fusion-fullwidth.vdm-hm-bento { padding: 64px 16px 72px !important; }
  .vdm-hm-page .vdm-hm-bento-grid .fusion-builder-row-inner { grid-template-columns: 1fr 1fr !important; grid-template-rows: 200px 200px 200px 200px 200px !important; gap: 10px !important; transition: none; }
  .vdm-hm-page .vdm-hm-tile--maldivas { grid-column: 1 / 3; grid-row: 1; }
  .vdm-hm-page .vdm-hm-tile--srilanka { grid-column: 1; grid-row: 2 / 4; }
  .vdm-hm-page .vdm-hm-tile--tailandia { grid-column: 2; grid-row: 2; }
  .vdm-hm-page .vdm-hm-tile--zanzibar { grid-column: 2; grid-row: 3; }
  .vdm-hm-page .vdm-hm-tile--riviera { grid-column: 1 / 3; grid-row: 4; }
  .vdm-hm-page .vdm-hm-tile--cta { grid-column: 1 / 3; grid-row: 5; }
  .vdm-hm-page .vdm-hm-tile { border-radius: 18px; }
  .vdm-hm-page .vdm-hm-tile-txt { padding: 16px 16px 18px; }
  .vdm-hm-page .vdm-hm-tile-go { opacity: 1; transform: none; width: 38px; height: 38px; }
  .vdm-hm-page .vdm-hm-tile-tag { transform: none; opacity: 1; }
  .vdm-hm-page .vdm-hm-bento-hint { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .vdm-hm-page .vdm-hm-tile, .vdm-hm-page .vdm-hm-tile-img img, .vdm-hm-page .vdm-hm-bento-grid .fusion-builder-row-inner { transition: none !important; animation: none !important; }
  .vdm-hm-page .vdm-hm-tile { opacity: 1; transform: none; }
  .vdm-hm-page .vdm-hm-tile-txt::after { display: none; }
}
