
    /* ================= ESTILOS GLOBALES DEL HEADER ================= */
    header { 
        height: 85px; 
        background: rgba(255, 255, 255, 0.85); 
        backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); 
        border-bottom: 1px solid rgba(226, 232, 240, 0.7); 
        position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; 
        display: flex; align-items: center; 
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    }
    
    header .container { max-width: 1400px; margin: 0 auto; padding: 0 20px; width: 100%; } 
    .nav-content { display: flex; justify-content: space-between; align-items: center; height: 100%; }
    
    .logo { text-decoration: none; display: flex; align-items: center; gap: 12px; transition: all 0.3s ease;}
    .logo:hover { transform: scale(1.02); }
    .logo img { height: 48px; filter: drop-shadow(0 2px 4px rgba(27, 94, 32, 0.2)); }
    .logo-text { font-weight: 900; color: #0F172A; font-size: 1.4rem; letter-spacing: -0.5px; }
    .logo-text span { color: #1B5E20; }
    
    /* --- MENÚ CENTRADO --- */
    .nav-menu { 
        display: flex; gap: 50px; align-items: center; height: 100%; 
        flex-grow: 1; justify-content: center; margin-left: 0; 
    }
    
    .nav-link { 
        text-decoration: none; color: #475569; font-weight: 700; font-size: 0.85rem; 
        text-transform: uppercase; letter-spacing: 1px;
        transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); 
        position: relative; height: 100%; display: flex; align-items: center; 
    }
    .nav-link:hover, .nav-link.active { color: #0F172A; }
    
    .nav-link::after { 
        content: ''; position: absolute; bottom: 25px; left: 50%; width: 0; height: 3px; 
        background: #1B5E20; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); 
        border-radius: 3px; transform: translateX(-50%); opacity: 0;
    }
    .nav-link:hover::after, .nav-link.active::after { width: 100%; opacity: 1; bottom: -1px; }

    /* --- DROPDOWN NIVEL 1 --- */
    .dropdown { position: relative; height: 100%; display: flex; align-items: center; }
    .dropdown-content { 
        visibility: hidden; opacity: 0; position: absolute; top: 85px; left: -20px; 
        background: #FFFFFF; min-width: 310px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.05); z-index: 1001; 
        border-radius: 0 0 8px 8px; border: 1px solid #E2E8F0; border-top: none;
        padding: 15px 0; transform: translateY(-5px); transition: all 0.3s ease; 
    }
    .dropdown:hover .dropdown-content { visibility: visible; opacity: 1; transform: translateY(0); }
    
    .dropdown-content a, .sub-dropdown-title { 
        color: #475569; padding: 14px 24px; text-decoration: none; display: flex; justify-content: space-between; align-items: center;
        font-size: 0.9rem; font-weight: 600; transition: all 0.3s ease; border-left: 3px solid transparent; cursor: pointer;
    }
    .dropdown-content a i, .sub-dropdown-title i { font-size: 0.8rem; color: #22c55e; transition: 0.2s;}
    .dropdown-content a:hover, .sub-dropdown-title:hover { background: #F8FAFC; color: #0F172A; border-left-color: #1B5E20; }
    
    /* --- DROPDOWN NIVEL 2 (APERTURA A LA DERECHA) --- */
    .sub-dropdown { position: relative; width: 100%; display: block; }
    .sub-dropdown-content {
        visibility: hidden; opacity: 0; position: absolute; 
        top: -10px; left: 100%; 
        background: #FFFFFF; min-width: 290px; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.05); 
        border-radius: 8px; border: 1px solid #E2E8F0;
        padding: 10px 0; transform: translateX(-10px); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); z-index: 1005;
        pointer-events: none;
        max-height: 70vh; 
        overflow-y: auto; 
    }
    
    .sub-dropdown-content::-webkit-scrollbar { width: 6px; }
    .sub-dropdown-content::-webkit-scrollbar-track { background: #f8fafc; border-radius: 8px; }
    .sub-dropdown-content::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
    .sub-dropdown-content::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

    .sub-dropdown::after {
        content: ''; position: absolute; top: 0; right: -20px; width: 20px; height: 100%; z-index: 1004;
    }
    .sub-dropdown:hover .sub-dropdown-content { 
        visibility: visible; opacity: 1; transform: translateX(0); 
        pointer-events: auto;
    }
    .sub-dropdown-content a { font-size: 0.85rem; font-weight: 500; color: #475569; }
    .sub-dropdown-content a:hover { color: #1B5E20; }

    .tech-link { color: #0ea5e9 !important; font-weight: 800 !important; }
    .tech-link i { color: #38bdf8 !important; }

    .menu-toggle { display: none; flex-direction: column; cursor: pointer; gap: 5px; z-index: 1002;}
    .menu-toggle span { width: 24px; height: 2px; background: #0F172A; border-radius: 2px; transition: 0.3s; }
    .menu-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .menu-toggle.active span:nth-child(2) { opacity: 0; }
    .menu-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* =========================================================================
       🛡️ ESTILOS DEL FOOTER GLOBAL CORPORATIVO (Premium & Balanceado)
       ========================================================================= */
    .main-footer-shared {
        background: #0A0A0B;
        padding: 80px 0 40px 0;
        position: relative;
        font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    }
    
    /* Detalle Silicon Valley: Borde superior con gradiente sutil */
    .main-footer-shared::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0; height: 2px;
        background: linear-gradient(90deg, #1B5E20 0%, #22c55e 30%, transparent 100%);
    }

    .footer-container-shared {
        max-width: 1200px; /* Alineado perfecto con el resto de la web */
        margin: 0 auto;
        padding: 0 20px; 
        display: grid;
        grid-template-columns: 1.5fr 1fr 1.2fr; /* Distribución balanceada */
        gap: 60px;
    }

    .footer-col-shared h4 {
        color: #FFFFFF;
        font-size: 0.95rem;
        font-weight: 700;
        margin-bottom: 25px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .footer-logo-shared {
        height: 42px;
        margin-bottom: 22px;
        filter: brightness(0) invert(1);
    }

    .footer-about-shared {
        line-height: 1.7;
        font-size: 0.95rem;
        max-width: 380px;
        color: #94A3B8;
    }

    .footer-links-shared {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-links-shared li {
        margin-bottom: 16px;
    }

    .footer-links-shared a {
        color: #94A3B8;
        text-decoration: none;
        font-size: 0.95rem;
        transition: all 0.3s ease;
        display: inline-flex;
        align-items: center;
    }
    
    /* Micro-animación en enlaces */
    .footer-links-shared a::before {
        content: '→';
        color: #22c55e;
        opacity: 0;
        transform: translateX(-10px);
        transition: all 0.3s ease;
        position: absolute;
    }

    .footer-links-shared a:hover {
        color: #FFFFFF;
        transform: translateX(20px);
    }

    .footer-links-shared a:hover::before {
        opacity: 1;
        transform: translateX(-20px);
    }

    .contact-item-shared {
        display: flex;
        gap: 15px;
        margin-bottom: 22px;
        font-size: 0.95rem;
        line-height: 1.6;
        color: #94A3B8;
        align-items: flex-start;
    }

    .contact-item-shared i {
        color: #22c55e;
        margin-top: 5px;
        font-size: 1.1rem;
    }

    .contact-item-shared strong {
        color: #E2E8F0;
        font-weight: 600;
        display: block;
        margin-bottom: 4px;
    }

    .footer-bottom-shared {
        max-width: 1200px;
        margin: 60px auto 0 auto;
        padding: 30px 20px 0 20px; 
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 20px;
        font-size: 0.85rem;
        color: #64748B;
    }

    /* Zona segura específica para que WSP no tape los enlaces de políticas */
    .footer-bottom-links-shared {
        padding-right: 70px; 
    }

    .footer-bottom-links-shared a {
        color: #64748B;
        text-decoration: none;
        margin-left: 25px;
        transition: color 0.3s ease;
    }

    .footer-bottom-links-shared a:hover {
        color: #FFFFFF;
    }

    /* --- RESPONSIVO ADAPTATIVO MÓVIL --- */
    @media (max-width: 900px) {
        .footer-container-shared {
            grid-template-columns: 1fr;
            text-align: center;
            gap: 40px;
        }
        .footer-col-shared:first-child {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .contact-item-shared {
            flex-direction: column;
            align-items: center;
            gap: 8px;
        }
        .contact-item-shared i { margin-top: 0; font-size: 1.3rem; margin-bottom: 5px;}
        
        /* Desactivar hover effects en móvil */
        .footer-links-shared a::before { display: none; }
        .footer-links-shared a:hover { transform: none; color: #22c55e; }
        
        .footer-bottom-shared {
            flex-direction: column;
            padding-bottom: 80px; /* Margen para botón flotante de WhatsApp */
        }
        .footer-bottom-links-shared {
            padding-right: 0;
            display: flex;
            flex-direction: column;
            gap: 15px;
            margin-top: 10px;
        }
        .footer-bottom-links-shared a {
            margin-left: 0;
        }
    }
    
    /* Menú Móvil (Sin Alterar) */
    @media (max-width: 900px) {
        .menu-toggle { display: flex; }
        .nav-menu { 
            display: none; flex-direction: column; position: fixed; top: 85px; left: 0; 
            width: 100%; height: calc(100dvh - 85px); background: #FFFFFF; 
            padding: 20px 24px 100px 24px; box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
            border-top: 1px solid #E2E8F0; gap: 10px; align-items: flex-start; 
            overflow-y: auto; z-index: 999; justify-content: flex-start; margin: 0;
        }
        .nav-menu.active { display: flex; animation: fadeIn 0.3s ease forwards; }
        @keyframes fadeIn { from { opacity:0; transform: translateY(-10px);} to { opacity:1; transform: translateY(0);} }
        
        .nav-link { 
            font-size: 1.15rem; width: 100%; padding: 16px 0; height: auto;
            border-bottom: 1px solid #E2E8F0; color: #0F172A; font-weight: 800;
        }
        .nav-link::after { display: none; }
        .nav-link.active { color: #1B5E20; border-bottom-color: #1B5E20; padding-left: 10px; background: linear-gradient(90deg, rgba(34, 197, 94, 0.1) 0%, transparent 100%); }
        
        .dropdown { width: 100%; flex-direction: column; align-items: flex-start; height: auto;}
        .dropdown > .nav-link { justify-content: space-between; }
        
        .dropdown-content { 
            position: static; box-shadow: none; border: none; padding: 5px 0 10px 10px; 
            visibility: visible; opacity: 1; display: none; transform: none; 
            background: transparent; width: 100%; border-radius: 0;
            border-left: 2px solid #E2E8F0; 
        }
        .dropdown.active .dropdown-content { display: block; }
        .dropdown-content a, .sub-dropdown-title { font-size: 1.05rem; padding: 14px 0; border: none;}
        
        .sub-dropdown-content {
            position: static; transform: none; visibility: visible; opacity: 1; display: none;
            border: none; border-left: 2px solid #22c55e; margin-left: 10px;
            padding: 5px 0 5px 15px; box-shadow: none; width: auto; background: transparent;
            max-height: none; overflow-y: visible;
        }
        .sub-dropdown.active .sub-dropdown-content { display: block; }
        .sub-dropdown-content a { font-size: 0.95rem; padding: 10px 0; color: #475569;}
    }

/* Four-column solutions panel, bounded by the viewport. */
.solutions-trigger{font:inherit;font-size:.85rem;font-weight:700;letter-spacing:1px;border:0;background:transparent;cursor:pointer;padding:0;text-transform:uppercase}
.sub-dropdown-title{font:inherit;text-align:left;width:100%;background:transparent;border-top:0;border-right:0;border-bottom:0}
@media(min-width:901px){
.dropdown-content{position:fixed;left:50%;top:85px;transform:translateX(-50%);width:min(1180px,calc(100vw - 40px));min-width:0;max-height:calc(100dvh - 110px);overflow-y:auto;overflow-x:hidden;padding:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border:1px solid #dce5df;border-radius:0 0 14px 14px;box-shadow:0 18px 36px #292d2b20;pointer-events:none}
.dropdown:hover .dropdown-content,.dropdown.is-open .dropdown-content{transform:translateX(-50%)}
.dropdown:not(.is-open) .dropdown-content{display:none!important;visibility:hidden;opacity:0;pointer-events:none}
.dropdown.is-open .dropdown-content{display:grid;visibility:visible;opacity:1;pointer-events:auto}
.sub-dropdown{min-width:0}.sub-dropdown::after{display:none}
.sub-dropdown-title{padding:0 0 14px;border-left:0;border-bottom:2px solid #1b5e20;color:#292d2b;font-size:14px;font-weight:800;cursor:default;min-height:58px;align-items:flex-start;line-height:1.5}
.sub-dropdown-title i{display:none}
.sub-dropdown-content,.sub-dropdown:hover .sub-dropdown-content{position:static;visibility:visible;opacity:1;transform:none;min-width:0;width:100%;padding:10px 0 0;border:0;box-shadow:none;border-radius:0;max-height:none;overflow:visible;pointer-events:auto;background:transparent}
.sub-dropdown-content a{padding:8px 10px;border-radius:6px;border-left:0;font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;min-height:34px}
.sub-dropdown-content a:hover{background:#eef5ef;color:#1b5e20}
}
@media(min-width:901px) and (max-width:1080px){.nav-menu{gap:24px}.nav-link{font-size:.78rem;letter-spacing:.5px}.dropdown-content{gap:16px;padding:18px}.sub-dropdown-title{font-size:13px}}
@media(max-width:900px){.solutions-trigger{height:auto;width:100%;padding:16px 0;text-align:left}.dropdown-content{max-height:none;min-width:0;width:100%;overflow:visible;pointer-events:auto}.sub-dropdown-content{min-width:0}.sub-dropdown-title{padding:14px 0;line-height:1.5}.sub-dropdown-content a{white-space:normal;overflow-wrap:anywhere}.dropdown.is-open .dropdown-content{display:block}.sub-dropdown::after{display:none}}
.solutions-trigger:focus-visible,.sub-dropdown-title:focus-visible,.dropdown-content a:focus-visible{outline:3px solid #1b5e20;outline-offset:3px}
#solutions-panel[hidden]{display:none!important}

.nav-link.nav-purpose{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px}.nav-purpose .nav-purpose-main{display:block;white-space:nowrap}.nav-purpose .nav-purpose-note{display:block;font-size:10px;font-weight:500;letter-spacing:.15px;text-transform:none;color:#64816c;line-height:1.2}.solutions-trigger.nav-purpose{padding:0}.nav-purpose .nav-purpose-main i{margin-left:7px}
@media(min-width:901px) and (max-width:1100px){.nav-menu{gap:22px}.nav-purpose .nav-purpose-main{font-size:11px;letter-spacing:.45px}}
@media(max-width:900px){.nav-link.nav-purpose{justify-content:center;gap:5px;padding:14px 0}.nav-purpose .nav-purpose-note{font-size:12px}.solutions-trigger.nav-purpose{padding:14px 0}}

.nav-item-icon{width:18px;height:18px;flex:none;color:#1b5e20}.nav-link.nav-icon-link{gap:8px}.nav-link.nav-purpose.nav-icon-link{flex-direction:row;align-items:center}.nav-item-icon+.nav-purpose-main{display:inline-block}@media(min-width:901px){.nav-menu{gap:22px!important}.nav-link{font-size:12px;letter-spacing:.55px}}@media(min-width:901px) and (max-width:1150px){.nav-menu{gap:12px!important}.nav-link{font-size:10px!important;letter-spacing:.2px!important}.nav-item-icon,.sustainable-icon{width:16px;height:16px}.nav-menu .nav-quote-cta{padding:11px 12px!important}}

/* Complete desktop solutions list without an inner scrolling panel. */
@media(min-width:901px){
#solutions-panel{width:min(1280px,calc(100vw - 40px));padding:16px 22px 18px;gap:22px;max-height:none;overflow:visible;grid-template-columns:1.05fr 1fr 1.15fr 1fr}
#solutions-panel .sub-dropdown-title{min-height:38px;padding:0 0 10px;font-size:13px;line-height:18px;align-items:flex-start}
#solutions-panel .sub-dropdown-content{padding-top:8px}
#solutions-panel .sub-dropdown-content a{min-height:0;padding:4px 8px;font-size:12px;line-height:17px;overflow-wrap:normal}
}
@media(min-width:901px) and (max-height:560px){
#solutions-panel{grid-template-columns:1fr 2fr 2fr 1fr;gap:16px;padding:12px 16px}
#solutions-panel .sub-dropdown:nth-child(2) .sub-dropdown-content,#solutions-panel .sub-dropdown:nth-child(3) .sub-dropdown-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px}
#solutions-panel .sub-dropdown-content a{font-size:11px;line-height:15px;padding:3px 5px}
}
/* Mobile navigation: consistent icon/text alignment, scoped to the shared header. */
@media (max-width:900px) {
  #nav-list.nav-menu { box-sizing:border-box; gap:0; padding:18px 24px max(90px, env(safe-area-inset-bottom)); align-items:stretch; }
  #nav-list .nav-link, #nav-list .solutions-trigger {
    box-sizing:border-box; display:flex; flex-direction:row; align-items:center;
    justify-content:flex-start; gap:14px; width:100%; min-height:64px;
    padding:16px 4px; margin:0; font-size:15px; line-height:1.35;
    font-weight:750; letter-spacing:.5px; text-align:left; white-space:normal;
    border-bottom:1px solid #e2e8f0;
  }
  #nav-list .nav-link.nav-purpose, #nav-list .nav-link.nav-purpose.nav-icon-link { flex-direction:row; justify-content:flex-start; align-items:center; gap:14px; padding:16px 4px; }
  #nav-list .nav-link.active { padding-left:4px; }
  #nav-list .nav-item-icon, #nav-list .sustainable-icon { display:block; flex:0 0 22px; width:22px; height:22px; }
  #nav-list .nav-purpose-main { display:flex; align-items:center; gap:8px; min-width:0; flex:1 1 auto; white-space:normal; font-size:inherit; letter-spacing:inherit; }
  #nav-list .solutions-trigger .nav-purpose-main i { margin-left:auto!important; flex:0 0 auto; }
  #nav-list .dropdown { align-items:stretch; }
  #nav-list .dropdown > .nav-link { justify-content:flex-start; }
  #nav-list .nav-quote-cta { justify-content:center; min-height:54px; margin-top:18px; padding:15px 20px; border-bottom:0; }
  #nav-list .sub-dropdown-title { text-align:left; }
}
/* DISAYM wordmark: the green isotipo is the D; text completes ISAYM. */
header .logo{gap:2px;flex-shrink:0}
header .logo img{height:56px;width:auto;flex-shrink:0}
header .logo .logo-text{font-size:clamp(25px,2.1vw,32px);font-weight:900;line-height:1;letter-spacing:-1.1px;white-space:nowrap}
@media(max-width:900px){header .logo{gap:1px}header .logo img{height:51px}header .logo .logo-text{font-size:29px;letter-spacing:-1.25px}}
@media(max-width:370px){header .logo img{height:45px}header .logo .logo-text{font-size:25px}}
.nav-chevron{width:12px;height:12px;display:inline-block;vertical-align:middle;flex:none}.nav-purpose-main>.nav-chevron{margin-left:8px}.sub-dropdown-title>.nav-chevron{color:#1b5e20}@media(min-width:901px){.sub-dropdown-title>.nav-chevron{display:none}}