.elementor .virtual-genio-section.e-con {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}
.elementor .virtual-genio-section-full-width.e-con {
    width: 100%;
    max-width: none;
}
.elementor .virtual-genio-inner.e-con {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}
.elementor .virtual-genio-inner.e-con > .e-con-inner {
    width: min(100%, var(--content-width, 1180px));
    margin-inline: auto;
}
.virtual-genio-section :where(.e-con, .e-con-inner, .elementor-widget) {
    min-width: 0;
}
.virtual-genio-section :where(h1, h2, h3, p, li, a) {
    overflow-wrap: break-word;
    word-break: normal;
}
.elementor .virtual-genio-split > .e-con {
    flex-shrink: 1;
    min-width: 0;
}
/* Responsive photo alternatives must not become extra columns in the editor. */
.e-preview--show-hidden-elements[data-elementor-device-mode="widescreen"] .elementor-edit-area-active .virtual-genio-split > .elementor-hidden-widescreen,
.e-preview--show-hidden-elements[data-elementor-device-mode="desktop"] .elementor-edit-area-active .virtual-genio-split > .elementor-hidden-desktop,
.e-preview--show-hidden-elements[data-elementor-device-mode="laptop"] .elementor-edit-area-active .virtual-genio-split > .elementor-hidden-laptop,
.e-preview--show-hidden-elements[data-elementor-device-mode="tablet_extra"] .elementor-edit-area-active .virtual-genio-split > .elementor-hidden-tablet_extra,
.e-preview--show-hidden-elements[data-elementor-device-mode="tablet"] .elementor-edit-area-active .virtual-genio-split > .elementor-hidden-tablet,
.e-preview--show-hidden-elements[data-elementor-device-mode="mobile_extra"] .elementor-edit-area-active .virtual-genio-split > .elementor-hidden-mobile_extra,
.e-preview--show-hidden-elements[data-elementor-device-mode="mobile"] .elementor-edit-area-active .virtual-genio-split > .elementor-hidden-mobile {
    display: none !important;
}
.virtual-genio-widget-width-100 { --vg-column-width: 100%; }
.virtual-genio-widget-width-75 { --vg-column-width: calc(75% - 5px); }
.virtual-genio-widget-width-66 { --vg-column-width: calc(66.666% - 6.667px); }
.virtual-genio-widget-width-50 { --vg-column-width: calc(50% - 10px); }
.virtual-genio-widget-width-33 { --vg-column-width: calc(33.333% - 13.334px); }
.virtual-genio-widget-width-25 { --vg-column-width: calc(25% - 15px); }
.elementor .virtual-genio-advanced-widgets > .virtual-genio-widget-column {
    width: var(--vg-column-width, 100%);
    flex: 0 1 var(--vg-column-width, 100%);
    min-width: 0;
}
@media (max-width: 1024px) {
    .virtual-genio-section .ge-widget,
    .virtual-genio-section .ge-widget * {
        animation: none !important;
        transition-duration: 0s !important;
    }
    .virtual-genio-section .ge-motion-lift .ge-widget:hover {
        transform: none;
    }
    .elementor .virtual-genio-split { flex-direction: column; }
    .elementor .virtual-genio-split > .e-con { width: 100%; }
    .virtual-genio-widget-column { --vg-column-width: 100%; }
    .virtual-genio-widget-width-25,
    .virtual-genio-widget-width-33 { --vg-column-width: calc(50% - 10px); }
}
@media (max-width: 767px) {
    .virtual-genio-widget-column { --vg-column-width: 100%; }
}
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
    body:not(.elementor-editor-active) .virtual-genio-desktop-drift {
        translate: 0 var(--vg-drift, 0px);
    }
    .virtual-genio-section-cinematic .ge-cinematic-scene.is-webgl-ready :is(.ge-cinematic-scene__eyebrow, .ge-cinematic-scene__description, .ge-cinematic-scene__button) {
        opacity: 0;
        transform: translateY(18px);
    }
    .virtual-genio-section-cinematic .ge-cinematic-scene.is-cinematic-visible .ge-cinematic-scene__eyebrow {
        animation: vg-cinema-copy-in .7s cubic-bezier(.2,.65,.25,1) .08s forwards;
    }
    .virtual-genio-section-cinematic .ge-cinematic-scene.is-cinematic-visible .ge-cinematic-scene__description {
        animation: vg-cinema-copy-in .8s cubic-bezier(.2,.65,.25,1) .28s forwards;
    }
    .virtual-genio-section-cinematic .ge-cinematic-scene.is-cinematic-visible .ge-cinematic-scene__button {
        animation: vg-cinema-copy-in .8s cubic-bezier(.2,.65,.25,1) .42s forwards;
    }
}
@keyframes vg-cinema-copy-in {
    to { opacity: 1; transform: translateY(0); }
}
.virtual-genio-reference-section .ge-reference--cta,
.vj-cta-palette .ge-reference--cta {
    background: var(--gr-background-color);
    color: var(--gr-text-color);
    border: 0;
}
.virtual-genio-reference-section .ge-reference--cta .ge-reference__button,
.vj-cta-palette .ge-reference--cta .ge-reference__button {
    background: var(--gr-button-background-color, var(--gr-text-color));
    color: var(--gr-button-text-color, var(--gr-background-color));
    border-color: var(--gr-button-background-color, var(--gr-text-color));
}
.virtual-genio-section-full-width.virtual-genio-reference-section .ge-reference {
    padding-inline: clamp(22px, 4%, 80px);
}
.virtual-genio-section-full-width.virtual-genio-reference-section .ge-reference__inner {
    max-width: none;
}
@media (min-width: 1600px) {
    .virtual-genio-section-full-width .ge-reference .ge-reference__title {
        font-size: calc(var(--gr-title-size, 38px) * 1.12);
    }
    .virtual-genio-section-full-width .ge-reference__body {
        font-size: calc(var(--gr-text-size, 17px) * 1.1);
    }
}
@media (min-width: 768px) and (max-width: 1024px), (orientation: portrait) and (min-width: 768px) and (max-width: 1200px) {
    .virtual-genio-reference-section .ge-reference__copy,
    .virtual-genio-reference-section .ge-reference__media {
        flex: 0 0 100%;
    }
    .virtual-genio-reference-section .ge-reference--left .ge-reference__media { order: 0; }
    .virtual-genio-reference-section .ge-reference--background .ge-reference__media { flex: auto; }
    .virtual-genio-reference-section .ge-reference__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .virtual-genio-reference-section .ge-reference { min-height: 0; padding-block: 48px; }
}
@media (max-width: 600px) {
    .virtual-genio-reference-section .ge-reference__items { grid-template-columns: minmax(0, 1fr); }
}
.virtual-genio-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 24px 0; }
.virtual-genio-service { min-width: 0; overflow-wrap: anywhere; }
.virtual-genio-service h3 { font-size: 20px; line-height: 1.3; color: inherit; margin: 10px 0; }
.virtual-genio-service > span { font-size: 28px; }
@media(max-width:767px) { .virtual-genio-service-grid { grid-template-columns: minmax(0,1fr); } }
