/* ViDeMi shared styles (staging) - brand palette: navy #1F295A, turquoise #09B2DD, ocean #69B7CD, aqua #9BD7E2, ice #C5E7EE, sand #E8E1D6 */
.vd-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- page hero / services page helpers ---------- */
.elementor .vd-sparkle-a{animation:vd-twinkle 3.2s infinite}
.elementor .vd-sparkle-b{animation:vd-twinkle 2.6s .8s infinite}
@keyframes vd-twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.35) rotate(20deg);opacity:.5}}
.elementor .vd-jump-wrap{scrollbar-width:none}
.elementor .vd-jump-wrap::-webkit-scrollbar{display:none}
.elementor .vd-jump-a:focus-visible,.elementor .vd-crumb-a:focus-visible,.elementor .vd-scard-h3 a:focus-visible{outline:3px solid #09B2DD;outline-offset:3px;border-radius:8px}
.elementor .vd-jump-a:focus-visible{outline-color:#1F295A}
.elementor .vd-scard:hover .vd-scard-badge{background-color:#09B2DD;color:#1F295A}
.elementor .vd-scard-h3 a{color:inherit;cursor:pointer;text-decoration:none;background:linear-gradient(#09B2DD,#09B2DD) 0 100%/0 3px no-repeat;transition:background-size .3s}
.elementor .vd-scard-h3 a:hover{background-size:100% 3px}
.elementor .vd-scard{scroll-margin-top:110px}
@media (max-width:1180px) and (min-width:1041px){.elementor .vd-scard{flex-direction:column}.elementor .vd-scard-ph{flex:0 0 auto;min-height:230px}}

/* ---------- 4-step booking form ---------- */
.vd-steps-on .vd-wpf-legend{display:none!important}
.vd-steps-on .vd-step-panel[hidden],.vd-steps-on .wpforms-submit-container[hidden]{display:none!important}
.vd-step-panel::after{content:"";display:table;clear:both}
.vd-stepper{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.vd-stepper li{position:relative;min-width:0;margin:0;padding:0}
.vd-stepper li+li::before{content:"";position:absolute;top:17px;left:calc(-50% + 24px);right:calc(50% + 24px);height:3px;border-radius:3px;background:#C5E7EE}
.vd-stepper li.is-done+li::before,.vd-stepper li.is-done+li.is-current::before{background:#09B2DD}
.vd-stepper-btn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;text-align:center;cursor:pointer;border-radius:12px;padding:2px 0}
.vd-stepper-btn:disabled{cursor:default}
.vd-stepper-btn:focus-visible{outline:3px solid #1F295A;outline-offset:3px}
.vd-stepper-num{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;box-sizing:border-box;font-family:var(--vd-display, 'Century Gothic', CenturyGothic, AppleGothic, 'Questrial', sans-serif);font-weight:800;font-size:1rem;line-height:1;background:#fff;color:#1F295A;border:2px solid #8489A4;transition:background-color .25s,border-color .25s,box-shadow .25s}
.vd-stepper-lbl{font-family:var(--vd-body, Arial, Helvetica, sans-serif);font-weight:600;font-size:.82rem;line-height:1.3;color:#4A5482}
.vd-stepper .is-current .vd-stepper-num{background:#1F295A;color:#fff;border-color:#1F295A;box-shadow:0 0 0 4px rgba(9,178,221,.35)}
.vd-stepper .is-current .vd-stepper-lbl{color:#1F295A;font-weight:700}
.vd-stepper .is-done .vd-stepper-num{background:#09B2DD;border-color:#09B2DD;color:#1F295A}
.vd-stepper .is-done .vd-stepper-lbl,.vd-stepper .is-seen .vd-stepper-lbl{color:#1F295A}
.vd-stepper .is-done .vd-stepper-btn:hover .vd-stepper-num,.vd-stepper .is-seen .vd-stepper-btn:hover .vd-stepper-num{box-shadow:0 0 0 4px rgba(9,178,221,.35)}
.vd-step-title{clear:both;display:flex!important;align-items:center;gap:12px;font-family:var(--vd-display, 'Century Gothic', CenturyGothic, AppleGothic, 'Questrial', sans-serif);font-weight:800;font-size:1.2rem;line-height:1.05;color:#1F295A;margin:0 0 16px!important;padding:0!important;outline:none}
.vd-step-title em{font-style:normal;flex:none;width:34px;height:34px;border-radius:11px;background:#09B2DD;color:#1F295A;display:grid;place-items:center;font-size:1rem;font-weight:800;line-height:1}
.vd-step-nav{clear:both;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.vd-steps-on .wpforms-submit-container.vd-step-nav{display:flex!important;margin-top:18px!important}
.vd-step-nav .vd-step-next,.vd-step-nav .wpforms-submit{margin-left:auto!important}
.vd-step-btn{font-family:var(--vd-body, Arial, Helvetica, sans-serif);font-weight:700;font-size:1rem;line-height:1.6;border:0;border-radius:999px;padding:14px 26px;cursor:pointer;transition:transform .25s,background-color .25s,box-shadow .25s}
.vd-step-next{background:#09B2DD;color:#1F295A;box-shadow:0 10px 24px -10px rgba(9,178,221,.55)}
.vd-step-next:hover{background:#69B7CD;transform:translateY(-2px)}
.vd-step-back{background:transparent;color:#1F295A;box-shadow:inset 0 0 0 2px #1F295A}
.vd-step-back:hover{background:#C5E7EE}
.vd-step-btn:focus-visible{outline:3px solid #1F295A;outline-offset:3px}
/* dark variant (form on a navy card) */
.vd-dark .vd-stepper li+li::before{background:rgba(197,231,238,.35)}
.vd-dark .vd-stepper-num{background:transparent;color:#fff;border-color:rgba(197,231,238,.7)}
.vd-dark .vd-stepper-lbl{color:#C5E7EE}
.vd-dark .vd-stepper .is-current .vd-stepper-num{background:#09B2DD;border-color:#09B2DD;color:#1F295A}
.vd-dark .vd-stepper .is-current .vd-stepper-lbl,.vd-dark .vd-stepper .is-done .vd-stepper-lbl{color:#fff}
.vd-dark .vd-step-title{color:#fff}
.vd-dark .vd-step-back{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.vd-dark .vd-step-back:hover{background:rgba(255,255,255,.1)}
.vd-dark .vd-step-btn:focus-visible,.vd-dark .vd-stepper-btn:focus-visible{outline-color:#09B2DD}
@media (max-width:700px){
  .vd-stepper-lbl{display:none}
  .vd-step-btn{padding:13px 22px}
}
@media (prefers-reduced-motion:reduce){
  .elementor .vd-sparkle-a,.elementor .vd-sparkle-b{animation:none!important}
  .vd-step-btn,.vd-stepper-num{transition:none!important}
}

/* ---------- VD specificity overrides (beat WPForms button rules + homepage widget legend rule) ---------- */
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-wpf-legend{display:none!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-step-btn{display:inline-flex!important;align-items:center;justify-content:center;height:auto!important;min-height:0!important;width:auto!important;font-family:var(--vd-body, Arial, Helvetica, sans-serif)!important;font-weight:700!important;font-size:1rem!important;line-height:1.6!important;border:0!important;border-radius:999px!important;padding:14px 26px!important;cursor:pointer;text-transform:none!important;letter-spacing:normal!important;opacity:1!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-step-btn.vd-step-next{background:#09B2DD!important;color:#1F295A!important;box-shadow:0 10px 24px -10px rgba(9,178,221,.55)!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-step-btn.vd-step-next:hover{background:#69B7CD!important;transform:translateY(-2px)}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-step-btn.vd-step-back{background:transparent!important;color:#1F295A!important;box-shadow:inset 0 0 0 2px #1F295A!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-step-btn.vd-step-back:hover{background:#C5E7EE!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-step-btn:focus-visible,div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-stepper-btn:focus-visible{outline:3px solid #1F295A!important;outline-offset:3px!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-stepper-btn{all:unset;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;width:100%!important;height:auto!important;min-height:0!important;padding:2px 0!important;margin:0!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;color:inherit!important;text-align:center!important;cursor:pointer}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-stepper-btn:disabled{cursor:default;opacity:1!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav .vd-step-next,div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav button.wpforms-submit{margin-left:auto!important}
div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form button.vd-step-btn.vd-step-back{color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)!important}
@media (max-width:700px){ div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form button.vd-step-btn{padding:13px 22px!important} }
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form p.vd-step-title{font-size:1.2rem!important;line-height:1.05!important;color:#1F295A!important}
div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form p.vd-step-title{color:#fff!important}

/* ---------- VD stepper hardening (WPForms full-CSS resets descendants) ---------- */
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-panel[hidden],div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .wpforms-submit-container[hidden],div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .wpforms-submit-container.vd-step-nav[hidden]{display:none!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form ol.vd-stepper{list-style:none!important;margin:0 0 26px!important;padding:0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;background:none!important;border:0!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form ol.vd-stepper li{position:relative!important;list-style:none!important;margin:0!important;padding:0!important;min-width:0!important;background:none!important;border:0!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form ol.vd-stepper li::marker{content:none}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form ol.vd-stepper li+li::before{content:''!important;display:block!important;position:absolute!important;top:17px!important;left:calc(-50% + 24px)!important;right:calc(50% + 24px)!important;height:3px!important;border-radius:3px!important;background:#C5E7EE!important;z-index:0!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form ol.vd-stepper li.is-done+li::before{background:#09B2DD!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .vd-stepper-num{position:relative!important;z-index:1!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:36px!important;height:36px!important;border-radius:50%!important;border:2px solid #8489A4!important;background:#fff!important;color:#1F295A!important;font-family:var(--vd-display, 'Century Gothic', CenturyGothic, AppleGothic, 'Questrial', sans-serif)!important;font-weight:800!important;font-size:1rem!important;line-height:1!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .vd-stepper-lbl{display:block!important;font-family:var(--vd-body, Arial, Helvetica, sans-serif)!important;font-weight:600!important;font-size:.82rem!important;line-height:1.3!important;color:#4A5482!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .is-current .vd-stepper-num{background:#1F295A!important;border-color:#1F295A!important;color:#fff!important;box-shadow:0 0 0 4px rgba(9,178,221,.35)!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .is-current .vd-stepper-lbl{color:#1F295A!important;font-weight:700!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .is-done .vd-stepper-num{background:#09B2DD!important;border-color:#09B2DD!important;color:#1F295A!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .is-done .vd-stepper-lbl,div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .is-seen .vd-stepper-lbl{color:#1F295A!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form p.vd-step-title{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 16px!important;padding:0!important;font-family:var(--vd-display, 'Century Gothic', CenturyGothic, AppleGothic, 'Questrial', sans-serif)!important;font-weight:800!important}
div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form p.vd-step-title em{font-style:normal!important;flex:none!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:11px!important;background:#09B2DD!important;color:#1F295A!important;font-size:1rem!important;font-weight:800!important;line-height:1!important}
div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form ol.vd-stepper li+li::before{background:rgba(197,231,238,.35)!important}
div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form .vd-stepper .vd-stepper-num{background:transparent!important;border-color:rgba(197,231,238,.7)!important;color:#fff!important}
div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form .vd-stepper .vd-stepper-lbl{color:#C5E7EE!important}
div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form .vd-stepper .is-current .vd-stepper-num{background:#09B2DD!important;border-color:#09B2DD!important;color:#1F295A!important}
div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form .vd-stepper .is-current .vd-stepper-lbl,div.wpforms-container-full.vd-wpf.vd-steps-on.vd-dark .wpforms-form .vd-stepper .is-done .vd-stepper-lbl{color:#fff!important}
@media (max-width:700px){ div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-stepper .vd-stepper-lbl{display:none!important} }

/* VD mobile nav: full-width step buttons so floating WhatsApp / to-top buttons never cover them */
@media (max-width:700px){ div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav{gap:10px!important} div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav button.vd-step-btn,div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav button.wpforms-submit{flex:1 1 0!important;justify-content:center!important;margin-left:0!important;min-width:0!important} div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav-last{flex-direction:column-reverse!important;align-items:stretch!important} div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav-last button{width:100%!important} }
/* VD mobile last-row fix */
@media (max-width:700px){ div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav.vd-step-nav-last button.vd-step-btn,div.wpforms-container-full.vd-wpf.vd-steps-on .wpforms-form .vd-step-nav.vd-step-nav-last button.wpforms-submit{flex:0 0 auto!important;width:100%!important} }

/* ---------- VD service page helpers (hero sparkles, gallery + lightbox, other-services cards) ---------- */
.elementor .vd-sparkle-c{animation:vd-twinkle 3.2s infinite}
.elementor .vd-sparkle-d{animation:vd-twinkle 2.6s .8s infinite}
.elementor .vd-gal-item::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 0 #09B2DD;transition:box-shadow .3s;pointer-events:none}
.elementor .vd-gal-item:hover::after,.elementor .vd-gal-item:focus-visible::after{box-shadow:inset 0 0 0 5px #09B2DD}
.elementor .vd-gal-item:hover .vd-gal-ph{transform:scale(1.06)}
.elementor .vd-gal-item:focus-visible{outline:3px solid #1F295A;outline-offset:3px}
dialog.vd-lb{border:0;padding:0;background:transparent;max-width:min(92vw,1100px);max-height:90vh;overflow:visible}
dialog.vd-lb::backdrop{background:rgba(31,41,90,.9)}
dialog.vd-lb img{display:block;max-width:100%;max-height:86vh;border-radius:18px;margin:auto}
dialog.vd-lb .vd-lb-close{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:16px;width:48px;height:48px;border-radius:50%;border:0;background:#09B2DD;color:#1F295A;cursor:pointer;display:grid;place-items:center}
dialog.vd-lb .vd-lb-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
.elementor .vd-ocard:hover .vd-ocard-t{color:#1F295A}
.elementor .vd-ocard:hover .vd-ocard-more{color:#05728F}
.elementor .vd-ocard:focus-visible{outline:3px solid #09B2DD;outline-offset:3px}
.elementor .vd-more-glow{pointer-events:none}
@media (prefers-reduced-motion:reduce){.elementor .vd-sparkle-c,.elementor .vd-sparkle-d{animation:none!important}.elementor .vd-gal-item:hover .vd-gal-ph{transform:none}}
/* VD title fit: keep hero titles inside their column so long single words can be measured and shrunk by the shared script */
.elementor .vd-shero-h1,.elementor .vd-phero-h1{max-width:100%;overflow:hidden;overflow-wrap:normal}

/* VD photo-less hero (brand gradient + bubbles, spinning sparkle) */
.elementor .vd-phero-ov.vd-bubbles{background-image:radial-gradient(circle at 88% 18%,rgba(155,215,226,.22) 0 120px,transparent 121px),radial-gradient(circle at 70% 85%,rgba(9,178,221,.25) 0 80px,transparent 81px),radial-gradient(circle at 96% 70%,rgba(197,231,238,.15) 0 40px,transparent 41px)!important}
.elementor .vd-spin{animation:vd-spin 14s linear infinite}
@keyframes vd-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.elementor .vd-spin{animation:none!important}}

/* VD bubbles sand variant + floating icon */
.elementor .vd-phero-ov.vd-bubbles.vd-bubbles-sand{background-image:radial-gradient(circle at 88% 18%,rgba(232,225,214,.18) 0 120px,transparent 121px),radial-gradient(circle at 70% 85%,rgba(105,183,205,.28) 0 80px,transparent 81px),radial-gradient(circle at 96% 70%,rgba(197,231,238,.15) 0 40px,transparent 41px)!important}
.elementor .vd-bob{animation:vd-bob 4s ease-in-out infinite}
@keyframes vd-bob{50%{transform:translateY(-14px)}}
@media (prefers-reduced-motion:reduce){.elementor .vd-bob{animation:none!important}}

/* VD bubbles party variant + wiggling icon */
.elementor .vd-phero-ov.vd-bubbles.vd-bubbles-party{background-image:radial-gradient(circle at 88% 18%,rgba(9,178,221,.22) 0 120px,transparent 121px),radial-gradient(circle at 70% 85%,rgba(232,225,214,.16) 0 80px,transparent 81px),radial-gradient(circle at 96% 70%,rgba(155,215,226,.18) 0 40px,transparent 41px),radial-gradient(circle at 60% 25%,rgba(197,231,238,.12) 0 18px,transparent 19px)!important}
.elementor .vd-wiggle{animation:vd-wiggle 3.6s ease-in-out infinite;transform-origin:30% 80%}
@keyframes vd-wiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){.elementor .vd-wiggle{animation:none!important}}

/* VD bubbles build variant + tapping hammer */
.elementor .vd-phero-ov.vd-bubbles.vd-bubbles-build{background-image:radial-gradient(circle at 88% 18%,rgba(197,231,238,.16) 0 120px,transparent 121px),radial-gradient(circle at 70% 85%,rgba(105,183,205,.24) 0 80px,transparent 81px),radial-gradient(circle at 96% 70%,rgba(9,178,221,.18) 0 40px,transparent 41px)!important}
.elementor .vd-tap{animation:vd-tap 2.4s ease-in-out infinite;transform-origin:20% 85%}
@keyframes vd-tap{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-16deg)}80%{transform:rotate(4deg)}}
@media (prefers-reduced-motion:reduce){.elementor .vd-tap{animation:none!important}}

/* VD about page: floating logo badge, team teaser photos */
.elementor .vd-badge{animation:vd-badge-bob 5s ease-in-out infinite}
@keyframes vd-badge-bob{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(-5deg) translateY(-10px)}}
.elementor .vd-tease-item .vd-gal-ph{transition:transform .5s}
.elementor .vd-tease-item:hover .vd-gal-ph{transform:scale(1.04)}
.elementor .vd-tease-item::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 0 #09B2DD;transition:box-shadow .3s;pointer-events:none}
.elementor .vd-tease-item:hover::after{box-shadow:inset 0 0 0 5px #09B2DD}
.elementor .vd-tease-item:focus-visible{outline:3px solid #1F295A;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.elementor .vd-badge{animation:none!important}.elementor .vd-tease-item:hover .vd-gal-ph{transform:none}}

/* VD team page: profile card, quote bar, floating icon */
.elementor .vd-pcard-info>*:not(.vd-pcard-dot){position:relative;z-index:1}
.elementor .vd-pcard-quote{border-left:5px solid #09B2DD;padding-left:26px}
.elementor .vd-big-ic{animation:vd-bob 4.5s ease-in-out infinite}
.elementor .vd-psoc-a:focus-visible,.elementor .vd-btn-o-dark:focus-visible{outline:3px solid #1F295A;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.elementor .vd-big-ic{animation:none!important}}

/* VD careers page: inline link, job card layering, contact pills */
.elementor .vd-copy-lead a{color:#05728F;font-weight:700;text-decoration:none;background:linear-gradient(#09B2DD,#09B2DD) 0 100%/100% 3px no-repeat;padding-bottom:1px;transition:background-size .25s,color .25s}
.elementor .vd-copy-lead a:hover{background-size:100% 100%;color:#1F295A}
.elementor .vd-jobcard>*:not(.vd-jobcard-dot):not(.vd-jobcard-ring){position:relative;z-index:1}
.elementor .vd-line-pill:hover .vd-line-ico{color:#1F295A}
.elementor .vd-line-pill:focus-visible{outline:3px solid #1F295A;outline-offset:3px}

/* ---------- VD booking timeline (line + progress fill + dots) and service picker ---------- */
.elementor .vd-tl{--p:0}
.elementor .vd-tl::before,.elementor .vd-tl::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:6px;margin-left:-3px;border-radius:6px;pointer-events:none;z-index:0}
.elementor .vd-tl::before{background:#C5E7EE}
.elementor .vd-tl::after{background:linear-gradient(#09B2DD,#69B7CD);transform-origin:top;transform:scaleY(var(--p))}
.elementor .vd-ts>*{position:relative;z-index:1}
.elementor .vd-ts>.vd-ts-dot{position:absolute;z-index:2}
.elementor .vd-ts.on .vd-ts-dot{background-color:#09B2DD;border-color:#09B2DD;color:#1F295A;transform:scale(1.1)}
.elementor .vd-ts-bgn{pointer-events:none}
.elementor .vd-pk:hover .vd-pk-ico-box{background-color:#1F295A;color:#09B2DD}
.elementor .vd-pk:focus-visible{outline:3px solid #1F295A;outline-offset:3px}
@media (max-width:1040px){
 .elementor .vd-tl::before,.elementor .vd-tl::after{left:32px}
 .elementor .vd-ts{grid-template-columns:1fr!important;gap:10px!important;padding:18px 0 18px 90px!important}
 .elementor .vd-ts>.vd-ts-dot{left:32px;top:52px}
 .elementor .vd-ts-spacer{display:none!important}
}
@media (max-width:700px){
 .elementor .vd-tl::before,.elementor .vd-tl::after{left:22px}
 .elementor .vd-ts{padding-left:64px!important}
 .elementor .vd-ts>.vd-ts-dot{left:22px;width:48px;height:48px;margin:-24px 0 0 -24px}
 .elementor .vd-ts-num{font-size:.92rem}
}
@media (prefers-reduced-motion:reduce){.elementor .vd-tl::after{transform:none}}

/* ---------- VD faq page: accordion states, open-all toggle, question mark, link cards ---------- */
.elementor .vd-qmark{transform:translateY(-50%);pointer-events:none;animation:vd-sway 6s ease-in-out infinite}
@keyframes vd-sway{0%,100%{transform:translateY(-50%) rotate(0)}50%{transform:translateY(-54%) rotate(6deg)}}
.elementor .vd-faqi.open{border-color:#09B2DD;box-shadow:0 18px 50px -20px rgba(31,41,90,.35)}
.elementor .vd-faqi.open .vd-faqi-a{grid-template-rows:1fr}
.elementor .vd-faqi.open .vd-fq-qi{background-color:#1F295A;color:#09B2DD}
.elementor .vd-faqi.open .vd-fq-pm{transform:rotate(45deg)}
.elementor .vd-faqi-q:focus-visible,.elementor .vd-fq-all:focus-visible,.elementor .vd-quick-a:focus-visible,.elementor .vd-lcard:focus-visible{outline:3px solid #1F295A;outline-offset:3px;border-radius:16px}
.elementor .vd-fq-all.is-open .vd-fq-all-ico{transform:rotate(180deg)}
.elementor .vd-lcard::after{content:"";position:absolute;right:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:#09B2DD;opacity:.25;transition:transform .5s;pointer-events:none}
.elementor .vd-lcard:hover::after{transform:scale(1.25)}
.elementor .vd-lcard:hover .vd-lcard-go-ico{transform:translateX(6px)}
@media (prefers-reduced-motion:reduce){.elementor .vd-qmark{animation:none!important}.elementor .vd-faqi-a{transition:none!important}}
/* VD faq collapse fix: Elementor drops display:grid / 0fr rows on the class, so enforce here */
.elementor .vd-faqi .vd-faqi-a{display:grid!important;grid-template-rows:0fr!important;padding:0!important;transition:grid-template-rows .45s ease}
.elementor .vd-faqi.open .vd-faqi-a{grid-template-rows:1fr!important}
.elementor .vd-faqi .vd-fq-a-in{min-height:0!important;overflow:hidden!important;padding:0!important}

/* ---------- VD contact page: hours card rows (today highlight), card layering ---------- */
.elementor .vd-hours>*:not(.vd-hours-ring){position:relative;z-index:1}
.elementor .vd-hours .vd-hrow:last-child{border-bottom:0}
.elementor .vd-hours .vd-hrow .vd-htime{font-variant-numeric:tabular-nums}
.elementor .vd-hours .vd-hrow.today{background-color:#09B2DD;border-radius:12px;border-bottom-color:transparent}
.elementor .vd-hours .vd-hrow.today .vd-hday,.elementor .vd-hours .vd-hrow.today .vd-htime{color:#1F295A!important}
.elementor .vd-ct-card:focus-visible,.elementor .vd-soc-dk:focus-visible{outline:3px solid #1F295A;outline-offset:3px}
.elementor .vd-ct-link{display:block;word-break:break-word}

/* ---------- VD founder quote card (Over Ons, .vd-pullq on the quote paragraph) ---------- */
.elementor .vd-pullq{position:relative!important;isolation:isolate;overflow:hidden!important;margin:34px 0!important;padding:34px 34px 34px 40px!important;background-color:#1F295A!important;border-radius:30px!important;color:#ffffff!important;font-family:var(--vd-display, 'Century Gothic', CenturyGothic, AppleGothic, 'Questrial', sans-serif)!important;font-weight:700!important;font-size:clamp(1.3rem,2.4vw,1.75rem)!important;line-height:1.3!important}
.elementor .vd-pullq::before{content:"\201C";position:absolute;left:14px;top:-28px;z-index:-1;font-family:var(--vd-display, 'Century Gothic', CenturyGothic, AppleGothic, 'Questrial', sans-serif);font-size:9rem;line-height:1;color:#09B2DD;opacity:.9;pointer-events:none}
.elementor .vd-pullq::after{content:"";position:absolute;right:-60px;bottom:-60px;z-index:-1;width:180px;height:180px;border-radius:50%;background:rgba(9,178,221,.25);pointer-events:none}
@media (max-width:700px){.elementor .vd-pullq{padding:28px 22px 26px 26px!important}}

/* ---------- VD booking steps: slide animation (Next right-to-left, Back left-to-right, ~350ms) ---------- */
div.wpforms-container.vd-steps-on,div.wpforms-container.vd-steps-on .wpforms-field-container{overflow-x:hidden!important;overflow-x:clip!important;overflow-clip-margin:8px}
@keyframes vd-slide-next{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes vd-slide-back{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.vd-steps-on .vd-slide-next{animation:vd-slide-next .35s ease-in-out both}
.vd-steps-on .vd-slide-back{animation:vd-slide-back .35s ease-in-out both}
@media (prefers-reduced-motion:reduce){.vd-steps-on .vd-slide-next,.vd-steps-on .vd-slide-back{animation:none!important}}

/* ---------- VD header menu ([vd_menu] WordPress menu inside .vd-js-menu) ---------- */
.elementor .vd-nav-wrap{display:block}
.elementor ul.vd-nav{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.elementor ul.vd-nav li{position:relative;list-style:none;margin:0}
.elementor ul.vd-nav>li{display:flex;align-items:center}
.elementor ul.vd-nav a{display:inline-flex;align-items:center;font-family:var(--vd-body, Arial, Helvetica, sans-serif);font-weight:600;font-size:1rem;line-height:1.3;color:#1F295A;text-decoration:none;padding:10px 13px;border-radius:999px;white-space:nowrap;transition:background-color .2s,color .2s}
.elementor ul.vd-nav a:hover{background-color:#C5E7EE;color:#1F295A}
.elementor ul.vd-nav .current-menu-item>a,.elementor ul.vd-nav .current-menu-ancestor>a,.elementor ul.vd-nav .current-page-ancestor>a{background-color:#C5E7EE;color:#1F295A}
.elementor ul.vd-nav a:focus-visible,.elementor .vd-sub-t:focus-visible{outline:3px solid #1F295A;outline-offset:2px}
.elementor ul.vd-nav>li.menu-item-has-children>a{padding-right:4px}
.elementor .vd-sub-t{display:inline-grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:#1F295A;cursor:pointer}
.elementor .vd-sub-t:hover{background-color:#C5E7EE}
.elementor .vd-sub-t svg{transition:transform .25s}
.elementor li.vd-open>.vd-sub-t svg{transform:rotate(180deg)}
.elementor ul.vd-nav .sub-menu{list-style:none;margin:0;padding:10px}
@media (min-width:1041px){
 .elementor ul.vd-nav .sub-menu{position:absolute;top:calc(100% + 10px);left:-10px;z-index:60;min-width:300px;background:#fff;border:1px solid #C5E7EE;border-radius:18px;box-shadow:0 18px 50px -20px rgba(31,41,90,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility 0s .25s}
 .elementor ul.vd-nav .sub-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
 .elementor ul.vd-nav li:hover>.sub-menu,.elementor ul.vd-nav li:focus-within>.sub-menu,.elementor ul.vd-nav li.vd-open>.sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s}
 .elementor ul.vd-nav .sub-menu a{display:flex;width:100%;border-radius:12px;padding:10px 12px;font-size:.95rem;white-space:normal}
}
@media (max-width:1240px) and (min-width:1041px){.elementor ul.vd-nav>li>a{padding:10px 8px;font-size:.95rem}.elementor ul.vd-nav>li.menu-item-has-children>a{padding-right:2px}}
@media (max-width:1040px){
 .elementor .vd-js-menu.open{max-height:calc(100vh - 120px);overflow-y:auto}
 .elementor .vd-js-menu .elementor-widget-shortcode,.elementor .vd-nav-wrap,.elementor ul.vd-nav{width:100%}
 .elementor ul.vd-nav{flex-direction:column;align-items:stretch}
 .elementor ul.vd-nav>li{flex-wrap:wrap}
 .elementor ul.vd-nav>li>a{flex:1;padding:14px 16px;font-size:1.1rem;border-radius:14px}
 .elementor .vd-sub-t{width:46px;height:46px;border-radius:14px}
 .elementor ul.vd-nav .sub-menu{display:none;width:100%;padding:0 0 6px 14px}
 .elementor ul.vd-nav li.vd-open>.sub-menu{display:block}
 .elementor ul.vd-nav .sub-menu a{display:flex;padding:12px 14px;font-size:1rem;border-radius:12px;white-space:normal}
}

/* ---------- VD brand typography base: page text follows the Kit global font variables ---------- */
body{font-family:var(--vd-body, Arial, Helvetica, sans-serif)}
h1,h2,h3{font-family:var(--vd-display, 'Century Gothic', CenturyGothic, AppleGothic, 'Questrial', sans-serif)}

/* ---------- VD brand typography spacing: no faux bold, neutral tracking for Arial body text ---------- */
html{font-synthesis-weight:none}
body{letter-spacing:0;line-height:1.6}
