/* VUXORA — immersive gradient and floating support, November 2026 */
html[data-theme="dark"]{--bg:#010619;--surface:#0b1730;--surface2:#132546;--text:#f6f8ff;--muted:#bac8df;--line:#ffffff25;--blue:#010619;--blue2:#16315b;color-scheme:dark}
html[data-theme="light"]{--bg:#f8faff;--surface:#ffffff;--surface2:#edf3fc;--text:#14213c;--muted:#4b5f7c;--line:#17335826;--blue:#eaf1fc;--blue2:#dce8fa;color-scheme:light}
html{background:#010619}
html[data-theme="light"]{background:#f8fbff}
body,html[data-theme="dark"] body,html[data-theme="light"] body{background:transparent!important;color:var(--text)!important;isolation:isolate}
body::before{content:"";position:fixed;inset:-15vh -16vw;z-index:-1;pointer-events:none;transform:translate3d(0,0,0) scale(1.06);background:radial-gradient(ellipse 48% 35% at 19% 13%,#092864 0%,transparent 80%),radial-gradient(ellipse 40% 48% at 86% 64%,#091b52 0%,transparent 85%),radial-gradient(ellipse 45% 38% at 33% 97%,#071944 0%,transparent 77%),linear-gradient(135deg,#010619,#020c26 50%,#00030f);animation:vx-ambient-waves 45s ease-in-out infinite alternate;will-change:transform}
html[data-theme="light"] body::before{background:radial-gradient(ellipse 50% 40% at 15% 18%,#d7e6ff 0%,transparent 78%),radial-gradient(ellipse 43% 42% at 90% 56%,#e5edff 0%,transparent 83%),radial-gradient(ellipse 47% 35% at 38% 92%,#dfe9ff 0%,transparent 80%),linear-gradient(135deg,#ffffff,#f3f7ff 55%,#fff)}
@keyframes vx-ambient-waves{0%{transform:translate3d(-2%,0,0) scale(1.08)}50%{transform:translate3d(2%,-3%,0) scale(1.13)}100%{transform:translate3d(-1%,3%,0) scale(1.09)}}
body main,body main .nx-section,body main .nx-services,body main .nx-team,body main .nx-contact,body main .nx-facts,body main .nx-clients,body main .nx-process,body main .vx-form-faq,body main .nx-reviews,body main .nx-projects,body main .nx-about,body main .vx-deck-section,body main .nx-bento-section{background-color:transparent!important;background-image:none!important}
body .vx-full-bleed::before{background:transparent!important}
html[data-theme="dark"] .footer{background:linear-gradient(145deg,rgba(1,6,25,.94),rgba(4,19,49,.92),rgba(1,6,25,.96))!important}
html[data-theme="light"] .footer{background:linear-gradient(145deg,#f9fcff,#e9f2ff 53%,#f7fbff)!important;color:#172746!important}
html[data-theme="light"] .footer a,html[data-theme="light"] .footer h2,html[data-theme="light"] .footer h3,html[data-theme="light"] .footer .footer-email{color:#172746!important}
html[data-theme="light"] .footer p,html[data-theme="light"] .footer .footer-bottom{color:#49617f!important}
html[data-theme="light"] .footer .footer-kicker{color:#de5e12!important}
html[data-theme="light"] .footer .footer-top,html[data-theme="light"] .footer .footer-bottom{border-color:#223e6224}
html[data-theme="light"] .nx-heading,html[data-theme="light"] .nx-section-head h2,html[data-theme="light"] .nx-section-head p,html[data-theme="light"] .nx-process h2,html[data-theme="light"] .nx-process h3,html[data-theme="light"] .nx-process p{color:var(--text)!important}
html[data-theme="light"] .nx-process .nx-label{color:#d75b15!important}
html[data-theme="light"] #services .nx-tabs button{color:#172746}
html[data-theme="light"] #services .nx-tabs button[aria-selected="true"]{color:#fff}
html[data-theme="light"] #services .nx-service-panel{color:#172746}
html[data-theme="light"] .vx-faq-wrap h2,html[data-theme="light"] .vx-faq-wrap .nx-heading{color:#14213c!important}
html[data-theme="light"] .vx-faq-wrap details,html[data-theme="light"] .vx-faq-wrap summary,html[data-theme="light"] .vx-faq-wrap details p{background:#fff;color:#243553!important}
html[data-theme="light"] .vx-form-wrap{background:linear-gradient(135deg,#fff,#edf4ff)!important;color:#14213c}
html[data-theme="light"] .vx-form-wrap h3,html[data-theme="light"] .vx-form-wrap label{color:#14213c!important}
html[data-theme="light"] .vx-form-wrap input,html[data-theme="light"] .vx-form-wrap textarea,html[data-theme="light"] .vx-form-wrap select{color:#14213c!important;border-color:#a9bad9!important}
html[data-theme="light"] .vx-form-wrap input::placeholder,html[data-theme="light"] .vx-form-wrap textarea::placeholder{color:#667999}
/* alternating tinted areas with transparent edges, no hard rectangular interruptions */
html[data-theme="dark"] #services,html[data-theme="dark"] .nx-process{background:linear-gradient(180deg,transparent,rgba(5,18,51,.34) 30%,rgba(8,28,64,.35) 75%,transparent)!important}
html[data-theme="light"] #services,html[data-theme="light"] .nx-process{background:linear-gradient(180deg,transparent,rgba(220,234,255,.55) 34%,rgba(235,242,255,.5) 75%,transparent)!important}
/* Full viewport width for the service section; content stays aligned and readable */
#services{width:100%!important;max-width:none!important;min-height:100svh;padding-block:clamp(85px,9vh,130px);position:relative}
#services>.container{width:min(96%,1680px)!important;max-width:none!important;margin-inline:auto}
#services .nx-service-layout{width:100%;grid-template-columns:minmax(225px,.72fr) minmax(0,2.28fr);gap:clamp(14px,2vw,32px)}
#services .nx-service-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
#services .vx-service-copy{min-height:clamp(540px,68vh,760px);background:linear-gradient(145deg,#f77724,#ef6215 60%,#cf4510)!important;color:#fff!important;border-radius:22px;box-shadow:0 18px 50px #05081638}
#services .vx-service-copy h3,#services .vx-service-copy p,#services .vx-service-copy li,#services .vx-service-copy a{color:#fff!important}
#services .vx-service-copy .vx-service-icon{filter:brightness(0) invert(1)!important}
#services .vx-service-copy li::before{color:#fff!important}
#services .nx-service-image{border-radius:22px;min-height:clamp(540px,68vh,760px)!important}
#services .nx-service-image img{height:100%;object-fit:cover}
#services .nx-section-head{gap:35px}
@media(max-width:1050px){#services .nx-service-layout{grid-template-columns:1fr}#services .nx-service-panel{grid-template-columns:1fr 1fr}}
@media(max-width:680px){#services>.container{width:calc(100% - 32px)!important}#services .nx-service-panel{grid-template-columns:1fr}#services .vx-service-copy{min-height:390px}#services .nx-service-image{min-height:350px!important;height:350px}#services .nx-tabs{grid-template-columns:1fr 1fr}}
/* accessible floating support launcher */
.floating-contact{display:none!important}
.vx-assist-dock{position:fixed;right:22px;bottom:23px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:990;pointer-events:none;font-family:inherit}
.vx-assist-dock>*{pointer-events:auto}
.vx-assist-actions{display:flex;flex-direction:column;gap:11px;align-items:center}
.vx-assist-button{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;box-shadow:0 6px 23px #0004;transition:transform .25s,box-shadow .25s;background:#ef6b1d;text-decoration:none}
.vx-assist-button:hover,.vx-assist-button:focus-visible{transform:translateY(-4px);box-shadow:0 0 0 4px #ed6c1d22,0 0 25px #f57744a1;outline:none}
.vx-assist-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vx-assist-wa{background:#25b65b;border-color:#25b65b}
.vx-assist-wa:hover,.vx-assist-wa:focus-visible{box-shadow:0 0 0 4px #25d36633,0 0 26px #25d366a3}
.vx-assist-top{background:#0d204a;border-color:#f67a3580;box-shadow:0 0 18px #ff7b4355,0 6px 18px #0004;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,box-shadow .25s}
.vx-assist-top.vx-show{opacity:1;transform:none;pointer-events:auto}
.vx-assist-top:hover{box-shadow:0 0 26px #ff7b43bb}
.vx-assist-note{position:absolute;right:69px;bottom:121px;width:max-content;max-width:min(260px,calc(100vw - 120px));background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:0 10px 35px #0003;border-radius:15px;padding:13px 18px;font-size:13px;line-height:1.4;transition:opacity .25s,transform .25s;pointer-events:none}
.vx-assist-note[hidden]{display:none}
.vx-assist-note strong{display:block;color:var(--text);font-size:14px}
.vx-assist-note span{color:var(--muted);font-size:12px}
.vx-assist-dialog{width:min(354px,calc(100vw - 28px));background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:0 22px 55px #0006;border-radius:22px;overflow:hidden}
.vx-assist-dialog[hidden]{display:none}
.vx-assist-head{background:linear-gradient(125deg,#0b224b,#010619);color:#fff;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.vx-assist-head strong{display:block}.vx-assist-head small{font-size:11px;color:#c0d7f2}.vx-assist-close{background:none;border:none;color:#fff;font-size:25px;cursor:pointer;line-height:1}
.vx-assist-content{padding:18px;font-size:13px;line-height:1.55;min-height:125px}
.vx-assist-reply{padding:12px 14px;background:var(--surface2);border-radius:14px;color:var(--text);margin:6px 0 13px}
.vx-assist-options{display:flex;flex-wrap:wrap;gap:7px}
.vx-assist-options button{cursor:pointer;border:1px solid var(--line);color:var(--text);background:transparent;border-radius:30px;padding:8px 12px;font-size:12px}
.vx-assist-options button:hover{border-color:#f77724;color:#ef6b1d}
.vx-assist-foot{padding:12px 18px 17px;border-top:1px solid var(--line)}
.vx-assist-foot a{display:flex;align-items:center;justify-content:center;gap:8px;background:#25b65b;color:white!important;border-radius:30px;padding:11px;font-size:12px;font-weight:700;text-decoration:none}
@media(max-width:600px){.vx-assist-dock{right:12px;bottom:12px}.vx-assist-button{width:48px;height:48px}.vx-assist-note{right:60px;bottom:112px}}
@media(prefers-reduced-motion:reduce){body::before{animation:none!important}.vx-assist-button{transition:none!important}}
