/* VIONEX unified public palette. Color-only; layouts and typography stay local. */
:root {
 --vx-bg:#080d14;--vx-bg-soft:#0c131e;--vx-text:#eef3fa;--vx-muted:#b2bfd0;--vx-dim:#8b9bb1;
 --vx-accent:#8eb2ff;--vx-button:#245bdd;--vx-button-hover:#1c4fc8;--vx-secondary:#79d6bf;
 --vx-surface:rgba(23,35,51,.76);--vx-solid:#101824;--vx-surface-2:rgba(28,43,62,.68);--vx-surface-3:#1b2b40;
 --vx-line:rgba(167,190,220,.20);--vx-rule:rgba(167,190,220,.12);--vx-line-strong:#64758d;
 --vx-tint:rgba(89,139,240,.12);--vx-glass:rgba(23,35,51,.80);--vx-field:#142031;
 --vx-highlight-text:#bed2ff;--vx-highlight-start:rgba(40,70,120,.68);--vx-highlight-end:rgba(20,40,69,.80);
 --vx-highlight-rim:rgba(148,182,245,.30);--vx-highlight-edge:rgba(52,88,145,.48);--vx-highlight-shadow:rgba(0,0,0,.30);--vx-highlight-glint:rgba(209,226,255,.15);
}
html[data-theme="light"] {
 --vx-bg:#f6f7f9;--vx-bg-soft:#edf1f5;--vx-text:#172334;--vx-muted:#53647a;--vx-dim:#60738a;
 --vx-accent:#245bdd;--vx-secondary:#137e68;
 --vx-surface:rgba(255,255,255,.76);--vx-solid:#fff;--vx-surface-2:rgba(248,250,252,.90);--vx-surface-3:#eef2f6;
 --vx-line:rgba(72,104,144,.18);--vx-rule:rgba(72,104,144,.10);--vx-line-strong:#7a8ca4;
 --vx-tint:rgba(54,110,216,.065);--vx-glass:rgba(255,255,255,.84);--vx-field:#fff;
 --vx-highlight-text:#1c4cb5;--vx-highlight-start:rgba(240,246,255,.96);--vx-highlight-end:rgba(208,224,252,.92);
 --vx-highlight-rim:rgba(78,127,217,.25);--vx-highlight-edge:rgba(71,119,201,.24);--vx-highlight-shadow:rgba(35,65,114,.16);--vx-highlight-glint:rgba(255,255,255,.90);
}
html[data-theme] body[data-page] {
 --bg:var(--vx-bg);--bg-soft:var(--vx-bg-soft);--text:var(--vx-text);--muted:var(--vx-muted);--muted-2:var(--vx-dim);
 --surface:var(--vx-surface);--surface-solid:var(--vx-solid);--surface-2:var(--vx-surface-2);--surface-3:var(--vx-surface-3);
 --line:var(--vx-line);--line-strong:var(--vx-line-strong);--primary:var(--vx-button);--primary-2:var(--vx-accent);--primary-soft:var(--vx-tint);--cyan:var(--vx-secondary);
 --hero-ink:var(--vx-text);--hero-muted:var(--vx-muted);--hero-panel:var(--vx-surface);--hero-panel-strong:var(--vx-glass);--hero-border:var(--vx-line);--hero-violet:var(--vx-accent);--hero-violet-2:var(--vx-button);--hero-cyan:var(--vx-secondary);
 background-color:var(--vx-bg);color:var(--vx-text);
}
html[data-theme] body[data-page] {--am-bg:var(--vx-bg);--am-text:var(--vx-text);--am-muted:var(--vx-muted);--am-dim:var(--vx-dim);--am-accent:var(--vx-accent);--am-blue:var(--vx-accent);--am-blue-text:var(--vx-accent);--am-button:var(--vx-button);--am-line:var(--vx-line);--am-border:var(--vx-line);--am-rule:var(--vx-rule);--am-grid:var(--vx-rule);--am-panel:var(--vx-surface);--am-glass:var(--vx-glass);--am-field:var(--vx-field);--am-field-line:var(--vx-line-strong);--am-field-border:var(--vx-line-strong);--am-focus:var(--vx-accent);--am-tint:var(--vx-tint);--am-soft:var(--vx-tint);--am-headline-text:var(--vx-highlight-text);--am-headline-bg:var(--vx-highlight-start);--am-headline-end:var(--vx-highlight-end);--am-headline-rim:var(--vx-highlight-rim);--am-headline-edge:var(--vx-highlight-edge);--am-headline-shadow:var(--vx-highlight-shadow);--am-headline-glint:var(--vx-highlight-glint);}
html[data-theme] body[data-page] {--dn-bg:var(--vx-bg);--dn-text:var(--vx-text);--dn-muted:var(--vx-muted);--dn-dim:var(--vx-dim);--dn-accent:var(--vx-accent);--dn-blue:var(--vx-accent);--dn-blue-text:var(--vx-accent);--dn-button:var(--vx-button);--dn-line:var(--vx-line);--dn-border:var(--vx-line);--dn-rule:var(--vx-rule);--dn-grid:var(--vx-rule);--dn-panel:var(--vx-surface);--dn-glass:var(--vx-glass);--dn-field:var(--vx-field);--dn-field-line:var(--vx-line-strong);--dn-field-border:var(--vx-line-strong);--dn-focus:var(--vx-accent);--dn-tint:var(--vx-tint);--dn-soft:var(--vx-tint);--dn-headline-text:var(--vx-highlight-text);--dn-headline-bg:var(--vx-highlight-start);--dn-headline-end:var(--vx-highlight-end);--dn-headline-rim:var(--vx-highlight-rim);--dn-headline-edge:var(--vx-highlight-edge);--dn-headline-shadow:var(--vx-highlight-shadow);--dn-headline-glint:var(--vx-highlight-glint);}
html[data-theme] body[data-page] {--re-bg:var(--vx-bg);--re-text:var(--vx-text);--re-muted:var(--vx-muted);--re-dim:var(--vx-dim);--re-accent:var(--vx-accent);--re-blue:var(--vx-accent);--re-blue-text:var(--vx-accent);--re-button:var(--vx-button);--re-line:var(--vx-line);--re-border:var(--vx-line);--re-rule:var(--vx-rule);--re-grid:var(--vx-rule);--re-panel:var(--vx-surface);--re-glass:var(--vx-glass);--re-field:var(--vx-field);--re-field-line:var(--vx-line-strong);--re-field-border:var(--vx-line-strong);--re-focus:var(--vx-accent);--re-tint:var(--vx-tint);--re-soft:var(--vx-tint);--re-headline-text:var(--vx-highlight-text);--re-headline-bg:var(--vx-highlight-start);--re-headline-end:var(--vx-highlight-end);--re-headline-rim:var(--vx-highlight-rim);--re-headline-edge:var(--vx-highlight-edge);--re-headline-shadow:var(--vx-highlight-shadow);--re-headline-glint:var(--vx-highlight-glint);}
html[data-theme] body[data-page] {--ca-bg:var(--vx-bg);--ca-text:var(--vx-text);--ca-muted:var(--vx-muted);--ca-dim:var(--vx-dim);--ca-accent:var(--vx-accent);--ca-blue:var(--vx-accent);--ca-blue-text:var(--vx-accent);--ca-button:var(--vx-button);--ca-line:var(--vx-line);--ca-border:var(--vx-line);--ca-rule:var(--vx-rule);--ca-grid:var(--vx-rule);--ca-panel:var(--vx-surface);--ca-glass:var(--vx-glass);--ca-field:var(--vx-field);--ca-field-line:var(--vx-line-strong);--ca-field-border:var(--vx-line-strong);--ca-focus:var(--vx-accent);--ca-tint:var(--vx-tint);--ca-soft:var(--vx-tint);--ca-headline-text:var(--vx-highlight-text);--ca-headline-bg:var(--vx-highlight-start);--ca-headline-end:var(--vx-highlight-end);--ca-headline-rim:var(--vx-highlight-rim);--ca-headline-edge:var(--vx-highlight-edge);--ca-headline-shadow:var(--vx-highlight-shadow);--ca-headline-glint:var(--vx-highlight-glint);}

