/* VVL source-exact production overrides, loaded from self-hosted file so modal/UI never appears unstyled. */
.vvl-nav-logo{gap:10px!important}
.vvl-nav-mark{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;border-radius:999px!important;background:rgba(var(--vvl-brand-accent-rgb),.12)!important;color:var(--vvl-brand-accent)!important;overflow:hidden!important}
.vvl-nav-wordmark{display:inline-flex!important;align-items:center!important;width:auto!important;height:auto!important;color:var(--fg-strong)!important;font-family:var(--font-family-body),system-ui,sans-serif!important;font-size:14px!important;font-weight:600!important;letter-spacing:.01em!important;line-height:1!important}
.vvl-nav-wordmark svg{display:none!important}
.vvl-nav-mark--image{background:transparent!important;border-radius:8px!important}
.vvl-nav-mark img{width:26px!important;height:26px!important;object-fit:contain!important;display:block!important}
.hero__content[data-astro-cid-bbe6dxrz]{width:min(900px,calc(100% - 48px))!important}
.hero__subtitle[data-astro-cid-bbe6dxrz]{max-width:860px!important;margin-left:auto!important;margin-right:auto!important;text-wrap:balance}
.vvl-nowrap{white-space:nowrap}
.work-card[data-astro-cid-wkx7uqji]{height:659px!important;border-radius:32px!important;overflow:hidden!important}
.work-card__link[data-astro-cid-wkx7uqji]{height:100%!important}
.work-card__thumb[data-astro-cid-wkx7uqji]{height:392px!important;background:var(--bg-subtle)!important}
.work-card__thumb[data-astro-cid-wkx7uqji] img[data-astro-cid-wkx7uqji]{width:100%!important;height:392px!important;object-fit:cover!important;display:block!important}
.work-card__content[data-astro-cid-wkx7uqji]{margin-top:-32px!important;min-height:299px!important;padding:32px 32px 34px!important;border-radius:32px 32px 0 0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.work-card__logo[data-astro-cid-wkx7uqji]{height:auto!important;margin-bottom:24px!important;color:var(--fg-strong)!important}
.vvl-work-client-lockup{display:flex;align-items:center;gap:10px;min-height:24px;max-width:100%}
.vvl-client-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;border-radius:8px;background:rgba(var(--vvl-brand-accent-rgb),.13);color:var(--vvl-brand-accent);font-size:10px;font-weight:700;letter-spacing:-.04em;overflow:hidden}
.vvl-client-icon--image{background:transparent;border-radius:0}.vvl-client-icon img{display:block;width:24px;height:24px;object-fit:contain}
.vvl-client-name{display:block;max-width:246px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-strong);font-size:20px;font-weight:700;line-height:24px;letter-spacing:-.03em}
.work-card__title[data-astro-cid-wkx7uqji].vvl-work-service{margin:0 0 8px!important;color:var(--fg)!important;font-size:16px!important;font-weight:600!important;line-height:24px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.work-card__desc[data-astro-cid-wkx7uqji]{margin:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--fg-muted)!important;font-size:18px!important;line-height:27px!important;font-weight:400!important}
.work-card__cta[data-astro-cid-wkx7uqji]{margin-top:auto!important;margin-bottom:0!important;min-height:48px!important}
.work-card__chevron[data-astro-cid-wkx7uqji]{width:14px!important;height:14px!important}
.vvl-contact-link{color:var(--vvl-brand-primary)!important;text-decoration:none;border-bottom:1px solid rgba(var(--vvl-brand-primary-rgb),.45);font-weight:650}.vvl-contact-link:hover,.vvl-contact-link:focus-visible{color:var(--vvl-brand-primary)!important;border-bottom-color:rgba(var(--vvl-brand-primary-rgb),.9)!important;text-shadow:0 0 16px rgba(var(--vvl-brand-primary-rgb),.28)!important}:root[data-theme=light] .vvl-contact-link{color:var(--vvl-brand-primary)!important;border-bottom-color:rgba(var(--vvl-brand-primary-rgb),.34)!important}:root[data-theme=light] .vvl-contact-link:hover,:root[data-theme=light] .vvl-contact-link:focus-visible{color:var(--vvl-brand-primary)!important;border-bottom-color:rgba(var(--vvl-brand-primary-rgb),.82)!important;text-shadow:none!important}
.vvl-contact-modal[hidden]{display:none!important}
.vvl-contact-modal{position:fixed!important;inset:0!important;z-index:99999!important;display:grid!important;place-items:center!important;padding:24px!important;color:#f7f2ff!important;font-family:var(--font-family-body),Inter,system-ui,sans-serif!important;line-height:1.5!important}
.vvl-contact-modal,.vvl-contact-modal *{box-sizing:border-box!important}
.vvl-contact-modal__backdrop{position:absolute!important;inset:0!important;background:rgba(9,7,15,.72)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}
.vvl-contact-modal__dialog{position:relative!important;width:min(760px,100%)!important;max-height:min(88vh,900px)!important;overflow:auto!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:32px!important;background:linear-gradient(180deg,rgba(31,29,42,.96),rgba(18,17,26,.96))!important;box-shadow:0 40px 140px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08)!important;color:#f7f2ff!important}

.vvl-contact-modal__dialog{scrollbar-width:thin!important;scrollbar-color:rgba(var(--vvl-brand-primary-rgb),.45) rgba(255,255,255,.055)!important}
.vvl-contact-modal__dialog::-webkit-scrollbar,.vvl-contact-editor::-webkit-scrollbar{width:10px!important;height:10px!important}
.vvl-contact-modal__dialog::-webkit-scrollbar-track,.vvl-contact-editor::-webkit-scrollbar-track{background:rgba(255,255,255,.045)!important;border-radius:999px!important;margin:18px 0!important}
.vvl-contact-modal__dialog::-webkit-scrollbar-thumb,.vvl-contact-editor::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(var(--vvl-brand-primary-rgb),.65),rgba(var(--vvl-brand-accent-rgb),.55))!important;border:2px solid rgba(18,17,26,.95)!important;border-radius:999px!important}
.vvl-contact-modal__dialog::-webkit-scrollbar-thumb:hover,.vvl-contact-editor::-webkit-scrollbar-thumb:hover{background:rgba(247,242,255,.72)!important}
.vvl-contact-select{background-image:linear-gradient(45deg,transparent 50%,rgba(247,242,255,.65) 50%),linear-gradient(135deg,rgba(247,242,255,.65) 50%,transparent 50%)!important;background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important;padding-right:42px!important}

