
#vas-app,#vas-app *{box-sizing:border-box}
#vas-app{--vas-bg:#070707;--vas-panel:#111;--vas-text:#f7f7f5;--vas-muted:#9a9a9a;--vas-line:rgba(255,255,255,.11);--vas-font:Nexa,Montserrat,Arial,sans-serif;background:var(--vas-bg)!important;color:var(--vas-text)!important;font-family:Inter,Arial,sans-serif;width:100%;overflow:hidden}
#vas-app h1,#vas-app h2,#vas-app h3,#vas-app h4,#vas-app h5,#vas-app h6{color:#fff!important}
#vas-app p,#vas-app div{color:inherit}
#vas-app a{text-decoration:none;color:inherit}
#vas-app img{display:block;max-width:100%}
html:has(body.vas-standalone-body),body.vas-standalone-body{margin:0!important;padding:0!important;background:#070707!important;overflow-x:hidden!important}
body.vas-standalone-body #vas-app{margin:0!important;padding:0!important;min-height:100vh!important;width:100%!important;max-width:none!important}
.vas-takeover header:not(.vas-header),.vas-takeover footer:not(.vas-footer),.vas-takeover .elementor-location-header,.vas-takeover .elementor-location-footer,.vas-takeover #masthead,.vas-takeover #colophon{display:none!important}

/* Header */
.vas-header{position:fixed;z-index:9990;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(18px,4vw,72px);background:rgba(7,7,7,.12);backdrop-filter:blur(10px);transition:.25s}
body.admin-bar.vas-standalone-body .vas-header{top:32px}@media(max-width:782px){body.admin-bar.vas-standalone-body .vas-header{top:46px}}
.vas-header.vas-solid,.vas-header:not(.is-transparent){background:rgba(7,7,7,.94);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.vas-brand{font-family:var(--vas-font);font-weight:900;letter-spacing:.035em;white-space:nowrap}.vas-brand img{height:30px;width:auto;max-width:180px;object-fit:contain}
.vas-nav{display:flex;align-items:center;gap:22px;font-size:13px}.vas-nav a{opacity:.76}.vas-nav a:hover{opacity:1;color:var(--vas-accent)}
.vas-header-actions{display:flex;gap:9px;align-items:center}.vas-mobile-toggle{display:none;border:0;background:none;color:#fff;font-size:25px;padding:7px}

/* Buttons */
.vas-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px;padding:13px 20px!important;min-height:46px;border-radius:999px!important;border:1px solid rgba(255,255,255,.18)!important;background:transparent!important;color:#fff!important;font-weight:700!important;line-height:1!important;white-space:nowrap}.vas-btn.primary{background:#fff!important;color:#090909!important;border-color:#fff!important}.vas-btn.store{background:rgba(255,120,0,.12)!important;color:#fff!important;border-color:rgba(255,120,0,.35)!important}.vas-btn:hover{background:var(--vas-accent)!important;color:#fff!important;border-color:var(--vas-accent)!important;transform:translateY(-2px)}

/* Preloader - no cropping */
.vas-preloader{position:fixed;inset:0;z-index:100000;background:#050505;display:grid;place-items:center;overflow:hidden;transition:opacity .7s,visibility .7s}.vas-preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.vas-pre-inner{text-align:center;width:min(92vw,1100px);padding:32px}.vas-pre-logo{max-width:min(72vw,620px);max-height:22vh;width:auto;height:auto;object-fit:contain;margin:0 auto 22px;animation:vasPreZoom 1.8s cubic-bezier(.2,.8,.2,1) both}
.vas-pre-title{font-family:var(--vas-font);font-size:clamp(34px,6vw,96px);line-height:.9;font-weight:900;white-space:nowrap;max-width:100%;background:linear-gradient(100deg,#fff 10%,#fff 35%,#ffca82 50%,var(--vas-accent) 65%,#fff 85%);background-size:260% 100%;-webkit-background-clip:text;color:transparent!important;animation:vasPreZoom 1.8s cubic-bezier(.2,.8,.2,1) both,vasFlow 1.5s linear infinite}
.vas-pre-num{margin-top:22px;font-size:11px;letter-spacing:.38em;color:#888!important}
@keyframes vasPreZoom{0%{transform:scale(1.55);opacity:0;filter:blur(6px)}45%{opacity:1;filter:blur(0)}100%{transform:scale(.9);opacity:1}}@keyframes vasFlow{to{background-position:-200% 0}}

/* Hero */
.vas-hero{--mx:50%;--my:50%;position:relative;height:100svh;min-height:760px;overflow:hidden;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,120,0,.22),rgba(255,120,0,.06) 18%,transparent 43%),#080808}
.vas-hero-center{position:absolute;z-index:40;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;width:min(1100px,88vw);pointer-events:none}
.vas-hero-title{position:relative;font-family:var(--vas-font);font-size:clamp(44px,calc(7vw * (var(--title-scale,88) / 100)),108px);font-weight:900;line-height:.9;letter-spacing:.02em;white-space:nowrap;color:#fff!important}.vas-hero-title:after{content:attr(data-title);position:absolute;inset:0;color:transparent;background:radial-gradient(circle at var(--tx,70%) var(--ty,50%),#fff7e9 0,#ffc976 10%,var(--vas-accent) 27%,transparent 54%);-webkit-background-clip:text}
.vas-hero-sub{margin-top:22px;color:#8d8d8d!important;font-size:10px;letter-spacing:.34em;text-transform:uppercase}

/* Continuous random hero video stage */
.vas-video-stage{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}
.vas-video{position:absolute;overflow:hidden;border-radius:clamp(11px,1vw,18px);background:#090909;box-shadow:0 24px 65px rgba(0,0,0,.42);opacity:0;filter:blur(9px);transform:translate3d(0,28px,0) scale(1.10) rotate(var(--rot,0deg));transition:opacity .66s ease,filter .66s ease,transform .66s cubic-bezier(.16,.82,.22,1),box-shadow .45s ease;will-change:transform,opacity,filter;pointer-events:none}
.vas-video.is-in{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1) rotate(var(--rot,0deg))}
.vas-video.is-in:hover{z-index:80!important;transform:translate3d(0,-10px,0) scale(1.045) rotate(0deg);box-shadow:0 44px 110px rgba(0,0,0,.7)}
.vas-video.is-out{opacity:0!important;filter:blur(7px)!important;transform:translate3d(0,-22px,0) scale(.90) rotate(var(--rot,0deg))!important;pointer-events:none!important}
.vas-video iframe{position:absolute;left:0;top:0;width:100%;height:100%;border:0;pointer-events:none;background:#090909;transform:scale(var(--overscan,1.18));transform-origin:center;z-index:1}
.vas-down{position:absolute;z-index:90;left:50%;bottom:20px;transform:translateX(-50%);width:48px;height:48px;background:none!important;border:0!important}.vas-down:after{content:"";position:absolute;width:15px;height:15px;left:50%;top:40%;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translate(-50%,-50%) rotate(45deg);animation:vasDown 1.5s infinite}@keyframes vasDown{50%{top:58%}}

/* Sections */
.vas-section{padding:clamp(88px,9vw,155px) clamp(20px,6.5vw,130px);background:#080808}.vas-section.alt{background:#0b0b0b}.vas-container{width:min(1500px,100%);margin:auto}
.vas-kicker{color:var(--vas-accent)!important;font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:20px}
.vas-h2{font-family:var(--vas-font);font-size:clamp(38px,5.1vw,84px);line-height:1.02;letter-spacing:-.04em;margin:0!important;max-width:1100px;color:#fff!important;overflow-wrap:anywhere;text-wrap:balance}
.vas-copy{color:var(--vas-muted)!important;line-height:1.82;font-size:clamp(15px,1.2vw,19px);max-width:900px;margin-top:28px}.vas-copy *{color:inherit!important}
.vas-big{font-family:var(--vas-font);font-size:clamp(110px,18vw,290px);font-weight:900;line-height:.78;letter-spacing:-.07em;margin-top:52px;background:linear-gradient(95deg,#fff,#aaa 40%,var(--vas-accent));-webkit-background-clip:text;color:transparent!important}
.vas-bigline{font-family:var(--vas-font);font-size:clamp(29px,3.8vw,58px);line-height:1.08;font-weight:800;max-width:1000px;margin-top:38px;color:#fff!important;text-wrap:balance}
.vas-socials,.vas-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* social icon buttons */
.vas-social-icon{width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.16);display:inline-grid;place-items:center;background:#101010;transition:.25s}.vas-social-icon:hover{background:var(--vas-accent);border-color:var(--vas-accent);transform:translateY(-3px)}.vas-social-icon svg{width:20px;height:20px;fill:#fff;display:block}

/* clients */
.vas-clients{overflow:hidden;padding:78px 0;background:#0b0b0b;border-block:1px solid var(--vas-line)}.vas-clients-label{padding:0 clamp(20px,6.5vw,130px) 35px;color:#777!important;font-size:11px;letter-spacing:.28em;text-transform:uppercase}.vas-client-track{display:flex;gap:18px;width:max-content;animation:vasMarquee 32s linear infinite}.vas-client{width:180px;height:140px;background:#f5f5f5;border-radius:12px;padding:14px;flex:none}.vas-client img{width:100%;height:100%;object-fit:contain}@keyframes vasMarquee{to{transform:translateX(-50%)}}

/* services - no overlap */
.vas-services{margin-top:62px;border-top:1px solid var(--vas-line)}.vas-service{display:grid;grid-template-columns:60px minmax(280px,.95fr) minmax(320px,1fr) auto;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--vas-line)}
.vas-service-num{color:var(--vas-accent)!important;font-size:11px}.vas-service-name{font-family:var(--vas-font);font-size:clamp(25px,2.65vw,46px);line-height:1.03;font-weight:800;color:#fff!important;overflow-wrap:anywhere}.vas-service-desc{color:var(--vas-muted)!important;line-height:1.7}
.vas-two{display:grid;grid-template-columns:1.1fr .8fr;gap:clamp(45px,8vw,120px);align-items:center}.vas-meta{background:radial-gradient(circle at 80% 25%,rgba(0,90,255,.15),transparent 35%),#0b0b0b}.vas-badge{display:inline-flex;background:#1267ff;padding:10px 16px;border-radius:999px;font-size:12px;margin-bottom:24px;color:#fff!important}

/* grids */
.vas-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:58px}.vas-card{background:#121212;border:1px solid var(--vas-line);border-radius:17px;overflow:hidden}.vas-card-media{height:250px;overflow:hidden;background:#ddd}.vas-card-media img{width:100%;height:100%;object-fit:cover;transition:.6s}.vas-card:hover img{transform:scale(1.045)}.vas-card-body{padding:23px}.vas-card-title{font-family:var(--vas-font);font-size:24px;line-height:1.08;font-weight:800;color:#fff!important}.vas-domain,.vas-stat{color:var(--vas-accent)!important;font-size:12px;margin-top:8px}.vas-card-copy{color:var(--vas-muted)!important;line-height:1.65;font-size:14px;margin-top:12px}
.vas-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:58px}.vas-square img{width:100%;aspect-ratio:1;object-fit:cover}
.vas-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:52px}.vas-photo{border-radius:16px;overflow:hidden}.vas-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.vas-motion{margin-top:52px;aspect-ratio:16/7;border-radius:22px;overflow:hidden;background:#111}.vas-motion iframe{width:100%;height:100%;border:0}
.vas-graphics{columns:4;column-gap:18px;margin-top:52px}.vas-graphic{break-inside:avoid;margin-bottom:18px;border-radius:14px;overflow:hidden}.vas-graphic img{width:100%;transition:.6s}.vas-graphic:hover img{transform:scale(1.04)}

/* Managed pages */
.vas-managed{min-height:100vh;background:#080808}.vas-managed-hero{position:relative;min-height:min(78vh,820px);display:flex;align-items:flex-end;overflow:hidden;padding:130px clamp(20px,6.5vw,130px) 90px}.vas-managed-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}.vas-managed-overlay{position:absolute;inset:0;background:linear-gradient(to top,#080808 5%,rgba(8,8,8,.72) 42%,rgba(8,8,8,.18)),radial-gradient(circle at 70% 30%,rgba(255,120,0,.2),transparent 35%)}.vas-managed-copy{position:relative;z-index:2}.vas-managed-title{font-family:var(--vas-font);font-size:clamp(52px,8vw,130px);line-height:.9;letter-spacing:-.05em;margin:0;color:#fff!important}.vas-managed-intro{font-size:clamp(17px,1.8vw,24px);color:#aaa!important;line-height:1.65;max-width:850px;margin:28px 0 0}.vas-prose{font-size:clamp(17px,1.5vw,22px);line-height:1.9;color:#aaa!important;max-width:980px}.vas-managed-cta{text-align:center;background:radial-gradient(circle at 50% 50%,rgba(255,120,0,.14),transparent 35%),#070707}.vas-managed-cta .vas-h2{margin-inline:auto!important}.vas-managed-cta .vas-actions{justify-content:center}

/* Enhanced footer */
.vas-footer{padding:85px clamp(20px,6.5vw,130px) 34px;background:#050505;border-top:1px solid var(--vas-line);padding-bottom:110px}
.vas-footer-grid{width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:55px;align-items:start}.vas-footer-brand{font-family:var(--vas-font);font-size:32px;font-weight:900;color:#fff!important}.vas-footer-brand img{height:42px;width:auto;max-width:250px;object-fit:contain}.vas-footer-heading{font-family:var(--vas-font);font-size:clamp(25px,2.2vw,36px);line-height:1.08;font-weight:800;margin-top:16px;color:#fff!important}.vas-footer-copy{color:#888!important;max-width:520px;line-height:1.7;margin-top:15px}.vas-footer-links{display:grid;gap:12px}.vas-footer-links a{color:#aaa!important}.vas-footer-links a:hover{color:var(--vas-accent)!important}.vas-footer-socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.vas-footer-bottom{width:min(1500px,100%);margin:50px auto 0;padding-top:24px;border-top:1px solid var(--vas-line);color:#666!important;font-size:12px}

/* Sticky bottom */
.vas-sticky{position:fixed;z-index:9985;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(8,8,8,.82);backdrop-filter:blur(16px);box-shadow:0 20px 55px rgba(0,0,0,.38)}.vas-sticky .vas-social-icon{width:42px;height:42px}.vas-sticky .vas-btn{min-height:42px!important;padding:11px 16px!important;font-size:13px!important}

/* reveal animations */
.vas-reveal{opacity:0;transform:translateY(46px) scale(.985);transition:opacity .75s,transform .75s cubic-bezier(.2,.8,.2,1)}.vas-reveal.show{opacity:1;transform:none}

/* Responsive */
@media(max-width:1220px){.vas-service{grid-template-columns:48px minmax(220px,.8fr) 1fr}.vas-service .vas-btn{grid-column:2/4;justify-self:start}.vas-grid3{grid-template-columns:repeat(2,1fr)}.vas-footer-grid{grid-template-columns:1fr 1fr}.vas-footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:900px){.vas-nav{display:none;position:absolute;top:70px;left:16px;right:16px;background:#111;padding:20px;border-radius:16px;flex-direction:column;align-items:stretch}.vas-nav.open{display:flex}.vas-mobile-toggle{display:block}.vas-header-actions .vas-btn.store{display:none!important}.vas-two{grid-template-columns:1fr}.vas-grid2{grid-template-columns:1fr}.vas-photos{grid-template-columns:1fr}.vas-graphics{columns:3}.vas-motion{aspect-ratio:16/9}}
@media(max-width:760px){
 .vas-header{height:66px}.vas-header-actions .vas-btn.primary{display:none!important}.vas-hero{min-height:720px}.vas-hero-title{font-size:clamp(44px,14vw,68px);white-space:normal}.vas-hero-sub{font-size:8px;letter-spacing:.2em;line-height:1.8}
 .vas-service{grid-template-columns:32px 1fr;gap:15px;padding:28px 0}.vas-service-desc,.vas-service .vas-btn{grid-column:2}.vas-service-name{font-size:clamp(25px,8vw,38px);line-height:1.06}.vas-h2{font-size:clamp(36px,10vw,52px);line-height:1.04}.vas-grid3{grid-template-columns:1fr}.vas-graphics{columns:2}.vas-footer-grid{grid-template-columns:1fr}.vas-footer-grid>div:first-child{grid-column:auto}.vas-sticky{bottom:10px;max-width:calc(100vw - 20px)}.vas-sticky-socials{display:none}.vas-sticky .vas-btn{padding:10px 14px!important}
}
@media(max-width:430px){.vas-graphics{columns:1}.vas-client{width:145px;height:115px}.vas-big{font-size:35vw}.vas-pre-title{font-size:clamp(28px,10vw,44px)}}
@media(prefers-reduced-motion:reduce){.vas-pre-title,.vas-pre-logo,.vas-client-track,.vas-down:after,.vas-video{animation:none!important}.vas-video,.vas-reveal{opacity:1!important;transform:none!important}}

@media(max-width:760px){
  .vas-video{border-radius:11px;box-shadow:0 18px 48px rgba(0,0,0,.42)}
  .vas-video.is-in:hover{transform:translate3d(0,-5px,0) scale(1.025) rotate(0deg)}
}


/* v1.5 video-ratio behavior */
.vas-video.is-short iframe,.vas-video.is-normal iframe{width:100%;height:100%;display:block}

.vas-back-home{position:fixed;z-index:9980;top:96px;left:clamp(18px,4vw,72px);display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(8,8,8,.72);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(12px);color:#fff!important;font-size:13px;font-weight:700}.vas-back-home:hover{background:var(--vas-accent);border-color:var(--vas-accent)}
body.admin-bar .vas-back-home{top:128px}
@media(max-width:782px){body.admin-bar .vas-back-home{top:116px}}


/* v1.10 hero player cleanup */
.vas-video:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,#0a0a0a 20%,#161616 45%,#0a0a0a 70%);background-size:220% 100%;animation:vasVideoSkeleton 1.1s linear infinite;transition:opacity .3s}
.vas-video.is-loaded:before{opacity:0}
@keyframes vasVideoSkeleton{to{background-position:-220% 0}}
.vas-player-chrome-mask{position:absolute;inset:0;z-index:3;pointer-events:none}
.vas-player-chrome-mask:before,.vas-player-chrome-mask:after{content:"";position:absolute;left:0;right:0;height:var(--mask,34px);pointer-events:none}
.vas-player-chrome-mask:before{top:0;background:linear-gradient(to bottom,rgba(6,6,6,.98),rgba(6,6,6,.82) 45%,rgba(6,6,6,0))}
.vas-player-chrome-mask:after{bottom:0;background:linear-gradient(to top,rgba(6,6,6,.98),rgba(6,6,6,.82) 45%,rgba(6,6,6,0))}
.vas-video.is-short .vas-player-chrome-mask:before,.vas-video.is-short .vas-player-chrome-mask:after{height:calc(var(--mask,34px) * 1.15)}

/* v1.11 stricter decorative YouTube treatment */
.vas-player-start-mask{position:absolute;inset:0;z-index:2;background:#090909;opacity:1;transition:opacity .55s ease;pointer-events:none}
.vas-player-start-mask.hide{opacity:0}
.vas-player-chrome-mask{overflow:hidden}
.vas-player-chrome-mask:before{height:var(--mask,44px);background:linear-gradient(to bottom,#070707 0,#070707 38%,rgba(7,7,7,.82) 70%,rgba(7,7,7,0) 100%)}
.vas-player-chrome-mask:after{height:var(--mask,44px);background:linear-gradient(to top,#070707 0,#070707 44%,rgba(7,7,7,.84) 72%,rgba(7,7,7,0) 100%)}
.vas-video.is-short iframe{transform:scale(calc(var(--overscan,1.18) + .05))}

/* v1.12 large full-canvas card composition */
.vas-hero-center{z-index:120!important}
.vas-video-stage{z-index:8}
.vas-video{min-width:0!important;min-height:0!important}
.vas-player-chrome-mask:before,.vas-player-chrome-mask:after{display:block}
.vas-player-start-mask{background:#080808}

/* v1.13 clean self-hosted video cards */
.vas-clean-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;background:#090909;pointer-events:none}
.vas-video:has(.vas-clean-video) .vas-player-start-mask,
.vas-video:has(.vas-clean-video) .vas-player-chrome-mask{display:none!important}
.vas-video-source-row{display:flex;gap:8px;align-items:center}
.vas-video-source-row input{flex:1}

/* v1.15 clients + background collage + video gallery */
.vas-clients{position:relative;overflow:hidden;padding:78px 0;background:#080808;border-block:1px solid var(--vas-line);min-height:330px}
.vas-clients-inner{position:relative;z-index:3}
.vas-client-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:var(--bgop,.12)}
.vas-client-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080808 0,rgba(8,8,8,.45) 24%,rgba(8,8,8,.3) 50%,rgba(8,8,8,.45) 76%,#080808 100%)}
.vas-client-bg-item{position:absolute;width:210px;height:130px;border-radius:16px;overflow:hidden;filter:grayscale(.15) saturate(.8);transform:rotate(var(--r,0deg))}
.vas-client-bg-item img,.vas-client-bg-item video{width:100%;height:100%;object-fit:cover}
.vas-client-bg-item.bg1{left:3%;top:8%;--r:-8deg}.vas-client-bg-item.bg2{left:18%;bottom:-8%;--r:6deg}.vas-client-bg-item.bg3{left:36%;top:-7%;--r:-4deg}.vas-client-bg-item.bg4{left:52%;bottom:-10%;--r:7deg}.vas-client-bg-item.bg5{right:18%;top:5%;--r:-6deg}.vas-client-bg-item.bg6{right:2%;bottom:-4%;--r:5deg}.vas-client-bg-item.bg7{left:28%;top:42%;--r:2deg}.vas-client-bg-item.bg8{right:34%;top:34%;--r:-3deg}.vas-client-bg-item.bg9{left:7%;bottom:12%;--r:5deg}.vas-client-bg-item.bg10{right:7%;top:45%;--r:-5deg}
.vas-client-marquee{overflow:hidden;width:100%}
.vas-client-track{display:flex;align-items:center;gap:58px;width:max-content;animation:vasMarquee var(--client-speed,34s) linear infinite;will-change:transform}
.vas-client-track:hover{animation-play-state:paused}
.vas-client{width:auto!important;height:auto!important;min-width:max-content!important;background:transparent!important;border-radius:0!important;padding:0!important;display:grid;place-items:center;flex:none}
.vas-client img{width:var(--client-logo,92px)!important;height:var(--client-logo,92px)!important;object-fit:contain!important;background:transparent!important;filter:drop-shadow(0 18px 24px rgba(0,0,0,var(--client-shadow,.42))) drop-shadow(0 4px 8px rgba(0,0,0,.35));transition:transform .32s ease,filter .32s ease}
.vas-client:hover img{transform:translateY(-5px) scale(1.05);filter:drop-shadow(0 25px 32px rgba(0,0,0,.55)) drop-shadow(0 6px 10px rgba(0,0,0,.38))}
@keyframes vasMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.vas-video-gallery-section{position:relative;background:#0b0b0b}
.vas-video-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:48px}
.vas-video-gallery-card{position:relative;padding:0;border:0;background:#111;border-radius:18px;overflow:hidden;cursor:pointer;min-height:0;box-shadow:0 22px 50px rgba(0,0,0,.28)}
.vas-video-gallery-card.is-normal{aspect-ratio:16/9}
.vas-video-gallery-card.is-short{aspect-ratio:9/16;max-height:440px;justify-self:center;width:min(100%,260px)}
.vas-video-gallery-card img,.vas-video-gallery-card video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}
.vas-video-gallery-card:hover img,.vas-video-gallery-card:hover video{transform:scale(1.045);filter:brightness(.82)}
.vas-gallery-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.62);backdrop-filter:blur(7px);color:#fff;font-size:19px;padding-left:3px;transition:.3s}
.vas-video-gallery-card:hover .vas-gallery-play{transform:translate(-50%,-50%) scale(1.08);background:var(--vas-accent)}

.vas-lightbox{position:fixed;inset:0;z-index:120000;background:rgba(0,0,0,.9);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:70px 5vw;opacity:0;visibility:hidden;transition:.3s}
.vas-lightbox.open{opacity:1;visibility:visible}
.vas-lightbox-stage{width:min(1280px,92vw);height:min(78vh,760px);display:flex;align-items:center;justify-content:center}
.vas-lightbox-video{width:100%;height:100%;border:0;border-radius:18px;background:#000;object-fit:contain}
.vas-lightbox-video.is-short{width:auto;max-width:440px;aspect-ratio:9/16}
.vas-lightbox-close{position:absolute;right:30px;top:24px;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#111;color:#fff;font-size:30px;cursor:pointer}
.vas-no-scroll{overflow:hidden!important}
@media(max-width:1050px){.vas-video-gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
 .vas-client-track{gap:34px}.vas-client-bg-item{width:150px;height:95px}.vas-clients{min-height:280px}
 .vas-video-gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}
 .vas-video-gallery-card.is-short{max-height:360px;width:100%}
 .vas-lightbox{padding:70px 14px 24px}.vas-lightbox-stage{width:100%;height:72vh}.vas-lightbox-close{right:14px;top:14px}
}

/* v1.16 hero visual depth */
.vas-hero-center{
  isolation:isolate;
  pointer-events:none;
}
.vas-hero-center:before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(68vw,980px);
  height:min(38vw,430px);
  transform:translate(-50%,-50%);
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(0,0,0,calc(.82 * var(--logo-shadow,.58))) 0%,
    rgba(0,0,0,calc(.60 * var(--logo-shadow,.58))) 28%,
    rgba(0,0,0,calc(.26 * var(--logo-shadow,.58))) 55%,
    rgba(0,0,0,0) 76%);
  filter:blur(24px);
}
.vas-hero-title{
  text-shadow:
    0 8px 26px rgba(0,0,0,calc(.65 * var(--logo-shadow,.58))),
    0 20px 70px rgba(0,0,0,calc(.78 * var(--logo-shadow,.58)));
}
.vas-hero-sub{
  text-shadow:0 4px 18px rgba(0,0,0,.9);
}

/* cards stay visually clean even when they overlap */
.vas-video{
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 18px 38px rgba(0,0,0,calc(.42 * var(--card-shadow,.72))),
    0 42px 90px rgba(0,0,0,calc(.58 * var(--card-shadow,.72))),
    inset 0 0 0 1px rgba(255,255,255,.025);
}
.vas-video:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(255,255,255,.035);
}
.vas-video.is-in:hover{
  box-shadow:
    0 24px 48px rgba(0,0,0,calc(.55 * var(--card-shadow,.72))),
    0 54px 120px rgba(0,0,0,calc(.72 * var(--card-shadow,.72)))!important;
}

/* blurred graphic-design posts in the hero background */
.vas-hero-bg-posts{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
  opacity:var(--hero-bg-op,.10);
}
.vas-hero-bg-posts:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(7,7,7,.90) 0%,rgba(7,7,7,.62) 30%,rgba(7,7,7,.32) 62%,rgba(7,7,7,.70) 100%),
    linear-gradient(90deg,rgba(7,7,7,.55),transparent 35%,transparent 65%,rgba(7,7,7,.55));
}
.vas-hero-bg-post{
  position:absolute;
  width:clamp(180px,18vw,360px);
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:24px;
  filter:blur(var(--hero-bg-blur,18px)) saturate(.78);
  transform:scale(1.12) rotate(var(--bgrot,0deg));
}
.vas-hero-bg-post img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.vas-hero-bg-post.bgp1{left:-4%;top:8%;--bgrot:-8deg}
.vas-hero-bg-post.bgp2{left:13%;top:49%;--bgrot:7deg}
.vas-hero-bg-post.bgp3{left:28%;top:-8%;--bgrot:-5deg}
.vas-hero-bg-post.bgp4{left:39%;bottom:-15%;--bgrot:8deg}
.vas-hero-bg-post.bgp5{right:38%;top:8%;--bgrot:4deg}
.vas-hero-bg-post.bgp6{right:25%;bottom:-9%;--bgrot:-6deg}
.vas-hero-bg-post.bgp7{right:8%;top:13%;--bgrot:7deg}
.vas-hero-bg-post.bgp8{right:-5%;bottom:7%;--bgrot:-8deg}
.vas-hero-bg-post.bgp9{left:4%;bottom:-14%;--bgrot:3deg}
.vas-hero-bg-post.bgp10{right:43%;top:36%;--bgrot:-3deg}

/* Hero foreground layering */
.vas-hero-bg-posts{z-index:1}
.vas-video-stage{z-index:8}
.vas-hero-center{z-index:120!important}

@media(max-width:760px){
  .vas-hero-bg-post{width:clamp(130px,42vw,220px);filter:blur(calc(var(--hero-bg-blur,18px) * .72))}
  .vas-hero-center:before{width:92vw;height:46vh;filter:blur(20px)}
}

/* v1.17 YouTube warm-up reveal + smaller center identity */
.vas-video.is-youtube{
  opacity:0!important;
  visibility:hidden;
  transform:translate3d(0,24px,0) scale(1.06) rotate(var(--rot,0deg))!important;
}
.vas-video.is-youtube.is-revealed{
  visibility:visible;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1) rotate(var(--rot,0deg))!important;
}
.vas-video.is-youtube.is-out{
  visibility:visible;
  opacity:0!important;
}
.vas-video.is-direct{
  visibility:visible;
}

/* Stronger clean halo behind VECTOR ARTS */
.vas-hero-center:before{
  width:min(62vw,900px)!important;
  height:min(31vw,350px)!important;
  background:radial-gradient(ellipse at center,
    rgba(0,0,0,calc(.96 * var(--logo-shadow,.74))) 0%,
    rgba(0,0,0,calc(.78 * var(--logo-shadow,.74))) 27%,
    rgba(0,0,0,calc(.42 * var(--logo-shadow,.74))) 52%,
    rgba(0,0,0,0) 78%)!important;
  filter:blur(30px)!important;
}
.vas-hero-title{
  max-width:82vw;
  margin-inline:auto!important;
}
@media(max-width:760px){
  .vas-hero-title{max-width:88vw}
}

/* v1.18 brighter liquid VECTOR ARTS identity */
.vas-hero-title{
  position:relative;
  display:inline-grid;
  place-items:center;
  color:transparent!important;
  filter:brightness(var(--title-bright,1.35)) saturate(1.08);
  text-shadow:none!important;
  isolation:isolate;
}
.vas-hero-title > span{
  grid-area:1/1;
  display:block;
  white-space:nowrap;
}
.vas-title-base{
  color:#fff!important;
  background:linear-gradient(92deg,#fff 0%,#fff 28%,#ffd39a 43%,#ff8a00 58%,#fff1dc 74%,#fff 100%);
  background-size:190% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:vasTitleBaseFlow var(--liquid-speed,5200ms) ease-in-out infinite alternate;
  text-shadow:
    0 3px 16px rgba(255,255,255,.11),
    0 14px 46px rgba(255,126,0,.16);
}
.vas-title-liquid{
  color:transparent!important;
  background:
    radial-gradient(circle at 20% 45%,rgba(255,255,255,.98) 0 5%,transparent 16%),
    radial-gradient(circle at 66% 55%,rgba(255,180,70,.96) 0 8%,transparent 22%),
    radial-gradient(circle at 84% 32%,rgba(255,255,255,.90) 0 4%,transparent 15%),
    linear-gradient(105deg,transparent 10%,rgba(255,126,0,.95) 37%,rgba(255,231,197,.92) 53%,transparent 78%);
  background-size:170% 170%,190% 190%,160% 160%,220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  mix-blend-mode:screen;
  opacity:.88;
  animation:vasLiquidInside calc(var(--liquid-speed,5200ms) * .82) ease-in-out infinite alternate;
}
.vas-title-shine{
  color:transparent!important;
  background:linear-gradient(100deg,transparent 0 38%,rgba(255,255,255,.96) 49%,rgba(255,255,255,.25) 54%,transparent 64% 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  opacity:.7;
  animation:vasTitleShine calc(var(--liquid-speed,5200ms) * .68) linear infinite;
}
.vas-hero-center.has-title-motion{
  animation:vasTitleFloat 6.4s ease-in-out infinite;
}
.vas-hero-center.has-title-motion .vas-hero-sub{
  animation:vasSubtleTracking 5.5s ease-in-out infinite alternate;
}
@keyframes vasTitleBaseFlow{
  0%{background-position:0% 50%}
  100%{background-position:100% 50%}
}
@keyframes vasLiquidInside{
  0%{background-position:0% 50%,100% 40%,25% 80%,0% 50%;filter:blur(0)}
  45%{background-position:45% 18%,40% 95%,80% 20%,65% 50%;filter:blur(.2px)}
  100%{background-position:100% 60%,0% 30%,45% 95%,100% 50%;filter:blur(0)}
}
@keyframes vasTitleShine{
  from{background-position:180% 0}
  to{background-position:-70% 0}
}
@keyframes vasTitleFloat{
  0%,100%{transform:translate(-50%,-50%) translateY(0) scale(1)}
  50%{transform:translate(-50%,-50%) translateY(-6px) scale(1.008)}
}
@keyframes vasSubtleTracking{
  from{letter-spacing:.34em;opacity:.72}
  to{letter-spacing:.40em;opacity:.96}
}

/* stronger halo behind the logo without darkening the letters */
.vas-hero-center:before{
  background:
    radial-gradient(ellipse at center,
      rgba(0,0,0,.97) 0%,
      rgba(0,0,0,.82) 28%,
      rgba(255,111,0,.12) 48%,
      rgba(0,0,0,.30) 61%,
      rgba(0,0,0,0) 79%)!important;
}
.vas-hero-center:after{
  content:"";
  position:absolute;
  z-index:-2;
  left:50%;
  top:50%;
  width:min(44vw,680px);
  height:min(18vw,250px);
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,120,0,.16),rgba(255,120,0,.05) 42%,transparent 72%);
  filter:blur(30px);
}

/* Preloader reliability */
html.vas-preloading,html.vas-preloading body{overflow:hidden!important}
.vas-preloader{opacity:1;visibility:visible}
.vas-preloader.done{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.vas-pre-title{
  filter:brightness(1.28);
  text-shadow:0 15px 55px rgba(255,116,0,.18);
}

/* v1.19 visual cleanup */

/* Remove the orange ellipse/glow behind VECTOR ARTS.
   Keep only a neutral, soft depth shadow. */
.vas-hero-center:before{
  width:min(58vw,860px)!important;
  height:min(28vw,330px)!important;
  background:radial-gradient(
    ellipse at center,
    rgba(0,0,0,.92) 0%,
    rgba(0,0,0,.72) 30%,
    rgba(0,0,0,.32) 55%,
    rgba(0,0,0,0) 78%
  )!important;
  filter:blur(28px)!important;
}
.vas-hero-center:after{
  display:none!important;
}

/* Smooth the hero bottom instead of a hard horizontal cut. */
.vas-hero{
  overflow:hidden;
}
.vas-hero > .vas-down{
  z-index:150;
}
.vas-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:110px;
  z-index:110;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(8,8,8,0) 0%,
    rgba(8,8,8,.22) 28%,
    rgba(8,8,8,.68) 68%,
    #080808 100%
  );
}

/* So sections feel connected rather than cut into hard blocks. */
.vas-section,
.vas-clients{
  position:relative;
}
.vas-section::before,
.vas-clients::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-52px;
  height:54px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(8,8,8,0),rgba(8,8,8,.9));
  z-index:1;
}
.vas-section > *,
.vas-clients > *{
  position:relative;
  z-index:2;
}

/* Clients now sits directly under hero and is more compact. */
.vas-clients{
  margin-top:-2px;
  padding:48px 0 52px!important;
  min-height:245px!important;
  border-top:0!important;
}
.vas-clients-label{
  margin-bottom:26px!important;
}
.vas-client-track{
  gap:var(--client-gap,34px)!important;
}
.vas-client img{
  width:var(--client-logo,86px)!important;
  height:var(--client-logo,86px)!important;
}

/* Compact mobile sticky social bar: socials only. */
@media(max-width:760px){
  .vas-sticky{
    width:auto!important;
    max-width:calc(100vw - 24px)!important;
    padding:6px 8px!important;
    gap:5px!important;
    border-radius:999px!important;
    bottom:10px!important;
  }
  .vas-sticky .vas-sticky-store,
  .vas-sticky .vas-sticky-whatsapp,
  .vas-sticky a[href*="elements.vectorarts"],
  .vas-sticky a[href*="wa.me"]{
    display:none!important;
  }
  .vas-sticky .vas-socials{
    gap:4px!important;
  }
  .vas-sticky .vas-social,
  .vas-sticky .vas-socials a{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  .vas-clients{
    padding:38px 0 44px!important;
    min-height:210px!important;
  }
  .vas-client-track{
    gap:var(--client-gap,26px)!important;
  }
  .vas-client img{
    width:min(var(--client-logo,78px),78px)!important;
    height:min(var(--client-logo,78px),78px)!important;
  }
  .vas-hero::after{
    height:76px;
  }
}

/* Reduced motion users should not get marquee/float discomfort. */
@media(prefers-reduced-motion:reduce){
  .vas-client-track,
  .vas-hero-center.has-title-motion,
  .vas-title-base,
  .vas-title-liquid,
  .vas-title-shine{
    animation:none!important;
  }
}

/* v1.20 mobile-first cleanup */

/* Use a reliable font stack everywhere unless the admin explicitly changes it. */
:root{
  --vas-font:"Helvetica Neue",Arial,sans-serif;
}
.vas-root,
.vas-root button,
.vas-root input,
.vas-root textarea,
.vas-root select{
  font-family:var(--vas-font)!important;
}

/* Mobile hero becomes a clean identity screen instead of a heavy video wall. */
@media(max-width:760px){
  .vas-hero{
    min-height:92svh!important;
    height:92svh!important;
    padding:0 18px!important;
    background:
      radial-gradient(circle at 50% 48%,rgba(255,120,0,.11),transparent 30%),
      linear-gradient(180deg,#090909 0%,#080808 100%)!important;
  }

  .vas-hero.mobile-videos-off .vas-video-stage,
  .vas-hero.mobile-videos-off .vas-video,
  .vas-hero.mobile-videos-off .vas-hero-bg-posts{
    display:none!important;
  }

  .vas-hero-center{
    width:100%!important;
    max-width:calc(100vw - 28px)!important;
    top:48%!important;
  }

  .vas-hero-title{
    font-size:clamp(42px,calc(13vw * (var(--mobile-title-scale,54) / 54)),72px)!important;
    line-height:.92!important;
    white-space:normal!important;
    width:100%!important;
    max-width:100%!important;
    text-align:center!important;
    letter-spacing:-.035em!important;
  }

  .vas-hero-title > span{
    white-space:normal!important;
    text-align:center!important;
  }

  .vas-hero-sub{
    margin-top:18px!important;
    font-size:9px!important;
    line-height:1.6!important;
    letter-spacing:.22em!important;
    max-width:88vw!important;
    margin-inline:auto!important;
    text-align:center!important;
  }

  .vas-header{
    height:68px!important;
    padding:0 16px!important;
    background:rgba(7,7,7,.82)!important;
    backdrop-filter:blur(16px)!important;
  }

  .vas-brand img{
    height:24px!important;
    max-width:145px!important;
  }

  .vas-brand{
    font-size:17px!important;
  }

  .vas-header nav,
  .vas-header .vas-store{
    display:none!important;
  }

  .vas-header .vas-cta{
    padding:9px 13px!important;
    font-size:11px!important;
    min-height:36px!important;
  }

  .vas-down{
    bottom:28px!important;
  }

  .vas-clients{
    padding:30px 0 34px!important;
    min-height:190px!important;
  }

  .vas-clients-label{
    padding-inline:18px!important;
    margin-bottom:20px!important;
    font-size:9px!important;
    letter-spacing:.28em!important;
  }

  .vas-client-track{
    gap:22px!important;
  }

  .vas-client img{
    width:68px!important;
    height:68px!important;
  }

  .vas-section{
    padding:64px 18px!important;
  }

  .vas-container{
    width:100%!important;
    max-width:none!important;
  }

  .vas-h2{
    font-size:clamp(34px,10vw,52px)!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
  }

  .vas-copy{
    font-size:14px!important;
    line-height:1.72!important;
  }

  .vas-service-row,
  .vas-grid3,
  .vas-video-gallery-grid{
    grid-template-columns:1fr!important;
  }

  .vas-service-row{
    gap:14px!important;
    padding:24px 0!important;
  }

  .vas-service-title{
    font-size:30px!important;
    line-height:1.03!important;
  }

  .vas-video-gallery-card.is-normal,
  .vas-video-gallery-card.is-short{
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
  }

  .vas-video-gallery-card.is-short{
    aspect-ratio:9/16!important;
    width:min(78vw,320px)!important;
    justify-self:center!important;
  }

  /* compact social-only sticky */
  .vas-sticky{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:auto!important;
    padding:5px 7px!important;
  }

  .vas-sticky .vas-social,
  .vas-sticky .vas-socials a{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
  }
}

/* Very small phones */
@media(max-width:390px){
  .vas-hero-title{
    font-size:clamp(38px,12.4vw,56px)!important;
  }
  .vas-hero-sub{
    font-size:8px!important;
    letter-spacing:.18em!important;
  }
  .vas-header .vas-cta{
    display:none!important;
  }
}

/* v1.21 mobile navigation + 2-column casual home grids */

/* Real hamburger icon */
.vas-mobile-toggle{
  position:relative;
  width:44px;
  height:44px;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.vas-mobile-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:transform .28s ease,opacity .2s ease,width .28s ease;
}
.vas-mobile-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.vas-mobile-toggle.open span:nth-child(2){opacity:0;width:8px}
.vas-mobile-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.vas-mobile-backdrop{display:none}

@media(max-width:900px){
  .vas-header{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .vas-mobile-toggle{
    display:flex!important;
    order:3;
    margin-left:auto;
    z-index:10012;
  }
  .vas-header-actions{display:none!important}

  /* override older mobile rule that permanently hid nav */
  .vas-header .vas-nav,
  .vas-header nav.vas-nav{
    display:flex!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    width:min(84vw,340px)!important;
    height:100dvh!important;
    padding:110px 24px 30px!important;
    margin:0!important;
    border-radius:0!important;
    background:rgba(8,8,8,.98)!important;
    backdrop-filter:blur(22px)!important;
    box-shadow:-30px 0 80px rgba(0,0,0,.45)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    transform:translateX(105%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility .25s!important;
    z-index:10010!important;
  }
  .vas-header .vas-nav.open{
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .vas-header .vas-nav a{
    display:flex!important;
    align-items:center!important;
    min-height:52px!important;
    padding:0 8px!important;
    font-size:20px!important;
    font-weight:700!important;
    color:#fff!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .vas-mobile-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:10005;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.28s;
  }
  .vas-mobile-backdrop.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  html.vas-mobile-menu-open{overflow:hidden!important}
}

@media(max-width:760px){
  .vas-header{
    height:76px!important;
    padding:0 20px!important;
  }
  .vas-brand{
    display:flex!important;
    align-items:center!important;
    max-width:calc(100vw - 92px)!important;
  }
  .vas-brand img{
    height:28px!important;
    max-width:190px!important;
  }
  .vas-mobile-toggle{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
  }

  /* Homepage ONLY: image/video/website/project displays become 2-column casual grids. */
  #vas-app .vas-hero ~ .vas-video-gallery-section .vas-video-gallery-grid,
  #vas-app .vas-hero ~ .vas-section .vas-grid3,
  #vas-app .vas-hero ~ .vas-section .vas-photos,
  #vas-app .vas-hero ~ .vas-section .vas-graphics{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    columns:auto!important;
    gap:10px!important;
    align-items:start!important;
  }

  #vas-app .vas-hero ~ .vas-video-gallery-section .vas-video-gallery-card,
  #vas-app .vas-hero ~ .vas-section .vas-card,
  #vas-app .vas-hero ~ .vas-section .vas-photo,
  #vas-app .vas-hero ~ .vas-section .vas-graphic{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-radius:13px!important;
  }

  /* Casual staggered rhythm without breaking two columns. */
  #vas-app .vas-mobile-drag-grid > :nth-child(4n+2){
    margin-top:18px!important;
  }
  #vas-app .vas-mobile-drag-grid > :nth-child(4n+3){
    margin-top:7px!important;
  }

  /* Keep shorts proportionate but not one-column huge. */
  #vas-app .vas-hero ~ .vas-video-gallery-section .vas-video-gallery-card.is-short{
    width:100%!important;
    aspect-ratio:9/16!important;
    justify-self:stretch!important;
  }
  #vas-app .vas-hero ~ .vas-video-gallery-section .vas-video-gallery-card.is-normal{
    aspect-ratio:16/10!important;
  }

  /* Homepage image sizing */
  #vas-app .vas-hero ~ .vas-section .vas-photo img{
    aspect-ratio:4/5!important;
    object-fit:cover!important;
  }
  #vas-app .vas-hero ~ .vas-section .vas-card-media{
    aspect-ratio:4/3!important;
  }
  #vas-app .vas-hero ~ .vas-section .vas-card-body{
    padding:12px!important;
  }
  #vas-app .vas-hero ~ .vas-section .vas-card-title{
    font-size:16px!important;
  }

  /* Long press + drag to rearrange visually during the current visit. */
  .vas-mobile-draggable{
    touch-action:pan-y;
    transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease;
  }
  .vas-mobile-draggable.is-dragging{
    opacity:.82!important;
    transform:scale(.97)!important;
    z-index:50!important;
    box-shadow:0 22px 60px rgba(0,0,0,.5)!important;
    touch-action:none!important;
  }
}

/* subpages stay normal single-column on phone */
@media(max-width:760px){
  .vas-managed .vas-grid3,
  .vas-managed .vas-photos,
  .vas-managed .vas-video-gallery-grid{
    grid-template-columns:1fr!important;
  }
  .vas-managed .vas-graphics{
    columns:1!important;
    display:block!important;
  }
}

/* v1.21.1 mobile sticky social icons visibility fix */
@media(max-width:760px){
  .vas-sticky{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* An older mobile rule hid this entire social group.
     Force it back on for phone view. */
  .vas-sticky .vas-sticky-socials,
  .vas-sticky .vas-socials.vas-sticky-socials{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    margin:0!important;
    padding:0!important;
  }

  .vas-sticky .vas-social-icon{
    display:inline-grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    border-radius:50%!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(14,14,14,.92)!important;
  }

  .vas-sticky .vas-social-icon svg{
    display:block!important;
    width:16px!important;
    height:16px!important;
    fill:#fff!important;
    opacity:1!important;
  }

  /* Phone = social links only */
  .vas-sticky > .vas-btn,
  .vas-sticky > a.store,
  .vas-sticky > a.primary{
    display:none!important;
  }
}

@media(max-width:390px){
  .vas-sticky .vas-social-icon{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }
  .vas-sticky .vas-social-icon svg{
    width:15px!important;
    height:15px!important;
  }
}

/* v1.22 homepage showcase previews */
.homepage-video-gallery .vas-actions,#vas-web .vas-actions,#vas-photography .vas-actions,#vas-graphics .vas-actions{justify-content:center;margin-top:34px}
@media(max-width:760px){
.homepage-video-gallery .vas-actions,#vas-web .vas-actions,#vas-photography .vas-actions,#vas-graphics .vas-actions{margin-top:22px}
.homepage-video-gallery .vas-actions .vas-btn,#vas-web .vas-actions .vas-btn,#vas-photography .vas-actions .vas-btn,#vas-graphics .vas-actions .vas-btn{width:100%;justify-content:center}
}

/* v1.22.1 header navigation reliability on managed pages */
.vas-header,
.vas-header *{
  box-sizing:border-box;
}
.vas-header{
  z-index:10050!important;
}
.vas-mobile-toggle{
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  position:relative!important;
  z-index:10070!important;
}
.vas-mobile-backdrop{z-index:10055!important}
@media(max-width:900px){
  .vas-header .vas-nav,
  .vas-header nav.vas-nav{
    z-index:10060!important;
  }
}

/* v1.22.3 preloader matches hero VECTOR ARTS identity */
.vas-preloader{
  position:fixed!important;
  inset:0!important;
  z-index:200000!important;
  display:grid!important;
  place-items:center!important;
  background:#080808!important;
  opacity:1;
  visibility:visible;
}
.vas-pre-inner{
  width:min(92vw,1200px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.vas-pre-title{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  font-size:calc(clamp(54px,8.2vw,148px) * (var(--title-scale,66) / 66))!important;
  line-height:.9!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  filter:brightness(var(--title-bright,1.35)) saturate(1.08)!important;
  isolation:isolate!important;
  color:transparent!important;
  white-space:nowrap!important;
}
.vas-pre-title>span{
  grid-area:1/1!important;
  display:block!important;
  white-space:nowrap!important;
}
.vas-pre-base{
  background:linear-gradient(92deg,#fff 0%,#fff 28%,#ffd39a 43%,#ff8a00 58%,#fff1dc 74%,#fff 100%)!important;
  background-size:190% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  animation:vasTitleBaseFlow var(--liquid-speed,5200ms) ease-in-out infinite alternate!important;
}
.vas-pre-liquid{
  background:
    radial-gradient(circle at 20% 45%,rgba(255,255,255,.98) 0 5%,transparent 16%),
    radial-gradient(circle at 66% 55%,rgba(255,180,70,.96) 0 8%,transparent 22%),
    linear-gradient(105deg,transparent 10%,rgba(255,126,0,.95) 37%,rgba(255,231,197,.92) 53%,transparent 78%)!important;
  background-size:170% 170%,190% 190%,220% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  mix-blend-mode:screen!important;
  opacity:.9!important;
  animation:vasLiquidInside calc(var(--liquid-speed,5200ms) * .82) ease-in-out infinite alternate!important;
}
.vas-pre-shine{
  background:linear-gradient(100deg,transparent 0 38%,rgba(255,255,255,.96) 49%,rgba(255,255,255,.25) 54%,transparent 64% 100%)!important;
  background-size:240% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  opacity:.72!important;
  animation:vasTitleShine calc(var(--liquid-speed,5200ms) * .68) linear infinite!important;
}
.vas-pre-title:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:125%;
  height:260%;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,rgba(0,0,0,.94),rgba(0,0,0,.62) 44%,transparent 76%);
  filter:blur(28px);
}
.vas-pre-num{
  margin-top:34px!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.25em!important;
  color:rgba(255,255,255,.48)!important;
}
@media(max-width:760px){
  .vas-pre-title{
    font-size:calc(clamp(42px,13vw,72px) * (var(--title-scale,66) / 66))!important;
  }
  .vas-pre-num{margin-top:24px!important}
}

/* v1.23 restore the simpler preloader appearance */
.vas-pre-title{
  display:block!important;
  font-size:clamp(42px,7vw,108px)!important;
  line-height:.95!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
  -webkit-text-fill-color:initial!important;
  background:linear-gradient(90deg,#fff 0%,#fff 36%,#ff8a00 58%,#fff 82%)!important;
  background-size:180% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  animation:vasTitleBaseFlow 3.2s ease-in-out infinite alternate!important;
  filter:none!important;
}
.vas-pre-title:before{display:none!important}
.vas-pre-num{margin-top:26px!important}

/* Contact */
.vas-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,6vw,96px);align-items:start}
.vas-contact-details{display:grid;gap:10px;margin-top:34px}
.vas-contact-details a,.vas-contact-details>div{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--vas-line)}
.vas-contact-details span{color:var(--vas-muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.vas-contact-details strong{font-size:15px;text-align:right}
.vas-contact-form{padding:28px;border:1px solid var(--vas-line);border-radius:20px;background:rgba(255,255,255,.025)}
.vas-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vas-contact-form label{display:grid;gap:8px;margin-bottom:16px;font-size:12px;color:var(--vas-muted)}
.vas-contact-form input,.vas-contact-form select,.vas-contact-form textarea,.vas-newsletter-form input{
 width:100%;border:1px solid rgba(255,255,255,.14);background:#0b0b0b;color:#fff;border-radius:12px;padding:14px 15px;outline:none
}
.vas-contact-form input:focus,.vas-contact-form select:focus,.vas-contact-form textarea:focus,.vas-newsletter-form input:focus{border-color:var(--vas-accent)}
.vas-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}
.vas-form-status{margin-top:12px;font-size:13px;color:var(--vas-muted)}
.vas-form-status.success{color:#4ade80}.vas-form-status.error{color:#fb7185}
.vas-newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.vas-newsletter-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.vas-newsletter-form .vas-form-status{grid-column:1/-1}
.vas-h3{font-size:clamp(30px,4vw,58px);line-height:1.02;margin:10px 0 18px}

/* Projects */
.vas-project-placeholder{height:100%;display:grid;place-items:center;font-size:42px;font-weight:900;background:linear-gradient(135deg,#171717,#0d0d0d);color:var(--vas-accent)}
.vas-project-card .vas-domain{white-space:normal;line-height:1.5;margin-top:9px}

/* home grid admin-driven ordering keeps sections stable */
#vas-app>section{scroll-margin-top:84px}

@media(max-width:760px){
 .vas-contact-grid,.vas-newsletter-inner{grid-template-columns:1fr}
 .vas-form-grid{grid-template-columns:1fr}
 .vas-newsletter-form{grid-template-columns:1fr}
 .vas-contact-form{padding:18px}
 .vas-contact-details a,.vas-contact-details>div{display:grid}
 .vas-contact-details strong{text-align:left}
}

/* v1.24 audit stabilization layer */
.vas-preloader{
  position:fixed!important;inset:0!important;z-index:200000!important;
  display:grid!important;place-items:center!important;background:#070707!important;
}
.vas-pre-inner{width:min(92vw,900px)!important;text-align:center!important}
.vas-pre-title{
  font-size:clamp(34px,6vw,96px)!important;
  font-weight:900!important;line-height:.9!important;letter-spacing:-.035em!important;
  background:linear-gradient(100deg,#fff 8%,#fff 35%,#ffca82 51%,var(--vas-accent) 66%,#fff 86%)!important;
  background-size:260% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;color:transparent!important;
  animation:vasPreZoom 1.8s cubic-bezier(.2,.8,.2,1) both,vasFlow 1.5s linear infinite!important;
}
.vas-pre-num{margin-top:24px!important;font-size:11px!important;letter-spacing:.24em!important;color:#777!important}
.vas-preloader.done{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .5s ease,visibility .5s ease!important}

.vas-projects-page{padding-top:80px}
#vas-projects .vas-actions{justify-content:center;margin-top:34px}
.vas-contact-form button:disabled,.vas-newsletter-form button:disabled{opacity:.55;cursor:wait}

/* Protect mobile against oversized admin-configured content. */
@media(max-width:760px){
  .vas-managed-title{font-size:clamp(38px,12vw,64px)!important;overflow-wrap:anywhere}
  .vas-prose{overflow-wrap:anywhere}
  .vas-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .vas-project-card .vas-card-body{padding:12px!important}
  .vas-project-card .vas-card-title{font-size:16px!important}
}

/* v1.25.2 typography reliability */
#vas-app,
#vas-app button,
#vas-app input,
#vas-app textarea,
#vas-app select,
#vas-app option{
  font-family:var(--vas-font,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
}
#vas-app h1,
#vas-app h2,
#vas-app h3,
#vas-app h4,
#vas-app h5,
#vas-app h6,
#vas-app .vas-brand,
#vas-app .vas-service-name,
#vas-app .vas-card-title,
#vas-app .vas-managed-title,
#vas-app .vas-hero-title,
#vas-app .vas-pre-title{
  font-family:Nexa,Montserrat,"Helvetica Neue",Arial,sans-serif!important;
}

/* v1.25.3 exact brand typography
   Brand logo text + hero logo/title + preloader always prefer Nexa Bold. */
#vas-app .vas-brand,
#vas-app .vas-brand *,
#vas-app .vas-logo,
#vas-app .vas-logo *,
#vas-app .vas-hero-title,
#vas-app .vas-hero-title *,
#vas-app .vas-pre-title,
.vas-preloader .vas-pre-title{
  font-family:var(--vas-nexa-bold,Nexa,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  font-weight:900!important;
  font-synthesis:none;
}

/* The preloader is server-rendered outside #vas-app, so it needs its own
   guaranteed Nexa-first stack rather than relying on #vas-app inheritance. */
.vas-preloader,
.vas-preloader *{
  font-family:Nexa,Montserrat,"Helvetica Neue",Arial,sans-serif;
}
.vas-preloader .vas-pre-title{
  font-family:Nexa,Montserrat,"Helvetica Neue",Arial,sans-serif!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}

/* v1.25.4 — SemiBold brand typography, existing sizes untouched */
#vas-app .vas-brand,
#vas-app .vas-brand *,
#vas-app .vas-logo,
#vas-app .vas-logo *,
#vas-app .vas-hero-title,
#vas-app .vas-hero-title *,
#vas-app .vas-pre-title,
.vas-preloader .vas-pre-title{
  font-family:var(--vas-nexa-bold,Nexa,Montserrat,"Helvetica Neue",Arial,sans-serif)!important;
  font-weight:var(--vas-brand-weight,600)!important;
  font-synthesis:none!important;
}

/* Compact Meta Business Support directly after Who We Are */
.vas-meta-compact{
  padding:34px 0!important;
  background:#090909!important;
}
.vas-meta-compact-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:28px!important;
  align-items:center!important;
  padding:24px 28px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.025)!important;
}
.vas-meta-compact .vas-h3{margin:8px 0 10px!important;max-width:760px!important}
.vas-meta-compact .vas-copy{max-width:780px!important;font-size:14px!important;line-height:1.65!important}
.vas-meta-actions{display:flex!important;align-items:center!important;gap:14px!important}
.vas-meta-mini{
  width:52px;height:52px;display:grid;place-items:center;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:700;letter-spacing:.08em
}
@media(max-width:760px){
  .vas-meta-compact{padding:18px!important}
  .vas-meta-compact-inner{grid-template-columns:1fr!important;padding:20px!important;gap:18px!important}
  .vas-meta-actions{justify-content:space-between!important}
}

/* v1.26 photography albums */
.vas-albums{display:grid;gap:52px;margin-top:42px}
.vas-album-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}
.vas-album-head>span{font-size:11px;color:var(--vas-muted)}
.vas-album-title{font-size:clamp(25px,3vw,42px);margin:5px 0 0}
.vas-album-strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 16px;cursor:grab;scrollbar-width:thin}
.vas-album-photo{border:0;padding:0;background:#111;border-radius:14px;overflow:hidden;flex:0 0 clamp(170px,23vw,340px);aspect-ratio:4/3;scroll-snap-align:start;cursor:pointer}
.vas-album-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.vas-album-photo:hover img{transform:scale(1.035)}
.vas-lightbox-image{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:14px}

/* PDF book cards */
.vas-pdf-books{margin-top:54px}
.vas-book-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:20px}
.vas-book-card{border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;padding:0}
.vas-book-cover{position:relative;aspect-ratio:3/4;border-radius:5px 12px 12px 5px;overflow:hidden;background:#181818;box-shadow:-8px 12px 30px rgba(0,0,0,.45),inset 5px 0 0 rgba(255,255,255,.07);transform:perspective(900px) rotateY(4deg);transform-origin:left;transition:.35s}
.vas-book-cover:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.18);z-index:2}
.vas-book-cover img{width:100%;height:100%;object-fit:cover}
.vas-book-fallback{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#ff7b00,#171717);font-size:27px;font-weight:800}
.vas-book-card:hover .vas-book-cover{transform:perspective(900px) rotateY(-7deg) translateY(-5px)}
.vas-book-card>strong{display:block;font-size:15px;margin-top:13px}.vas-book-card>span{display:block;font-size:11px;color:var(--vas-muted);margin-top:5px}

/* Page-turn PDF reader */
.vas-pdf-reader{position:fixed;inset:0;z-index:130000;background:rgba(0,0,0,.93);backdrop-filter:blur(15px);display:grid;place-items:center;padding:28px;opacity:0;visibility:hidden;transition:.25s}
.vas-pdf-reader.open{opacity:1;visibility:visible}
.vas-pdf-reader-inner{width:min(1100px,96vw);height:min(900px,92vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:15px;place-items:center}
.vas-pdf-reader-title{font-size:16px;font-weight:700}
.vas-book-stage{width:100%;height:100%;display:grid;place-items:center;perspective:1600px}
.vas-pdf-paper{background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.6);transform-origin:left center;max-width:100%;max-height:100%}
.vas-pdf-paper canvas{display:block;max-width:100%;max-height:72vh}
.vas-pdf-paper.turn-next{animation:vasPageNext .48s cubic-bezier(.2,.75,.2,1)}
.vas-pdf-paper.turn-prev{animation:vasPagePrev .48s cubic-bezier(.2,.75,.2,1)}
@keyframes vasPageNext{0%{transform:rotateY(0)}45%{transform:rotateY(-22deg) scale(.97)}100%{transform:rotateY(0)}}
@keyframes vasPagePrev{0%{transform:rotateY(0)}45%{transform:rotateY(22deg) scale(.97)}100%{transform:rotateY(0)}}
.vas-pdf-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.vas-pdf-controls button,.vas-pdf-controls a{border:1px solid rgba(255,255,255,.16);background:#111;color:#fff;padding:10px 14px;border-radius:999px;text-decoration:none;cursor:pointer}
.vas-pdf-page{font-size:12px;color:#aaa;min-width:90px;text-align:center}
.vas-pdf-close{position:absolute;top:20px;right:22px;width:44px;height:44px;border-radius:50%;border:1px solid #333;background:#111;color:#fff;font-size:25px;cursor:pointer}
@media(max-width:900px){.vas-book-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
 .vas-albums{gap:36px}.vas-album-photo{flex-basis:72vw}.vas-album-head{align-items:start}
 .vas-book-grid{grid-template-columns:repeat(2,1fr);gap:15px}
 .vas-pdf-reader{padding:16px}.vas-pdf-paper canvas{max-height:68vh}
}

/* =========================================================
   v1.27.2 — website showcase: auto-pan + live browser preview
   ========================================================= */
.vas-web-preview-card{
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.vas-web-live-area{
  display:block!important;
  width:100%!important;
  border:0!important;
  padding:0!important;
  background:#0b0b0b!important;
  cursor:pointer!important;
  text-align:inherit!important;
}
.vas-web-shot{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#111;
}
.vas-web-shot img{
  position:absolute;
  inset:0;
  width:100%;
  height:125%;
  object-fit:cover;
  object-position:top center;
  display:block;
  transform:translateY(0) scale(1.01);
  transition:transform 4.2s cubic-bezier(.18,.75,.22,1),filter .35s ease;
}
.vas-web-preview-card:hover .vas-web-shot img,
.vas-web-preview-card:focus-within .vas-web-shot img{
  transform:translateY(-20%) scale(1.01);
}
.vas-web-live-pill{
  position:absolute;right:12px;bottom:12px;
  padding:7px 10px;border-radius:999px;
  background:rgba(5,5,5,.82);border:1px solid rgba(255,255,255,.18);
  color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em;
  backdrop-filter:blur(8px);
}
.vas-web-shot-empty{height:100%;display:grid;place-items:center;color:#777}
.vas-web-actions{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}
.vas-web-actions button,.vas-web-actions a{
  border:1px solid rgba(255,255,255,.14);background:#111;color:#fff;
  border-radius:999px;padding:8px 11px;font-size:10px;text-decoration:none;cursor:pointer
}
.vas-web-actions button:hover,.vas-web-actions a:hover{border-color:var(--vas-accent);color:#fff}

.vas-site-viewer{
  position:fixed;inset:0;z-index:150000;
  display:grid;place-items:center;padding:26px;
  background:rgba(0,0,0,.88);backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;transition:.24s ease;
}
.vas-site-viewer.open{opacity:1;visibility:visible}
.vas-site-viewer-shell{
  width:min(1500px,96vw);height:min(900px,92vh);
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;border-radius:18px;
  background:#0b0b0d;border:1px solid rgba(255,255,255,.13);
  box-shadow:0 40px 110px rgba(0,0,0,.62)
}
.vas-site-viewer-bar{
  min-height:54px;display:grid;grid-template-columns:120px 1fr auto;
  align-items:center;gap:12px;padding:0 14px;
  background:#151518;border-bottom:1px solid rgba(255,255,255,.08)
}
.vas-site-viewer-bar>div:first-child{display:flex;gap:7px}
.vas-site-viewer-bar>div:first-child span{width:10px;height:10px;border-radius:50%;background:#45454b}
.vas-site-viewer-bar>div:first-child span:nth-child(1){background:#ff5f57}
.vas-site-viewer-bar>div:first-child span:nth-child(2){background:#febc2e}
.vas-site-viewer-bar>div:first-child span:nth-child(3){background:#28c840}
.vas-site-viewer-title{font-size:12px;color:#d7d7db;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vas-site-viewer-actions{display:flex!important;align-items:center;gap:8px!important}
.vas-site-viewer-actions a,.vas-site-viewer-actions button{
  border:1px solid rgba(255,255,255,.13);background:#0f0f12;color:#fff;
  padding:8px 11px;border-radius:999px;text-decoration:none;font-size:10px;cursor:pointer
}
.vas-site-viewer-close{font-size:16px!important;line-height:1!important}
.vas-site-viewer-frame{position:relative;background:#fff;min-height:0}
.vas-site-viewer-frame iframe{width:100%;height:100%;border:0;background:#fff;display:block}
.vas-site-viewer-loading{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#101014;color:#8c8c95;font-size:12px}
.vas-site-viewer-note{padding:8px 14px;text-align:center;font-size:9px;color:#74747d;background:#101014;border-top:1px solid rgba(255,255,255,.06)}
@media(max-width:760px){
  .vas-web-shot{aspect-ratio:4/3}
  .vas-web-shot img{height:115%}
  .vas-web-preview-card:hover .vas-web-shot img{transform:none}
  .vas-site-viewer{padding:8px}
  .vas-site-viewer-shell{width:100%;height:94vh;border-radius:13px}
  .vas-site-viewer-bar{grid-template-columns:50px minmax(0,1fr) auto;padding:0 8px}
  .vas-site-viewer-bar>div:first-child span{width:8px;height:8px}
  .vas-site-viewer-actions a{display:none}
}

/* v1.27.3 — PDF first page automatically becomes the book cover */
.vas-book-cover{
  display:block!important;
}
.vas-book-auto-cover,
.vas-book-legacy-cover{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block;
}
.vas-book-auto-cover{
  opacity:0;
  transition:opacity .25s ease;
  background:#fff;
}
.vas-book-auto-cover.ready{opacity:1}
.vas-book-cover-loading{
  position:absolute;inset:0;z-index:1;
  display:grid;place-items:center;align-content:center;gap:6px;
  background:linear-gradient(145deg,#ff7b00,#171717);
  color:#fff;text-align:center;
}
.vas-book-cover-loading span{font-size:25px;font-weight:800}
.vas-book-cover-loading small{font-size:9px;color:rgba(255,255,255,.7)}

/* =========================================================
   v1.27.4 — real responsive book reader
   ========================================================= */

/* The PDF itself controls the cover proportions. Never crop it. */
.vas-book-cover{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.vas-book-auto-cover,
.vas-book-legacy-cover{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
.vas-book-auto-cover{
  display:block!important;
}
.vas-book-cover-loading{
  min-height:260px;
}

/* Full reader */
.vas-pdf-reader-inner{
  width:min(1500px,98vw)!important;
  height:min(960px,96vh)!important;
}
.vas-book-stage{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  perspective:2200px!important;
  touch-action:none!important;
  user-select:none!important;
  cursor:grab!important;
  overflow:hidden!important;
}
.vas-book-stage.is-dragging{cursor:grabbing!important}
.vas-book-spread{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  max-width:96%!important;
  max-height:100%!important;
  filter:drop-shadow(0 30px 42px rgba(0,0,0,.44));
  transform-style:preserve-3d!important;
}
.vas-book-page{
  position:relative!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-height:74vh!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)!important;
}
.vas-book-page canvas{
  display:block!important;
  width:auto!important;
  height:min(74vh,820px)!important;
  max-width:44vw!important;
  object-fit:contain!important;
  background:#fff!important;
}
.vas-book-left{
  border-radius:10px 2px 2px 10px!important;
  transform-origin:right center!important;
}
.vas-book-right{
  border-radius:2px 10px 10px 2px!important;
  transform-origin:left center!important;
}
.vas-book-left:after,
.vas-book-right:before{
  content:"";
  position:absolute;top:0;bottom:0;width:34px;z-index:2;pointer-events:none
}
.vas-book-left:after{right:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.12))}
.vas-book-right:before{left:0;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent)}
.vas-book-spine{
  position:absolute!important;
  top:1.5%!important;bottom:1.5%!important;left:50%!important;width:2px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.38) 12%,rgba(0,0,0,.28) 88%,transparent)!important;
  box-shadow:0 0 18px rgba(0,0,0,.34)!important;
  z-index:5!important;pointer-events:none!important;
}
.vas-page-number{
  position:absolute;bottom:7px;right:10px;z-index:4;
  font-size:9px;color:rgba(0,0,0,.45);font-family:Arial,sans-serif
}
.vas-book-left .vas-page-number{right:auto;left:10px}
.vas-book-drag-hint{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.42);font-size:9px;letter-spacing:.06em;pointer-events:none
}

/* Turning sheet: gives drag/flip a physical page feel. */
.vas-book-turn-sheet{
  position:absolute!important;
  top:0!important;bottom:0!important;
  left:50%!important;width:50%!important;
  transform-origin:left center!important;
  transform:rotateY(0deg)!important;
  opacity:0!important;visibility:hidden!important;
  transform-style:preserve-3d!important;
  pointer-events:none!important;
  z-index:12!important;
}
.vas-book-turn-sheet:before{
  content:"";position:absolute;inset:0;border-radius:0 9px 9px 0;
  background:linear-gradient(90deg,#fff 0%,#f8f8f8 76%,#e7e7e7 100%);
  box-shadow:-12px 0 30px rgba(0,0,0,.13)
}
.vas-book-turn-sheet.active{opacity:.94!important;visibility:visible!important}
.vas-book-turn-sheet.turn-next{animation:vasRealBookNext .52s cubic-bezier(.18,.76,.22,1) forwards}
.vas-book-turn-sheet.turn-prev{
  left:0!important;transform-origin:right center!important;
  animation:vasRealBookPrev .52s cubic-bezier(.18,.76,.22,1) forwards
}
@keyframes vasRealBookNext{
  0%{transform:rotateY(0deg);filter:brightness(1)}
  48%{transform:rotateY(-88deg);filter:brightness(.9)}
  100%{transform:rotateY(-178deg);filter:brightness(.98)}
}
@keyframes vasRealBookPrev{
  0%{transform:rotateY(0deg);filter:brightness(1)}
  48%{transform:rotateY(88deg);filter:brightness(.9)}
  100%{transform:rotateY(178deg);filter:brightness(.98)}
}

/* Live pointer drag bend. */
.vas-book-turn-sheet.dragging{
  animation:none!important;
  transition:none!important;
}
.vas-book-turn-sheet.drag-next{
  left:50%!important;transform-origin:left center!important;
  transform:rotateY(calc(var(--drag-x,0) * 150deg))!important;
}
.vas-book-turn-sheet.drag-prev{
  left:0!important;transform-origin:right center!important;
  transform:rotateY(calc(var(--drag-x,0) * 150deg))!important;
}

/* Small devices: one real page at a time. */
@media(max-width:820px){
  .vas-pdf-reader{padding:8px!important}
  .vas-pdf-reader-inner{width:100%!important;height:96vh!important}
  .vas-book-spread{width:100%!important;max-width:100%!important}
  .vas-book-spread.single-page .vas-book-left{display:none!important}
  .vas-book-spread.single-page .vas-book-right{
    max-width:94vw!important;
    border-radius:10px!important;
    box-shadow:0 20px 55px rgba(0,0,0,.48)!important;
  }
  .vas-book-page canvas{
    width:auto!important;
    height:auto!important;
    max-width:92vw!important;
    max-height:72vh!important;
  }
  .vas-book-spine{display:none!important}
  .vas-book-right:before{display:none!important}
  .vas-book-drag-hint{bottom:3px!important}
  .vas-pdf-controls{gap:6px!important}
  .vas-pdf-controls button,.vas-pdf-controls a{padding:8px 10px!important;font-size:9px!important}
}

/* Short landscape phones/tablets: fit by height. */
@media(max-height:650px){
  .vas-book-page canvas{max-height:58vh!important}
  .vas-pdf-reader-title{font-size:12px!important}
  .vas-book-drag-hint{display:none!important}
}

/* v1.28 cached real-page flip */
.vas-book-turn-sheet{background:transparent!important}
.vas-book-turn-sheet:before{display:none!important}
.vas-turn-front,.vas-turn-back{
  position:absolute!important;inset:0!important;
  border-radius:0 9px 9px 0!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  background:#fff center/100% 100% no-repeat!important;
  box-shadow:-12px 0 30px rgba(0,0,0,.15)!important
}
.vas-turn-back{transform:rotateY(180deg)!important;filter:brightness(.96)!important}
.vas-book-turn-sheet.is-prev .vas-turn-front,.vas-book-turn-sheet.is-prev .vas-turn-back{border-radius:9px 0 0 9px!important}
.vas-book-turn-sheet.turn-next{animation:vasCachedNext .56s cubic-bezier(.18,.76,.16,1) forwards!important}
.vas-book-turn-sheet.turn-prev{animation:vasCachedPrev .56s cubic-bezier(.18,.76,.16,1) forwards!important}
@keyframes vasCachedNext{
  0%{transform:rotateY(0deg);filter:brightness(1)}
  28%{transform:rotateY(-48deg);filter:brightness(.98)}
  52%{transform:rotateY(-92deg);filter:brightness(.86)}
  78%{transform:rotateY(-142deg);filter:brightness(.96)}
  100%{transform:rotateY(-179.5deg);filter:brightness(1)}
}
@keyframes vasCachedPrev{
  0%{transform:rotateY(0deg);filter:brightness(1)}
  28%{transform:rotateY(48deg);filter:brightness(.98)}
  52%{transform:rotateY(92deg);filter:brightness(.86)}
  78%{transform:rotateY(142deg);filter:brightness(.96)}
  100%{transform:rotateY(179.5deg);filter:brightness(1)}
}
.vas-book-turn-sheet.drag-next{transform:rotateY(calc(var(--drag-x,0) * 178deg))!important}
.vas-book-turn-sheet.drag-prev{transform:rotateY(calc(var(--drag-x,0) * 178deg))!important}
.vas-pdf-reader canvas{-webkit-user-drag:none!important;user-select:none!important}

/* v1.29.1 — correct physical book binding */
.vas-pdf-reader:not(.single-page) .vas-book-spread:not(.single-page) .vas-book-right:only-child{margin-left:auto}
.vas-pdf-reader:not(.single-page) .vas-book-spread.cover-only .vas-book-spine{display:none!important}


/* =========================================================
   v1.29.2 — compact managed/sub-page hero spacing
   ========================================================= */
/* The old managed hero used 78vh even when there was no hero artwork,
   which created a large dead black area before the page content. */
.vas-managed-hero.no-bg{
  min-height:clamp(390px,52vh,560px)!important;
  align-items:center!important;
  padding-top:130px!important;
  padding-bottom:58px!important;
}
.vas-managed-hero.no-bg .vas-managed-overlay{
  background:
    radial-gradient(circle at 68% 22%,rgba(255,120,0,.13),transparent 34%),
    linear-gradient(to bottom,rgba(8,8,8,.08),#080808 96%)!important;
}
.vas-managed-hero.has-bg{
  min-height:min(66vh,720px)!important;
  padding-bottom:72px!important;
}
.vas-managed-body{
  padding-top:clamp(34px,4.5vw,68px)!important;
  padding-bottom:clamp(72px,7vw,118px)!important;
}
.vas-managed-body .vas-prose{
  margin:0!important;
}
/* Keep the first real content section visually attached to the intro. */
.vas-managed-hero + .vas-managed-body{
  border-top:1px solid rgba(255,255,255,.035);
}
@media(max-width:760px){
  .vas-managed-hero.no-bg{
    min-height:auto!important;
    padding-top:120px!important;
    padding-bottom:44px!important;
  }
  .vas-managed-hero.has-bg{
    min-height:58svh!important;
    padding-top:118px!important;
    padding-bottom:52px!important;
  }
  .vas-managed-intro{margin-top:18px!important}
  .vas-managed-body{
    padding-top:30px!important;
    padding-bottom:72px!important;
  }
}


/* =========================================================
   v1.29.3 — managed page dead-space elimination
   =========================================================
   Managed/service pages are content pages, not fullscreen home heroes.
   Keep cinematic space only when an actual hero image exists. */
.vas-managed{
  min-height:0!important;
}

/* No artwork: compact intro block. */
.vas-managed-hero.no-bg{
  min-height:0!important;
  height:auto!important;
  align-items:flex-start!important;
  padding-top:clamp(124px,9vw,158px)!important;
  padding-bottom:clamp(34px,3.5vw,54px)!important;
}
.vas-managed-hero.no-bg .vas-managed-copy{
  width:min(1500px,100%)!important;
}
.vas-managed-hero.no-bg .vas-managed-title{
  margin-top:12px!important;
}
.vas-managed-hero.no-bg .vas-managed-intro{
  margin-top:18px!important;
  max-width:920px!important;
}

/* Artwork hero remains cinematic, but never wastes a full viewport. */
.vas-managed-hero.has-bg{
  min-height:clamp(430px,54vh,650px)!important;
  height:auto!important;
  padding-top:clamp(126px,9vw,160px)!important;
  padding-bottom:clamp(48px,5vw,72px)!important;
}

/* Body copy should visually belong to the hero, not sit in another huge section. */
.vas-managed-body{
  padding-top:clamp(24px,2.7vw,42px)!important;
  padding-bottom:clamp(38px,4vw,62px)!important;
  min-height:0!important;
}
.vas-managed-body .vas-container{
  min-height:0!important;
}
.vas-managed-body .vas-prose{
  margin:0!important;
  max-width:980px!important;
}

/* All portfolio/content sections on managed pages use a tighter rhythm. */
.vas-managed > .vas-section:not(.vas-managed-body):not(.vas-managed-cta){
  padding-top:clamp(42px,4.5vw,72px)!important;
  padding-bottom:clamp(48px,5vw,80px)!important;
  min-height:0!important;
}

/* When sections touch, don't compound two large padding values. */
.vas-managed-body + .vas-section,
.vas-managed-hero + .vas-section:not(.vas-managed-body){
  padding-top:clamp(34px,3.8vw,58px)!important;
}

/* Galleries start close to the description. */
.vas-managed .vas-graphics,
.vas-managed .vas-grid2,
.vas-managed .vas-grid3,
.vas-managed .vas-albums,
.vas-managed .vas-pdf-books{
  margin-top:clamp(22px,2.8vw,42px)!important;
}

/* CTA remains separated, but not by an empty-screen gap. */
.vas-managed-cta{
  padding-top:clamp(58px,6vw,90px)!important;
  padding-bottom:clamp(74px,7vw,110px)!important;
  min-height:0!important;
}

@media(max-width:760px){
  .vas-managed-hero.no-bg{
    padding-top:104px!important;
    padding-bottom:28px!important;
  }
  .vas-managed-hero.has-bg{
    min-height:clamp(360px,48svh,520px)!important;
    padding-top:106px!important;
    padding-bottom:36px!important;
  }
  .vas-managed-title{
    font-size:clamp(42px,13vw,68px)!important;
    line-height:.94!important;
  }
  .vas-managed-intro{
    margin-top:14px!important;
    font-size:16px!important;
    line-height:1.55!important;
  }
  .vas-managed-body{
    padding-top:20px!important;
    padding-bottom:36px!important;
  }
  .vas-managed > .vas-section:not(.vas-managed-body):not(.vas-managed-cta){
    padding-top:34px!important;
    padding-bottom:48px!important;
  }
  .vas-managed-body + .vas-section,
  .vas-managed-hero + .vas-section:not(.vas-managed-body){
    padding-top:28px!important;
  }
  .vas-managed .vas-graphics,
  .vas-managed .vas-grid2,
  .vas-managed .vas-grid3,
  .vas-managed .vas-albums,
  .vas-managed .vas-pdf-books{
    margin-top:20px!important;
  }
  .vas-managed-cta{
    padding-top:48px!important;
    padding-bottom:82px!important;
  }
}


/* =========================================================
   v1.29.4 — dynamic service rotation in preloader
   ========================================================= */
.vas-preloader .vas-pre-inner{
  width:min(92vw,980px)!important;
  min-height:360px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.vas-preloader .vas-pre-num{
  margin-top:22px!important;
  font-size:10px!important;
  letter-spacing:.26em!important;
  color:rgba(255,255,255,.42)!important;
}
.vas-pre-services{
  position:relative!important;
  width:min(88vw,720px)!important;
  margin-top:20px!important;
  text-align:center!important;
  min-height:104px!important;
}
.vas-pre-service-kicker{
  margin-bottom:10px!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.32em!important;
  color:rgba(255,132,0,.8)!important;
}
.vas-pre-service-stage{
  position:relative!important;
  width:100%!important;
  min-height:66px!important;
}
.vas-pre-service{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  opacity:0!important;
  transform:translateY(16px) scale(.985)!important;
  filter:blur(9px)!important;
  visibility:hidden!important;
  transition:opacity .42s ease,transform .52s cubic-bezier(.2,.8,.2,1),filter .48s ease,visibility 0s linear .48s!important;
  pointer-events:none!important;
}
.vas-pre-service.is-active{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
  filter:blur(0)!important;
  visibility:visible!important;
  transition-delay:0s!important;
}
.vas-pre-service.is-leaving{
  opacity:0!important;
  transform:translateY(-13px) scale(.99)!important;
  filter:blur(7px)!important;
  visibility:visible!important;
}
.vas-pre-service-title{
  font-family:var(--vas-font,Montserrat,Arial,sans-serif)!important;
  font-size:clamp(15px,1.7vw,22px)!important;
  font-weight:600!important;
  line-height:1.16!important;
  letter-spacing:-.02em!important;
  color:#fff!important;
}
.vas-pre-service-desc{
  max-width:640px!important;
  margin-top:7px!important;
  font-size:clamp(9px,.82vw,11px)!important;
  line-height:1.5!important;
  color:rgba(255,255,255,.43)!important;
}
.vas-pre-service-count{
  margin-top:8px!important;
  font-size:8px!important;
  letter-spacing:.18em!important;
  color:rgba(255,255,255,.22)!important;
}
.vas-pre-service-count span{color:rgba(255,255,255,.5)!important}
@media(max-width:760px){
  .vas-preloader .vas-pre-inner{width:90vw!important;min-height:300px!important}
  .vas-pre-services{width:88vw!important;margin-top:18px!important;min-height:116px!important}
  .vas-pre-service-stage{min-height:80px!important}
  .vas-pre-service-title{font-size:15px!important}
  .vas-pre-service-desc{max-width:86vw!important;font-size:9px!important;line-height:1.45!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
}
@media(prefers-reduced-motion:reduce){
  .vas-pre-service{transition:opacity .18s ease!important;transform:none!important;filter:none!important}
}


/* =========================================================
   v1.29.5 — lock logo/progress to exact screen center
   Services rotate independently underneath without moving branding.
   ========================================================= */
.vas-preloader{position:fixed!important;inset:0!important;display:block!important}
.vas-preloader .vas-pre-inner{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  min-height:0!important;
  display:block!important;
}
.vas-preloader .vas-pre-logo,
.vas-preloader .vas-pre-title{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-58%)!important;
  margin:0!important;
  z-index:3!important;
  text-align:center!important;
}
.vas-preloader .vas-pre-num{
  position:absolute!important;
  left:50%!important;
  top:calc(50% + 54px)!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  z-index:3!important;
  white-space:nowrap!important;
}
.vas-pre-services{
  position:absolute!important;
  left:50%!important;
  top:calc(50% + 92px)!important;
  transform:translateX(-50%)!important;
  width:min(88vw,720px)!important;
  margin:0!important;
  min-height:112px!important;
  text-align:center!important;
  z-index:2!important;
}
.vas-pre-service-kicker{margin-bottom:11px!important}
.vas-pre-service-stage{min-height:72px!important}
.vas-pre-service-title{
  font-size:clamp(14px,1.45vw,20px)!important;
  font-weight:600!important;
}
.vas-pre-service-desc{
  max-width:620px!important;
  margin:7px auto 0!important;
  font-size:clamp(9px,.76vw,10.5px)!important;
}
.vas-pre-service-count{margin-top:7px!important}
@media(max-width:760px){
  .vas-preloader .vas-pre-logo,.vas-preloader .vas-pre-title{top:48%!important;transform:translate(-50%,-58%)!important}
  .vas-preloader .vas-pre-num{top:calc(48% + 48px)!important}
  .vas-pre-services{top:calc(48% + 82px)!important;width:86vw!important;min-height:106px!important}
  .vas-pre-service-stage{min-height:68px!important}
  .vas-pre-service-title{font-size:14px!important}
  .vas-pre-service-desc{font-size:8.8px!important;line-height:1.4!important;max-width:82vw!important}
}


/* =========================================================
   v1.29.6 — client section spacing + reliable centered preloader
   ========================================================= */

/* Clients should read as one compact strip between Hero and Who We Are. */
.vas-hero + .vas-clients{
  margin-top:0!important;
  padding:34px 0 38px!important;
  min-height:0!important;
  height:auto!important;
}
.vas-clients-inner{
  min-height:0!important;
}
.vas-clients-label{
  padding:0 clamp(20px,6.5vw,130px)!important;
  margin:0 0 22px!important;
  line-height:1.2!important;
}
.vas-client-marquee{
  min-height:0!important;
}
.vas-client-track{
  align-items:center!important;
}
.vas-clients + #vas-experience{
  padding-top:64px!important;
}
.vas-clients + #vas-experience .vas-kicker{
  margin-top:0!important;
}

/* Remove decorative overlap that visually creates a fake empty band here. */
.vas-clients::before{
  height:24px!important;
  top:-22px!important;
}
#vas-experience::before{
  height:28px!important;
  top:-26px!important;
}

/* Preloader: logo and percentage stay locked around the exact center.
   Services live in their own layer below, so changing text never moves the brand. */
.vas-preloader{
  position:fixed!important;
  inset:0!important;
  z-index:100000!important;
  display:block!important;
  background:#050505!important;
  overflow:hidden!important;
}
.vas-preloader .vas-pre-inner{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:block!important;
}
.vas-preloader .vas-pre-logo,
.vas-preloader .vas-pre-title{
  position:absolute!important;
  left:50%!important;
  top:46%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  z-index:4!important;
  max-width:min(72vw,620px)!important;
  text-align:center!important;
}
.vas-preloader .vas-pre-num{
  position:absolute!important;
  left:50%!important;
  top:calc(46% + 62px)!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  z-index:4!important;
  white-space:nowrap!important;
  font-size:10px!important;
  letter-spacing:.26em!important;
  color:rgba(255,255,255,.44)!important;
}
.vas-pre-services{
  position:absolute!important;
  left:50%!important;
  top:calc(46% + 98px)!important;
  transform:translateX(-50%)!important;
  width:min(88vw,700px)!important;
  min-height:102px!important;
  margin:0!important;
  text-align:center!important;
  z-index:3!important;
}
.vas-pre-service-kicker{
  margin:0 0 10px!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.30em!important;
  color:rgba(255,132,0,.78)!important;
}
.vas-pre-service-stage{
  position:relative!important;
  width:100%!important;
  min-height:62px!important;
}
.vas-pre-service{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(14px) scale(.985)!important;
  filter:blur(9px)!important;
  transition:
    opacity .34s ease,
    transform .46s cubic-bezier(.2,.78,.2,1),
    filter .38s ease,
    visibility 0s linear .42s!important;
  pointer-events:none!important;
}
.vas-pre-service.is-active{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0) scale(1)!important;
  filter:blur(0)!important;
  transition-delay:0s!important;
}
.vas-pre-service.is-leaving{
  opacity:0!important;
  visibility:visible!important;
  transform:translateY(-12px) scale(.99)!important;
  filter:blur(7px)!important;
}
.vas-pre-service-title{
  font-family:var(--vas-font,Montserrat,Arial,sans-serif)!important;
  font-size:clamp(14px,1.35vw,19px)!important;
  font-weight:600!important;
  line-height:1.15!important;
  color:#fff!important;
}
.vas-pre-service-desc{
  max-width:620px!important;
  margin:6px auto 0!important;
  font-size:clamp(9px,.74vw,10.5px)!important;
  line-height:1.45!important;
  color:rgba(255,255,255,.42)!important;
}
.vas-pre-service-count{
  margin-top:7px!important;
  font-size:8px!important;
  letter-spacing:.18em!important;
  color:rgba(255,255,255,.22)!important;
}
.vas-pre-service-count span{
  color:rgba(255,255,255,.52)!important;
}

@media(max-width:760px){
  .vas-hero + .vas-clients{
    padding:24px 0 28px!important;
  }
  .vas-clients-label{
    padding-inline:18px!important;
    margin-bottom:16px!important;
  }
  .vas-clients + #vas-experience{
    padding-top:44px!important;
  }

  .vas-preloader .vas-pre-logo,
  .vas-preloader .vas-pre-title{
    top:44%!important;
    max-width:82vw!important;
  }
  .vas-preloader .vas-pre-num{
    top:calc(44% + 54px)!important;
  }
  .vas-pre-services{
    top:calc(44% + 87px)!important;
    width:86vw!important;
    min-height:100px!important;
  }
  .vas-pre-service-stage{
    min-height:68px!important;
  }
  .vas-pre-service-title{
    font-size:14px!important;
  }
  .vas-pre-service-desc{
    max-width:82vw!important;
    font-size:8.8px!important;
    line-height:1.4!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .vas-pre-service{
    transform:none!important;
    filter:none!important;
    transition:opacity .18s ease!important;
  }
}

/* =========================================================
   v1.30 — unified Hero media + categorized video showcases
   ========================================================= */
.vas-video.is-image img.vas-clean-image{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:inherit!important;
  pointer-events:none!important;
}
.vas-video-category{
  margin-top:clamp(34px,5vw,72px);
}
.vas-video-category:first-of-type{
  margin-top:34px;
}
.vas-video-category-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  padding-bottom:11px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.vas-video-category-head h3{
  margin:0;
  font-family:var(--vas-nexa-bold,Nexa,Montserrat,sans-serif);
  font-size:clamp(22px,2.4vw,34px);
  font-weight:600;
  color:#fff;
}
.vas-video-category-head span{
  color:var(--vas-muted,#888);
  font-size:10px;
  white-space:nowrap;
}
.vas-video-gallery-card{
  position:relative;
}
.vas-video-card-title{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:4;
  padding:7px 9px;
  border-radius:8px;
  background:rgba(0,0,0,.67);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:9px;
  line-height:1.3;
  text-align:left;
  opacity:0;
  transform:translateY(5px);
  transition:.25s ease;
}
.vas-video-gallery-card:hover .vas-video-card-title,
.vas-video-gallery-card:focus-visible .vas-video-card-title{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:760px){
  .vas-video-category{margin-top:34px}
  .vas-video-category-head{align-items:center;margin-bottom:13px}
  .vas-video-category-head h3{font-size:21px}
  .vas-video-card-title{opacity:1;transform:none;font-size:8px}
}


/* =========================================================
   v1.30.1 — preloader brand crop fix
   The old zoom keyframes animated `transform: scale(...)`, which overwrote
   the absolute-centering translate and pushed half of the brand off-screen.
   ========================================================= */
.vas-preloader .vas-pre-title,
.vas-preloader .vas-pre-logo{
  width:max-content!important;
  max-width:92vw!important;
  overflow:visible!important;
  white-space:nowrap!important;
  transform:translate(-50%,-50%) scale(1)!important;
  transform-origin:center center!important;
  animation:vasPreBrandEnter 1.45s cubic-bezier(.2,.8,.2,1) both!important;
}
.vas-preloader .vas-pre-title{
  font-size:clamp(38px,6vw,96px)!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  animation:
    vasPreBrandEnter 1.45s cubic-bezier(.2,.8,.2,1) both,
    vasFlow 1.5s linear infinite!important;
}
@keyframes vasPreBrandEnter{
  0%{
    transform:translate(-50%,-50%) scale(1.22);
    opacity:0;
    filter:blur(7px);
  }
  55%{
    transform:translate(-50%,-50%) scale(1.02);
    opacity:1;
    filter:blur(0);
  }
  100%{
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
    filter:blur(0);
  }
}
@media(max-width:760px){
  .vas-preloader .vas-pre-title,
  .vas-preloader .vas-pre-logo{
    max-width:90vw!important;
  }
  .vas-preloader .vas-pre-title{
    font-size:clamp(31px,11vw,54px)!important;
    letter-spacing:-.025em!important;
  }
}


/* =========================================================
   v1.31 — full-width clients, footer connect column, contact drawer
   ========================================================= */

/* The marquee now contains 8 repeated client cycles. Keep the exact half-track
   animation, but make sure the visible viewport never reaches an empty tail. */
.vas-client-marquee{
  width:100%!important;
  overflow:hidden!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.vas-client-track{
  min-width:max-content!important;
  padding-right:var(--client-gap,34px)!important;
}
.vas-client{
  flex:0 0 auto!important;
}

/* Footer uses the available right side instead of ending after three columns. */
.vas-footer-grid{
  grid-template-columns:minmax(300px,1.2fr) minmax(170px,.65fr) minmax(170px,.65fr) minmax(220px,.8fr)!important;
  gap:clamp(30px,4vw,68px)!important;
}
.vas-footer-connect{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.vas-footer-connect-copy{
  color:#888;
  font-size:13px;
  line-height:1.6;
  max-width:300px;
}
.vas-footer-email{
  color:#777!important;
  font-size:12px;
  overflow-wrap:anywhere;
}
.vas-footer-brand img{
  display:block!important;
  max-width:min(280px,100%)!important;
  max-height:56px!important;
  height:auto!important;
  width:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Global contact drawer. */
.vas-contact-drawer{
  position:fixed;
  inset:0;
  z-index:160000;
  pointer-events:none;
  visibility:hidden;
}
.vas-contact-drawer.open{
  pointer-events:auto;
  visibility:visible;
}
.vas-contact-drawer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.70);
  backdrop-filter:blur(10px);
  opacity:0;
  transition:opacity .28s ease;
}
.vas-contact-drawer.open .vas-contact-drawer-backdrop{opacity:1}
.vas-contact-drawer-panel{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  max-height:min(88vh,900px);
  overflow:auto;
  padding:26px clamp(20px,5vw,80px) 34px;
  background:#0b0b0c;
  border-top:1px solid rgba(255,255,255,.12);
  border-radius:28px 28px 0 0;
  box-shadow:0 -34px 90px rgba(0,0,0,.52);
  transform:translateY(102%);
  transition:transform .48s cubic-bezier(.2,.82,.2,1);
}
.vas-contact-drawer.open .vas-contact-drawer-panel{transform:translateY(0)}
.vas-drawer-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  max-width:1450px;
  margin:0 auto 18px;
}
.vas-drawer-head h2{
  margin:5px 0 0;
  color:#fff;
  font-family:var(--vas-nexa-bold,var(--vas-font));
  font-size:clamp(27px,3vw,46px);
  line-height:1.05;
}
.vas-drawer-close{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  background:#111;
  color:#fff;
  font-size:25px;
  cursor:pointer;
}
.vas-drawer-tabs{
  max-width:1450px;
  margin:0 auto 20px;
  display:flex;
  gap:8px;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:12px;
}
.vas-drawer-tabs button{
  border:1px solid rgba(255,255,255,.12);
  background:#111;
  color:#777;
  border-radius:999px;
  padding:9px 14px;
  cursor:pointer;
}
.vas-drawer-tabs button.is-active{
  color:#fff;
  border-color:rgba(255,128,0,.55);
  background:rgba(255,128,0,.10);
}
.vas-drawer-body{
  max-width:1450px;
  margin:auto;
}
.vas-drawer-pane{display:none}
.vas-drawer-pane.is-active{display:block}
.vas-drawer-pane .vas-contact-form{
  max-width:1100px;
  margin:0 auto;
}
.vas-drawer-pane[data-drawer-pane="newsletter"]{
  max-width:960px;
  margin:0 auto;
}
.vas-drawer-newsletter-copy{
  margin-bottom:20px;
}
.vas-drawer-newsletter-copy h3{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(22px,2vw,32px);
}
.vas-drawer-newsletter-copy p{
  color:#8b8b92;
  line-height:1.6;
}
.vas-drawer-open,
html.vas-drawer-open body{
  overflow:hidden!important;
}

@media(max-width:1220px){
  .vas-footer-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .vas-footer-grid>div:first-child{
    grid-column:1/-1!important;
  }
}
@media(max-width:760px){
  .vas-footer-grid{grid-template-columns:1fr!important}
  .vas-footer-grid>div:first-child{grid-column:auto!important}
  .vas-contact-drawer-panel{
    max-height:92vh;
    padding:20px 14px 26px;
    border-radius:20px 20px 0 0;
  }
  .vas-drawer-head{align-items:center}
  .vas-drawer-tabs{overflow:auto}
  .vas-drawer-pane .vas-contact-form{padding:16px}
}
