*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--surface-primary);font-family:var(--font-body);color:var(--text-primary);-webkit-font-smoothing:antialiased}
a{color:var(--text-primary);text-decoration:none}
a:hover{color:var(--accent-primary-hover)}
::selection{background:var(--text-primary);color:var(--surface-primary)}
img,svg{max-width:100%}
.vx-logo{width:auto;height:38px;flex:0 0 auto;object-fit:contain}
.vx-shell{max-width:1200px;margin:0 auto;padding-left:48px;padding-right:48px}
.vx-split{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:32px}
.vx-split-wide{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:48px}
.vx-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.vx-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.vx-g5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.vx-burger{display:none}
.vx-menubtn{width:48px;height:48px;margin-right:-12px;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;flex:0 0 auto}
@media (max-width:1080px){
.vx-shell{padding-left:32px;padding-right:32px}
.vx-nav{display:none!important}
.vx-burger{display:inline-flex!important}
.vx-split,.vx-split-wide{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
.vx-g5,.vx-g2m{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* no phantom cells */
.vx-g5 > :last-child:nth-child(odd){grid-column:1 / -1}
.vx-g2m > :last-child:nth-child(odd){grid-column:1 / -1}
.vx-hero{grid-template-columns:minmax(0,1fr)!important;gap:44px!important}
.vx-wizard{grid-template-columns:minmax(0,1fr)!important;gap:40px!important}
.vx-aside{position:static!important;order:-1}
.vx-footer{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.vx-cta{grid-template-columns:minmax(0,1fr)!important;gap:32px!important;align-items:start!important}
.vx-svc,.vx-ind,.vx-case{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
.vx-media,.vx-media-xl{height:380px!important}
.vx-case-img{order:-1!important}
.vx-founder{grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
}
@media (max-width:720px){
.vx-shell{padding-left:20px;padding-right:20px}
.vx-g2,.vx-g3,.vx-g5,.vx-g2m{grid-template-columns:minmax(0,1fr)!important}
.vx-g3,.vx-g5,.vx-g2m{gap:1px!important}
.vx-g5 > :last-child:nth-child(odd),.vx-g2m > :last-child:nth-child(odd){grid-column:auto}
.vx-case{gap:28px!important;padding:44px 0!important}
.vx-footer{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
.vx-svcrow{grid-template-columns:36px minmax(0,1fr)!important;gap:12px!important}
.vx-svcrow h3{grid-column:2}
.vx-svcrow p{grid-column:2}
.vx-review{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
.vx-review button{justify-self:start;margin-top:4px}
.vx-contact{grid-template-columns:minmax(0,1fr)!important;gap:48px!important}
.vx-filerow{grid-template-columns:34px minmax(0,1fr)!important;gap:10px 14px!important}
.vx-filerow span:nth-child(3),.vx-filerow button{grid-column:2}
.vx-stack-sm{grid-template-columns:minmax(0,1fr)!important}
.vx-chips{gap:10px!important}
.vx-chips button{width:100%;justify-content:flex-start}
.vx-steps{padding-top:14px!important;padding-bottom:14px!important;gap:14px!important}
.vx-drop{padding:32px 20px!important}
.vx-navrow{gap:12px!important}
.vx-navrow button{flex:1;justify-content:center;min-width:0}
.vx-navhint{width:100%;order:3}
.vx-startover{display:inline-block!important;order:4;margin-top:4px}
.vx-media{height:300px!important}
.vx-media-xl{height:280px!important}
.vx-media-sm{height:220px!important}
.vx-formframe{height:1700px!important}
.vx-aside{display:none!important}
.vx-careers{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
.vx-rolehead{flex-direction:column!important;align-items:flex-start!important;gap:16px!important}
.vx-rolehead a{width:100%;justify-content:center}
}
@media (hover:none),(pointer:coarse){
.vx-navhint:not(.vx-touchhint){display:none!important}
.vx-touchhint{display:inline!important}
.vx-fig-hit{cursor:default}
.vx-figlegend{display:flex!important}
}
@media (max-width:720px){
.vx-fig{max-width:420px;margin:0 auto;width:100%}
.vx-figbar span:nth-child(3){display:none}
}
@media (max-width:1080px){.vx-contact{grid-template-columns:minmax(0,1fr)!important;gap:56px!important}}

/* ---- static-site additions ---- */
.vx-field label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:7px}
.vx-input,.vx-textarea{width:100%;font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--text-primary);background:var(--surface-primary);border:1.5px solid var(--border-default);border-radius:var(--radius-md);outline:none;transition:border-color 160ms var(--ease-standard)}
.vx-input{height:44px;padding:0 14px}
.vx-textarea{padding:12px 14px;resize:vertical}
.vx-input:focus,.vx-textarea:focus{border-color:var(--accent-primary)}
.vx-input::placeholder,.vx-textarea::placeholder{color:var(--text-tertiary)}
.vx-check{display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:14.5px;line-height:1.5;color:var(--text-primary)}
.vx-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent-primary);flex:0 0 auto;cursor:pointer}
.vx-btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 26px;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;background:var(--accent-primary);color:var(--text-on-accent);transition:background 160ms var(--ease-standard),gap 200ms var(--ease-standard)}
.vx-btn:hover{background:var(--accent-primary-hover);gap:16px}
.vx-btn:disabled{background:var(--surface-secondary);color:var(--text-tertiary);border:1px solid var(--border-default);cursor:not-allowed}
.vx-btn:disabled:hover{gap:10px;background:var(--surface-secondary)}
.vx-btn-ghost{background:var(--surface-primary);color:var(--text-primary);border:1px solid var(--border-strong)}
.vx-btn-ghost:hover{background:var(--surface-secondary)}
@keyframes vxin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes vxfadeout{to{opacity:0;transform:translateY(-8px)}}
main{animation:vxin 460ms cubic-bezier(0.16,1,0.3,1) both}
@media (prefers-reduced-motion:reduce){main{animation:none;opacity:1;transform:none}*{transition-duration:0.01ms!important;animation-duration:0.01ms!important}}
[hidden]{display:none!important}


/* ---- hover & active states (inline styles cannot carry :hover) ---- */
.vx-h-primary:hover{background:var(--accent-primary-hover)!important;gap:16px}
.vx-h-primary:active{background:var(--accent-primary-active)!important}
.vx-h-invert:hover{background:var(--grey-200)!important;gap:16px}
.vx-h-ghost:hover{background:var(--surface-secondary)!important;border-color:var(--accent-primary)!important}
.vx-h-arrow:hover{gap:16px;border-bottom-color:var(--accent-primary)!important;color:var(--text-primary)!important}
.vx-h-card:hover{background:var(--surface-secondary)!important}
.vx-h-menuitem:hover{background:var(--surface-secondary)!important}
.vx-h-workcard:hover{border-color:var(--border-strong)!important;background:var(--surface-secondary)!important}
.vx-h-nav:hover{color:var(--text-primary)!important}
.vx-h-nav:hover span{border-bottom-color:var(--accent-primary)!important}
a.vx-svcrow{transition:background 200ms var(--ease-standard),padding-left 260ms cubic-bezier(0.16,1,0.3,1)}
a.vx-svcrow:hover{background:var(--surface-secondary);padding-left:22px!important}
div.vx-svcrow{padding-left:12px!important;padding-right:12px!important;margin-left:-12px;margin-right:-12px;transition:background 200ms var(--ease-standard),padding-left 260ms cubic-bezier(0.16,1,0.3,1)}
div.vx-svcrow:hover{background:var(--surface-secondary);padding-left:22px!important}
header a[href="/"]:hover{opacity:0.65}
[data-menu-label]{outline:none}
[data-menu]:focus-within [data-menu-panel]{opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important}

/* wizard controls */
[data-pick]:hover,[data-need]:hover{border-color:var(--accent-primary)!important}
[data-drop]:hover{border-color:var(--accent-primary)!important}
[data-remove]:hover,[data-edit]:hover,[data-startover]:hover,[data-startover-m]:hover{color:var(--text-primary)!important;border-bottom-color:var(--accent-primary)!important}
[data-filter]:hover{border-color:var(--accent-primary)!important}
.vx-menubtn:hover span span{background:var(--accent-primary)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}
.vx-input:focus,.vx-textarea:focus,.vx-input:focus-visible,.vx-textarea:focus-visible{outline:none;box-shadow:none}
input[type=checkbox]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}