.vvl-contact-modal__head{display:flex!important;justify-content:space-between!important;gap:24px!important;align-items:flex-start!important;padding:28px 30px 20px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.vvl-contact-modal__head h2{margin:0!important;color:#fff!important;font-size:28px!important;line-height:1.08!important;letter-spacing:-.04em!important;font-weight:750!important}.vvl-contact-modal__head p{margin:10px 0 0!important;color:rgba(247,242,255,.64)!important;font-size:15px!important;line-height:1.55!important;max-width:560px!important}
.vvl-contact-modal__close{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:999px!important;background:rgba(255,255,255,.06)!important;color:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer!important}
.vvl-contact-form{display:block!important;padding:24px 30px 30px!important;margin:0!important}.vvl-contact-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}.vvl-contact-field{display:flex!important;flex-direction:column!important;gap:8px!important;margin:0 0 16px!important}.vvl-contact-field label{font-size:13px!important;font-weight:650!important;color:#fff!important;letter-spacing:.01em!important}.vvl-contact-field small{color:rgba(247,242,255,.48)!important;font-size:12px!important;line-height:1.45!important}
.vvl-contact-input,.vvl-contact-textarea,.vvl-contact-editor{display:block!important;width:100%!important;min-width:0!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:16px!important;background:rgba(255,255,255,.06)!important;color:#fff!important;padding:14px 15px!important;font:inherit!important;font-size:15px!important;line-height:1.45!important;outline:none!important;transition:border-color .2s,background .2s,box-shadow .2s!important;appearance:none!important}.vvl-contact-input:focus,.vvl-contact-textarea:focus,.vvl-contact-editor:focus{border-color:rgba(var(--vvl-brand-primary-rgb),.58)!important;box-shadow:0 0 0 4px rgba(var(--vvl-brand-primary-rgb),.08)!important;background:rgba(255,255,255,.085)!important}.vvl-contact-input::placeholder,.vvl-contact-textarea::placeholder{color:rgba(247,242,255,.38)!important}.vvl-contact-editor{min-height:150px!important;line-height:1.6!important;overflow:auto!important}.vvl-contact-editor:empty:before{content:attr(data-placeholder);color:rgba(247,242,255,.38)}
.vvl-contact-toolbar{display:flex!important;gap:8px!important;align-items:center!important;margin-bottom:8px!important;flex-wrap:wrap!important}.vvl-contact-tool{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:34px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;font-weight:750!important;cursor:pointer!important}.vvl-contact-file{border:1px dashed rgba(255,255,255,.18)!important;background:rgba(255,255,255,.04)!important;border-radius:18px!important;padding:14px!important}.vvl-contact-file .vvl-contact-input{padding:12px!important;cursor:pointer!important}
.vvl-contact-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-top:20px!important}.vvl-contact-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px!important;padding:0 22px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.16)!important;background:#f7f2ff!important;color:#12111a!important;font-weight:750!important;cursor:pointer!important;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)!important;white-space:nowrap!important}.vvl-contact-submit[disabled]{opacity:.55!important;cursor:wait!important}.vvl-contact-status{margin:0!important;font-size:14px!important;color:rgba(247,242,255,.62)!important;line-height:1.45!important}.vvl-contact-status.is-error{color:#ff8d8d!important}.vvl-contact-status.is-success{color:var(--vvl-brand-primary)!important}.vvl-contact-hint{display:flex!important;gap:10px!important;align-items:flex-start!important;margin:4px 0 18px!important;padding:12px 14px!important;border:1px solid rgba(var(--vvl-brand-primary-rgb),.14)!important;border-radius:16px!important;background:rgba(var(--vvl-brand-primary-rgb),.055)!important;color:rgba(247,242,255,.68)!important;font-size:13px!important;line-height:1.5!important}.vvl-contact-hint b{color:#fff!important}
html.vvl-contact-open,html.vvl-contact-open body{overflow:hidden!important}
@media(max-width:767px){.vvl-nav-wordmark{display:none!important}.hero__content[data-astro-cid-bbe6dxrz]{width:min(100%,calc(100% - 32px))!important}.hero__subtitle[data-astro-cid-bbe6dxrz]{max-width:92vw!important}.vvl-nowrap{white-space:normal}.vvl-contact-modal{padding:12px!important;place-items:end center!important}.vvl-contact-modal__dialog{border-radius:24px!important;max-height:92vh!important}.vvl-contact-modal__head{padding:22px 20px 16px!important}.vvl-contact-modal__head h2{font-size:24px!important}.vvl-contact-form{padding:20px!important}.vvl-contact-grid{grid-template-columns:1fr!important;gap:0!important}.vvl-contact-actions{flex-direction:column!important;align-items:stretch!important}.vvl-contact-submit{width:100%!important}}

/* v30: custom drag controls for contact timeline/budget, no native select dropdowns. */
.vvl-contact-modal{align-items:start!important;padding:clamp(18px,4vh,42px) 20px!important;overflow:hidden!important}
.vvl-contact-modal__dialog{max-height:calc(100vh - clamp(36px,8vh,84px))!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important}
.vvl-contact-range-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;margin-bottom:4px!important}
.vvl-range-field{padding:16px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:20px!important;background:rgba(255,255,255,.035)!important}
.vvl-range-label{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:10px!important}
.vvl-range-label label{margin:0!important}.vvl-range-label strong{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;min-height:22px!important;color:var(--vvl-brand-primary)!important;font-size:13px!important;font-weight:750!important;line-height:1.2!important;text-align:right!important;letter-spacing:-.01em!important;white-space:nowrap!important}
.vvl-smart-range{position:relative!important;width:100%!important;padding:18px 0 4px!important;--pct:0%}
.vvl-smart-range:before{content:""!important;position:absolute!important;left:6px!important;right:6px!important;top:27px!important;height:8px!important;border-radius:999px!important;background:rgba(255,255,255,.075)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important}
.vvl-smart-range:after{content:""!important;position:absolute!important;left:6px!important;top:27px!important;width:var(--pct)!important;height:8px!important;border-radius:999px!important;background:linear-gradient(90deg,var(--vvl-brand-primary),var(--vvl-brand-accent))!important;box-shadow:0 0 24px rgba(var(--vvl-brand-primary-rgb),.18)!important;pointer-events:none!important}
.vvl-smart-range__input{position:relative!important;z-index:2!important;display:block!important;width:100%!important;height:28px!important;margin:0!important;background:transparent!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important;outline:none!important}
.vvl-smart-range__input::-webkit-slider-runnable-track{height:8px!important;background:transparent!important;border:none!important;border-radius:999px!important}
.vvl-smart-range__input::-moz-range-track{height:8px!important;background:transparent!important;border:none!important;border-radius:999px!important}
.vvl-smart-range__input::-webkit-slider-thumb{appearance:none!important;-webkit-appearance:none!important;width:28px!important;height:28px!important;margin-top:-10px!important;border-radius:999px!important;border:6px solid #181621!important;background:#f7f2ff!important;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 14px 36px rgba(0,0,0,.45),0 0 0 5px rgba(var(--vvl-brand-primary-rgb),.12)!important;transition:transform .18s ease,box-shadow .18s ease!important}
.vvl-smart-range__input::-moz-range-thumb{width:18px!important;height:18px!important;border-radius:999px!important;border:6px solid #181621!important;background:#f7f2ff!important;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 14px 36px rgba(0,0,0,.45),0 0 0 5px rgba(var(--vvl-brand-primary-rgb),.12)!important;transition:transform .18s ease,box-shadow .18s ease!important}
.vvl-smart-range__input:hover::-webkit-slider-thumb,.vvl-smart-range__input:focus-visible::-webkit-slider-thumb{transform:scale(1.08)!important;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 16px 42px rgba(0,0,0,.5),0 0 0 7px rgba(var(--vvl-brand-primary-rgb),.16)!important}
.vvl-smart-range__input:hover::-moz-range-thumb,.vvl-smart-range__input:focus-visible::-moz-range-thumb{transform:scale(1.08)!important;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 16px 42px rgba(0,0,0,.5),0 0 0 7px rgba(var(--vvl-brand-primary-rgb),.16)!important}
.vvl-smart-range__labels{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;margin-top:6px!important;color:rgba(247,242,255,.46)!important;font-size:10.5px!important;line-height:1.2!important;text-align:center!important;letter-spacing:-.02em!important}.vvl-smart-range__labels span{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;transition:color .18s ease,transform .18s ease!important}.vvl-smart-range__labels span.is-active{color:#f7f2ff!important;font-weight:750!important;transform:translateY(-1px)!important}
.vvl-range-field small{margin-top:4px!important;color:rgba(247,242,255,.44)!important}
@media (max-width:760px){.vvl-contact-modal{padding:12px!important}.vvl-contact-modal__dialog{border-radius:24px!important;max-height:calc(100vh - 24px)!important}.vvl-contact-range-grid,.vvl-contact-grid{grid-template-columns:1fr!important}.vvl-smart-range__labels{font-size:10px!important}.vvl-range-label{flex-direction:column!important;gap:4px!important}.vvl-range-label strong{justify-content:flex-start!important;text-align:left!important}}

/* v31: success state inside the same project brief popup. */
.vvl-contact-success[hidden]{display:none!important}
.vvl-contact-modal.is-success .vvl-contact-modal__dialog{overflow:hidden!important}
.vvl-contact-success{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:430px!important;padding:48px 34px!important;text-align:center!important;color:#f7f2ff!important;background:radial-gradient(circle at 50% 0%,rgba(var(--vvl-brand-primary-rgb),.11),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0))!important}
.vvl-contact-success__icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:74px!important;height:74px!important;margin:0 0 22px!important;border-radius:999px!important;background:linear-gradient(135deg,rgba(var(--vvl-brand-primary-rgb),.22),rgba(var(--vvl-brand-accent-rgb),.14))!important;border:1px solid rgba(var(--vvl-brand-primary-rgb),.36)!important;color:var(--vvl-brand-primary)!important;box-shadow:0 0 0 8px rgba(var(--vvl-brand-primary-rgb),.06),0 24px 70px rgba(0,0,0,.35)!important}
.vvl-contact-success__eyebrow{margin:0 0 10px!important;color:var(--vvl-brand-primary)!important;text-transform:uppercase!important;letter-spacing:.13em!important;font-size:12px!important;font-weight:800!important}
.vvl-contact-success h3{margin:0!important;color:#fff!important;font-size:clamp(28px,4vw,42px)!important;line-height:1.05!important;letter-spacing:-.045em!important;font-weight:780!important}
.vvl-contact-success p[data-vvl-contact-success-message]{margin:16px auto 0!important;max-width:520px!important;color:rgba(247,242,255,.7)!important;font-size:16px!important;line-height:1.65!important;font-weight:560!important}
.vvl-contact-success small{display:block!important;margin-top:18px!important;color:rgba(247,242,255,.45)!important;font-size:13px!important;line-height:1.5!important}
.vvl-contact-success__button{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-top:24px!important;min-height:46px!important;padding:0 22px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.15)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font:inherit!important;font-weight:750!important;cursor:pointer!important;transition:background .2s,transform .2s!important}.vvl-contact-success__button:hover{background:rgba(255,255,255,.13)!important;transform:translateY(-1px)!important}
@media(max-width:760px){.vvl-contact-success{min-height:380px!important;padding:38px 22px!important}.vvl-contact-success__icon{width:64px!important;height:64px!important}.vvl-contact-success p[data-vvl-contact-success-message]{font-size:15px!important}}

/* v32: always-visible submit status near the top of the modal. */
.vvl-contact-status--top{display:block!important;margin:-4px 0 18px!important;padding:11px 14px!important;border-radius:15px!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.035)!important;color:rgba(247,242,255,.62)!important}
.vvl-contact-status--top.is-error{border-color:rgba(255,141,141,.28)!important;background:rgba(255,80,80,.08)!important;color:#ffb0b0!important}
.vvl-contact-status--top.is-success{border-color:rgba(var(--vvl-brand-primary-rgb),.28)!important;background:rgba(var(--vvl-brand-primary-rgb),.075)!important;color:#b9ff87!important}
.vvl-contact-modal.is-success .vvl-contact-modal__head{border-bottom-color:rgba(var(--vvl-brand-primary-rgb),.16)!important}

/* v34: block links in project brief immediately and make the warning visible. */
.vvl-contact-editor.has-link-error{border-color:rgba(255,141,141,.58)!important;box-shadow:0 0 0 4px rgba(255,80,80,.12)!important;background:rgba(255,80,80,.045)!important}.vvl-contact-toolbar small{transition:color .18s ease!important}.vvl-contact-editor.has-link-error + textarea + small,.vvl-contact-toolbar:has(+ .vvl-contact-editor.has-link-error) small{color:#ffb0b0!important}.vvl-contact-status--top.is-error{scroll-margin-top:18px!important}

/* v35: Contact nav scroll target. */
#contact{scroll-margin-top:120px!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v36: nav section active state fix loads a small JS override for the Contact section. */


/* Contact modal light-mode skin. Keeps the same source structure/effects, only switches the palette when the site is in light mode. */
:root[data-theme=light] .vvl-contact-modal{color:#171321!important}
:root[data-theme=light] .vvl-contact-modal__backdrop{background:rgba(246,244,250,.72)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}
:root[data-theme=light] .vvl-contact-modal__dialog{border-color:rgba(35,31,48,.12)!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,244,250,.98))!important;box-shadow:0 36px 110px rgba(35,31,48,.20),inset 0 1px 0 rgba(255,255,255,.9)!important;color:#171321!important;scrollbar-color:rgba(98,162,43,.52) rgba(35,31,48,.08)!important}
:root[data-theme=light] .vvl-contact-modal__dialog::-webkit-scrollbar-track,:root[data-theme=light] .vvl-contact-editor::-webkit-scrollbar-track{background:rgba(35,31,48,.065)!important}
:root[data-theme=light] .vvl-contact-modal__dialog::-webkit-scrollbar-thumb,:root[data-theme=light] .vvl-contact-editor::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(98,162,43,.72),rgba(var(--vvl-brand-accent-rgb),.65))!important;border-color:rgba(246,244,250,.98)!important}
:root[data-theme=light] .vvl-contact-modal__dialog::-webkit-scrollbar-thumb:hover,:root[data-theme=light] .vvl-contact-editor::-webkit-scrollbar-thumb:hover{background:rgba(var(--vvl-brand-primary-rgb),.82)!important}
:root[data-theme=light] .vvl-contact-modal__head{border-bottom-color:rgba(35,31,48,.10)!important}
:root[data-theme=light] .vvl-contact-modal__head h2{color:#171321!important}
:root[data-theme=light] .vvl-contact-modal__head p{color:rgba(23,19,33,.68)!important}
:root[data-theme=light] .vvl-contact-modal__close{border-color:rgba(35,31,48,.12)!important;background:rgba(35,31,48,.055)!important;color:#171321!important}
:root[data-theme=light] .vvl-contact-modal__close:hover{background:rgba(35,31,48,.095)!important}
:root[data-theme=light] .vvl-contact-field label{color:#171321!important}
:root[data-theme=light] .vvl-contact-field small{color:rgba(23,19,33,.52)!important}
:root[data-theme=light] .vvl-contact-input,:root[data-theme=light] .vvl-contact-textarea,:root[data-theme=light] .vvl-contact-editor{border-color:rgba(35,31,48,.14)!important;background:#fff!important;color:#171321!important;box-shadow:0 1px 0 rgba(255,255,255,.9),0 10px 28px rgba(35,31,48,.035)!important}
:root[data-theme=light] .vvl-contact-input:focus,:root[data-theme=light] .vvl-contact-textarea:focus,:root[data-theme=light] .vvl-contact-editor:focus{border-color:rgba(var(--vvl-brand-primary-rgb),.54)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(var(--vvl-brand-primary-rgb),.10),0 10px 28px rgba(35,31,48,.04)!important}
:root[data-theme=light] .vvl-contact-input::placeholder,:root[data-theme=light] .vvl-contact-textarea::placeholder,:root[data-theme=light] .vvl-contact-editor:empty:before{color:rgba(23,19,33,.38)!important}
:root[data-theme=light] .vvl-contact-tool{border-color:rgba(35,31,48,.12)!important;background:rgba(35,31,48,.04)!important;color:#171321!important}
:root[data-theme=light] .vvl-contact-tool:hover{background:rgba(35,31,48,.075)!important}
:root[data-theme=light] .vvl-contact-file{border-color:rgba(35,31,48,.15)!important;background:rgba(35,31,48,.025)!important}
:root[data-theme=light] .vvl-contact-submit{border-color:rgba(35,31,48,.12)!important;background:#171321!important;color:#fff!important;box-shadow:0 12px 32px rgba(35,31,48,.15),inset 0 -2px 0 rgba(255,255,255,.06)!important}
:root[data-theme=light] .vvl-contact-status{color:rgba(23,19,33,.60)!important}
:root[data-theme=light] .vvl-contact-status.is-error{color:#b42318!important}
:root[data-theme=light] .vvl-contact-status.is-success{color:var(--vvl-brand-primary)!important}
:root[data-theme=light] .vvl-contact-status--top{border-color:rgba(35,31,48,.10)!important;background:rgba(35,31,48,.035)!important;color:rgba(23,19,33,.62)!important}
:root[data-theme=light] .vvl-contact-status--top.is-error{border-color:rgba(180,35,24,.24)!important;background:rgba(180,35,24,.07)!important;color:#b42318!important}
:root[data-theme=light] .vvl-contact-status--top.is-success{border-color:rgba(var(--vvl-brand-primary-rgb),.24)!important;background:rgba(var(--vvl-brand-primary-rgb),.08)!important;color:var(--vvl-brand-primary)!important}
:root[data-theme=light] .vvl-contact-hint{border-color:rgba(var(--vvl-brand-primary-rgb),.20)!important;background:rgba(var(--vvl-brand-primary-rgb),.075)!important;color:rgba(23,19,33,.70)!important}
:root[data-theme=light] .vvl-contact-hint b{color:#171321!important}
:root[data-theme=light] .vvl-range-field{background:rgba(35,31,48,.025)!important;border-color:rgba(35,31,48,.12)!important}
:root[data-theme=light] .vvl-range-label strong{color:var(--vvl-brand-primary)!important}
:root[data-theme=light] .vvl-smart-range__input{background:linear-gradient(90deg,var(--vvl-brand-primary) 0 var(--pct,0%),rgba(35,31,48,.12) var(--pct,0%) 100%)!important}
:root[data-theme=light] .vvl-smart-range__input::-webkit-slider-thumb{background:#171321!important;border-color:#fff!important;box-shadow:0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.12),0 8px 18px rgba(35,31,48,.22)!important}
:root[data-theme=light] .vvl-smart-range__input::-moz-range-thumb{background:#171321!important;border-color:#fff!important;box-shadow:0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.12),0 8px 18px rgba(35,31,48,.22)!important}
:root[data-theme=light] .vvl-smart-range__labels{color:rgba(23,19,33,.42)!important}
:root[data-theme=light] .vvl-smart-range__labels span.is-active{color:#171321!important}
:root[data-theme=light] .vvl-contact-success{color:#171321!important;background:radial-gradient(circle at 50% 0%,rgba(var(--vvl-brand-primary-rgb),.14),transparent 44%),linear-gradient(180deg,rgba(35,31,48,.025),rgba(35,31,48,0))!important}
:root[data-theme=light] .vvl-contact-success__icon{background:linear-gradient(135deg,rgba(var(--vvl-brand-primary-rgb),.18),rgba(var(--vvl-brand-accent-rgb),.14))!important;border-color:rgba(var(--vvl-brand-primary-rgb),.30)!important;color:var(--vvl-brand-primary)!important;box-shadow:0 0 0 8px rgba(var(--vvl-brand-primary-rgb),.07),0 24px 70px rgba(35,31,48,.14)!important}
:root[data-theme=light] .vvl-contact-success__eyebrow{color:var(--vvl-brand-primary)!important}
:root[data-theme=light] .vvl-contact-success h3{color:#171321!important}
:root[data-theme=light] .vvl-contact-success p[data-vvl-contact-success-message]{color:rgba(23,19,33,.68)!important}
:root[data-theme=light] .vvl-contact-success small{color:rgba(23,19,33,.50)!important}
:root[data-theme=light] .vvl-contact-success__button{border-color:rgba(35,31,48,.12)!important;background:rgba(35,31,48,.055)!important;color:#171321!important}
:root[data-theme=light] .vvl-contact-success__button:hover{background:rgba(35,31,48,.095)!important}
:root[data-theme=light] .vvl-contact-editor.has-link-error{border-color:rgba(180,35,24,.45)!important;box-shadow:0 0 0 4px rgba(180,35,24,.10)!important;background:rgba(180,35,24,.035)!important}

/* v38: light-mode range sliders now match the dark-mode proportions.
   Keep the slim glass track, gradient fill and floating knob instead of the browser's large native bar. */
:root[data-theme=light] .vvl-smart-range{position:relative!important;padding:18px 0 4px!important;background:transparent!important}
:root[data-theme=light] .vvl-smart-range:before{content:""!important;position:absolute!important;left:6px!important;right:6px!important;top:27px!important;height:8px!important;border-radius:999px!important;background:rgba(23,19,33,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(35,31,48,.05)!important}
:root[data-theme=light] .vvl-smart-range:after{content:""!important;position:absolute!important;left:6px!important;top:27px!important;width:var(--pct,0%)!important;height:8px!important;border-radius:999px!important;background:linear-gradient(90deg,var(--vvl-brand-primary),var(--vvl-brand-accent))!important;box-shadow:0 0 22px rgba(var(--vvl-brand-primary-rgb),.16)!important;pointer-events:none!important}
:root[data-theme=light] .vvl-smart-range__input{position:relative!important;z-index:2!important;display:block!important;width:100%!important;height:28px!important;margin:0!important;background:transparent!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important;outline:none!important}
:root[data-theme=light] .vvl-smart-range__input::-webkit-slider-runnable-track{height:8px!important;background:transparent!important;border:0!important;border-radius:999px!important}
:root[data-theme=light] .vvl-smart-range__input::-moz-range-track{height:8px!important;background:transparent!important;border:0!important;border-radius:999px!important}
:root[data-theme=light] .vvl-smart-range__input::-webkit-slider-thumb{appearance:none!important;-webkit-appearance:none!important;width:28px!important;height:28px!important;margin-top:-10px!important;border-radius:999px!important;border:6px solid #fff!important;background:#171321!important;box-shadow:0 0 0 1px rgba(35,31,48,.12),0 10px 24px rgba(35,31,48,.22),0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.12)!important;transition:transform .18s ease,box-shadow .18s ease!important}
:root[data-theme=light] .vvl-smart-range__input::-moz-range-thumb{width:18px!important;height:18px!important;border-radius:999px!important;border:6px solid #fff!important;background:#171321!important;box-shadow:0 0 0 1px rgba(35,31,48,.12),0 10px 24px rgba(35,31,48,.22),0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.12)!important;transition:transform .18s ease,box-shadow .18s ease!important}
:root[data-theme=light] .vvl-smart-range__input:hover::-webkit-slider-thumb,:root[data-theme=light] .vvl-smart-range__input:focus-visible::-webkit-slider-thumb{transform:scale(1.08)!important;box-shadow:0 0 0 1px rgba(35,31,48,.16),0 13px 30px rgba(35,31,48,.24),0 0 0 8px rgba(var(--vvl-brand-primary-rgb),.16)!important}
:root[data-theme=light] .vvl-smart-range__input:hover::-moz-range-thumb,:root[data-theme=light] .vvl-smart-range__input:focus-visible::-moz-range-thumb{transform:scale(1.08)!important;box-shadow:0 0 0 1px rgba(35,31,48,.16),0 13px 30px rgba(35,31,48,.24),0 0 0 8px rgba(var(--vvl-brand-primary-rgb),.16)!important}

/* v38: make light-mode timeline/budget sliders keep the same elegant pill track as dark mode. */
:root[data-theme=light] .vvl-range-field{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,249,252,.92))!important;
  border-color:rgba(35,31,48,.13)!important;
  box-shadow:0 18px 44px rgba(35,31,48,.06),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
:root[data-theme=light] .vvl-smart-range:before{
  background:rgba(35,31,48,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 1px 0 rgba(35,31,48,.04)!important;
}
:root[data-theme=light] .vvl-smart-range:after{
  background:linear-gradient(90deg,var(--vvl-brand-primary),var(--vvl-brand-accent))!important;
  box-shadow:0 8px 22px rgba(var(--vvl-brand-primary-rgb),.14),0 0 20px rgba(var(--vvl-brand-primary-rgb),.16)!important;
}
:root[data-theme=light] .vvl-smart-range__input{
  background:transparent!important;
}
:root[data-theme=light] .vvl-smart-range__input::-webkit-slider-runnable-track{
  background:transparent!important;
  border:none!important;
}
:root[data-theme=light] .vvl-smart-range__input::-moz-range-track{
  background:transparent!important;
  border:none!important;
}
:root[data-theme=light] .vvl-smart-range__input::-webkit-slider-thumb{
  background:#171321!important;
  border:6px solid #fff!important;
  box-shadow:0 0 0 1px rgba(35,31,48,.16),0 13px 28px rgba(35,31,48,.24),0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.13)!important;
}
:root[data-theme=light] .vvl-smart-range__input::-moz-range-thumb{
  background:#171321!important;
  border:6px solid #fff!important;
  box-shadow:0 0 0 1px rgba(35,31,48,.16),0 13px 28px rgba(35,31,48,.24),0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.13)!important;
}
:root[data-theme=light] .vvl-smart-range__input:hover::-webkit-slider-thumb,
:root[data-theme=light] .vvl-smart-range__input:focus-visible::-webkit-slider-thumb{
  transform:scale(1.08)!important;
  box-shadow:0 0 0 1px rgba(35,31,48,.18),0 16px 34px rgba(35,31,48,.26),0 0 0 8px rgba(var(--vvl-brand-primary-rgb),.16)!important;
}
:root[data-theme=light] .vvl-smart-range__input:hover::-moz-range-thumb,
:root[data-theme=light] .vvl-smart-range__input:focus-visible::-moz-range-thumb{
  transform:scale(1.08)!important;
  box-shadow:0 0 0 1px rgba(35,31,48,.18),0 16px 34px rgba(35,31,48,.26),0 0 0 8px rgba(var(--vvl-brand-primary-rgb),.16)!important;
}
:root[data-theme=light] .vvl-smart-range__labels{
  color:rgba(23,19,33,.42)!important;
}
:root[data-theme=light] .vvl-smart-range__labels span.is-active{
  color:#171321!important;
  font-weight:750!important;
}
:root[data-theme=light] .vvl-range-field small{
  color:rgba(23,19,33,.52)!important;
}


/* v39: keep About close to the original source rhythm but prevent CV copy from becoming a huge wall of text. */
.about-bio__avatar-frame[data-astro-cid-v2cbyr3p]{
  background:rgba(255,255,255,.025);
}
.about-bio__avatar[data-astro-cid-v2cbyr3p]{
  object-fit:contain !important;
  padding:18px;
  box-sizing:border-box;
  background:rgba(255,255,255,.02);
}
.about-bio[data-astro-cid-v2cbyr3p] p.vvl-about-lead,
.about-bio[data-astro-cid-v2cbyr3p] p:first-of-type{
  max-width:620px;
  color:var(--fg) !important;
  font-family:var(--font-family-display);
  font-size:var(--vvl-front-about-lead-size, clamp(22px, 1.75vw, 28px)) !important;
  line-height:1.18 !important;
  letter-spacing:-.035em !important;
  font-weight:var(--font-weight-semibold);
}
.about-bio[data-astro-cid-v2cbyr3p] p.vvl-about-paragraph,
.about-bio[data-astro-cid-v2cbyr3p] p:not(:first-of-type){
  max-width:600px;
  font-size:var(--vvl-front-about-text-size, 16px) !important;
  line-height:1.55 !important;
  letter-spacing:-.01em;
  color:var(--fg-subtle);
}
.about-aside__item[data-astro-cid-v2cbyr3p]{
  font-size:var(--vvl-front-about-text-size, 16px) !important;
  line-height:1.55 !important;
}
@media (max-width: 767px){
  .about-bio[data-astro-cid-v2cbyr3p] p.vvl-about-lead,
  .about-bio[data-astro-cid-v2cbyr3p] p:first-of-type{
    font-size:var(--vvl-front-about-lead-size, clamp(22px, 6vw, 28px)) !important;
  }
}

/* v40: uploaded header logo must replace the full brand area, not be cropped into the round VL icon. */
.vvl-nav-logo--uploaded{
  display:inline-flex!important;
  align-items:center!important;
  gap:0!important;
  min-width:0!important;
  width:auto!important;
}
.vvl-nav-uploaded-logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:148px!important;
  height:36px!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
}
.vvl-nav-uploaded-logo img{
  display:block!important;
  width:auto!important;
  max-width:148px!important;
  height:auto!important;
  max-height:32px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.vvl-nav-wordmark--sr{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media (max-width:767px){
  .vvl-nav-uploaded-logo{max-width:112px!important;height:32px!important}
  .vvl-nav-uploaded-logo img{max-width:112px!important;max-height:28px!important}
}


/* v41: dynamic public typography. Values are injected from Admin → Appearance → Theme Options → Theme Styles. */
.nav__item,.nav__panel-item,.vvl-nav-wordmark{font-size:var(--vvl-front-nav-font-size,14px)!important;}
.hero__title{font-size:var(--vvl-front-hero-heading-size,clamp(56px,7.5vw,104px))!important;}
.hero__subtitle{font-size:var(--vvl-front-hero-subtitle-size,14px)!important;}
.section-header__label{font-size:var(--vvl-front-section-label-size,14px)!important;}
.work-card__title{font-size:var(--vvl-front-card-title-size,18px)!important;}
.work-card__desc,.work-card__service{font-size:var(--vvl-front-card-text-size,14px)!important;}
.btn,.cta__btn,.work-card__cta,.vvl-contact-submit{font-size:var(--vvl-front-button-font-size,14px)!important;}
.about-bio p.vvl-about-lead,.about-bio p:first-of-type{font-size:var(--vvl-front-about-lead-size,18px)!important;}
.about-bio p.vvl-about-paragraph,.about-bio p:not(:first-of-type),.about-aside__item{font-size:var(--vvl-front-about-text-size,14px)!important;}
.faq__question,.faq-title{font-size:var(--vvl-front-faq-question-size,18px)!important;}
.faq__content,.faq__content p,.faq__summary{font-size:var(--vvl-front-faq-answer-size,14px)!important;}

/* v43: footer/content settings from Theme Options are now reflected on the public theme. */
.footer__copyright + .footer__note{
  margin:6px 0 0!important;
  color:var(--fg-muted)!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.footer__social-icon svg{stroke:currentColor!important}


/* v44: keep footer aligned like the source design */
.footer__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:100%;}
.footer__copyright{justify-self:start;}
.footer__social{justify-self:center;}
.footer__back-to-top{justify-self:end;}
.footer__note{display:none!important;}
@media (max-width: 767px){.footer__inner{grid-template-columns:1fr;justify-items:center;text-align:center}.footer__copyright,.footer__social,.footer__back-to-top{justify-self:center}}


/* v46: dynamic public menu support. Keep the theme toggle inside the pill when more menu items are added. */
@media (min-width: 768px){
  .nav__pill[data-astro-cid-3ef6ksr2]{
    width:auto!important;
    max-width:calc(100vw - 48px)!important;
    min-width:min(560px, calc(100vw - 48px))!important;
    padding-inline:22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:22px!important;
    box-sizing:border-box!important;
  }
  .nav__logo[data-astro-cid-3ef6ksr2]{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .nav__primary[data-astro-cid-3ef6ksr2]{
    display:block!important;
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:min(58vw, 720px)!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scrollbar-width:none!important;
  }
  .nav__primary[data-astro-cid-3ef6ksr2]::-webkit-scrollbar{display:none!important}
  .nav__items[data-astro-cid-3ef6ksr2]{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:4px!important;
    width:max-content!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    position:relative!important;
  }
  .nav__items[data-astro-cid-3ef6ksr2]>li[data-astro-cid-3ef6ksr2]{
    flex:0 0 auto!important;
  }
  .nav__item[data-astro-cid-3ef6ksr2]{
    white-space:nowrap!important;
    padding-inline:14px!important;
  }
  .nav__theme[data-astro-cid-3ef6ksr2]{
    flex:0 0 32px!important;
    margin-left:0!important;
    position:relative!important;
    right:auto!important;
    top:auto!important;
    z-index:2!important;
  }
  .nav__menu-toggle[data-astro-cid-3ef6ksr2]{
    flex:0 0 32px!important;
  }
  .nav__pill-bg[data-astro-cid-3ef6ksr2]{
    inset:0!important;
  }
}
@media (min-width:768px) and (max-width: 980px){
  .nav__pill[data-astro-cid-3ef6ksr2]{gap:14px!important;padding-inline:16px!important;}
  .nav__item[data-astro-cid-3ef6ksr2]{padding-inline:10px!important;}
  .vvl-nav-wordmark:not(.vvl-nav-wordmark--sr){display:none!important;}
}

/* v46: any source spark/firework canvas color should follow Theme Options primary color. */
.click-spark[data-astro-cid-dqlfn5km]{color:var(--vvl-brand-primary)!important;}


/* v47: public brand colors are controlled by Theme Options. Never fall back to the source green/blue accents. */
.vvl-contact-link,
:root[data-theme=light] .vvl-contact-link{color:var(--vvl-brand-primary)!important;border-bottom-color:rgba(var(--vvl-brand-primary-rgb),.45)!important}
.vvl-contact-link:hover,
.vvl-contact-link:focus-visible,
:root[data-theme=light] .vvl-contact-link:hover,
:root[data-theme=light] .vvl-contact-link:focus-visible{color:var(--vvl-brand-primary)!important;border-bottom-color:rgba(var(--vvl-brand-primary-rgb),.9)!important;text-shadow:0 0 16px rgba(var(--vvl-brand-primary-rgb),.22)!important}
.nav__active,.section-header__dot{background:var(--vvl-brand-primary)!important}
.vvl-nav-mark,.vvl-client-icon{color:var(--vvl-brand-primary)!important;background:rgba(var(--vvl-brand-primary-rgb),.13)!important}
.vvl-contact-hint,:root[data-theme=light] .vvl-contact-hint{border-color:rgba(var(--vvl-brand-primary-rgb),.24)!important;background:rgba(var(--vvl-brand-primary-rgb),.075)!important}
.vvl-range-label strong,:root[data-theme=light] .vvl-range-label strong{color:var(--vvl-brand-primary)!important}
.vvl-smart-range:after,:root[data-theme=light] .vvl-smart-range:after{background:linear-gradient(90deg,var(--vvl-brand-primary),var(--vvl-brand-accent))!important;box-shadow:0 8px 24px rgba(var(--vvl-brand-primary-rgb),.16),0 0 22px rgba(var(--vvl-brand-primary-rgb),.12)!important}
.vvl-smart-range__input:focus-visible{outline-color:var(--vvl-brand-primary)!important}
.vvl-smart-range__input::-webkit-slider-thumb,
:root[data-theme=light] .vvl-smart-range__input::-webkit-slider-thumb{box-shadow:0 0 0 1px rgba(255,255,255,.35),0 14px 36px rgba(0,0,0,.36),0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.14)!important}
.vvl-smart-range__input::-moz-range-thumb,
:root[data-theme=light] .vvl-smart-range__input::-moz-range-thumb{box-shadow:0 0 0 1px rgba(255,255,255,.35),0 14px 36px rgba(0,0,0,.36),0 0 0 6px rgba(var(--vvl-brand-primary-rgb),.14)!important}
.vvl-contact-input:focus,.vvl-contact-textarea:focus,.vvl-contact-editor:focus,
:root[data-theme=light] .vvl-contact-input:focus,
:root[data-theme=light] .vvl-contact-textarea:focus,
:root[data-theme=light] .vvl-contact-editor:focus{border-color:rgba(var(--vvl-brand-primary-rgb),.58)!important;box-shadow:0 0 0 4px rgba(var(--vvl-brand-primary-rgb),.11)!important}
.click-spark[data-astro-cid-dqlfn5km]{color:var(--vvl-brand-primary)!important}

/* v48: restore compact source-like header nav. Dynamic menu items must not stretch the pill full-width. */
@media (min-width: 769px){
  .nav__pill[data-astro-cid-3ef6ksr2]{
    width:max-content!important;
    min-width:0!important;
    max-width:min(calc(100vw - 48px), 760px)!important;
    height:80px!important;
    padding:0 28px!important;
    display:grid!important;
    grid-template-columns:auto auto auto!important;
    align-items:center!important;
    justify-content:center!important;
    column-gap:40px!important;
    gap:40px!important;
    margin-inline:auto!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    animation:none!important;
  }
  .nav__pill-bg[data-astro-cid-3ef6ksr2]{
    inset:0!important;
    transform:scale(1)!important;
    opacity:1!important;
    animation:none!important;
  }
  .nav__logo[data-astro-cid-3ef6ksr2]{
    flex:none!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .nav__primary[data-astro-cid-3ef6ksr2]{
    display:block!important;
    flex:none!important;
    min-width:0!important;
    max-width:min(52vw, 490px)!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scrollbar-width:none!important;
  }
  .nav__primary[data-astro-cid-3ef6ksr2]::-webkit-scrollbar{display:none!important;}
  .nav__items[data-astro-cid-3ef6ksr2]{
    width:max-content!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    padding:0!important;
    margin:0!important;
    position:relative!important;
  }
  .nav__items[data-astro-cid-3ef6ksr2]>li[data-astro-cid-3ef6ksr2]{flex:0 0 auto!important;}
  .nav__item[data-astro-cid-3ef6ksr2]{padding-inline:14px!important;white-space:nowrap!important;}
  .nav__theme[data-astro-cid-3ef6ksr2],
  .nav__menu-toggle[data-astro-cid-3ef6ksr2]{
    flex:none!important;
    width:32px!important;
    height:32px!important;
    margin-left:0!important;
    position:relative!important;
    right:auto!important;
    top:auto!important;
  }
}
@media (min-width:769px) and (max-width:980px){
  .nav__pill[data-astro-cid-3ef6ksr2]{column-gap:24px!important;gap:24px!important;padding-inline:22px!important;}
  .nav__item[data-astro-cid-3ef6ksr2]{padding-inline:10px!important;}
  .vvl-nav-wordmark:not(.vvl-nav-wordmark--sr){display:none!important;}
}

/* v49: final header pill background fix.
   The source design uses a compact floating pill, not a full-width header bar.
   Keep the pill at the original source width on desktop and let only the menu list scroll
   internally when extra CMS menu items such as Blog are added. */
@media (min-width:768px){
  .nav[data-astro-cid-3ef6ksr2]{
    background:transparent!important;
  }
  .nav__pill[data-astro-cid-3ef6ksr2]{
    width:min(calc(var(--grid-col,64px) * 6 + var(--grid-gutter,32px) * 7), calc(100vw - 48px))!important;
    min-width:0!important;
    max-width:calc(100vw - 48px)!important;
    height:80px!important;
    padding:0 28px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:normal!important;
    justify-items:stretch!important;
    column-gap:40px!important;
    gap:40px!important;
    margin-inline:auto!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    background:transparent!important;
    animation:none!important;
    transition:transform .4s cubic-bezier(.16,1,.3,1)!important;
  }
  .nav__pill-bg[data-astro-cid-3ef6ksr2]{
    position:absolute!important;
    inset:0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    border-radius:99px!important;
    background:var(--bg-raised)!important;
    border:1px solid var(--border)!important;
    box-shadow:var(--shadow-lg)!important;
    transform:scale(1)!important;
    opacity:1!important;
    animation:none!important;
    pointer-events:none!important;
  }
  .nav__logo[data-astro-cid-3ef6ksr2]{
    position:relative!important;
    z-index:2!important;
    min-width:0!important;
    max-width:170px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    flex:none!important;
  }
  .vvl-nav-wordmark:not(.vvl-nav-wordmark--sr){
    max-width:124px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .nav__primary[data-astro-cid-3ef6ksr2]{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
    background:transparent!important;
    flex:none!important;
  }
  .nav__primary[data-astro-cid-3ef6ksr2]::-webkit-scrollbar{display:none!important;}
  .nav__items[data-astro-cid-3ef6ksr2]{
    width:max-content!important;
    min-width:0!important;
    max-width:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    padding:0!important;
    margin:0!important;
    position:relative!important;
    background:transparent!important;
  }
  .nav__items[data-astro-cid-3ef6ksr2]>li[data-astro-cid-3ef6ksr2]{
    flex:0 0 auto!important;
  }
  .nav__item[data-astro-cid-3ef6ksr2]{
    padding-inline:14px!important;
    white-space:nowrap!important;
  }
  .nav__theme[data-astro-cid-3ef6ksr2],
  .nav__menu-toggle[data-astro-cid-3ef6ksr2]{
    position:relative!important;
    z-index:2!important;
    justify-self:end!important;
    flex:none!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    margin-left:0!important;
    right:auto!important;
    top:auto!important;
    background:transparent!important;
  }
}
@media (min-width:768px) and (max-width:980px){
  .nav__pill[data-astro-cid-3ef6ksr2]{
    width:calc(100vw - 32px)!important;
    max-width:608px!important;
    padding-inline:20px!important;
    column-gap:24px!important;
    gap:24px!important;
  }
  .nav__item[data-astro-cid-3ef6ksr2]{padding-inline:10px!important;}
  .vvl-nav-wordmark:not(.vvl-nav-wordmark--sr){display:none!important;}
}
@media (min-width:981px){
  .nav__pill[data-astro-cid-3ef6ksr2]{max-width:608px!important;}
}

/* v54: premium hover animation system for social icons, nav, text links and buttons. */
.footer__social{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;min-height:44px!important}
.vvl-social-link,.footer__social-link,.about-name__social-link{position:relative!important;isolation:isolate!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;border-radius:999px!important;color:var(--fg-muted)!important;background:transparent!important;overflow:visible!important;line-height:1!important;will-change:transform,color,background,box-shadow!important;transition:transform .36s cubic-bezier(.16,1,.3,1),background .24s ease,color .24s ease,box-shadow .36s cubic-bezier(.16,1,.3,1),border-color .24s ease,filter .36s cubic-bezier(.16,1,.3,1)!important}
.vvl-social-icon,.footer__social-icon,.about-name__social-icon{position:relative!important;z-index:3!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;transition:transform .36s cubic-bezier(.16,1,.3,1),filter .36s cubic-bezier(.16,1,.3,1),color .24s ease!important}
.vvl-social-icon svg,.footer__social-icon svg,.about-name__social-icon svg{display:block!important;width:22px!important;height:22px!important;color:currentColor!important;overflow:visible!important}
.vvl-social-icon svg path,.footer__social-icon svg path,.about-name__social-icon svg path,.vvl-social-icon svg circle,.footer__social-icon svg circle,.about-name__social-icon svg circle,.vvl-social-icon svg line,.footer__social-icon svg line,.about-name__social-icon svg line,.vvl-social-icon svg polyline,.footer__social-icon svg polyline,.about-name__social-icon svg polyline{stroke:currentColor!important;fill:none!important}
.footer__social-icon.roll,.footer__social-icon.roll--icon{clip-path:none!important;overflow:visible!important;transform:none!important}
.footer__social-icon .roll__t{display:inline-flex!important;align-items:center!important;justify-content:center!important;transform:none!important;transition:none!important}
.footer__social-icon .roll__t--dup{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important}
.vvl-social-link:hover,.vvl-social-link:focus-visible,.footer__social-link:hover,.footer__social-link:focus-visible,.about-name__social-link:hover,.about-name__social-link:focus-visible{color:var(--vvl-brand-primary)!important;background:rgba(var(--vvl-brand-primary-rgb),.12)!important;box-shadow:0 10px 24px rgba(var(--vvl-brand-primary-rgb),.16)!important}
.vvl-social-link:before,.vvl-social-link:after,.footer__social-link:before,.footer__social-link:after,.about-name__social-link:before,.about-name__social-link:after{content:"";position:absolute;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease,transform .42s cubic-bezier(.16,1,.3,1),background .3s ease,border-color .3s ease,filter .3s ease!important;z-index:1}
.vvl-about-effect-lift-glow :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-lift-glow :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-4px)!important}
.vvl-about-effect-lift-glow :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover :is(.vvl-social-icon,.footer__social-icon,.about-name__social-icon),.vvl-about-effect-lift-glow :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible :is(.vvl-social-icon,.footer__social-icon,.about-name__social-icon){filter:drop-shadow(0 0 10px rgba(var(--vvl-brand-primary-rgb),.55))!important}
.vvl-about-effect-pop :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:-7px;background:radial-gradient(circle,rgba(var(--vvl-brand-primary-rgb),.24) 0%,rgba(var(--vvl-brand-accent-rgb),.18) 42%,transparent 72%);transform:scale(.28);z-index:1}
.vvl-about-effect-pop :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-pop :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{animation:vvl-social-elastic .56s cubic-bezier(.16,1,.3,1) both!important}
.vvl-about-effect-pop :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-pop :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:1!important;transform:scale(1.12)!important}
.vvl-about-effect-pop :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover :is(.vvl-social-icon,.footer__social-icon,.about-name__social-icon),.vvl-about-effect-pop :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible :is(.vvl-social-icon,.footer__social-icon,.about-name__social-icon){transform:rotate(-8deg) scale(1.04)!important;filter:drop-shadow(0 0 12px rgba(var(--vvl-brand-primary-rgb),.45))!important}
.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:-7px;border:1.5px solid rgba(var(--vvl-brand-primary-rgb),.55);border-top-color:var(--vvl-brand-accent);border-right-color:rgba(var(--vvl-brand-secondary-rgb),.15);box-shadow:0 0 0 1px rgba(var(--vvl-brand-primary-rgb),.08),0 0 20px rgba(var(--vvl-brand-primary-rgb),.2);transform:scale(.7) rotate(0deg);background:transparent!important}
.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):after{top:-7px;left:50%;width:7px;height:7px;margin-left:-3.5px;background:var(--vvl-brand-primary);box-shadow:0 0 12px rgba(var(--vvl-brand-primary-rgb),.8),0 0 22px rgba(var(--vvl-brand-accent-rgb),.55);border-radius:999px;transform:scale(0)}
.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-3px) scale(1.04)!important;color:var(--vvl-brand-primary)!important;background:rgba(var(--vvl-brand-primary-rgb),.1)!important;box-shadow:0 14px 34px rgba(var(--vvl-brand-primary-rgb),.2)!important}
.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:1!important;transform:scale(1) rotate(360deg)!important;animation:vvl-social-orbit-ring 1.25s linear infinite!important}
.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:after,.vvl-about-effect-orbit-ring :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:after{opacity:1!important;animation:vvl-social-orbit-dot 1.25s linear infinite!important}
.vvl-about-effect-pulse-halo :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-pulse-halo :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-2px)!important}
.vvl-about-effect-pulse-halo :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:-5px;background:rgba(var(--vvl-brand-primary-rgb),.18)}
.vvl-about-effect-pulse-halo :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-pulse-halo :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:1!important;animation:vvl-social-pulse 1.15s ease-out infinite!important}
.vvl-about-effect-neon-stroke :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:-4px;background:conic-gradient(from 0deg,var(--vvl-brand-primary),var(--vvl-brand-accent),var(--vvl-brand-secondary),var(--vvl-brand-primary));transform:scale(.86) rotate(0deg);filter:blur(.2px);opacity:0}
.vvl-about-effect-neon-stroke :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-neon-stroke :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-3px) scale(1.03)!important;color:var(--vvl-brand-primary)!important;box-shadow:0 16px 34px rgba(var(--vvl-brand-primary-rgb),.23)!important}
.vvl-about-effect-neon-stroke :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-neon-stroke :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:.86!important;transform:scale(1.02) rotate(180deg)!important;animation:vvl-social-neon-spin 1.4s linear infinite!important}
.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:-6px;border:1px solid rgba(var(--vvl-brand-primary-rgb),.46);background:rgba(var(--vvl-brand-primary-rgb),.06);transform:scale(.74)}
.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):after{inset:-13px;border:1px solid rgba(var(--vvl-brand-accent-rgb),.45);transform:scale(.58)}
.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-3px) scale(1.04)!important;color:var(--vvl-brand-primary)!important;background:rgba(var(--vvl-brand-primary-rgb),.1)!important}
.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:1!important;animation:vvl-social-ping 1.05s ease-out infinite!important}
.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:after,.vvl-about-effect-ripple-ping :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:after{opacity:1!important;animation:vvl-social-ping 1.05s .18s ease-out infinite!important}
.vvl-about-effect-starlight-dust :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:-12px;background:radial-gradient(circle at 22% 28%,rgba(var(--vvl-brand-primary-rgb),.95) 0 2px,transparent 3px),radial-gradient(circle at 76% 20%,rgba(var(--vvl-brand-accent-rgb),.8) 0 1.5px,transparent 3px),radial-gradient(circle at 78% 78%,rgba(var(--vvl-brand-secondary-rgb),.75) 0 2px,transparent 3px),radial-gradient(circle at 30% 82%,rgba(var(--vvl-brand-primary-rgb),.55) 0 1px,transparent 2.5px);transform:scale(.65) rotate(-16deg)}
.vvl-about-effect-starlight-dust :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-starlight-dust :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-4px) scale(1.04)!important;color:var(--vvl-brand-primary)!important;background:rgba(var(--vvl-brand-primary-rgb),.09)!important}
.vvl-about-effect-starlight-dust :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-starlight-dust :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:1!important;animation:vvl-social-stardust 1.2s ease-in-out infinite alternate!important}
.vvl-about-effect-velvet-slide :is(.vvl-social-link,.footer__social-link,.about-name__social-link){overflow:hidden!important}
.vvl-about-effect-velvet-slide :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:0;background:linear-gradient(135deg,var(--vvl-brand-primary),var(--vvl-brand-accent) 52%,var(--vvl-brand-secondary));transform:translateX(-112%) skewX(-10deg);opacity:1!important;border-radius:inherit}
.vvl-about-effect-velvet-slide :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-velvet-slide :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{color:var(--vvl-button-on-primary)!important;transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(var(--vvl-brand-primary-rgb),.24)!important}
.vvl-about-effect-velvet-slide :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-velvet-slide :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{transform:translateX(0) skewX(0)!important;transition:transform .48s cubic-bezier(.16,1,.3,1)!important}
.vvl-about-effect-chrome-shimmer :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.62) 44%,transparent 68%);transform:translateX(-135%);border-radius:inherit;z-index:4}
.vvl-about-effect-chrome-shimmer :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-chrome-shimmer :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-3px) scale(1.03)!important;color:var(--vvl-brand-primary)!important;background:rgba(var(--vvl-brand-primary-rgb),.12)!important;box-shadow:0 14px 34px rgba(var(--vvl-brand-primary-rgb),.2),inset 0 1px 0 rgba(255,255,255,.3)!important}
.vvl-about-effect-chrome-shimmer :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-chrome-shimmer :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:.8!important;animation:vvl-social-shimmer .82s cubic-bezier(.16,1,.3,1) both!important}
.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):before{inset:-12px;background:conic-gradient(from 0deg,transparent 0 20deg,rgba(var(--vvl-brand-primary-rgb),.72) 26deg,transparent 38deg,transparent 90deg,rgba(var(--vvl-brand-accent-rgb),.55) 108deg,transparent 124deg,transparent 220deg,rgba(var(--vvl-brand-secondary-rgb),.56) 238deg,transparent 252deg);filter:blur(.4px);transform:scale(.55) rotate(0deg)}
.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):after{inset:-3px;background:radial-gradient(circle,rgba(var(--vvl-brand-primary-rgb),.22),transparent 68%);transform:scale(.7)}
.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover,.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible{transform:translateY(-4px) scale(1.04)!important;color:var(--vvl-brand-primary)!important;background:rgba(var(--vvl-brand-primary-rgb),.1)!important;box-shadow:0 18px 38px rgba(var(--vvl-brand-primary-rgb),.22)!important}
.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:before,.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:before{opacity:1!important;animation:vvl-social-solar 1.45s linear infinite!important}
.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):hover:after,.vvl-about-effect-solar-flare :is(.vvl-social-link,.footer__social-link,.about-name__social-link):focus-visible:after{opacity:1!important;transform:scale(1.1)!important}
@keyframes vvl-social-elastic{0%{transform:translateY(0) scale(1)}48%{transform:translateY(-6px) scale(1.18)}72%{transform:translateY(-2px) scale(.96)}100%{transform:translateY(-3px) scale(1.08)}}
@keyframes vvl-social-pulse{0%{transform:scale(.78);opacity:.5}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}
@keyframes vvl-social-orbit-ring{0%{transform:scale(1) rotate(0deg)}100%{transform:scale(1) rotate(360deg)}}
@keyframes vvl-social-orbit-dot{0%{transform:rotate(0deg) translateY(24px) rotate(0deg) scale(1);opacity:1}100%{transform:rotate(360deg) translateY(24px) rotate(-360deg) scale(1);opacity:1}}
@keyframes vvl-social-neon-spin{0%{transform:scale(1.02) rotate(0deg)}100%{transform:scale(1.02) rotate(360deg)}}
@keyframes vvl-social-ping{0%{transform:scale(.58);opacity:.62}70%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
@keyframes vvl-social-stardust{0%{transform:scale(.72) rotate(-18deg);filter:blur(0)}100%{transform:scale(1.04) rotate(16deg);filter:blur(.2px)}}
@keyframes vvl-social-shimmer{0%{transform:translateX(-135%);opacity:0}35%{opacity:.82}100%{transform:translateX(135%);opacity:0}}
@keyframes vvl-social-solar{0%{transform:scale(.88) rotate(0deg)}100%{transform:scale(.88) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.vvl-social-link,.footer__social-link,.about-name__social-link,.vvl-social-icon,.footer__social-icon,.about-name__social-icon,.vvl-social-link:before,.vvl-social-link:after,.footer__social-link:before,.footer__social-link:after,.about-name__social-link:before,.about-name__social-link:after{animation:none!important;transition:none!important}.vvl-social-link:hover,.footer__social-link:hover,.about-name__social-link:hover{transform:none!important}}
.vvl-nav-hover-lift-glow :is(.nav__item,.nav__panel-item),.vvl-nav-hover-pop :is(.nav__item,.nav__panel-item),.vvl-nav-hover-orbit-ring :is(.nav__item,.nav__panel-item),.vvl-nav-hover-pulse-halo :is(.nav__item,.nav__panel-item),.vvl-nav-hover-neon-stroke :is(.nav__item,.nav__panel-item),.vvl-nav-hover-ripple-ping :is(.nav__item,.nav__panel-item),.vvl-nav-hover-starlight-dust :is(.nav__item,.nav__panel-item),.vvl-nav-hover-velvet-slide :is(.nav__item,.nav__panel-item),.vvl-nav-hover-chrome-shimmer :is(.nav__item,.nav__panel-item),.vvl-nav-hover-solar-flare :is(.nav__item,.nav__panel-item){position:relative!important;isolation:isolate!important;overflow:visible!important;transition:transform .34s cubic-bezier(.16,1,.3,1),color .22s ease,background .26s ease,box-shadow .34s cubic-bezier(.16,1,.3,1)!important}
.vvl-nav-hover-lift-glow :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-pop :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-orbit-ring :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-pulse-halo :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-neon-stroke :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-ripple-ping :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-starlight-dust :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-velvet-slide :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-chrome-shimmer :is(.nav__item,.nav__panel-item):before,.vvl-nav-hover-solar-flare :is(.nav__item,.nav__panel-item):before{content:"";position:absolute;inset:-4px;border-radius:999px;pointer-events:none;opacity:0;z-index:-1;transition:opacity .26s ease,transform .42s cubic-bezier(.16,1,.3,1),background .26s ease,filter .26s ease!important}
.vvl-nav-hover-lift-glow :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-lift-glow :is(.nav__item,.nav__panel-item):focus-visible{transform:translateY(-2px)!important;color:var(--fg-strong)!important;text-shadow:0 0 14px rgba(var(--vvl-brand-primary-rgb),.34)!important}.vvl-nav-hover-lift-glow :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-lift-glow :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:1!important;background:rgba(var(--vvl-brand-primary-rgb),.12)!important;box-shadow:0 10px 24px rgba(var(--vvl-brand-primary-rgb),.16)!important}
.vvl-nav-hover-pop :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-pop :is(.nav__item,.nav__panel-item):focus-visible{animation:vvl-ui-elastic-sm .5s cubic-bezier(.16,1,.3,1) both!important;color:var(--fg-strong)!important}.vvl-nav-hover-pop :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-pop :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:1!important;background:radial-gradient(circle,rgba(var(--vvl-brand-primary-rgb),.2),transparent 72%)!important;transform:scale(1.08)!important}
.vvl-nav-hover-orbit-ring :is(.nav__item,.nav__panel-item):before{inset:-5px;padding:1.5px;background:conic-gradient(from 0deg,var(--vvl-brand-primary),var(--vvl-brand-accent),rgba(var(--vvl-brand-secondary-rgb),.18),var(--vvl-brand-primary));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transform:scale(.88) rotate(0deg)}.vvl-nav-hover-orbit-ring :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-orbit-ring :is(.nav__item,.nav__panel-item):focus-visible{transform:translateY(-2px)!important;color:var(--fg-strong)!important}.vvl-nav-hover-orbit-ring :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-orbit-ring :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:1!important;animation:vvl-ui-orbit 1.25s linear infinite!important}
.vvl-nav-hover-pulse-halo :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-pulse-halo :is(.nav__item,.nav__panel-item):focus-visible{transform:translateY(-1px)!important;color:var(--fg-strong)!important}.vvl-nav-hover-pulse-halo :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-pulse-halo :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:1!important;background:rgba(var(--vvl-brand-primary-rgb),.14)!important;animation:vvl-ui-pulse-pill 1.1s ease-out infinite!important}
.vvl-nav-hover-neon-stroke :is(.nav__item,.nav__panel-item):before{background:linear-gradient(90deg,var(--vvl-brand-primary),var(--vvl-brand-accent),var(--vvl-brand-primary));box-shadow:0 0 18px rgba(var(--vvl-brand-primary-rgb),.2);transform:scaleX(.35)}.vvl-nav-hover-neon-stroke :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-neon-stroke :is(.nav__item,.nav__panel-item):focus-visible{color:var(--fg-strong)!important;text-shadow:0 0 14px rgba(var(--vvl-brand-primary-rgb),.32)!important}.vvl-nav-hover-neon-stroke :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-neon-stroke :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:.18!important;transform:scaleX(1)!important}
.vvl-nav-hover-ripple-ping :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-ripple-ping :is(.nav__item,.nav__panel-item):focus-visible{transform:translateY(-1px)!important;color:var(--fg-strong)!important}.vvl-nav-hover-ripple-ping :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-ripple-ping :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:1!important;border:1px solid rgba(var(--vvl-brand-primary-rgb),.44)!important;animation:vvl-ui-ripple 1.05s ease-out infinite!important}
.vvl-nav-hover-starlight-dust :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-starlight-dust :is(.nav__item,.nav__panel-item):focus-visible{transform:translateY(-2px)!important;color:var(--fg-strong)!important}.vvl-nav-hover-starlight-dust :is(.nav__item,.nav__panel-item):before{background:radial-gradient(circle at 18% 35%,var(--vvl-brand-primary) 0 1.5px,transparent 2.5px),radial-gradient(circle at 78% 28%,var(--vvl-brand-accent) 0 1.5px,transparent 2.5px),radial-gradient(circle at 62% 78%,rgba(var(--vvl-brand-secondary-rgb),.8) 0 1.5px,transparent 2.5px)}.vvl-nav-hover-starlight-dust :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-starlight-dust :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:1!important;animation:vvl-ui-stardust 1.18s ease-in-out infinite alternate!important}
.vvl-nav-hover-velvet-slide :is(.nav__item,.nav__panel-item):before{inset:0;background:linear-gradient(135deg,rgba(var(--vvl-brand-primary-rgb),.18),rgba(var(--vvl-brand-accent-rgb),.2));transform:translateX(-108%) skewX(-12deg);opacity:1!important}.vvl-nav-hover-velvet-slide :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-velvet-slide :is(.nav__item,.nav__panel-item):focus-visible{color:var(--fg-strong)!important;transform:translateY(-1px)!important}.vvl-nav-hover-velvet-slide :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-velvet-slide :is(.nav__item,.nav__panel-item):focus-visible:before{transform:translateX(0) skewX(0)!important}
.vvl-nav-hover-chrome-shimmer :is(.nav__item,.nav__panel-item):before{inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.52) 45%,transparent 70%);transform:translateX(-125%);opacity:0;z-index:1}.vvl-nav-hover-chrome-shimmer :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-chrome-shimmer :is(.nav__item,.nav__panel-item):focus-visible{color:var(--fg-strong)!important;background:rgba(var(--vvl-brand-primary-rgb),.09)!important}.vvl-nav-hover-chrome-shimmer :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-chrome-shimmer :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:.72!important;animation:vvl-ui-shimmer .76s cubic-bezier(.16,1,.3,1) both!important}
.vvl-nav-hover-solar-flare :is(.nav__item,.nav__panel-item):before{background:conic-gradient(from 0deg,transparent 0 18deg,rgba(var(--vvl-brand-primary-rgb),.48) 22deg,transparent 36deg,transparent 130deg,rgba(var(--vvl-brand-accent-rgb),.45) 142deg,transparent 158deg,transparent 250deg,rgba(var(--vvl-brand-secondary-rgb),.4) 266deg,transparent 286deg);filter:blur(.2px);transform:scale(.72)}.vvl-nav-hover-solar-flare :is(.nav__item,.nav__panel-item):hover,.vvl-nav-hover-solar-flare :is(.nav__item,.nav__panel-item):focus-visible{transform:translateY(-2px)!important;color:var(--fg-strong)!important}.vvl-nav-hover-solar-flare :is(.nav__item,.nav__panel-item):hover:before,.vvl-nav-hover-solar-flare :is(.nav__item,.nav__panel-item):focus-visible:before{opacity:1!important;animation:vvl-ui-solar 1.45s linear infinite!important}
.vvl-link-hover-lift-glow :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-pop :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-orbit-ring :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-pulse-halo :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-neon-stroke :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-ripple-ping :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-starlight-dust :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-velvet-slide :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-chrome-shimmer :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a),.vvl-link-hover-solar-flare :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a){position:relative!important;isolation:isolate!important;display:inline-flex!important;align-items:center!important;gap:.18em!important;padding:0 .12em!important;border-radius:999px!important;overflow:visible!important;transition:color .22s ease,transform .32s cubic-bezier(.16,1,.3,1),text-shadow .32s ease,background .28s ease!important}
.vvl-link-hover-lift-glow :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-pop :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-orbit-ring :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-pulse-halo :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-neon-stroke :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-ripple-ping :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-starlight-dust :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-velvet-slide :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-chrome-shimmer :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before,.vvl-link-hover-solar-flare :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before{content:"";position:absolute;inset:-.18em -.34em;border-radius:999px;pointer-events:none;opacity:0;z-index:-1;transition:opacity .26s ease,transform .42s cubic-bezier(.16,1,.3,1),background .26s ease,filter .26s ease!important}
.vvl-link-hover-lift-glow :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-lift-glow :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):focus-visible{transform:translateY(-1px)!important;color:var(--vvl-brand-primary)!important;text-shadow:0 0 15px rgba(var(--vvl-brand-primary-rgb),.36)!important}.vvl-link-hover-lift-glow :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before,.vvl-link-hover-lift-glow :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):focus-visible:before{opacity:1!important;background:rgba(var(--vvl-brand-primary-rgb),.1)!important}
.vvl-link-hover-pop :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-pop :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):focus-visible{animation:vvl-ui-elastic-sm .48s cubic-bezier(.16,1,.3,1) both!important;color:var(--vvl-brand-primary)!important}
.vvl-link-hover-orbit-ring :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):before{padding:1px;background:conic-gradient(from 0deg,var(--vvl-brand-primary),var(--vvl-brand-accent),transparent 48%,var(--vvl-brand-primary));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.vvl-link-hover-orbit-ring :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-orbit-ring :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):focus-visible{color:var(--vvl-brand-primary)!important}.vvl-link-hover-orbit-ring :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before,.vvl-link-hover-orbit-ring :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):focus-visible:before{opacity:1!important;animation:vvl-ui-orbit 1.25s linear infinite!important}
.vvl-link-hover-pulse-halo :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-pulse-halo :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):focus-visible{color:var(--vvl-brand-primary)!important}.vvl-link-hover-pulse-halo :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before,.vvl-link-hover-pulse-halo :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):focus-visible:before{opacity:1!important;background:rgba(var(--vvl-brand-primary-rgb),.12)!important;animation:vvl-ui-pulse-pill 1.1s ease-out infinite!important}
.vvl-link-hover-neon-stroke :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-ripple-ping :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-starlight-dust :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-velvet-slide :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-chrome-shimmer :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover,.vvl-link-hover-solar-flare :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover{color:var(--vvl-brand-primary)!important;transform:translateY(-1px)!important}
.vvl-link-hover-neon-stroke :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before{opacity:.2!important;background:linear-gradient(90deg,var(--vvl-brand-primary),var(--vvl-brand-accent))!important;transform:scaleX(1)!important}.vvl-link-hover-ripple-ping :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before{opacity:1!important;border:1px solid rgba(var(--vvl-brand-primary-rgb),.44)!important;animation:vvl-ui-ripple 1.05s ease-out infinite!important}.vvl-link-hover-starlight-dust :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before{opacity:1!important;background:radial-gradient(circle at 20% 35%,var(--vvl-brand-primary) 0 1px,transparent 2px),radial-gradient(circle at 80% 65%,var(--vvl-brand-accent) 0 1px,transparent 2px)!important;animation:vvl-ui-stardust 1.18s ease-in-out infinite alternate!important}.vvl-link-hover-velvet-slide :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before{opacity:1!important;background:linear-gradient(135deg,rgba(var(--vvl-brand-primary-rgb),.13),rgba(var(--vvl-brand-accent-rgb),.16))!important;transform:translateX(0)!important}.vvl-link-hover-chrome-shimmer :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before{opacity:.75!important;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.56) 45%,transparent 70%)!important;animation:vvl-ui-shimmer .76s cubic-bezier(.16,1,.3,1) both!important}.vvl-link-hover-solar-flare :is(.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a:not(.footer__social-link),.cs-hero__crumb,.cs-body a):hover:before{opacity:1!important;background:conic-gradient(from 0deg,transparent 0 16deg,rgba(var(--vvl-brand-primary-rgb),.42) 22deg,transparent 40deg,transparent 180deg,rgba(var(--vvl-brand-accent-rgb),.32) 200deg,transparent 226deg)!important;animation:vvl-ui-solar 1.45s linear infinite!important}
.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button){position:relative!important;isolation:isolate!important;overflow:visible!important;transition:transform .34s cubic-bezier(.16,1,.3,1),box-shadow .34s cubic-bezier(.16,1,.3,1),filter .26s ease!important}
.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*,.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button)>*{position:relative!important;z-index:2!important}
.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before{content:"";position:absolute;inset:-4px;border-radius:inherit;pointer-events:none;opacity:0;z-index:-1;transition:opacity .26s ease,transform .42s cubic-bezier(.16,1,.3,1),background .26s ease,filter .26s ease!important}
.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important;box-shadow:0 18px 38px rgba(var(--vvl-brand-primary-rgb),.28)!important}.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;background:rgba(var(--vvl-brand-primary-rgb),.16)!important;filter:blur(6px)!important}
.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{animation:vvl-ui-elastic-btn .52s cubic-bezier(.16,1,.3,1) both!important}.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;background:radial-gradient(circle,rgba(var(--vvl-brand-primary-rgb),.22),transparent 70%)!important}
.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before{padding:2px;background:conic-gradient(from 0deg,var(--vvl-brand-primary),var(--vvl-brand-accent),rgba(var(--vvl-brand-secondary-rgb),.24),var(--vvl-brand-primary));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important}.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;animation:vvl-ui-orbit 1.18s linear infinite!important}
.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-2px)!important}.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;background:rgba(var(--vvl-brand-primary-rgb),.16)!important;animation:vvl-ui-pulse-pill 1.08s ease-out infinite!important}
.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover,.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover,.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover,.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover,.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover,.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important;box-shadow:0 18px 40px rgba(var(--vvl-brand-primary-rgb),.24)!important}
.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;background:linear-gradient(90deg,var(--vvl-brand-primary),var(--vvl-brand-accent),var(--vvl-brand-primary))!important;filter:blur(8px)!important;transform:scale(1.02)!important}.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;border:1px solid rgba(var(--vvl-brand-primary-rgb),.44)!important;animation:vvl-ui-ripple 1.05s ease-out infinite!important}.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;background:radial-gradient(circle at 18% 26%,var(--vvl-brand-primary) 0 2px,transparent 3px),radial-gradient(circle at 76% 18%,var(--vvl-brand-accent) 0 2px,transparent 3px),radial-gradient(circle at 72% 76%,rgba(var(--vvl-brand-secondary-rgb),.8) 0 2px,transparent 3px)!important;animation:vvl-ui-stardust 1.18s ease-in-out infinite alternate!important}.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;background:linear-gradient(135deg,rgba(var(--vvl-brand-primary-rgb),.24),rgba(var(--vvl-brand-accent-rgb),.26))!important;transform:translateX(0)!important}.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:.72!important;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.58) 45%,transparent 70%)!important;animation:vvl-ui-shimmer .78s cubic-bezier(.16,1,.3,1) both!important;z-index:1!important;inset:0!important}.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{opacity:1!important;background:conic-gradient(from 0deg,transparent 0 18deg,rgba(var(--vvl-brand-primary-rgb),.56) 26deg,transparent 42deg,transparent 130deg,rgba(var(--vvl-brand-accent-rgb),.48) 146deg,transparent 166deg,transparent 252deg,rgba(var(--vvl-brand-secondary-rgb),.4) 270deg,transparent 288deg)!important;animation:vvl-ui-solar 1.45s linear infinite!important}
@keyframes vvl-ui-orbit{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes vvl-ui-elastic-sm{0%{transform:translateY(0) scale(1)}48%{transform:translateY(-4px) scale(1.08)}76%{transform:translateY(-1px) scale(.98)}100%{transform:translateY(-2px) scale(1.03)}}@keyframes vvl-ui-elastic-btn{0%{transform:translateY(0) scale(1)}48%{transform:translateY(-5px) scale(1.05)}76%{transform:translateY(-2px) scale(.985)}100%{transform:translateY(-3px) scale(1.025)}}@keyframes vvl-ui-pulse-pill{0%{transform:scale(.82);opacity:.54}72%{transform:scale(1.24);opacity:0}100%{transform:scale(1.24);opacity:0}}@keyframes vvl-ui-ripple{0%{transform:scale(.78);opacity:.6}74%{transform:scale(1.28);opacity:0}100%{transform:scale(1.28);opacity:0}}@keyframes vvl-ui-stardust{0%{transform:scale(.82) rotate(-10deg)}100%{transform:scale(1.08) rotate(12deg)}}@keyframes vvl-ui-shimmer{0%{transform:translateX(-135%);opacity:0}35%{opacity:.78}100%{transform:translateX(135%);opacity:0}}@keyframes vvl-ui-solar{0%{transform:scale(.92) rotate(0deg)}100%{transform:scale(.92) rotate(360deg)}}@media(prefers-reduced-motion:reduce){.vvl-nav-hover-lift-glow :is(.nav__item,.nav__panel-item),.vvl-link-hover-lift-glow a,.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button){animation:none!important;transition:none!important;transform:none!important}}

