@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap');

/* Reset y Variables de Tema Oscuro Premium */
body.home-page {
    background-color: #050505;
    color: #FFFFFF;
    font-family: 'Poppins', sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

/* Header & Navbar Minimalista */
.home-page .navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 72px;
    background-color: rgba(5, 5, 5, 0.9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid #1A1A1A;
    z-index: 1000;
    transition: all 0.35s ease;
}

.home-page .navbar-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.home-page .navbar-logo img {
    height: 220px;
    width: auto;
    display: block;
    margin-top: -70px;
    margin-bottom: -82px;
    transition: opacity 0.3s ease;
}

.home-page .navbar-logo:hover img {
    opacity: 0.85;
}

.home-page .navbar-menu {
    display: flex;
    list-style: none;
    gap: 40px;
    margin: 0;
    padding: 0;
}

.home-page .navbar-menu a {
    text-decoration: none;
    color: #8C939D;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: color 0.3s ease;
    position: relative;
    padding: 8px 0;
}

.home-page .navbar-menu a:hover {
    color: #D99222;
}

.home-page .navbar-menu a.active {
    color: #FFFFFF;
    font-weight: 600;
}

.home-page .navbar-menu a.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #D99222;
}

/* Menú Móvil / Hamburguesa */
.home-page .navbar-hamburger {
    display: none;
    background: none;
    border: none;
    color: #FFFFFF;
    cursor: pointer;
    padding: 4px;
}

.home-page .navbar-hamburger .material-symbols-outlined {
    font-size: 28px;
}

/* Main Fullscreen Selector */
.home-page .fullscreen-selector {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    background-color: #050505;
}

/* Floating Brand & Intro */
.home-page .selector-intro {
    position: absolute;
    top: 12vh;
    left: 50%;
    z-index: 10;
    max-width: 800px;
    width: auto;
    text-align: center;
    pointer-events: none;
    transform: translate3d(-50%, var(--parallax-y, 0px), 0);
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    /* Fondo difuminado premium */
    background: rgba(5, 5, 5, 0.35);
    padding: 32px 48px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Desvanecimiento y elevación universal premium al hacer hover sobre cualquier columna */
.home-page .fullscreen-selector:has(.split-column:hover) .selector-intro {
    opacity: 0;
    transform: translate3d(-50%, calc(var(--parallax-y, 0px) - 40px), 0) scale(0.96);
    pointer-events: none;
}

/* Logo corporativo en el intro */
.home-page .selector-intro .intro-logo {
    height: 160px;
    width: auto;
    display: block;
    margin: -40px auto -20px auto;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
    animation: fadeIn 1s ease-out;
}

.home-page .selector-intro .intro-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 16px;
    color: #FFFFFF;
    text-shadow: 0 4px 20px rgba(0,0,0,0.8);
    letter-spacing: -0.01em;
    text-wrap: balance;
}

.home-page .selector-intro .intro-subtitle {
    font-size: clamp(13px, 1.2vw, 15px);
    color: #8C939D;
    text-shadow: 0 2px 10px rgba(0,0,0,0.8);
    font-weight: 400;
    line-height: 1.6;
}

/* Etiqueta indicadora de la división */
.home-page .column-tag {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.35em;
    color: #D99222;
    display: block;
    margin-bottom: -35px;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8);
    opacity: 0.9;
    position: relative;
    z-index: 10;
}

/* Logo de división en cada columna */
.home-page .column-logo {
    max-height: 168px; /* 20% más grande en escritorio (140px * 1.2 = 168px) */
    width: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(rgba(0, 0, 0, 0.7) 0px 2px 10px);
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), filter 0.5s;
}

.home-page .split-column:hover .column-logo {
    transform: scale(1.08);
    filter: drop-shadow(0 4px 16px rgba(217, 146, 34, 0.3));
}

