/* Bolboreta Labs — IA y automatización: estilos propios */

/* Sección con vídeo dentro de las letras (.ia-vmask-section): al llegar se ve el vídeo a pantalla completa,
   la sección se queda fija y el título viene desde cerca con el vídeo como relleno sobre fondo negro;
   al final el título va a su sitio y la lámina funde a la sección normal. Lo dirige el script del final. */
.ia-vmask-section { position: relative; }
.ia-vmask {
    position: absolute; top: 0; left: 0; width: 100%; height: 100vh; /* el script ajusta la altura exacta */
    z-index: 5; overflow: hidden; pointer-events: none;
    /* fondo de respaldo si el vídeo no carga */
    background: linear-gradient(120deg, #12001f, #9f3cff, #1b0b3a, #5b1fd1, #12001f);
    background-size: 400% 400%;
    animation: ia-vmask-bg 14s ease-in-out infinite;
}
@keyframes ia-vmask-bg { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.ia-vmask-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.ia-vmask-sheet { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; }
.ia-vmask-text { text-rendering: geometricPrecision; }
@media (prefers-reduced-motion: reduce) { .ia-vmask { display: none; } }

/* Título del hero (IA): tamaño inicial equivalente al ajuste por JS */
.ing-hero .ing-hero-word { font-size: calc((100vw - 60px) * 0.9804); }
@media (max-width: 575px) { .ing-hero .ing-hero-word { font-size: calc((100vw - 40px) * 0.9804); } }
@media (min-width: 992px) { .ing-hero .ing-hero-word { font-size: calc((100vw - 200px) * 0.9804); } }
@media (min-width: 1200px) { .ing-hero .ing-hero-word { font-size: min(calc((100vw - 200px) * 0.9804), calc(125vh - 684px)); } }