.nav__active[data-astro-cid-3ef6ksr2]{top:calc(50% + 13px)!important;margin:0 0 0 -2.5px!important;width:5px!important;height:5px!important;background:var(--vvl-brand-primary)!important;box-shadow:0 0 0 3px rgba(var(--vvl-brand-primary-rgb),.12)!important}
.nav__primary[data-astro-cid-3ef6ksr2],.nav__items[data-astro-cid-3ef6ksr2]{padding-bottom:6px!important;margin-bottom:-6px!important}

/* v55: mobile responsive stability after premium hover system.
   Fixes iPhone/Safari anchor overlap, touch hover residue and horizontal overflow from decorative rings. */
html,body{max-width:100%!important;overflow-x:clip!important;}
#work,#about,#faq,#contact,.section[data-astro-cid-wk2votdk],.section[data-astro-cid-al2ca2vr],.section-header{scroll-margin-top:116px!important;}
@media (max-width:768px){
  :root{--grid-padding:24px;}
  html{scroll-padding-top:112px!important;}
  .nav[data-astro-cid-3ef6ksr2]{top:16px!important;left:0!important;right:0!important;width:100%!important;max-width:100vw!important;}
  .nav__pill[data-astro-cid-3ef6ksr2]{
    width:calc(100vw - 32px)!important;
    max-width:452px!important;
    min-width:0!important;
    height:56px!important;
    margin-inline:auto!important;
    padding:0 16px!important;
    display:grid!important;
    grid-template-columns:auto 1fr auto auto!important;
    column-gap:14px!important;
    gap:14px!important;
    align-items:center!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .nav__pill-bg[data-astro-cid-3ef6ksr2]{inset:0!important;border-radius:999px!important;transform:scale(1)!important;opacity:1!important;}
  .nav__logo[data-astro-cid-3ef6ksr2]{min-width:0!important;max-width:44px!important;overflow:visible!important;}
  .nav__mark[data-astro-cid-3ef6ksr2],.vvl-nav-mark{width:32px!important;height:32px!important;min-width:32px!important;}
  .nav__wordmark[data-astro-cid-3ef6ksr2],.vvl-nav-wordmark{display:none!important;}
  .nav__theme[data-astro-cid-3ef6ksr2],.nav__menu-toggle[data-astro-cid-3ef6ksr2]{width:32px!important;height:32px!important;min-width:32px!important;justify-self:end!important;margin-left:0!important;}
  .nav__panel[data-astro-cid-3ef6ksr2]{width:calc(100vw - 32px)!important;max-width:452px!important;margin-top:10px!important;border-radius:28px!important;}
  .nav__panel-bg[data-astro-cid-3ef6ksr2]{border-radius:28px!important;}
  .nav__panel-items[data-astro-cid-3ef6ksr2]{padding:12px!important;}
  .nav__panel-item[data-astro-cid-3ef6ksr2]{height:54px!important;padding-inline:18px!important;border-radius:16px!important;}
  .nav__divider[data-astro-cid-3ef6ksr2]{top:72px!important;width:calc(100vw - 32px)!important;}
  .nav__top-mask[data-astro-cid-3ef6ksr2]{height:86px!important;}

  .hero__content[data-astro-cid-bbe6dxrz]{width:100%!important;max-width:calc(100vw - 48px)!important;padding-inline:0!important;box-sizing:border-box!important;}
  .hero__title[data-astro-cid-bbe6dxrz],.hero__subtitle[data-astro-cid-bbe6dxrz]{max-width:100%!important;overflow-wrap:break-word!important;}
  .hero__ctas[data-astro-cid-bbe6dxrz]{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:14px!important;max-width:100%!important;}
  .hero__ctas[data-astro-cid-bbe6dxrz] .btn{min-width:0!important;max-width:100%!important;}

  .grid,.section-header__inner[data-astro-cid-wk2votdk],.faq-grid[data-astro-cid-al2ca2vr],.work-grid,.about-grid,.footer__inner{max-width:100vw!important;box-sizing:border-box!important;}
  .section-header__inner[data-astro-cid-wk2votdk]{padding-inline:24px!important;overflow:hidden!important;}
  .section-header__line[data-astro-cid-wk2votdk]{min-width:0!important;}
  .faq-grid[data-astro-cid-al2ca2vr]{padding-inline:24px!important;overflow:hidden!important;}
  .faq[data-astro-cid-al2ca2vr],.faq__item[data-astro-cid-al2ca2vr],.faq__summary[data-astro-cid-al2ca2vr]{min-width:0!important;max-width:100%!important;}
  .faq__summary[data-astro-cid-al2ca2vr]{padding:18px 0!important;gap:12px!important;}
  .faq__question[data-astro-cid-al2ca2vr]{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;}
  .faq__toggle[data-astro-cid-al2ca2vr]{flex:0 0 32px!important;}

  .work-card,.work-card__media,.work-card__image{max-width:100%!important;}
  .footer__inner{padding-inline:24px!important;}
}
@media (hover:none) and (pointer:coarse){
  .vvl-social-link:before,.footer__social-link:before,.about-name__social-link:before,
  .vvl-social-link:after,.footer__social-link:after,.about-name__social-link:after,
  .nav__item:before,.nav__item:after,.nav__panel-item:before,.nav__panel-item:after,
  .btn:before,.btn:after,.btn--primary:before,.btn--primary:after,.cta__btn:before,.cta__btn:after,.work-card__cta:before,.work-card__cta:after,
  .vvl-contact-link:before,.vvl-contact-link:after,.about-bio a:before,.about-bio a:after,.faq__content a:before,.faq__content a:after,.cta__tagline a:before,.cta__tagline a:after,.footer a:before,.footer a:after{
    animation:none!important;opacity:0!important;transform:none!important;filter:none!important;box-shadow:none!important;
  }
  .vvl-social-link,.footer__social-link,.about-name__social-link,.nav__item,.nav__panel-item,.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-link,.about-bio a,.faq__content a,.cta__tagline a,.footer a{transform:none!important;}
}
@supports not (overflow:clip){html,body{overflow-x:hidden!important;}}

/* v57: isolate Button / CTA hover effects so changing admin option really swaps the animation. */
.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,
.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before{
  -webkit-mask:none!important;
  mask:none!important;
  -webkit-mask-composite:initial!important;
  mask-composite:initial!important;
  padding:0!important;
}
.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button){
  will-change:transform,filter,box-shadow;
}