/* Split Columns Layout */
.home-page .split-columns {
    display: flex;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

/* Individual Column */
.home-page .split-column {
    flex: 1;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    color: #FFFFFF;
    transition: flex 0.7s cubic-bezier(0.25, 1, 0.5, 1);
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.home-page .split-column:last-child {
    border-right: none;
}

.home-page .split-columns:hover .split-column {
    flex: 0.8;
}

.home-page .split-columns .split-column:hover {
    flex: 1.4;
}

/* Column Background Image */
.home-page .column-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.9s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1), filter 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 0.82; /* Máxima claridad inicial */
    filter: brightness(0.92) contrast(1.04);
    z-index: 1;
}

.home-page .split-column:hover .column-bg {
    transform: scale(1.04);
    opacity: 1.0; /* Nitidez y brillo absoluto en hover para catálogo editorial */
    filter: brightness(1.05) contrast(1.08);
}

/* Atenuación sofisticada de las columnas no seleccionadas */
.home-page .split-columns:hover .split-column:not(:hover) .column-bg {
    opacity: 0.45;
    filter: brightness(0.7) grayscale(0.2) blur(1px);
}

/* Column Overlay Gradient */
.home-page .column-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(5,5,5,1) 0%, rgba(5,5,5,0.85) 18%, rgba(5,5,5,0.45) 40%, rgba(5,5,5,0.0) 70%);
    transition: background 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 2;
    pointer-events: none;
}

.home-page .split-column:hover .column-overlay {
    background: linear-gradient(to top, rgba(5,5,5,1) 0%, rgba(5,5,5,0.88) 22%, rgba(5,5,5,0.5) 45%, rgba(5,5,5,0.0) 80%);
}

/* Column Content Container — absolute bottom for perfect alignment */
.home-page .column-content {
    position: absolute;
    bottom: 48px;
    left: 36px;
    right: 36px;
    z-index: 3;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.home-page .split-column:hover .column-content {
    transform: translateY(-12px);
}

.home-page .column-tag {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: #D99222;
    margin-bottom: 12px;
    display: block;
    font-weight: 600;
    text-shadow: 0 1px 6px rgba(0,0,0,0.8);
}

.home-page .column-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 2.2vw, 30px);
    font-weight: 900;
    margin: 0;
    color: #FFFFFF;
    letter-spacing: -0.01em;
    white-space: normal;
    line-height: 1.15;
    text-wrap: balance;
    text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 0 4px rgba(0,0,0,0.6);
    transition: font-size 0.5s cubic-bezier(0.25, 1, 0.5, 1), margin 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.home-page .split-column:hover .column-title {
    font-size: clamp(28px, 2.6vw, 36px);
    margin: 0 0 12px 0;
}

.home-page .column-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #E5E5E5;
    margin: 0;
    line-height: 1.4;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(15px);
    transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1), transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1), margin 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.home-page .split-column:hover .column-subtitle {
    opacity: 1;
    max-height: 80px;
    margin: 0 0 16px 0;
    transform: translateY(0);
}

.home-page .column-description {
    font-size: 13.5px;
    color: #A0A5B0;
    line-height: 1.65;
    margin: 0;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(10px);
    transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, margin 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.1s;
}

.home-page .split-column:hover .column-description {
    opacity: 1;
    color: #FFFFFF;
    max-height: 180px;
    margin: 0 0 20px 0;
    transform: translateY(0);
}

.home-page .column-features {
    list-style: none;
    padding: 0;
    margin: 0;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(10px);
    transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s, transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s, max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s, margin 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.home-page .column-features li {
    font-size: 13px;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.3;
}

.home-page .column-features li::before {
    content: "•";
    color: #D99222;
    font-weight: bold;
    font-size: 16px;
}

.home-page .split-column:hover .column-features {
    opacity: 1;
    max-height: 200px;
    margin: 0 0 28px 0;
    transform: translateY(0);
}

/* Premium Button style */
.home-page .column-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    text-decoration: none;
    border-bottom: 2px solid #D99222;
    padding-bottom: 6px;
    width: fit-content;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(10px);
    transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.3s, transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.3s, max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.3s, color 0.3s ease;
}

.home-page .split-column:hover .column-btn {
    opacity: 1;
    max-height: 60px;
    color: #D99222;
    transform: translateY(0);
}