/* Shared navigation, footer, dialog and form chrome. */
html[data-theme] body[data-page] .site-header {background:color-mix(in srgb,var(--vx-bg) 91%,transparent);border-bottom-color:var(--vx-line)}
html[data-theme] body[data-page] .site-header.is-scrolled {background:color-mix(in srgb,var(--vx-bg) 97%,transparent)}
html[data-theme] body[data-page] .site-footer {background:var(--vx-bg);border-color:var(--vx-line)}
html[data-theme] body[data-page] .brand-name b {color:var(--vx-accent)}
html[data-theme] body[data-page] .modal-dialog {background:var(--vx-solid);border-color:var(--vx-line);color:var(--vx-text)}
html[data-theme] body[data-page] .mobile-nav {background:var(--vx-solid);border-color:var(--vx-line)}
html[data-theme] body[data-page] :is(.button-primary,.dn-button,.am-button,.re-button,.ca-button),
html[data-theme] body[data-page] #main :is(.button-primary,.dn-button,.am-button,.re-button,.ca-button),
html[data-theme] body[data-page] .site-header .button.header-cta {
 color:#fff!important;-webkit-text-fill-color:#fff;background:var(--vx-button);border-color:var(--vx-button);box-shadow:0 9px 22px -12px rgba(36,91,221,.45);text-shadow:none
}
html[data-theme] body[data-page] :is(.button-primary,.dn-button,.am-button,.re-button,.ca-button):hover,
html[data-theme] body[data-page] #main :is(.button-primary,.dn-button,.am-button,.re-button,.ca-button):hover,
html[data-theme] body[data-page] .site-header .button.header-cta:hover {background:var(--vx-button-hover);border-color:var(--vx-button-hover);color:#fff!important}
html[data-theme] body[data-page] :is(.button-primary,.dn-button,.am-button,.re-button,.ca-button)>span {color:inherit;-webkit-text-fill-color:inherit}
html[data-theme] body[data-page] .button-ghost {color:var(--vx-text);-webkit-text-fill-color:var(--vx-text);background:var(--vx-surface-2);border-color:var(--vx-line)}
html[data-theme] body[data-page] .button-ghost:hover {background:var(--vx-tint);border-color:var(--vx-accent)}
html[data-theme] body[data-page] :is(a,button,input,textarea,select,summary):focus-visible {outline-color:var(--vx-accent)}
html[data-theme] body[data-page] :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {background-color:var(--vx-field);color:var(--vx-text);border-color:var(--vx-line-strong)}
html[data-theme] body[data-page] :is(input,textarea)::placeholder {color:var(--vx-muted);opacity:1}
html[data-theme] body[data-page] input[type="checkbox"] {accent-color:var(--vx-button)}
html[data-theme] body[data-page] ::selection {background:rgba(36,91,221,.32);color:var(--vx-text)}
/* Restore the contrast of decorative hero labels, not just the primary button. */
html[data-theme] body[data-page="/"] .hero-copy-premium .eyebrow {color:var(--vx-accent)}
html[data-theme] body[data-page="/"] .hero-flow-icon {color:var(--vx-accent);background:var(--vx-tint);border-color:var(--vx-line)}
html[data-theme] body[data-page="/"] .hero-flow-step::after {color:var(--vx-accent)}
/* Brand-colored third-party logos, photos and portfolio screenshots remain untouched. */

/* Only verified decorative artwork: never client logos, photos or screenshots. */
html[data-theme] body[data-page] #main :is(.capability-icon img,.dn-demo-art img,.am-demo-art img,.ca-hero-image,.ca-service-image,.ca-channel-mini-image,.ca-economics-image,.agency-system-visual-image) {
 filter:hue-rotate(-36deg) saturate(.88) drop-shadow(0 10px 16px rgba(40,76,130,.14));
}