/* v58: hard reset + premium Button/CTA hover switcher.
   Fixes stale Orbit ring leaking into every button option when old HTML/cache leaves multiple body classes. */
@media (hover:hover) and (pointer:fine) {
  .vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button),
  .vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button){
    position:relative!important; isolation:isolate!important; overflow:visible!important;
    transform:translateZ(0)!important;
    transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s cubic-bezier(.16,1,.3,1),filter .24s ease,background .24s ease!important;
  }
  .vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after,
  .vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):before,.vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):after{
    content:""!important; position:absolute!important; pointer-events:none!important; border-radius:inherit!important;
    opacity:0!important; inset:0!important; z-index:-1!important;
    background:none!important; border:0!important; box-shadow:none!important; filter:none!important;
    transform:none!important; animation:none!important; padding:0!important;
    -webkit-mask:none!important; mask:none!important; -webkit-mask-image:none!important; mask-image:none!important;
    -webkit-mask-composite:initial!important; mask-composite:initial!important;
    transition:opacity .24s ease,transform .42s cubic-bezier(.16,1,.3,1),filter .24s ease,box-shadow .24s ease,background .24s ease,border-color .24s ease!important;
  }

  .vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important;box-shadow:0 18px 42px rgba(var(--vvl-brand-primary-rgb),.26)!important;filter:saturate(1.04)!important}
  .vvl-button-hover-lift-glow :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:-10px!important;opacity:1!important;background:radial-gradient(ellipse at center,rgba(var(--vvl-brand-primary-rgb),.24),transparent 68%)!important;filter:blur(8px)!important;transform:scale(1.02)!important}

  .vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{animation:vvl-v58-elastic-pop .56s cubic-bezier(.16,1,.3,1) both!important;box-shadow:0 16px 36px rgba(var(--vvl-brand-primary-rgb),.22)!important}
  .vvl-button-hover-pop :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:-8px!important;opacity:1!important;background:radial-gradient(circle,rgba(var(--vvl-brand-primary-rgb),.26),rgba(var(--vvl-brand-accent-rgb),.16) 48%,transparent 72%)!important;filter:blur(4px)!important;transform:scale(1.04)!important}

  .vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important;box-shadow:0 18px 40px rgba(var(--vvl-brand-primary-rgb),.22)!important}
  .vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{
    inset:-6px!important; opacity:1!important; padding:1.5px!important;
    background:conic-gradient(from 0deg,var(--vvl-brand-primary),var(--vvl-brand-accent),rgba(var(--vvl-brand-secondary-rgb),.28),var(--vvl-brand-primary))!important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
    -webkit-mask-composite:xor!important; mask-composite:exclude!important;
    animation:vvl-v58-border-flow 1.25s linear infinite!important; filter:drop-shadow(0 0 10px rgba(var(--vvl-brand-primary-rgb),.34))!important;
  }
  .vvl-button-hover-orbit-ring :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:after{
    width:7px!important;height:7px!important;inset:auto!important;left:50%!important;top:-9px!important;margin-left:-3.5px!important;
    border-radius:999px!important;opacity:1!important;background:var(--vvl-brand-primary)!important;
    box-shadow:0 0 12px rgba(var(--vvl-brand-primary-rgb),.9),0 0 22px rgba(var(--vvl-brand-accent-rgb),.55)!important;
    animation:vvl-v58-orbit-dot 1.25s linear infinite!important;z-index:2!important;
  }

  .vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-2px) scale(1.015)!important;box-shadow:0 16px 36px rgba(var(--vvl-brand-primary-rgb),.2)!important}
  .vvl-button-hover-pulse-halo :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:-8px!important;opacity:1!important;background:rgba(var(--vvl-brand-primary-rgb),.16)!important;animation:vvl-v58-pulse-halo 1.05s ease-out infinite!important}

  .vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important;box-shadow:0 18px 42px rgba(var(--vvl-brand-primary-rgb),.25)!important}
  .vvl-button-hover-neon-stroke :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:-3px!important;opacity:1!important;padding:1.5px!important;background:linear-gradient(100deg,var(--vvl-brand-primary),var(--vvl-brand-accent),var(--vvl-brand-secondary),var(--vvl-brand-primary))!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;filter:drop-shadow(0 0 10px rgba(var(--vvl-brand-primary-rgb),.45))!important;background-size:220% 100%!important;animation:vvl-v58-gradient-pan 1.35s linear infinite!important}

  .vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-2px)!important;box-shadow:0 16px 36px rgba(var(--vvl-brand-primary-rgb),.2)!important}
  .vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:-7px!important;opacity:1!important;border:1px solid rgba(var(--vvl-brand-primary-rgb),.42)!important;background:transparent!important;animation:vvl-v58-soft-ripple 1.06s ease-out infinite!important}
  .vvl-button-hover-ripple-ping :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:after{inset:-15px!important;opacity:.7!important;border:1px solid rgba(var(--vvl-brand-accent-rgb),.24)!important;background:transparent!important;animation:vvl-v58-soft-ripple 1.06s ease-out .16s infinite!important}

  .vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important;box-shadow:0 18px 42px rgba(var(--vvl-brand-primary-rgb),.2)!important}
  .vvl-button-hover-starlight-dust :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:-12px!important;opacity:1!important;background:radial-gradient(circle at 18% 28%,var(--vvl-brand-primary) 0 2px,transparent 3px),radial-gradient(circle at 76% 18%,var(--vvl-brand-accent) 0 2px,transparent 3px),radial-gradient(circle at 72% 78%,rgba(var(--vvl-brand-secondary-rgb),.85) 0 2px,transparent 3px),radial-gradient(circle at 36% 82%,rgba(var(--vvl-brand-primary-rgb),.75) 0 1.5px,transparent 3px)!important;animation:vvl-v58-stardust 1.16s ease-in-out infinite alternate!important;filter:drop-shadow(0 0 8px rgba(var(--vvl-brand-primary-rgb),.5))!important}

  .vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button){overflow:hidden!important}
  .vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-2px)!important;box-shadow:0 16px 36px rgba(var(--vvl-brand-primary-rgb),.2)!important}
  .vvl-button-hover-velvet-slide :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:0!important;opacity:1!important;z-index:0!important;background:linear-gradient(120deg,transparent 0%,rgba(var(--vvl-brand-primary-rgb),.22) 38%,rgba(var(--vvl-brand-accent-rgb),.24) 56%,transparent 78%)!important;transform:translateX(115%)!important;animation:vvl-v58-velvet-slide .72s cubic-bezier(.16,1,.3,1) both!important}

  .vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button){overflow:hidden!important}
  .vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-2px)!important;box-shadow:0 16px 36px rgba(var(--vvl-brand-primary-rgb),.22)!important}
  .vvl-button-hover-chrome-shimmer :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:0!important;opacity:.8!important;z-index:1!important;background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.64) 46%,transparent 72%)!important;transform:translateX(-135%) skewX(-12deg)!important;animation:vvl-v58-chrome-sweep .78s cubic-bezier(.16,1,.3,1) both!important}

  .vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover{transform:translateY(-3px)!important;box-shadow:0 18px 44px rgba(var(--vvl-brand-primary-rgb),.24)!important}
  .vvl-button-hover-solar-flare :is(.btn,.btn--primary,.cta__btn,.work-card__cta,.vvl-contact-submit,.vvl-contact-success__button):hover:before{inset:-10px!important;opacity:1!important;background:conic-gradient(from 0deg,transparent 0 16deg,rgba(var(--vvl-brand-primary-rgb),.58) 24deg,transparent 42deg,transparent 132deg,rgba(var(--vvl-brand-accent-rgb),.48) 148deg,transparent 166deg,transparent 254deg,rgba(var(--vvl-brand-secondary-rgb),.42) 272deg,transparent 292deg)!important;filter:blur(.2px) drop-shadow(0 0 12px rgba(var(--vvl-brand-primary-rgb),.38))!important;animation:vvl-v58-solar-flare 1.35s linear infinite!important}
}
@keyframes vvl-v58-elastic-pop{0%{transform:translateY(0) scale(1)}46%{transform:translateY(-5px) scale(1.045)}72%{transform:translateY(-2px) scale(.99)}100%{transform:translateY(-3px) scale(1.018)}}
@keyframes vvl-v58-border-flow{to{transform:rotate(360deg)}}
@keyframes vvl-v58-orbit-dot{0%{transform:rotate(0deg) translateX(50%) rotate(0deg)}100%{transform:rotate(360deg) translateX(50%) rotate(-360deg)}}
@keyframes vvl-v58-pulse-halo{0%{transform:scale(.86);opacity:.54}72%{transform:scale(1.22);opacity:0}100%{transform:scale(1.22);opacity:0}}
@keyframes vvl-v58-gradient-pan{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@keyframes vvl-v58-soft-ripple{0%{transform:scale(.82);opacity:.68}76%{transform:scale(1.26);opacity:0}100%{transform:scale(1.26);opacity:0}}
@keyframes vvl-v58-stardust{0%{transform:translateY(0) scale(.92) rotate(-8deg)}100%{transform:translateY(-2px) scale(1.08) rotate(10deg)}}
@keyframes vvl-v58-velvet-slide{0%{transform:translateX(-125%) skewX(-12deg)}100%{transform:translateX(125%) skewX(-12deg)}}
@keyframes vvl-v58-chrome-sweep{0%{transform:translateX(-140%) skewX(-12deg);opacity:0}36%{opacity:.82}100%{transform:translateX(140%) skewX(-12deg);opacity:0}}
@keyframes vvl-v58-solar-flare{to{transform:rotate(360deg)}}


/* v59: keep premium nav hover backgrounds locked to each text item.
   The source JS hover highlight can lag behind transformed items and gets cropped on the last item. */
body[class*="vvl-nav-hover-"] .nav__highlight[data-astro-cid-3ef6ksr2]{display:none!important;opacity:0!important;visibility:hidden!important;width:0!important;transform:none!important}
body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2]{overflow:visible!important;padding-inline:8px!important;margin-inline:-8px!important;gap:8px!important}
body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2]>li[data-astro-cid-3ef6ksr2]{position:relative!important;overflow:visible!important;z-index:1!important}
body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2]{overflow:visible!important;isolation:isolate!important;justify-content:center!important;min-width:max-content!important;transform-origin:center center!important;backface-visibility:hidden!important}
body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2] .roll{position:relative!important;z-index:3!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;transform:none!important;overflow:visible!important}
body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2] .roll__t{position:relative!important;z-index:3!important;line-height:1!important;transform:none!important}
body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2]:before{top:4px!important;right:0!important;bottom:4px!important;left:0!important;inset:4px 0!important;border-radius:999px!important;transform:none!important;transform-origin:center!important;z-index:-1!important;will-change:opacity,transform,filter!important}
body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:before{inset:2px -3px!important;padding:1.5px!important;transform:scale(.92) rotate(0deg)!important}
body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:hover:before,body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{transform:scale(1) rotate(360deg)!important}
body.vvl-nav-hover-pulse-halo .nav__item[data-astro-cid-3ef6ksr2]:hover:before,body.vvl-nav-hover-pulse-halo .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{animation:vvl-ui-pulse-pill-centered 1.1s ease-out infinite!important}
body.vvl-nav-hover-ripple-ping .nav__item[data-astro-cid-3ef6ksr2]:hover:before,body.vvl-nav-hover-ripple-ping .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{animation:vvl-ui-ripple-centered 1.05s ease-out infinite!important}
body.vvl-nav-hover-starlight-dust .nav__item[data-astro-cid-3ef6ksr2]:before{inset:-6px -8px!important;transform:scale(.82) rotate(-8deg)!important}
body.vvl-nav-hover-starlight-dust .nav__item[data-astro-cid-3ef6ksr2]:hover:before,body.vvl-nav-hover-starlight-dust .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{animation:vvl-ui-stardust-centered 1.18s ease-in-out infinite alternate!important}
body.vvl-nav-hover-velvet-slide .nav__item[data-astro-cid-3ef6ksr2]:before{inset:4px 0!important;opacity:0!important;transform:translateX(-18%) scaleX(.64) skewX(-8deg)!important;transform-origin:left center!important;overflow:hidden!important}
body.vvl-nav-hover-velvet-slide .nav__item[data-astro-cid-3ef6ksr2]:hover:before,body.vvl-nav-hover-velvet-slide .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{opacity:1!important;transform:translateX(0) scaleX(1) skewX(0)!important}
body.vvl-nav-hover-chrome-shimmer .nav__item[data-astro-cid-3ef6ksr2]{overflow:hidden!important}
body.vvl-nav-hover-chrome-shimmer .nav__item[data-astro-cid-3ef6ksr2]:before{inset:4px 0!important;z-index:1!important;border-radius:999px!important;transform:translateX(-130%)!important}
body.vvl-nav-hover-chrome-shimmer .nav__item[data-astro-cid-3ef6ksr2]:hover:before,body.vvl-nav-hover-chrome-shimmer .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{animation:vvl-ui-shimmer .76s cubic-bezier(.16,1,.3,1) both!important}
body.vvl-nav-hover-solar-flare .nav__item[data-astro-cid-3ef6ksr2]:before{inset:-5px -6px!important;transform:scale(.86) rotate(0deg)!important}
body.vvl-nav-hover-solar-flare .nav__item[data-astro-cid-3ef6ksr2]:hover:before,body.vvl-nav-hover-solar-flare .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{animation:vvl-ui-solar-centered 1.45s linear infinite!important}
body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2]>li[data-astro-cid-3ef6ksr2]:last-child .nav__item[data-astro-cid-3ef6ksr2]{margin-right:2px!important}
@keyframes vvl-ui-pulse-pill-centered{0%{transform:scale(.82);opacity:.54}72%{transform:scale(1.18);opacity:0}100%{transform:scale(1.18);opacity:0}}
@keyframes vvl-ui-ripple-centered{0%{transform:scale(.8);opacity:.62}74%{transform:scale(1.18);opacity:0}100%{transform:scale(1.18);opacity:0}}
@keyframes vvl-ui-stardust-centered{0%{transform:scale(.82) rotate(-8deg)}100%{transform:scale(1.03) rotate(10deg)}}
@keyframes vvl-ui-solar-centered{0%{transform:scale(.9) rotate(0deg)}100%{transform:scale(.9) rotate(360deg)}}


