.elementor-kit-253{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#9AA58E;--e-global-color-1303c86:#000000;--e-global-color-92ab494:#667257;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-253 e-page-transition{background-color:#FFBC7D;}.elementor-kit-253 a{color:var( --e-global-color-primary );}.elementor-kit-253 h2{font-weight:700;}.elementor-kit-253 h3{font-weight:800;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================
   HEADER DINÁMICO (BLANCO -> NEGRO)
   ID Requerido: #header-arquidoma
   ========================================= */

#header-arquidoma {
    position: fixed !important;
    top: 0; left: 0; width: 100%; z-index: 999;
    
    /* 1. ESTADO INICIAL: TRANSPARENTE */
    background-color: transparent !important;
    
    /* CAMBIO: Eliminada la línea blanca inferior */
    border-bottom: 0px solid transparent !important; 
    
    transition: all 0.4s ease;
    
    /* Espaciado amplio al inicio */
    padding-top: 25px !important;
    padding-bottom: 25px !important;
}

/* --- FORZAR TODO A BLANCO (ESTADO INICIAL) --- */

/* 1. LOGO: Invertimos colores para volverlo blanco puro */
#header-arquidoma img {
    filter: brightness(0) invert(1) !important;
    transition: filter 0.4s ease, transform 0.4s ease;
}

/* 2. TEXTOS DEL MENÚ Y ENLACES */
#header-arquidoma .elementor-nav-menu a,
#header-arquidoma .elementor-item,
#header-arquidoma a {
    color: #ffffff !important;
    transition: color 0.4s ease;
}

/* 3. ÍCONO DE MENÚ MÓVIL (Hamburguesa) */
#header-arquidoma .elementor-menu-toggle__icon--open,
#header-arquidoma .elementor-menu-toggle i {
    color: #ffffff !important;
    fill: #ffffff !important;
    background-color: transparent !important; /* Por si tiene fondo */
}


/* =========================================
   2. ESTADO SCROLL (AL BAJAR)
   ========================================= */

#header-arquidoma.scrolled {
    /* Fondo Blanco Vidrio */
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    
    /* Borde gris sutil (Solo aparece al bajar) */
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    
    /* Compactar header */
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
}

/* --- VOLVER TODO A NEGRO (ESTADO SCROLL) --- */

/* 1. LOGO: Quitamos el filtro para que vuelva a ser original (Negro/Color) */
#header-arquidoma.scrolled img {
    filter: none !important; 
    /* Opcional: Si tu logo original no es negro puro, usa: filter: brightness(0) !important; */
    transform: scale(0.9); /* Reducir un poco al bajar */
}

/* 2. TEXTOS: Vuelven a color oscuro (Brand Dark) */
#header-arquidoma.scrolled .elementor-nav-menu a,
#header-arquidoma.scrolled .elementor-item,
#header-arquidoma.scrolled a {
    color: #1a1a1a !important;
}

/* 3. ÍCONO MÓVIL: Vuelve a oscuro */
#header-arquidoma.scrolled .elementor-menu-toggle__icon--open,
#header-arquidoma.scrolled .elementor-menu-toggle i {
    color: #1a1a1a !important;
    fill: #1a1a1a !important;
}

/* =========================================
   2. VIDEO BACKGROUNDS (El Fix Definitivo)
   ========================================= */
.video-wrapper {
    position: absolute;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.video-iframe {
    position: absolute;
    top: 50%; 
    left: 50%;
    width: 100vw; 
    height: 100vh;
    transform: translate(-50%, -50%);
    pointer-events: none;
    
    /* Lógica matemática para cubrir pantalla siempre (Ratio 16:9) */
    min-width: 177.77vh; 
    min-height: 56.25vw; 
    
    /* Zoom de seguridad */
    scale: 1.1;
}

/* =========================================
   3. ACORDEÓN DE SERVICIOS
   ========================================= */
.service-content {
    transition: max-height 0.5s ease, opacity 0.5s ease;
    overflow: hidden;
}

/* Desktop: Hover */
@media (min-width: 768px) {
    .service-content { max-height: 0; opacity: 0; }
    .service-item:hover .service-content { max-height: 500px; opacity: 1; }
    .service-arrow { transition: transform 0.3s ease; }
    .service-item:hover .service-arrow { transform: rotate(45deg); color: #9aa58e; }
}

/* Móvil: Siempre visible */
@media (max-width: 767px) {
    .service-content { 
        max-height: 1000px !important; 
        opacity: 1 !important; 
        margin-top: 1rem;
        padding-left: 0 !important;
    }
    .service-desc {
        border-left: 2px solid #9aa58e;
        padding-left: 1rem;
    }
    .service-arrow { display: none; }
}

/* =========================================
   4. ANIMACIONES & UTILIDADES
   ========================================= */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

img.object-contain { object-fit: contain !important; }
img.object-cover { object-fit: cover !important; }

/* Filtro Logos */
.logo-filter {
    filter: grayscale(100%) opacity(0.6);
    transition: filter 0.4s ease, opacity 0.4s ease;
    display: inline-block;
}
.logo-filter:hover { filter: grayscale(0%) opacity(1); }

a.no-underline { text-decoration: none !important; box-shadow: none !important; }/* End custom CSS */