.home-page .column-btn .material-symbols-outlined {
    font-size: 18px;
}

/* Keyframe animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Footer Oscuro Minimalista */
.home-page .footer {
    background-color: #050505;
    color: #FFFFFF;
    padding: 80px 32px 48px 32px;
    border-top: 1px solid #1A1A1A;
}

.home-page .footer-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 64px;
}

.home-page .footer-brand {
    max-width: 420px;
}

.home-page .footer-brand-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 900;
    color: #FFFFFF;
    margin: 0 0 16px 0;
    letter-spacing: 0.05em;
}

.home-page .footer-brand-title span {
    color: #D99222;
}

.home-page .footer-brand-desc {
    font-size: 14px;
    color: #8C939D;
    line-height: 1.7;
    margin-bottom: 24px;
}

.home-page .footer-logo {
    height: 32px;
    width: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.4;
}

.home-page .footer-links-group {
    display: flex;
    gap: 96px;
}

.home-page .footer-links-col {
    min-width: 180px;
}

.home-page .footer-links-title {
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #FFFFFF;
    margin: 0 0 24px 0;
}

.home-page .footer-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.home-page .footer-links-list a {
    text-decoration: none;
    color: #8C939D;
    font-size: 14px;
    transition: color 0.3s ease;
}

.home-page .footer-links-list a:hover {
    color: #D99222;
}

.home-page .footer-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #8C939D;
    font-size: 14px;
    margin-bottom: 14px;
}

.home-page .footer-contact-item a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.home-page .footer-contact-item a:hover {
    color: #D99222;
}

.home-page .footer-contact-item .material-symbols-outlined {
    font-size: 18px;
    color: #D99222;
}

.home-page .footer-bottom {
    max-width: 1400px;
    margin: 64px auto 0 auto;
    padding-top: 32px;
    border-top: 1px solid #1A1A1A;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.home-page .footer-legal {
    font-size: 13px;
    color: #555555;
}

.home-page .footer-socials {
    display: flex;
    gap: 24px;
}

.home-page .footer-socials a {
    color: #8C939D;
    text-decoration: none;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: color 0.3s ease;
}

.home-page .footer-socials a:hover {
    color: #D99222;
}

/* Responsividad Responsiva */
@media (max-width: 1200px) {
    .home-page .selector-intro {
        left: 50%;
        top: 15vh;
        max-width: 700px;
        transform: translate3d(-50%, var(--parallax-y, 0px), 0);
    }
    
    .home-page .selector-intro .intro-title {
        font-size: clamp(24px, 3vw, 36px);
    }
    
    .home-page .split-column {
        padding: 60px 32px;
    }
    
    .home-page .column-title {
        font-size: clamp(18px, 1.6vw, 22px);
    }
    
    .home-page .split-column:hover .column-title {
        font-size: clamp(22px, 2vw, 28px);
    }
    
    .home-page .footer-links-group {
        gap: 48px;
    }
}