/* V60: final nav edge bleed fix - keep last menu hover ring fully visible */
body[class*="vvl-nav-hover-"] .nav__primary[data-astro-cid-3ef6ksr2],
body[class*="vvl-nav-hover-"] .nav__pill[data-astro-cid-3ef6ksr2],
body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2],
body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]{overflow:visible!important;}
body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2]{padding-inline:12px 24px!important;margin-inline:-12px -24px!important;column-gap:10px!important;}
body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child{padding-right:12px!important;margin-right:0!important;}
body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2]{padding-inline:14px!important;overflow:visible!important;contain:none!important;clip-path:none!important;}
body.vvl-nav-hover-orbit-ring .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child .nav__item[data-astro-cid-3ef6ksr2]{padding-right:20px!important;}
body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:before{inset:2px -6px!important;padding:1.5px!important;border-radius:999px!important;transform-origin:center center!important;}
body.vvl-nav-hover-orbit-ring .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child .nav__item[data-astro-cid-3ef6ksr2]:before{right:-10px!important;}
body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:hover:before,
body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{transform:scale(1) rotate(360deg)!important;}



/* V64: normalize desktop nav hover pill height across all menu items.
   Previous edge-bleed fixes made the last Contact item look correct, but other
   items kept a taller hover hitbox. This locks every nav item to the same
   compact pill size and lets only the decorative effects bleed outward. */
