/* Integration geometry and consistent Vietnamese-compatible typography. */
.vtl-elementor-home .elementor { width: 100%; }
.vtl-elementor-home .e-con, .vtl-elementor-home .elementor-widget { min-width: 0; }
.vtl-elementor-home .vtl-hero-video { width: 100%; }
.vtl-elementor-home .vtl-video-showcase.vtl-surface { width: 100%; max-width: none; margin: 0; }
.vtl-elementor-home .vtl-home-library { width: 100%; max-width: none; padding: 0; margin: 0; }
.vtl-elementor-home .vtl-home-facts { margin-top: 0; }
.vtl-app .vtl-elementor-home .elementor-widget.vtl-elementor-copy,
.vtl-app .vtl-elementor-home .elementor-widget.vtl-elementor-copy .elementor-heading-title,
.vtl-app .vtl-elementor-home .elementor-widget-button .elementor-button {
    font-family: var(--vtl-font-sans); font-kerning: normal;
}
.vtl-app .vtl-elementor-home .elementor-widget-text-editor.vtl-elementor-copy { font-weight: 400; }
.vtl-app .vtl-elementor-home .vtl-elementor-heading h1.elementor-heading-title { line-height: 1.25; letter-spacing: -.015em; }
.vtl-app .vtl-elementor-home .vtl-elementor-heading em {
    font-family: inherit; font-style: italic; font-weight: 400; letter-spacing: normal; color: var(--vtl-gold);
}
.vtl-app .vtl-elementor-home .elementor-widget-button .elementor-button { line-height: 1.35; }
.vtl-elementor-home .elementor-widget-button .elementor-button { text-decoration: none; }
.vtl-elementor-home .elementor-widget-heading .elementor-heading-title { margin: 0; }
.vtl-elementor-home .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.vtl-app[data-theme="dark"] .vtl-elementor-home .vtl-elementor-copy { color: var(--vtl-ink); }
.vtl-app[data-theme="dark"] .vtl-elementor-home .vtl-elementor-copy .elementor-heading-title { color: var(--vtl-ink); }
.vtl-app[data-theme="dark"] .vtl-elementor-home .vtl-elementor-hero::before { background-image: linear-gradient(90deg, rgb(23 33 46 / 97%), rgb(23 33 46 / 85%) 36%, rgb(23 33 46 / 30%) 65%, rgb(23 33 46 / 18%)); opacity: 1; }
/* Elementor's generated container selector includes :not(...). Scope with the
   section ID so its saved light colors cannot override the active dark theme. */
.vtl-app[data-theme="dark"] .vtl-elementor-home #how-to-read .vtl-elementor-card { background-color: var(--vtl-panel); border-color: var(--vtl-border); }
.vtl-app[data-theme="dark"] .vtl-elementor-home #how-to-read .elementor-button { background-color: var(--vtl-soft); color: var(--vtl-blue); border-color: var(--vtl-border); }
.vtl-app[data-theme="dark"] .vtl-elementor-home #how-to-read .elementor-button:hover,
.vtl-app[data-theme="dark"] .vtl-elementor-home #how-to-read .elementor-button:focus-visible { background-color: var(--vtl-blue); color: var(--vtl-on-blue); }
@media (max-width: 767px) {
    .vtl-elementor-home .vtl-video-showcase.vtl-surface { padding: 22px 16px; }
    /* On a phone the hero copy spans the image, including its bright right edge. */
    .vtl-app[data-theme="dark"] .vtl-elementor-home .vtl-elementor-hero::before { background-image:linear-gradient(90deg, rgb(23 33 46 / 97%), rgb(23 33 46 / 85%)); }
}
