/* Small theme defaults; Elementor's per-widget controls take precedence. */
:where(.elementor) .elementor-widget-text-editor p:last-child{margin-bottom:0}
:where(.elementor) .elementor-heading-title{margin:0}
:where(.elementor) .elementor-widget-button .elementor-button{line-height:1.4}
:where(.elementor) em{font-style:normal;color:var(--accent-light)}
:where(.elementor) .elementor-widget{min-width:0}
:where(.elementor) .elementor-tab-content h3{font-size:1.6rem;color:var(--text)}
:where(.elementor) .elementor-accordion .elementor-tab-content p{margin-bottom:0}
.vje-hero-art img{mix-blend-mode:lighten;mask-image:radial-gradient(ellipse at center,#000 58%,transparent 74%)}
.vje-service-card{transition:transform .25s,border-color .25s}
.vje-service-card:hover{transform:translateY(-4px)}
.elementor .reveal,.elementor-editor-active .reveal{opacity:1;transform:none}
.admin-bar .site-header{top:32px}
.vj-primary-menu{display:flex;gap:30px;list-style:none;padding:0;margin:0;align-items:center}
.vj-primary-menu li{position:relative}
.vj-primary-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;padding:16px;list-style:none;background:var(--surface-2);border:1px solid var(--line);border-radius:8px}
.vj-primary-menu li:hover>.sub-menu,.vj-primary-menu li:focus-within>.sub-menu{display:block}
.vj-primary-menu .sub-menu a{display:block;padding:7px 0}
.vj-primary-menu .current-menu-item>a{color:var(--accent-light)}
@media(max-width:900px){.vj-primary-menu{flex-direction:column;align-items:stretch;gap:12px;width:100%}.vj-primary-menu .sub-menu{position:static;display:block;border:0;background:none;padding:8px 18px}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}

/* Restore the editable website-demo visual, scoped to this one homepage block. */
.elementor .vje-feature-grid > .vje-browser-demo{flex:1 1 0%;width:auto;min-width:0;align-self:center;overflow:hidden;background:#17191b;border:1px solid #ffffff24;border-radius:12px;padding:0;gap:0;box-shadow:0 24px 65px #0005;transform:perspective(1200px) rotateY(-5deg) rotateZ(1deg)}
.elementor .vje-browser-demo .vje-browser-bar{padding:12px 18px;background:#25222b;border-bottom:1px solid #ffffff12;gap:28px;align-items:center;flex-wrap:nowrap}
.elementor .vje-browser-demo .vje-browser-bar .elementor-widget-text-editor{font-size:11px;line-height:1.2;color:#a09aa7}
.elementor .vje-browser-demo .vje-demo-body{padding:28px 32px;background:radial-gradient(ellipse at 90% 85%,#345c2c55,transparent 65%);gap:18px}
.elementor .vje-browser-demo .vje-demo-brand{font-size:12px;font-weight:700;letter-spacing:.08em;color:#fafafa}
.elementor .vje-browser-demo .vje-demo-menu{font-size:11px;color:#979ca0}
.elementor .vje-browser-demo .vje-demo-label{font-size:10px;letter-spacing:.13em;color:#a4ada0;margin-top:18px}
.elementor .vje-browser-demo .elementor-heading-title{font-size:38px;line-height:1.12;letter-spacing:-.03em}
.elementor .vje-browser-demo .vje-demo-cta{background:var(--accent);color:#15220d;font-size:12px;font-weight:600;width:max-content;max-width:100%;padding:11px 17px;border-radius:5px}
.elementor .vje-browser-demo .vje-demo-footer{margin-top:18px;padding-top:16px;border-top:1px solid #ffffff18;justify-content:space-between}
.elementor .vje-browser-demo .vje-demo-footer .elementor-widget-text-editor{font-size:10px;color:#9aa096}
.elementor .vje-browser-demo .vje-demo-caption{font-size:10px;color:#aaa3b0;padding:10px 20px;background:#121118;text-align:right}
@media(max-width:767px){.elementor .vje-feature-grid > .vje-browser-demo{width:100%;flex:0 1 auto;transform:none}.elementor .vje-browser-demo .vje-demo-body{padding:25px}.elementor .vje-browser-demo .elementor-heading-title{font-size:30px}}