@media (min-width: 768px){
  body[data-vvl-nav-hover] .nav__primary[data-astro-cid-3ef6ksr2],
  body[data-vvl-nav-hover] .nav__pill[data-astro-cid-3ef6ksr2],
  body[data-vvl-nav-hover] .nav__items[data-astro-cid-3ef6ksr2],
  body[data-vvl-nav-hover] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__primary[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__pill[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]{
    overflow:visible!important;
  }

  body[data-vvl-nav-hover] .nav__items[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2]{
    align-items:center!important;
    gap:10px!important;
    column-gap:10px!important;
    padding-inline:10px 22px!important;
    margin-inline:-10px -22px!important;
  }

  body[data-vvl-nav-hover] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
  }

  body[data-vvl-nav-hover] .nav__item[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 14px!important;
    margin:0!important;
    line-height:1!important;
    border-radius:999px!important;
    vertical-align:middle!important;
    overflow:visible!important;
    contain:none!important;
    clip-path:none!important;
    transform-origin:center center!important;
  }

  body[data-vvl-nav-hover] .nav__item[data-astro-cid-3ef6ksr2] .roll,
  body[data-vvl-nav-hover] .nav__item[data-astro-cid-3ef6ksr2] .roll__t,
  body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2] .roll,
  body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2] .roll__t{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:auto!important;
    min-height:0!important;
    line-height:1!important;
    transform:none!important;
    overflow:visible!important;
  }

  body[data-vvl-nav-hover] .nav__item[data-astro-cid-3ef6ksr2]:before,
  body[class*="vvl-nav-hover-"] .nav__item[data-astro-cid-3ef6ksr2]:before{
    inset:3px 0!important;
    border-radius:999px!important;
    transform-origin:center center!important;
  }

  body[data-vvl-nav-hover="orbit-ring"] .nav__item[data-astro-cid-3ef6ksr2]:before,
  body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:before{
    inset:2px -5px!important;
    padding:1.4px!important;
    border-radius:999px!important;
    transform:scale(.96) rotate(0deg)!important;
    transform-origin:center center!important;
  }

  body[data-vvl-nav-hover="orbit-ring"] .nav__item[data-astro-cid-3ef6ksr2]:hover:before,
  body[data-vvl-nav-hover="orbit-ring"] .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before,
  body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:hover:before,
  body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:before{
    transform:scale(1) rotate(360deg)!important;
  }

  body[data-vvl-nav-hover="orbit-ring"] .nav__item[data-astro-cid-3ef6ksr2]:hover:after,
  body[data-vvl-nav-hover="orbit-ring"] .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:after,
  body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:hover:after,
  body.vvl-nav-hover-orbit-ring .nav__item[data-astro-cid-3ef6ksr2]:focus-visible:after{
    top:1px!important;
    width:4.5px!important;
    height:4.5px!important;
    margin-left:-2.25px!important;
  }

  body[data-vvl-nav-hover] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child,
  body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child{
    padding-right:8px!important;
    margin-right:0!important;
  }

  body[data-vvl-nav-hover] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child .nav__item[data-astro-cid-3ef6ksr2],
  body[class*="vvl-nav-hover-"] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child .nav__item[data-astro-cid-3ef6ksr2]{
    padding:0 14px!important;
    margin-right:0!important;
  }

  body[data-vvl-nav-hover="orbit-ring"] .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child .nav__item[data-astro-cid-3ef6ksr2]:before,
  body.vvl-nav-hover-orbit-ring .nav__items[data-astro-cid-3ef6ksr2] > li[data-astro-cid-3ef6ksr2]:last-child .nav__item[data-astro-cid-3ef6ksr2]:before{
    left:-5px!important;
    right:-5px!important;
  }
}

/* v65: About side-column typography sync.
   The left/right helper copy must use the exact same visual scale as the center bio body copy. */
.about-grid[data-astro-cid-v2cbyr3p] .about-aside[data-astro-cid-v2cbyr3p] .about-aside__item[data-astro-cid-v2cbyr3p],
.about-grid .about-aside .about-aside__item,
.section--about .about-aside__item{
  font-family:var(--vvl-front-font-family, var(--font-family-body))!important;
  font-size:var(--vvl-front-about-text-size,14px)!important;
  line-height:1.55!important;
  letter-spacing:-.01em!important;
  font-weight:var(--font-weight-normal,400)!important;
  color:var(--fg-subtle)!important;
}
.about-grid[data-astro-cid-v2cbyr3p] .about-aside__list[data-astro-cid-v2cbyr3p],
.about-grid .about-aside__list,
.section--about .about-aside__list{
  gap:16px!important;
}
@media (max-width:1023px){
  .about-grid[data-astro-cid-v2cbyr3p] .about-aside[data-astro-cid-v2cbyr3p] .about-aside__item[data-astro-cid-v2cbyr3p],
  .about-grid .about-aside .about-aside__item,
  .section--about .about-aside__item{
    font-size:var(--vvl-front-about-text-size,14px)!important;
    line-height:1.55!important;
  }
}


/* v66: Work cards + FAQ typography sync from Theme Options.
   Fixes source data-astro scoped rules overriding admin font-size settings. */
.vvl-client-name,
.vvl-client-name[data-astro-cid-wkx7uqji]{
  font-size:var(--vvl-front-card-title-size,18px)!important;
  line-height:1.22!important;
  letter-spacing:-.025em!important;
  font-weight:700!important;
}
.work-card__title[data-astro-cid-wkx7uqji],
.work-card__title[data-astro-cid-wkx7uqji].vvl-work-service,
.work-card__service[data-astro-cid-wkx7uqji],
.work-card__service{
  font-size:var(--vvl-front-card-text-size,15px)!important;
  line-height:1.5!important;
  letter-spacing:-.012em!important;
  font-weight:650!important;
}
.work-card__desc[data-astro-cid-wkx7uqji],
.work-card__desc{
  font-size:var(--vvl-front-card-text-size,15px)!important;
  line-height:1.56!important;
  letter-spacing:-.01em!important;
}
.work-card__content[data-astro-cid-wkx7uqji]{
  gap:0!important;
}
.work-card__logo[data-astro-cid-wkx7uqji]{
  margin-bottom:22px!important;
}
.faq__summary[data-astro-cid-al2ca2vr]{
  font-size:var(--vvl-front-faq-question-size,18px)!important;
}
.faq__question[data-astro-cid-al2ca2vr],
.faq__question,
.faq-title{
  font-size:var(--vvl-front-faq-question-size,18px)!important;
  line-height:1.34!important;
  letter-spacing:-.018em!important;
}
.faq__question[data-astro-cid-al2ca2vr] .roll,
.faq__question[data-astro-cid-al2ca2vr] .roll__t,
.faq__question .roll,
.faq__question .roll__t{
  font-size:inherit!important;
  line-height:inherit!important;
}
.faq__content[data-astro-cid-al2ca2vr],
.faq__content-inner[data-astro-cid-al2ca2vr],
.faq__content-inner[data-astro-cid-al2ca2vr] p,
.faq__content,
.faq__content p{
  font-size:var(--vvl-front-faq-answer-size,16px)!important;
  line-height:1.58!important;
  letter-spacing:-.01em!important;
}
@media(max-width:768px){
  .vvl-client-name,
  .vvl-client-name[data-astro-cid-wkx7uqji]{font-size:var(--vvl-front-card-title-size,18px)!important;line-height:1.22!important;}
  .work-card__title[data-astro-cid-wkx7uqji],
  .work-card__title[data-astro-cid-wkx7uqji].vvl-work-service,
  .work-card__service[data-astro-cid-wkx7uqji],
  .work-card__service,
  .work-card__desc[data-astro-cid-wkx7uqji],
  .work-card__desc{font-size:var(--vvl-front-card-text-size,15px)!important;line-height:1.55!important;}
  .faq__question[data-astro-cid-al2ca2vr],
  .faq__question[data-astro-cid-al2ca2vr] .roll,
  .faq__question[data-astro-cid-al2ca2vr] .roll__t,
  .faq__question,.faq-title{font-size:var(--vvl-front-faq-question-size,18px)!important;line-height:1.34!important;}
  .faq__content[data-astro-cid-al2ca2vr],
  .faq__content-inner[data-astro-cid-al2ca2vr],
  .faq__content-inner[data-astro-cid-al2ca2vr] p,
  .faq__content,.faq__content p{font-size:var(--vvl-front-faq-answer-size,16px)!important;line-height:1.58!important;}
}


/* v68: work-card typography weight cleanup. Keep titles strong, keep normal copy 400. */
.work-card[data-astro-cid-wkx7uqji] .vvl-client-name,.work-card .vvl-client-name{font-size:var(--vvl-front-card-title-size,18px)!important;line-height:1.22!important;font-weight:700!important;}
.work-card[data-astro-cid-wkx7uqji] .work-card__service,.work-card .work-card__service,.work-card__title[data-astro-cid-wkx7uqji].vvl-work-service{font-size:var(--vvl-front-card-text-size,14px)!important;line-height:1.5!important;font-weight:600!important;}
.work-card[data-astro-cid-wkx7uqji] .work-card__desc,.work-card .work-card__desc{font-size:var(--vvl-front-card-text-size,14px)!important;line-height:1.58!important;font-weight:400!important;color:var(--fg-muted)!important;letter-spacing:-.005em!important;}
.faq[data-astro-cid-al2ca2vr] .faq__question,.faq .faq__question,.faq__question .roll,.faq__question .roll__t{font-size:var(--vvl-front-faq-question-size,18px)!important;line-height:1.34!important;font-weight:400!important;}
.faq[data-astro-cid-al2ca2vr] .faq__item[open] .faq__question,.faq .faq__item[open] .faq__question{font-weight:500!important;}
.faq[data-astro-cid-al2ca2vr] .faq__content,.faq[data-astro-cid-al2ca2vr] .faq__content p,.faq .faq__content,.faq .faq__content p{font-size:var(--vvl-front-faq-answer-size,14px)!important;line-height:1.58!important;font-weight:400!important;}

/* v69: section typography lock, admin sync and unified button radius. */
:root{--vvl-front-nav-font-size:15px;--vvl-front-hero-heading-size:clamp(56px,6.2vw,96px);--vvl-front-hero-subtitle-size:16px;--vvl-front-section-label-size:14px;--vvl-front-card-title-size:18px;--vvl-front-card-text-size:14px;--vvl-front-about-lead-size:18px;--vvl-front-about-text-size:14px;--vvl-front-button-font-size:14px;--vvl-front-faq-question-size:18px;--vvl-front-faq-answer-size:14px;}
html body .nav__item,html body .nav__panel-item,html body .vvl-nav-wordmark{font-size:var(--vvl-front-nav-font-size,15px)!important;line-height:1!important;font-weight:600!important;}
html body .hero__eyebrow{font-size:var(--vvl-front-section-label-size,14px)!important;line-height:1.1!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.055em!important;}
html body .hero__title{font-size:var(--vvl-front-hero-heading-size,clamp(56px,6.2vw,96px))!important;line-height:.92!important;letter-spacing:-.065em!important;font-weight:700!important;text-wrap:balance!important;}
html body .hero__subtitle{font-size:var(--vvl-front-hero-subtitle-size,16px)!important;line-height:1.55!important;font-weight:400!important;letter-spacing:-.012em!important;}
html body .section-header__label{font-size:var(--vvl-front-section-label-size,14px)!important;line-height:1.1!important;font-weight:700!important;}
html body .work-card .vvl-client-name,html body .work-card[data-astro-cid-wkx7uqji] .vvl-client-name{font-size:var(--vvl-front-card-title-size,18px)!important;line-height:1.22!important;font-weight:700!important;letter-spacing:-.025em!important;}
html body .work-card .work-card__service,html body .work-card[data-astro-cid-wkx7uqji] .work-card__service,html body .work-card__title.vvl-work-service{font-size:var(--vvl-front-card-text-size,14px)!important;line-height:1.5!important;font-weight:600!important;letter-spacing:-.01em!important;}
html body .work-card .work-card__desc,html body .work-card[data-astro-cid-wkx7uqji] .work-card__desc{font-size:var(--vvl-front-card-text-size,14px)!important;line-height:1.58!important;font-weight:400!important;letter-spacing:-.005em!important;color:var(--fg-muted)!important;}
html body .about-bio p.vvl-about-lead,html body .about-bio p:first-of-type{font-size:var(--vvl-front-about-lead-size,18px)!important;line-height:1.35!important;font-weight:600!important;letter-spacing:-.028em!important;}
html body .about-bio p.vvl-about-paragraph,html body .about-bio p:not(:first-of-type),html body .about-aside__item,html body .about-grid .about-aside .about-aside__item,html body .section--about .about-aside__item{font-size:var(--vvl-front-about-text-size,14px)!important;line-height:1.58!important;font-weight:400!important;letter-spacing:-.01em!important;color:var(--fg-subtle)!important;}
html body .faq .faq__question,html body .faq[data-astro-cid-al2ca2vr] .faq__question,html body .faq__question .roll,html body .faq__question .roll__t{font-size:var(--vvl-front-faq-question-size,18px)!important;line-height:1.34!important;font-weight:500!important;letter-spacing:-.018em!important;}
html body .faq .faq__content,html body .faq .faq__content p,html body .faq[data-astro-cid-al2ca2vr] .faq__content,html body .faq[data-astro-cid-al2ca2vr] .faq__content p{font-size:var(--vvl-front-faq-answer-size,14px)!important;line-height:1.62!important;font-weight:400!important;letter-spacing:-.01em!important;color:var(--fg-muted)!important;}
html body .btn,html body .cta__btn,html body .work-card__cta,html body .vvl-contact-submit,html body button.btn,html body a.btn{font-size:var(--vvl-front-button-font-size,14px)!important;line-height:1!important;font-weight:700!important;border-radius:999px!important;}
html body .btn,html body .cta__btn{min-height:48px!important;padding-inline:28px!important;}html body .work-card__cta{min-height:42px!important;padding-inline:22px!important;}
@media(max-width:767px){html body .nav__item,html body .nav__panel-item,html body .vvl-nav-wordmark{font-size:var(--vvl-front-nav-font-size,15px)!important;}html body .hero__title{font-size:clamp(48px,13vw,72px)!important;line-height:.92!important;}html body .hero__subtitle{font-size:min(var(--vvl-front-hero-subtitle-size,16px),16px)!important;}html body .work-card .vvl-client-name{font-size:var(--vvl-front-card-title-size,18px)!important;}html body .work-card .work-card__desc,html body .work-card .work-card__service{font-size:var(--vvl-front-card-text-size,14px)!important;}html body .faq .faq__question,html body .faq__question .roll,html body .faq__question .roll__t{font-size:var(--vvl-front-faq-question-size,18px)!important;white-space:normal!important;overflow-wrap:break-word!important;}html body .faq .faq__content,html body .faq .faq__content p{font-size:var(--vvl-front-faq-answer-size,14px)!important;}}


/* v70: compact copy typography + lighter CTA weight.
   Normal text follows Card text size, titles keep their own admin controls. */
:root{--vvl-front-body-copy-size:var(--vvl-front-card-text-size,14px);}
html body{font-size:var(--vvl-front-body-copy-size,14px)!important;}
html body .hero__subtitle,
html body .work-card .work-card__desc,
html body .faq .faq__content,
html body .faq .faq__content p,
html body .about-bio p.vvl-about-paragraph,
html body .about-bio p:not(:first-of-type),
html body .about-aside__item,
html body .footer,
html body .footer p,
html body .footer a:not(.footer__social-link),
html body .cta__tagline,
html body .vvl-contact-intro,
html body .vvl-contact-hint,
html body .vvl-contact-input,
html body .vvl-contact-textarea,
html body .vvl-contact-editor{
  font-size:var(--vvl-front-body-copy-size,var(--vvl-front-card-text-size,14px))!important;
  line-height:1.58!important;
  font-weight:400!important;
  letter-spacing:-.006em!important;
}
html body .work-card .work-card__service,
html body .work-card__title.vvl-work-service{
  font-size:var(--vvl-front-card-text-size,14px)!important;
  line-height:1.5!important;
  font-weight:600!important;
}
html body .work-card .vvl-client-name{
  font-size:var(--vvl-front-card-title-size,18px)!important;
  line-height:1.22!important;
  font-weight:700!important;
}
html body .faq .faq__question,
html body .faq__question .roll,
html body .faq__question .roll__t{
  font-size:var(--vvl-front-faq-question-size,18px)!important;
  line-height:1.34!important;
  font-weight:500!important;
}
html body .about-bio p.vvl-about-lead,
html body .about-bio p:first-of-type{
  font-size:var(--vvl-front-about-lead-size,18px)!important;
  line-height:1.35!important;
  font-weight:600!important;
}
html body .btn,
html body .btn span,
html body .cta__btn,
html body .cta__btn span,
html body .work-card__cta,
html body .work-card__cta span,
html body .vvl-contact-submit,
html body button.btn,
html body a.btn{
  font-size:var(--vvl-front-button-font-size,14px)!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
}
html body .hero__actions .btn,
html body .hero__actions .cta__btn{font-weight:600!important;}
@media(max-width:767px){
  html body .hero__subtitle,
  html body .work-card .work-card__desc,
  html body .work-card .work-card__service,
  html body .faq .faq__content,
  html body .faq .faq__content p,
  html body .about-bio p:not(:first-of-type),
  html body .about-aside__item{
    font-size:var(--vvl-front-body-copy-size,var(--vvl-front-card-text-size,14px))!important;
  }
  html body .btn,
  html body .cta__btn,
  html body .work-card__cta{font-weight:600!important;}
}


/* v72: About typography hierarchy fix.
   Center lead is intentionally larger, while both side columns use the exact same size as the center body paragraphs. */
html body section#about.section--about .about-bio > p:first-of-type,
html body #about .about-bio > p.vvl-about-lead{
  font-size:max(var(--vvl-front-about-lead-size,21px),calc(var(--vvl-front-about-text-size,var(--vvl-front-card-text-size,16px)) + 2px))!important;
  line-height:1.34!important;
  font-weight:600!important;
  letter-spacing:-.026em!important;
  color:var(--fg-strong)!important;
}
html body section#about.section--about .about-bio > p:not(:first-of-type),
html body #about .about-bio > p.vvl-about-paragraph,
html body section#about.section--about .about-aside__item,
html body #about .about-aside__item{
  font-size:var(--vvl-front-about-text-size,var(--vvl-front-card-text-size,16px))!important;
  line-height:1.58!important;
  font-weight:400!important;
  letter-spacing:-.01em!important;
  color:var(--fg-subtle)!important;
}
html body section#about.section--about .about-aside__heading,
html body #about .about-aside__heading{
  font-size:var(--vvl-front-section-label-size,14px)!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.012em!important;
  color:var(--fg-strong)!important;
}
@media(max-width:767px){
  html body section#about.section--about .about-bio > p:first-of-type,
  html body #about .about-bio > p.vvl-about-lead{
    font-size:max(var(--vvl-front-about-lead-size,21px),calc(var(--vvl-front-about-text-size,var(--vvl-front-card-text-size,16px)) + 2px))!important;
  }
  html body section#about.section--about .about-bio > p:not(:first-of-type),
  html body #about .about-aside__item{
    font-size:var(--vvl-front-about-text-size,var(--vvl-front-card-text-size,16px))!important;
  }
}


/* v74: About font-family normalization fallback.
   Keeps left, center and right About copy visually from the same Be Vietnam Pro family. */
html body section#about.section--about,
html body #about,
html body #about .about-grid,
html body #about .about-center,
html body #about .about-bio,
html body #about .about-bio p,
html body #about .about-aside,
html body #about .about-aside__heading,
html body #about .about-aside__list,
html body #about .about-aside__item{
  font-family:var(--vvl-front-font-family,"Be Vietnam Pro",Inter,system-ui,sans-serif)!important;
  font-synthesis-weight:none!important;
  font-synthesis-style:none!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision!important;
}
html body #about .about-bio > p:first-of-type,
html body #about .about-bio > p.vvl-about-lead{
  font-family:var(--vvl-front-font-family,"Be Vietnam Pro",Inter,system-ui,sans-serif)!important;
}
html body #about .about-bio > p:not(:first-of-type),
html body #about .about-bio > p.vvl-about-paragraph,
html body #about .about-aside--left .about-aside__item,
html body #about .about-aside--right .about-aside__item{
  font-family:var(--vvl-front-font-family,"Be Vietnam Pro",Inter,system-ui,sans-serif)!important;
  font-weight:400!important;
  font-variation-settings:normal!important;
}


/* v75: Global Be Vietnam Pro font lock fallback.
   This stylesheet loads after the source theme CSS, so every visible UI element uses one font family only. */
:root{--vvl-front-font-family:"Be Vietnam Pro"!important;--font-family-body:"Be Vietnam Pro"!important;--font-family-display:"Be Vietnam Pro"!important;--font-primary:"Be Vietnam Pro"!important;}
html,body,body *,body *::before,body *::after,button,input,textarea,select,optgroup,option{font-family:"Be Vietnam Pro"!important;font-synthesis-weight:none!important;font-synthesis-style:none!important;}
svg text{font-family:"Be Vietnam Pro"!important;}