@media (max-width: 1024px) {
    /* --- 1. REGLAS INTOCABLES DE NAVEGACIÓN Y LAYOUT --- */
    .home-page .navbar-container { padding: 12px 20px; }
    .home-page .navbar-menu { display: none; position: absolute; top: 100%; left: 0; width: 100%; background-color: #050505; border-bottom: 1px solid #1A1A1A; flex-direction: column; gap: 0; padding: 8px 0; box-shadow: 0 15px 30px rgba(0,0,0,0.5); }
    .home-page .navbar-menu.active { display: flex; }
    .home-page .navbar-menu li { width: 100%; border-bottom: 1px solid rgba(255, 255, 255, 0.03); }
    .home-page .navbar-menu li:last-child { border-bottom: none; }
    .home-page .navbar-menu a { padding: 16px 24px; width: 100%; display: block; box-sizing: border-box; transition: background 0.3s ease, color 0.3s ease; }
    .home-page .navbar-menu a:active, .home-page .navbar-menu a:hover { background-color: rgba(217, 146, 34, 0.05); color: #D99222; }
    .home-page .navbar-menu a.active::after { display: none; }
    .home-page .navbar-hamburger { display: block; }
    .home-page .navbar-logo img { height: 136px; margin-top: -41px; margin-bottom: -48px; }
    .home-page .fullscreen-selector { height: auto !important; min-height: auto !important; display: flex; flex-direction: column; overflow-y: visible !important; overflow: visible !important; }
    .home-page .selector-intro { position: relative; top: 0; left: 0; right: 0; max-width: 100%; padding: 100px 24px 20px 24px; text-align: center; background-color: #050505; z-index: 10; transform: none !important; opacity: 1 !important; }
    .home-page .selector-intro .intro-logo { height: 100px; margin: -20px auto -10px auto; }
    .home-page .selector-intro .intro-title { font-size: 24px; margin-bottom: 8px; text-shadow: none; }
    .home-page .selector-intro .intro-subtitle { font-size: 13px; text-shadow: none; max-width: 500px; margin: 0 auto; }
    .home-page .footer-links-group { width: 100%; justify-content: space-between; }
    
    /* --- 2. REGLAS CORREGIDAS DE LAS COLUMNAS (DOBLE TOQUE FLUIDO) --- */
    .home-page .split-columns { flex-direction: column; height: auto !important; overflow: visible !important; }
    
    /* Estado inicial: altura suficiente para mostrar logos y etiquetas */
    .home-page .split-column { width: 100%; height: 280px; max-height: 280px; overflow: hidden; border-bottom: 1px solid rgba(255, 255, 255, 0.05); border-right: none; transition: height 0.5s cubic-bezier(0.25, 1, 0.5, 1), max-height 0.5s ease; position: relative; cursor: pointer; display: flex; flex-direction: column; justify-content: center; touch-action: manipulation; }
    .home-page .split-column:last-child { border-bottom: none; }
    
    /* Imagen base */
    .home-page .split-column .column-bg { opacity: 0.8; transition: filter 0.5s ease, opacity 0.5s ease; }
    
    /* Contenedor interno de texto y logos - centrado verticalmente */
    .home-page .column-content { position: relative !important; bottom: auto !important; left: auto !important; right: auto !important; transform: translateY(0); max-width: 100%; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 24px; box-sizing: border-box; overflow: visible !important; }
    .home-page .column-title { font-size: 22px; margin-bottom: 4px; }
    .home-page .column-tag { 
        font-size: 9px; 
        margin-bottom: 6px; 
        letter-spacing: 0.2em; 
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        max-height: none !important;
        height: auto !important;
    }
    .home-page .column-logo { 
        width: 144px; 
        height: 144px; 
        max-width: 80%; 
        object-fit: contain; 
        align-self: center; 
        margin: 0 auto 15px auto; 
        filter: drop-shadow(rgba(0, 0, 0, 0.6) 0px 2px 8px); 
        transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1), height 0.5s cubic-bezier(0.25, 1, 0.5, 1), margin 0.5s cubic-bezier(0.25, 1, 0.5, 1); 
        flex-shrink: 0; 
        opacity: 1 !important; 
        visibility: visible !important;
        display: block !important;
        max-height: none !important;
        height: auto !important;
    }
    
    /* Textos ocultos por defecto */
    .home-page .column-subtitle, .home-page .column-description, .home-page .column-features, .home-page .column-btn { max-height: 0; opacity: 0; overflow: hidden; transform: translateY(10px); transition: max-height 0.5s ease, opacity 0.4s ease, transform 0.4s ease, margin 0.4s ease; margin-bottom: 0; }
    .home-page .column-subtitle { font-size: 13.5px; color: #E5E5E5; }
    .home-page .column-description { font-size: 12.5px; color: #E5E5E5; }
    .home-page .column-features { display: inline-flex; flex-direction: column; align-items: flex-start; width: fit-content; align-self: center; gap: 6px; }
    .home-page .column-features li { font-size: 12px; }
    .home-page .column-btn { font-size: 11px; justify-content: center; gap: 6px; align-self: center; color: #D99222; }
    
    /* --- 3. ESTADO ACTIVO (.active-touch) --- */
    /* Expansión total: eliminar TODAS las restricciones de altura y overflow */
    .home-page .split-column.active-touch { 
        height: auto !important; 
        max-height: none !important; 
        overflow: visible !important; 
        padding-bottom: 60px !important; 
        background-color: transparent !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }
    
    /* Ajuste de logos y oscuridad de foto en estado activo */
    .home-page .split-column.active-touch .column-logo { 
        width: 140px; 
        height: 140px; 
        margin: 10px auto 16px; 
        align-self: center;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    .home-page .split-column.active-touch .column-tag {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        max-height: none !important;
        height: auto !important;
    }
    .home-page .split-column.active-touch .column-bg { opacity: 1 !important; filter: brightness(0.85) contrast(1.1) !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }
    .home-page .split-column.active-touch .column-overlay { background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.2) 50%, transparent 100%) !important; opacity: 1 !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }
    
    /* Oscurecer más el fondo de Empresas e Industrial */
    #col-empresas.active-touch .column-bg,
    #col-industrial.active-touch .column-bg {
        filter: brightness(0.7) contrast(1.1) !important;
    }
    
    /* Contenedor de contenido: posicionamiento normal para flujo completo */
    .home-page .split-column.active-touch .column-content {
        position: relative !important;
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 20px !important;
    }
    
    /* Aparición de textos SIN CORTES - liberación total de altura */
    .home-page .split-column.active-touch .column-subtitle { 
        max-height: none !important; 
        height: auto !important;
        opacity: 1 !important; 
        transform: translateY(0) !important; 
        margin-bottom: 12px !important;
        overflow: visible !important;
        display: block !important;
    }
    .home-page .split-column.active-touch .column-description { 
        max-height: none !important; 
        height: auto !important;
        opacity: 1 !important; 
        transform: translateY(0) !important; 
        margin-bottom: 20px !important; 
        display: block !important; 
        color: #FFFFFF !important; 
        text-shadow: 0 1px 4px rgba(0,0,0,0.8) !important;
        overflow: visible !important;
        line-height: 1.6 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
    }
    .home-page .split-column.active-touch .column-features { 
        max-height: none !important; 
        height: auto !important;
        opacity: 1 !important; 
        transform: translateY(0) !important; 
        margin-bottom: 25px !important;
        overflow: visible !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        align-self: center !important;
    }
    .home-page .split-column.active-touch .column-btn { 
        max-height: none !important; 
        height: auto !important;
        opacity: 1 !important; 
        transform: translateY(0) !important; 
        display: inline-flex !important;
        overflow: visible !important;
        visibility: visible !important;
        align-self: center !important;
    }
    
    /* --- 4. ANULAR HOVER TÁCTIL --- */
    .home-page .split-columns:hover .split-column, .home-page .split-columns .split-column:hover { flex: none; }
    .home-page .split-column:hover { height: 180px; max-height: 180px; background-color: transparent !important; transform: none !important; }
    .home-page .split-column.active-touch:hover { height: auto; max-height: none !important; }
}

@media (max-width: 480px) {
    .home-page .footer-links-group {
        flex-direction: column;
        gap: 32px;
    }
    
    /* Ajustes ultra-compactos para móviles pequeños */
    .home-page .split-column.active-touch {
        padding: 24px 16px 20px 16px;
    }
    .home-page .split-column.active-touch .column-logo {
        width: 118px;
        height: 118px;
        margin: -6px auto 10px;
    }
    .home-page .column-subtitle {
        font-size: 12px !important;
        margin-bottom: 6px !important;
    }
    .home-page .column-description {
        font-size: 11.5px !important;
        margin-bottom: 10px !important;
        line-height: 1.4 !important;
        color: #FFFFFF !important;
        text-shadow: 0 1px 4px rgba(0,0,0,0.8) !important;
    }
    .home-page .column-features {
        margin-bottom: 14px !important;
        gap: 4px !important;
    }
    .home-page .column-features li {
        font-size: 11px !important;
    }
    .home-page .column-btn {
        font-size: 10.5px !important;
        padding-bottom: 2px !important;
    }
}