/* v76 project logo sync: uploaded client logos must render as images, not fallback initials. */
.vvl-work-client-lockup[data-vvl-project-logo=custom] .vvl-client-icon--image{background:transparent!important;color:inherit!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.vvl-work-client-lockup[data-vvl-project-logo=custom] .vvl-client-icon--image img{display:block!important;width:24px!important;height:24px!important;object-fit:contain!important;max-width:24px!important;max-height:24px!important}

/* V77: project logo sync + request preview card */
html body .work-card .work-card__logo{display:flex!important;align-items:center!important;min-height:28px!important;margin-bottom:18px!important}
html body .work-card .vvl-work-client-lockup{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
html body .work-card .vvl-client-icon{flex:0 0 auto!important}
html body .work-card .vvl-client-icon--image{width:auto!important;min-width:0!important;height:28px!important;max-width:118px!important;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;overflow:visible!important}
html body .work-card .vvl-client-icon--image img{display:block!important;width:auto!important;height:100%!important;max-width:118px!important;object-fit:contain!important;border-radius:0!important}
html body .work-card .vvl-work-client-lockup[data-vvl-project-logo=image] .vvl-client-name{font-size:var(--vvl-front-card-text-size,16px)!important;font-weight:500!important;letter-spacing:-.015em!important}
html body .work-card--request-preview .work-card__cta{background:rgba(255,255,255,.045)!important;color:var(--fg)!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:none!important;gap:8px!important;padding-inline:18px!important}
html body .work-card--request-preview .work-card__cta:hover{border-color:rgba(var(--vvl-brand-primary-rgb),.72)!important;box-shadow:0 14px 34px rgba(var(--vvl-brand-primary-rgb),.16)!important}
html body .work-card--request-preview .work-card__lock{order:-1!important;width:15px!important;height:15px!important;opacity:.9!important}
.work-card--request-preview .work-card__chevron:not(.work-card__lock){display:none!important}


/* v79: project detail header must stay in the original minimal case-study layout. */
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2]{
  width:min(608px,calc(100vw - 48px))!important;
  min-width:0!important;
  height:80px!important;
  margin-inline:auto!important;
  padding:0 28px!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:0!important;
  overflow:visible!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__pill-bg[data-astro-cid-3ef6ksr2]{
  inset:0!important;
  border-radius:999px!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__back[data-astro-cid-3ef6ksr2],
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .vvl-detail-nav-back{
  grid-column:1!important;
  justify-self:start!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  color:var(--fg-muted)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  z-index:3!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__logo[data-astro-cid-3ef6ksr2],
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .vvl-nav-logo--detail-minimal{
  grid-column:2!important;
  justify-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  overflow:visible!important;
  z-index:3!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__mark[data-astro-cid-3ef6ksr2],
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .vvl-nav-detail-mark{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:999px!important;
  background:rgba(var(--vvl-brand-primary-rgb),.14)!important;
  color:var(--vvl-brand-primary)!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] :is(.vvl-nav-wordmark,.vvl-nav-wordmark--sr,.vvl-nav-uploaded-logo,.nav__wordmark){
  display:none!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__theme[data-astro-cid-3ef6ksr2]{
  grid-column:3!important;
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  padding:0!important;
  margin:0!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  z-index:3!important;
}
@media(max-width:767px){
  .nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2]{
    width:calc(100vw - 32px)!important;
    max-width:452px!important;
    height:72px!important;
    padding:0 18px!important;
    grid-template-columns:40px minmax(0,1fr) 40px!important;
  }
  .nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__back[data-astro-cid-3ef6ksr2],
  .nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__theme[data-astro-cid-3ef6ksr2],
  .nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .nav__logo[data-astro-cid-3ef6ksr2]{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    max-width:38px!important;
  }
}

/* V80 project detail CMS blocks, diagrams and persistent bottom toc */
.vvl-cs-body .cs-toc-bar,
.vvl-cs-toc-force{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:24px!important;
  z-index:70!important;
  display:flex!important;
  justify-content:center!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
.vvl-cs-body .cs-toc__pill{max-width:min(1120px,calc(100vw - 48px))!important;width:auto!important}
.vvl-cs-body .cs-toc-bar__scroll{scrollbar-width:none}.vvl-cs-body .cs-toc-bar__scroll::-webkit-scrollbar{display:none}
.vvl-cs-body{padding-bottom:120px!important}.vvl-cs-body .csx-section{scroll-margin-top:132px!important}.vvl-cs-body .csx-prose__col :is(strong,b){font-weight:700}.vvl-cs-body .csx-prose__col :is(em,i){font-style:italic}.vvl-cs-body .csx-prose__col :is(ul,ol),.vvl-case-list{display:grid!important;gap:14px!important;margin:22px 0 0!important;padding:0!important;list-style:none!important}.vvl-cs-body .csx-prose__col :is(ul,ol) li,.vvl-case-list li{position:relative!important;margin:0!important;padding-left:22px!important;color:var(--fg-muted)!important;font-size:var(--vvl-front-card-text-size,16px)!important;line-height:1.7!important}.vvl-cs-body .csx-prose__col :is(ul,ol) li:before,.vvl-case-list li:before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--vvl-brand-primary,#ffcc14);box-shadow:0 0 14px rgba(var(--vvl-brand-primary-rgb),.45)}.csx-subhead{margin:28px 0 12px!important;color:var(--fg-strong)!important;font-size:clamp(20px,2vw,30px)!important;line-height:1.2!important;letter-spacing:-.03em!important;font-weight:700!important}
.vvl-case-diagram{width:min(760px,100%);margin:42px auto 18px;display:flex;flex-direction:column;align-items:center;gap:26px;color:var(--fg-strong)}.vvl-case-diagram__row{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:18px}.vvl-case-diagram__node{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:1px dashed rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 18px 40px rgba(0,0,0,.18);font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.vvl-case-diagram__node--parent{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2)}.vvl-case-diagram__branch{width:1px;height:28px;background:linear-gradient(to bottom,rgba(255,255,255,.22),rgba(255,255,255,.04));position:relative}.vvl-case-diagram__branch:before{content:"";position:absolute;left:50%;top:100%;width:min(420px,70vw);height:34px;transform:translateX(-50%);border-top:1px solid rgba(255,255,255,.14);border-radius:999px 999px 0 0}.vvl-case-diagram__children{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap}.vvl-case-diagram__children .vvl-case-diagram__node{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;color:var(--fg-muted)}
@media(max-width:760px){.vvl-cs-body .cs-toc-bar,.vvl-cs-toc-force{bottom:14px!important}.vvl-cs-body .cs-toc__pill{max-width:calc(100vw - 22px)!important}.vvl-cs-body{padding-bottom:104px!important}.vvl-case-diagram{align-items:flex-start;overflow-x:auto;padding:6px 0 10px}.vvl-case-diagram__row{min-width:560px}.vvl-case-diagram__children{flex-wrap:nowrap}.vvl-case-diagram__node{font-size:13px}}

/* V80 project detail editable case-study system */
html body .vvl-cs-body{padding-bottom:160px!important}
html body .vvl-cs-section{scroll-margin-top:120px!important}
html body .vvl-cs-prose__col{max-width:720px!important;margin-inline:auto!important}
html body .vvl-cs-block-title{font-family:"Be Vietnam Pro",sans-serif!important;font-size:clamp(28px,3.2vw,48px)!important;line-height:1.08!important;letter-spacing:-.04em!important;color:var(--color-text-primary,#f4efff)!important;margin:0 0 28px!important;font-weight:700!important}
html body .vvl-cs-richtext{font-family:"Be Vietnam Pro",sans-serif!important;color:var(--color-text-muted,#a9a3b5)!important;font-size:var(--vvl-front-card-text-size,16px)!important;line-height:1.72!important;font-weight:400!important;letter-spacing:-.01em!important}
html body .vvl-cs-richtext p{margin:0 0 24px!important}
html body .vvl-cs-richtext strong,html body .vvl-cs-richtext b{color:var(--color-text-primary,#f4efff)!important;font-weight:700!important}
html body .vvl-cs-richtext em{font-style:italic!important}
html body .vvl-cs-richtext ul,html body .vvl-cs-richtext ol{margin:18px 0 28px 0!important;padding:0!important;list-style:none!important;display:grid!important;gap:14px!important}
html body .vvl-cs-richtext li{position:relative!important;padding-left:24px!important;color:var(--color-text-muted,#a9a3b5)!important}
html body .vvl-cs-richtext li:before{content:""!important;position:absolute!important;left:2px!important;top:.72em!important;width:5px!important;height:5px!important;border-radius:50%!important;background:var(--primary,#ffcc14)!important;box-shadow:0 0 14px color-mix(in srgb,var(--primary,#ffcc14) 65%,transparent)!important}
html body .vvl-cs-richtext h2,html body .vvl-cs-richtext h3{color:var(--color-text-primary,#f4efff)!important;font-weight:700!important;letter-spacing:-.03em!important;margin:30px 0 16px!important;line-height:1.16!important}
html body .vvl-cs-richtext a{color:var(--primary,#ffcc14)!important;text-decoration:none!important;border-bottom:1px solid color-mix(in srgb,var(--primary,#ffcc14) 55%,transparent)!important}
html body .vvl-cs-diagram{width:min(760px,100%)!important;margin:44px auto 10px!important;display:grid!important;gap:22px!important;justify-items:center!important}
html body .vvl-cs-diagram__row{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;flex-wrap:wrap!important;padding:14px 18px!important;border:1px dashed rgba(255,255,255,.12)!important;border-radius:28px!important;background:rgba(255,255,255,.018)!important}
html body .vvl-cs-diagram__node{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 20px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.04)!important;color:var(--color-text-primary,#f4efff)!important;font-family:"Be Vietnam Pro",sans-serif!important;font-size:14px!important;font-weight:600!important;white-space:nowrap!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important}
html body .vvl-cs-diagram__arrow{color:rgba(255,255,255,.36)!important;font-size:15px!important}
html body .vvl-cs-inline-visual{margin:44px 0!important}
html body .vvl-cs-toc-bar{display:block!important;position:fixed!important;left:50%!important;right:auto!important;bottom:28px!important;transform:translateX(-50%)!important;width:min(1100px,calc(100vw - 48px))!important;z-index:60!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
html body .vvl-cs-toc-bar .cs-toc__pill{display:flex!important;align-items:center!important;gap:12px!important;min-height:74px!important;padding:12px 14px!important;border-radius:999px!important;background:rgba(31,29,42,.82)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 24px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)!important;backdrop-filter:blur(18px)!important;overflow:hidden!important}
html body .vvl-cs-toc-bar .cs-toc-bar__scroll{display:flex!important;align-items:center!important;gap:12px!important;overflow-x:auto!important;scrollbar-width:none!important;flex:1 1 auto!important;padding:0 4px!important}
html body .vvl-cs-toc-bar .cs-toc-bar__scroll::-webkit-scrollbar{display:none!important}
html body .vvl-cs-toc-bar .cs-toc__chip{height:46px!important;padding:0 14px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;gap:6px!important;color:rgba(244,239,255,.58)!important;text-decoration:none!important;font-size:14px!important;font-weight:600!important;white-space:nowrap!important}
html body .vvl-cs-toc-bar .cs-toc__chip:hover,html body .vvl-cs-toc-bar .cs-toc__chip:focus-visible{color:var(--color-text-primary,#f4efff)!important;background:rgba(255,255,255,.045)!important}
html body .vvl-cs-toc-bar .cs-toc__chip:first-of-type{color:rgba(244,239,255,.7)!important}
html body .vvl-cs-toc__round{width:46px!important;height:46px!important;border-radius:50%!important;display:grid!important;place-items:center!important;flex:0 0 46px!important;color:var(--color-text-primary,#f4efff)!important;text-decoration:none!important;background:rgba(255,255,255,.065)!important;border:1px solid rgba(255,255,255,.08)!important;font-size:16px!important;font-weight:700!important}
html body .vvl-cs-next-card{width:min(820px,calc(100% - 32px))!important;margin:90px auto 40px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;gap:28px!important;align-items:center!important;padding:28px 34px!important;border-radius:999px!important;background:rgba(31,29,42,.72)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 22px 70px rgba(0,0,0,.32)!important}
html body .vvl-cs-next-card__logo .vvl-work-client-lockup{display:flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important}
html body .vvl-cs-next-card p{margin:0!important;color:var(--color-text-muted,#a9a3b5)!important;font-size:15px!important;line-height:1.55!important}
html body .vvl-cs-next-card__btn{height:44px!important;display:inline-flex!important;align-items:center!important;gap:10px!important;padding:0 20px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.14)!important;color:var(--color-text-primary,#f4efff)!important;text-decoration:none!important;font-weight:700!important;white-space:nowrap!important}
@media(max-width:760px){html body .vvl-cs-body{padding-bottom:120px!important}html body .vvl-cs-toc-bar{bottom:14px!important;width:calc(100vw - 24px)!important}html body .vvl-cs-toc-bar .cs-toc__pill{min-height:62px!important;padding:8px!important}html body .vvl-cs-toc-bar .cs-toc__chip{height:40px!important;font-size:12px!important;padding:0 10px!important}html body .vvl-cs-toc__round{width:40px!important;height:40px!important;flex-basis:40px!important}html body .vvl-cs-next-card{grid-template-columns:1fr!important;border-radius:28px!important;gap:16px!important;padding:22px!important}html body .vvl-cs-diagram__row{justify-content:flex-start!important;width:100%!important}html body .vvl-cs-diagram__node{font-size:12px!important;min-height:34px!important;padding:0 14px!important}}

/* V81 project detail bottom case-study nav, source-accurate behavior */
html body .vvl-cs-toc-bar{
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:90!important;
  width:auto!important;height:144px!important;transform:translateY(100%)!important;
  transition:transform .5s cubic-bezier(.16,1,.3,1)!important;pointer-events:none!important;
  opacity:1!important;visibility:visible!important;display:block!important;
}
html body .vvl-cs-toc-bar.is-visible{transform:translateY(0)!important}
html body .vvl-cs-toc-bar .cs-toc__veil{
  position:absolute!important;inset:0!important;display:block!important;
  background:linear-gradient(to top,var(--bg,#15131d) 0%,rgba(21,19,29,0) 100%)!important;
  pointer-events:none!important;
}
html body .vvl-cs-toc-bar .cs-toc__pill{
  position:absolute!important;left:50%!important;right:auto!important;bottom:32px!important;transform:translateX(-50%)!important;
  box-sizing:border-box!important;width:min(1056px,calc(100% - 32px))!important;height:80px!important;min-height:80px!important;
  display:flex!important;align-items:center!important;gap:0!important;padding:0!important;border-radius:99px!important;
  background:var(--bg-raised,rgba(31,29,42,.86))!important;border:1px solid var(--border,rgba(255,255,255,.08))!important;
  box-shadow:var(--shadow-lg,0 24px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05))!important;
  backdrop-filter:blur(18px)!important;pointer-events:auto!important;overflow:hidden!important;
}
html body .vvl-cs-toc-bar .cs-toc-bar__scroll{
  --fade-l:0px;--fade-r:0px;flex:1 1 auto!important;min-width:0!important;position:relative!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:safe center!important;gap:8px!important;
  padding:0 72px!important;scroll-padding-inline:72px!important;overflow-x:auto!important;overflow-y:hidden!important;
  scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.15) 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),rgba(0,0,0,.15) 100%)!important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.15) 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),rgba(0,0,0,.15) 100%)!important;
}
html body .vvl-cs-toc-bar .cs-toc-bar__scroll::-webkit-scrollbar{display:none!important}
html body .vvl-cs-toc-bar .cs-toc__chip{
  position:relative!important;z-index:1!important;box-sizing:border-box!important;flex:none!important;height:40px!important;
  display:inline-flex!important;align-items:center!important;gap:0!important;padding:0 16px 2px!important;border-radius:999px!important;
  color:var(--fg-subtle,rgba(244,239,255,.58))!important;text-decoration:none!important;font-size:14px!important;font-weight:400!important;line-height:1!important;white-space:nowrap!important;
  background:transparent!important;border:0!important;box-shadow:none!important;transition:color .18s ease!important;
}
html body .vvl-cs-toc-bar .cs-toc__chip:hover,
html body .vvl-cs-toc-bar .cs-toc__chip:focus-visible,
html body .vvl-cs-toc-bar .cs-toc__chip.is-active{color:var(--fg-strong,#f4efff)!important;background:transparent!important}
html body .vvl-cs-toc-bar .cs-toc__chip.is-active{font-weight:600!important}
html body .vvl-cs-toc-bar .cs-toc__chip-num + .cs-toc__chip-label{margin-left:4px!important}
html body .vvl-cs-toc-bar .cs-toc__highlight{
  position:absolute!important;top:50%!important;left:0!important;z-index:0!important;height:40px!important;width:0!important;border-radius:999px!important;
  background:var(--bg-hover,rgba(255,255,255,.045))!important;pointer-events:none!important;transform:translate3d(0,-50%,0)!important;opacity:0!important;transition:opacity .16s ease!important;
}
html body .vvl-cs-toc-bar .cs-toc__highlight.is-fluid{transition:transform .45s cubic-bezier(.16,1,.3,1),width .45s cubic-bezier(.16,1,.3,1),opacity .2s ease!important}
html body .vvl-cs-toc-bar .cs-toc__highlight.is-visible{opacity:1!important}
html body .vvl-cs-toc-bar .cs-toc__active{
  position:absolute!important;top:50%!important;left:0!important;width:5px!important;height:5px!important;margin:17px 0 0 -2.5px!important;border-radius:50%!important;
  background:var(--accent,var(--vvl-brand-primary,#ffcc14))!important;pointer-events:none!important;transform:translateZ(0)!important;opacity:0!important;
  transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .25s ease!important;
}
html body .vvl-cs-toc-bar .cs-toc__active.is-visible{opacity:1!important}
html body .vvl-cs-toc-bar .cs-toc__arrow{
  position:absolute!important;z-index:2!important;top:50%!important;transform:translateY(-50%)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:40px!important;height:40px!important;border-radius:999px!important;background:var(--action-secondary-bg,rgba(255,255,255,.065))!important;
  border:1px solid var(--action-secondary-border,rgba(255,255,255,.1))!important;color:var(--fg-strong,#f4efff)!important;box-shadow:var(--shadow-xs,0 10px 28px rgba(0,0,0,.24))!important;
  cursor:pointer!important;padding:0!important;appearance:none!important;
}
html body .vvl-cs-toc-bar .cs-toc__arrow--prev{left:20px!important}
html body .vvl-cs-toc-bar .cs-toc__arrow--next{right:20px!important}
html body .vvl-cs-toc-bar .cs-toc__arrow:disabled{opacity:.42!important;cursor:default!important}
html body .vvl-cs-next-card{scroll-margin-bottom:160px!important}
@media(max-width:760px){
  html body .vvl-cs-toc-bar{height:116px!important}
  html body .vvl-cs-toc-bar .cs-toc__pill{bottom:18px!important;width:calc(100% - 24px)!important;height:64px!important;min-height:64px!important}
  html body .vvl-cs-toc-bar .cs-toc-bar__scroll{padding:0 56px!important;scroll-padding-inline:56px!important;justify-content:flex-start!important}
  html body .vvl-cs-toc-bar .cs-toc__chip{height:38px!important;font-size:12px!important;padding:0 10px 2px!important}
  html body .vvl-cs-toc-bar .cs-toc__arrow{width:40px!important;height:40px!important}
  html body .vvl-cs-toc-bar .cs-toc__arrow--prev{left:12px!important}
  html body .vvl-cs-toc-bar .cs-toc__arrow--next{right:12px!important}
}

/* V82 project detail source sections + related project card polish */
html body .vvl-cs-toc-bar .cs-toc__pill{
  width:min(1160px,calc(100% - 48px))!important;
}
html body .vvl-cs-toc-bar .cs-toc-bar__scroll{
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0 74px!important;
  scroll-padding-inline:74px!important;
}
@media(min-width:1180px){
  html body .vvl-cs-toc-bar .cs-toc-bar__scroll{justify-content:center!important;}
}
html body .vvl-cs-toc-bar .cs-toc__chip{
  font-size:13px!important;
  padding:0 14px 2px!important;
}
html body .vvl-cs-next-card[data-vvl-next-project]{
  width:min(780px,calc(100% - 32px))!important;
  min-height:112px!important;
  margin:96px auto 96px!important;
  display:grid!important;
  grid-template-columns:minmax(130px,auto) minmax(260px,1fr) auto!important;
  gap:30px!important;
  align-items:center!important;
  padding:24px 32px!important;
  border-radius:999px!important;
  background:rgba(31,29,42,.72)!important;
  border:1px solid rgba(255,255,255,.085)!important;
  box-shadow:0 26px 80px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.035)!important;
}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-work-client-lockup{
  display:flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important;min-width:0!important;
}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-client-icon--image{
  height:26px!important;max-width:120px!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important;
}
html body .vvl-cs-next-card[data-vvl-next-project] p{
  margin:0!important;color:rgba(244,239,255,.78)!important;font-size:15px!important;line-height:1.48!important;font-weight:400!important;letter-spacing:-.01em!important;
}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn,
html body.vvl-button-hover-orbit-ring .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn,
html body[class*="vvl-button-hover-"] .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn{
  position:relative!important;isolation:isolate!important;height:42px!important;min-width:auto!important;padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  border-radius:999px!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.055)!important;color:var(--fg-strong,#f4efff)!important;text-decoration:none!important;
  font-size:14px!important;font-weight:650!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important;overflow:visible!important;transform:none!important;
}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn:before,
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn:after{display:none!important;content:none!important;animation:none!important;}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn span{display:inline!important;opacity:1!important;visibility:visible!important;transform:none!important;color:inherit!important;}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn svg{flex:0 0 auto!important;opacity:.9!important;transition:transform .18s ease!important;}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn:hover{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.26)!important;color:#fff!important;}
html body .vvl-cs-next-card[data-vvl-next-project] .vvl-cs-next-card__btn:hover svg:last-child{transform:translateX(2px)!important;}
@media(max-width:900px){
  html body .vvl-cs-next-card[data-vvl-next-project]{grid-template-columns:1fr!important;border-radius:30px!important;gap:16px!important;padding:24px!important;margin-bottom:120px!important;}
  html body .vvl-cs-toc-bar .cs-toc__pill{width:calc(100% - 24px)!important;}
  html body .vvl-cs-toc-bar .cs-toc-bar__scroll{justify-content:flex-start!important;}
}

/* v83: Source-accurate project detail system map.
   The admin diagram block now renders as the Astro source csx-graph map instead of the old row-by-row pill list. */
html body .vvl-cs-system-map[data-astro-cid-wxiex5k4]{
  container-type:inline-size!important;
  width:100%!important;
  max-width:736px!important;
  margin:96px auto 0!important;
  color:var(--fg-strong)!important;
}
html body .vvl-cs-system-map .csx-graph__stage[data-astro-cid-wxiex5k4]{
  position:relative!important;
  width:100%!important;
  aspect-ratio:736/641!important;
}
html body .vvl-cs-system-map .csx-graph__svg[data-astro-cid-wxiex5k4]{
  --gl:var(--border-strong,rgba(255,255,255,.2));
  --gd:var(--bg,#121019);
  --gx:var(--fg-strong,#fff);
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
  opacity:.92!important;
}
html body .vvl-cs-system-map .csx-graph__group[data-astro-cid-wxiex5k4]{
  position:absolute!important;
  box-sizing:border-box!important;
  border:1px dashed var(--border-strong,rgba(255,255,255,.16))!important;
  border-radius:999px!important;
  opacity:.72!important;
  pointer-events:none!important;
}
html body .vvl-cs-system-map .csx-graph__node[data-astro-cid-wxiex5k4]{
  position:absolute!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:var(--bg-raised,rgba(255,255,255,.045))!important;
  border:1px solid var(--border,rgba(255,255,255,.11))!important;
  color:var(--fg,#f4efff)!important;
  font-family:"Space Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:clamp(10px,1.9022cqw,14px)!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 14px 30px rgba(0,0,0,.10)!important;
}
html body .vvl-cs-system-map .csx-graph__swap[data-astro-cid-wxiex5k4]{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--fg-muted,rgba(255,255,255,.55))!important;
}
html body .vvl-cs-system-map .csx-graph__swap svg[data-astro-cid-wxiex5k4]{width:100%!important;height:100%!important;display:block!important;}
html body .vvl-cs-system-map .vvl-system-map-lines path{opacity:.74!important;}
@media(max-width:767px){
  html body .vvl-cs-system-map[data-astro-cid-wxiex5k4]{
    width:min(736px,calc(100vw - 32px))!important;
    max-width:none!important;
    overflow-x:auto!important;
    padding:0 0 12px!important;
    margin-top:64px!important;
  }
  html body .vvl-cs-system-map .csx-graph__stage[data-astro-cid-wxiex5k4]{min-width:640px!important;}
}

/* V84: Source-accurate system map geometry.
   Re-lock the case-study graph to the original Astro dimensions/positions so the map
   renders as one compact complete flow instead of oversized split chunks. */
html body .vvl-cs-system-map[data-astro-cid-wxiex5k4],
html body main .vvl-cs-system-map.csx-graph[data-astro-cid-wxiex5k4]{
  container-type:inline-size!important;
  width:min(736px,calc(100vw - 48px))!important;
  max-width:736px!important;
  margin:96px auto 0!important;
  padding:0!important;
  overflow:visible!important;
  color:var(--fg-strong)!important;
}
html body .vvl-cs-system-map .csx-graph__stage[data-astro-cid-wxiex5k4]{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:736/641!important;
  min-width:0!important;
  transform:none!important;
}
html body .vvl-cs-system-map .csx-graph__svg[data-astro-cid-wxiex5k4]{
  --gl:var(--border-strong)!important;
  --gd:var(--bg)!important;
  --gx:var(--fg-strong)!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
  opacity:1!important;
}
html body .vvl-cs-system-map .csx-graph__group[data-astro-cid-wxiex5k4]{
  position:absolute!important;
  box-sizing:border-box!important;
  border:1px dashed var(--border-strong)!important;
  border-radius:999px!important;
  opacity:1!important;
  background:transparent!important;
  pointer-events:none!important;
}
html body .vvl-cs-system-map .csx-graph__node[data-astro-cid-wxiex5k4]{
  position:absolute!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  padding:0!important;
  border-radius:999px!important;
  background:var(--bg-raised)!important;
  border:1px solid var(--border)!important;
  color:var(--fg)!important;
  font-family:Space Mono,ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:clamp(10px,1.9022cqw,14px)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
html body .vvl-cs-system-map .csx-graph__swap[data-astro-cid-wxiex5k4]{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--fg-muted)!important;
}
html body .vvl-cs-system-map .csx-graph__swap svg[data-astro-cid-wxiex5k4]{width:100%!important;height:100%!important;display:block!important;}
@media(max-width:767px){
  html body .vvl-cs-system-map[data-astro-cid-wxiex5k4],
  html body main .vvl-cs-system-map.csx-graph[data-astro-cid-wxiex5k4]{
    width:min(736px,calc(100vw - 32px))!important;
    max-width:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:12px!important;
    margin-top:64px!important;
  }
  html body .vvl-cs-system-map .csx-graph__stage[data-astro-cid-wxiex5k4]{
    width:640px!important;
    min-width:640px!important;
  }
}


/* V85: Source-accurate editable 08 Result section */
html body .vvl-cs-section--result .section-header{margin-bottom:0!important;}
html body .vvl-cs-result{margin-top:96px!important;}
html body .vvl-cs-result__col{grid-column:4 / 10!important;padding-inline:0!important;}
html body .vvl-cs-result__title{
  margin:0 0 34px!important;color:var(--fg-strong,#f4efff)!important;
  font-family:"Be Vietnam Pro",sans-serif!important;font-size:clamp(28px,3vw,40px)!important;
  font-weight:700!important;line-height:1.12!important;letter-spacing:-.04em!important;
}
html body .vvl-cs-result__main{display:block!important;}
html body .vvl-cs-result__main p,
html body .vvl-cs-result__compare p,
html body .vvl-cs-result__fine{
  color:var(--fg-subtle,rgba(244,239,255,.62))!important;font-family:"Be Vietnam Pro",sans-serif!important;
  font-size:18px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:-.015em!important;
}
html body .vvl-cs-result__main p{margin:0!important;}
html body .vvl-cs-result__main p+p{margin-top:4px!important;}
html body .vvl-cs-result__main ul{margin:38px 0 36px!important;padding:0!important;list-style:none!important;display:grid!important;gap:18px!important;}
html body .vvl-cs-result__main li{
  position:relative!important;margin:0!important;padding-left:24px!important;color:var(--fg-subtle,rgba(244,239,255,.62))!important;
  font-family:"Be Vietnam Pro",sans-serif!important;font-size:18px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:-.015em!important;
}
html body .vvl-cs-result__main li:before{content:""!important;position:absolute!important;left:3px!important;top:.75em!important;width:5px!important;height:5px!important;border-radius:50%!important;background:var(--accent,#9ee86f)!important;box-shadow:0 0 14px color-mix(in srgb,var(--accent,#9ee86f) 62%,transparent)!important;}
html body .vvl-cs-result__compare{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:72px!important;margin:34px 0 44px!important;}
html body .vvl-cs-result__compare h4{margin:0 0 12px!important;color:var(--fg-strong,#f4efff)!important;font-family:"Be Vietnam Pro",sans-serif!important;font-size:18px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:-.02em!important;}
html body .vvl-cs-result__compare p{margin:0!important;}
html body .vvl-cs-result__fine{margin:42px 0 0!important;font-size:15px!important;line-height:1.5!important;color:var(--fg-muted,rgba(244,239,255,.48))!important;}
@media(max-width:1023px){html body .vvl-cs-result__col{grid-column:1 / -1!important;padding-inline:32px!important;}}
@media(max-width:760px){html body .vvl-cs-result{margin-top:64px!important;}html body .vvl-cs-result__col{padding-inline:0!important;}html body .vvl-cs-result__title{font-size:30px!important;margin-bottom:26px!important;}html body .vvl-cs-result__main p,html body .vvl-cs-result__main li,html body .vvl-cs-result__compare p{font-size:16px!important;line-height:1.58!important;}html body .vvl-cs-result__compare{grid-template-columns:1fr!important;gap:26px!important;margin:30px 0 36px!important;}html body .vvl-cs-result__fine{font-size:14px!important;}}

/* V88 · Selected work carousel: keep projects on one horizontal track with arrows and autoplay. */
html body .vvl-work-carousel{
  position:relative!important;
  width:100%!important;
  max-width:var(--grid-width,1200px)!important;
  margin-inline:auto!important;
  overflow:visible!important;
  isolation:isolate!important;
  --vvl-work-carousel-gap:32px;
}
html body .vvl-work-carousel__viewport{
  width:100%!important;
  overflow:hidden!important;
  touch-action:pan-y!important;
  scroll-behavior:smooth!important;
  -webkit-overflow-scrolling:touch!important;
}
html body .vvl-work-carousel__viewport::-webkit-scrollbar{display:none!important;}
html body .vvl-work-carousel .work-cards,
html body .vvl-work-carousel .work-cards[data-astro-cid-wkx7uqji]{
  display:flex!important;
  grid-template-columns:none!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:var(--vvl-work-carousel-gap)!important;
  column-gap:var(--vvl-work-carousel-gap)!important;
  row-gap:0!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  width:max-content!important;
  min-width:100%!important;
  overflow:visible!important;
  scroll-snap-type:x mandatory!important;
}
html body .vvl-work-carousel .work-card,
html body .vvl-work-carousel .work-card[data-astro-cid-wkx7uqji]{
  flex:0 0 calc((100vw - (var(--grid-padding,48px) * 2) - (var(--vvl-work-carousel-gap) * 2)) / 3)!important;
  width:auto!important;
  max-width:384px!important;
  min-width:0!important;
  grid-column:auto!important;
  scroll-snap-align:start!important;
}
@media(min-width:1280px){
  html body .vvl-work-carousel .work-card,
  html body .vvl-work-carousel .work-card[data-astro-cid-wkx7uqji]{
    flex-basis:calc((var(--grid-width,1200px) - (var(--vvl-work-carousel-gap) * 2)) / 3)!important;
  }
}
html body .vvl-work-carousel__arrow{
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:46px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(30,29,40,.82)!important;
  color:var(--fg-strong,#fff)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06)!important;
  transform:translateY(-50%)!important;
  backdrop-filter:blur(16px)!important;
  cursor:pointer!important;
  transition:opacity .25s ease,transform .25s cubic-bezier(.16,1,.3,1),border-color .25s ease,background .25s ease!important;
}
html body .vvl-work-carousel__arrow--prev{left:-23px!important;}
html body .vvl-work-carousel__arrow--next{right:-23px!important;}
html body .vvl-work-carousel__arrow:hover{
  transform:translateY(-50%) scale(1.05)!important;
  border-color:rgba(var(--vvl-brand-primary-rgb),.66)!important;
  color:var(--vvl-brand-primary)!important;
}
html body .vvl-work-carousel__arrow:disabled,
html body .vvl-work-carousel.is-static .vvl-work-carousel__arrow{
  opacity:0!important;
  pointer-events:none!important;
}
html body .vvl-work-carousel .work-card__cta{
  flex-direction:row!important;
  gap:9px!important;
}
html body .vvl-work-carousel .work-card__cta .work-card__chevron:not(.work-card__lock){
  order:2!important;
}
html body .vvl-work-carousel .work-card--request-preview .work-card__cta .work-card__lock{
  order:0!important;
}
@media(max-width:1023px){
  html body .vvl-work-carousel{--vvl-work-carousel-gap:24px;}
  html body .vvl-work-carousel .work-card,
  html body .vvl-work-carousel .work-card[data-astro-cid-wkx7uqji]{
    flex-basis:calc((100vw - (var(--grid-padding,32px) * 2) - var(--vvl-work-carousel-gap)) / 2)!important;
    max-width:420px!important;
  }
}
@media(max-width:767px){
  html body .vvl-work-carousel{--vvl-work-carousel-gap:18px;}
  html body .vvl-work-carousel .work-card,
  html body .vvl-work-carousel .work-card[data-astro-cid-wkx7uqji]{
    flex-basis:calc(100vw - (var(--grid-padding,24px) * 2))!important;
    max-width:none!important;
  }
  html body .vvl-work-carousel__arrow{
    width:42px!important;
    height:42px!important;
  }
  html body .vvl-work-carousel__arrow--prev{left:6px!important;}
  html body .vvl-work-carousel__arrow--next{right:6px!important;}
}


/* v89: Global Theme Options logo sync for project detail minimal nav. */
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .vvl-nav-logo--detail-uploaded{
  width:auto!important;
  min-width:44px!important;
  max-width:104px!important;
  height:40px!important;
  overflow:visible!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .vvl-nav-logo--detail-uploaded .vvl-nav-uploaded-logo--detail{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:92px!important;
  height:34px!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .vvl-nav-logo--detail-uploaded .vvl-nav-uploaded-logo--detail img{
  display:block!important;
  width:auto!important;
  max-width:92px!important;
  height:auto!important;
  max-height:30px!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.nav__pill.nav__pill--minimal[data-astro-cid-3ef6ksr2] .vvl-nav-logo--detail-uploaded:is(:hover,:focus-visible) .vvl-nav-uploaded-logo--detail img{
  transform:translateY(-1px) scale(1.02)!important;
}

/* V90 · Selected Work carousel arrows light-mode polish. */
:root[data-theme=light] html body .vvl-work-carousel__arrow,
html:has(:root[data-theme=light]) body .vvl-work-carousel__arrow{
  border-color:rgba(8,20,48,.12)!important;
  background:rgba(255,255,255,.88)!important;
  color:rgba(8,20,48,.78)!important;
  box-shadow:0 16px 38px rgba(8,20,48,.14), inset 0 1px 0 rgba(255,255,255,.95)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
}
:root[data-theme=light] html body .vvl-work-carousel__arrow:hover,
:root[data-theme=light] html body .vvl-work-carousel__arrow:focus-visible,
html:has(:root[data-theme=light]) body .vvl-work-carousel__arrow:hover,
html:has(:root[data-theme=light]) body .vvl-work-carousel__arrow:focus-visible{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,248,252,.92))!important;
  border-color:rgba(var(--vvl-brand-primary-rgb),.52)!important;
  color:#081430!important;
  box-shadow:0 18px 46px rgba(8,20,48,.18),0 0 0 5px rgba(var(--vvl-brand-primary-rgb),.10),inset 0 1px 0 rgba(255,255,255,1)!important;
}
:root[data-theme=light] html body .vvl-work-carousel__arrow svg,
html:has(:root[data-theme=light]) body .vvl-work-carousel__arrow svg{
  filter:none!important;
}
@media(max-width:767px){
  :root[data-theme=light] html body .vvl-work-carousel__arrow,
  html:has(:root[data-theme=light]) body .vvl-work-carousel__arrow{
    background:rgba(255,255,255,.92)!important;
    border-color:rgba(8,20,48,.14)!important;
    color:#081430!important;
    box-shadow:0 14px 34px rgba(8,20,48,.18), inset 0 1px 0 rgba(255,255,255,.95)!important;
  }
}
/* V90 correction: robust light selector for html[data-theme="light"]. */
:root[data-theme=light] body .vvl-work-carousel__arrow{
  border-color:rgba(8,20,48,.12)!important;
  background:rgba(255,255,255,.88)!important;
  color:rgba(8,20,48,.78)!important;
  box-shadow:0 16px 38px rgba(8,20,48,.14), inset 0 1px 0 rgba(255,255,255,.95)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
}
:root[data-theme=light] body .vvl-work-carousel__arrow:hover,
:root[data-theme=light] body .vvl-work-carousel__arrow:focus-visible{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,248,252,.92))!important;
  border-color:rgba(var(--vvl-brand-primary-rgb),.52)!important;
  color:#081430!important;
  box-shadow:0 18px 46px rgba(8,20,48,.18),0 0 0 5px rgba(var(--vvl-brand-primary-rgb),.10),inset 0 1px 0 rgba(255,255,255,1)!important;
}
@media(max-width:767px){
  :root[data-theme=light] body .vvl-work-carousel__arrow{
    background:rgba(255,255,255,.92)!important;
    border-color:rgba(8,20,48,.14)!important;
    color:#081430!important;
    box-shadow:0 14px 34px rgba(8,20,48,.18), inset 0 1px 0 rgba(255,255,255,.95)!important;
  }
}

/* V99: adaptive professional system map pills.
   Editable diagram labels now expand the node width instead of spilling outside the pill. */
html body .vvl-cs-system-map--adaptive[data-astro-cid-wxiex5k4],
html body main .vvl-cs-system-map--adaptive.csx-graph[data-astro-cid-wxiex5k4]{
  width:min(760px,calc(100vw - 48px))!important;
  max-width:760px!important;
  margin-top:88px!important;
  overflow:visible!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__stage[data-astro-cid-wxiex5k4]{
  aspect-ratio:736/641!important;
  overflow:visible!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__group[data-astro-cid-wxiex5k4]{
  background:rgba(255,255,255,.008)!important;
  border-color:color-mix(in srgb,var(--border-strong,rgba(255,255,255,.18)) 78%,transparent)!important;
  border-style:dashed!important;
  opacity:.9!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__node[data-astro-cid-wxiex5k4]{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  padding-inline:14px!important;
  letter-spacing:.01em!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 14px 28px rgba(0,0,0,.12)!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__svg[data-astro-cid-wxiex5k4]{
  z-index:1!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__group[data-astro-cid-wxiex5k4]{
  z-index:2!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__node[data-astro-cid-wxiex5k4],
html body .vvl-cs-system-map--adaptive .csx-graph__swap[data-astro-cid-wxiex5k4]{
  z-index:3!important;
}
@media(max-width:767px){
  html body .vvl-cs-system-map--adaptive[data-astro-cid-wxiex5k4],
  html body main .vvl-cs-system-map--adaptive.csx-graph[data-astro-cid-wxiex5k4]{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 14px!important;
    margin-top:56px!important;
  }
  html body .vvl-cs-system-map--adaptive .csx-graph__stage[data-astro-cid-wxiex5k4]{
    width:680px!important;
    min-width:680px!important;
  }
}


/* V102: system map collision hardening. Keep long editable labels contained and readable. */
html body .vvl-cs-system-map--adaptive .csx-graph__node[data-astro-cid-wxiex5k4]{
  min-width:max-content!important;
  box-sizing:border-box!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__stage[data-astro-cid-wxiex5k4]{
  isolation:isolate!important;
}


/* V103: group-aware spacing for editable source-style system maps.
   Dashed wrappers now receive smaller internal padding, and rows have enough
   gutter so outlines never appear nested or overlapping when labels are long. */
html body .vvl-cs-system-map--adaptive .csx-graph__group[data-astro-cid-wxiex5k4]{
  border-radius:28px!important;
  pointer-events:none!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__node[data-astro-cid-wxiex5k4]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  max-width:100%!important;
}
html body .vvl-cs-system-map--adaptive .csx-graph__node[data-astro-cid-wxiex5k4] + .csx-graph__node[data-astro-cid-wxiex5k4]{
  margin-left:0!important;
}
