/* ============================================
   CONSULTORES S.R.L. - ESTILOS COMPLETOS (COLORES INTENSIFICADOS)
   Sánchez Céspedes Consultores S.R.L. - 2024
   Colores: Rojo, Azul, Amarillo, Violeta
   ============================================ */

/* ============================================
   1. VARIABLES CSS
   ============================================ */
:root {
    /* ROJO más vibrante */
    --color-primary: #FF1A1A;
    --color-primary-dark: #CC0000;
    --color-primary-light: #FF4D4D;
    --color-primary-lighter: #FFF0F0;
    
    /* AZUL más intenso */
    --color-secondary: #0A1F3F;
    --color-secondary-light: #153360;
    
    /* AMARILLO más brillante */
    --color-accent: #FFB800;
    --color-accent-dark: #E6A600;
    --color-accent-lighter: #FFF8E6;
    
    /* VIOLETA más notorio */
    --color-tertiary: #8B2FFF;
    --color-tertiary-dark: #7222E6;
    --color-tertiary-light: #B366FF;
    
    --color-white: #FFFFFF;
    --color-off-white: #F8F9FC;
    --color-light-gray: #F0F2F5;
    --color-gray: #E0E4E9;
    --color-medium-gray: #8A94A6;
    --color-text: #2D3748;
    --color-text-light: #718096;
    --color-success: #10B981;
    --color-error: #EF4444;
    --color-facebook: #1877F2;
    --color-twitter: #1DA1F2;
    --color-linkedin: #0A66C2;
    --color-instagram: #E4405F;
    --color-whatsapp: #25D366;
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --fs-h1: 3.5rem;
    --fs-h2: 2.5rem;
    --fs-h3: 1.75rem;
    --fs-h4: 1.25rem;
    --fs-body: 1rem;
    --fs-body-sm: 0.875rem;
    --fs-body-xs: 0.75rem;
    --section-padding: 100px 0;
    --container-padding: 0 20px;
    --border-radius-sm: 8px;
    --border-radius: 12px;
    --border-radius-lg: 16px;
    --border-radius-xl: 20px;
    --border-radius-full: 50%;
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
    --shadow: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
    --shadow-xl: 0 16px 48px rgba(0,0,0,0.16);
    --transition-fast: 0.2s ease;
    --transition: 0.3s ease;
    --transition-slow: 0.5s ease;
    --z-header: 1000;
}

/* ============================================
   2. RESET GLOBAL
   ============================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-primary);font-size:var(--fs-body);line-height:1.6;color:var(--color-text);background:var(--color-white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}
ul{list-style:none}
button{cursor:pointer;border:none;outline:none;font-family:inherit;font-size:inherit}
input,select,textarea{font-family:inherit;font-size:inherit;outline:none}

/* ============================================
   3. UTILIDADES
   ============================================ */
.container{max-width:1200px;margin:0 auto;padding:var(--container-padding);width:100%}
.section-footer{text-align:center;margin-top:50px}

/* ============================================
   4. BOTONES - COLORES MÁS INTENSOS
   ============================================ */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:50px;font-weight:600;font-size:var(--fs-body-sm);transition:all var(--transition);cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden}
.btn i{transition:transform var(--transition-fast)}
.btn:hover i{transform:translateX(3px)}

/* Botón Rojo más intenso */
.btn-primary{background:linear-gradient(135deg, var(--color-primary), #FF3333);color:var(--color-white);box-shadow:0 4px 20px rgba(255,26,26,0.4);border:2px solid var(--color-primary)}
.btn-primary:hover{box-shadow:0 8px 30px rgba(255,26,26,0.6);transform:translateY(-2px);background:linear-gradient(135deg, #FF3333, var(--color-primary-dark))}

/* Botón secundario con borde rojo más visible */
.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);font-weight:700}
.btn-secondary:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:0 4px 20px rgba(255,26,26,0.4)}

.btn-outline{background:transparent;color:var(--color-white);border-color:rgba(255,255,255,0.8)}
.btn-outline:hover{background:var(--color-white);color:var(--color-primary);transform:translateY(-2px)}
.btn-sm{padding:8px 20px;font-size:var(--fs-body-xs);border-radius:50px}
.btn-block{display:flex;width:100%}

/* Botón WhatsApp más notorio */
.btn-whatsapp{background:#25D366;color:var(--color-white);box-shadow:0 4px 15px rgba(37,211,102,0.4)}
.btn-whatsapp:hover{background:#1fb855;transform:translateY(-2px);box-shadow:0 8px 25px rgba(37,211,102,0.6)}
.btn-whatsapp-large{background:#25D366;color:var(--color-white);padding:14px 32px;font-size:var(--fs-body);box-shadow:0 4px 20px rgba(37,211,102,0.4)}
.btn-whatsapp-large:hover{background:#1fb855;transform:translateY(-2px);box-shadow:0 8px 30px rgba(37,211,102,0.6)}
.btn-submit{width:100%;padding:16px 28px;font-size:var(--fs-body);margin-top:10px}

/* ============================================
   5. HEADER - CON BORDE INFERIOR DE COLORES
   ============================================ */
.header{position:fixed;top:0;left:0;width:100%;z-index:var(--z-header);background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:3px solid transparent;border-image:linear-gradient(90deg, var(--color-primary), var(--color-accent), var(--color-tertiary), #0066FF) 1;transition:all var(--transition)}
.header.scrolled{background:rgba(255,255,255,0.98);box-shadow:var(--shadow)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}

/* ============================================
   TAMAÑO DEL LOGO - MODIFICAR AQUÍ
   ============================================ */

/* Logo en el Header */
.logo-img {
    height: 80px;        
    width: auto;        
    display: block;
}

.preloader-logo-img {
    height: 80px;       
    width: auto;         
    display: block;
    margin-right: 5px;
}

/* Contenedor del logo */
.logo a {
    display: flex;
    align-items: center;
    gap: 12px;           
    font-size: 1.5rem;   
    font-weight: 800;
    color: var(--color-secondary);
    text-decoration: none;
}

/* Texto del logo */
.logo span {
    font-size: 1.2rem;   /* ⚠️ CAMBIA ESTE VALOR si quieres modificar solo el tamaño del texto */
    font-weight: 800;
}

/* Icono del logo (si se usa Font Awesome) */
.logo a i {
    font-size: 1.6rem;
    background:linear-gradient(135deg, var(--color-primary), var(--color-tertiary));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}

.nav-menu{display:flex;align-items:center;gap:6px}
.nav-link{display:block;padding:10px 18px;font-weight:600;font-size:var(--fs-body-sm);color:var(--color-text-light);border-radius:50px;transition:all var(--transition-fast)}
.nav-link:hover{color:var(--color-primary);background:var(--color-primary-lighter)}

/* Nav link activo más visible */
.nav-link.active{color:var(--color-white);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));font-weight:700;box-shadow:0 4px 15px rgba(255,26,26,0.35)}
.header-actions{display:flex;align-items:center;gap:12px}

/* Botón del header más notorio */
.btn-header-contact{padding:10px 22px;font-size:var(--fs-body-xs);border-radius:50px;background:linear-gradient(135deg, var(--color-tertiary), var(--color-tertiary-dark));color:white;box-shadow:0 4px 15px rgba(139,47,255,0.4);font-weight:700}
.btn-header-contact:hover{box-shadow:0 8px 25px rgba(139,47,255,0.6);transform:translateY(-2px)}
.btn-header-contact i{font-size:0.85rem}

.hamburger{display:none;flex-direction:column;gap:6px;cursor:pointer;padding:8px;z-index:10}
.hamburger .bar{display:block;width:26px;height:3px;background:var(--color-secondary);border-radius:4px;transition:all var(--transition)}
.hamburger.active .bar:nth-child(1){transform:rotate(45deg)translate(6px,6px)}
.hamburger.active .bar:nth-child(2){opacity:0}
.hamburger.active .bar:nth-child(3){transform:rotate(-45deg)translate(6px,-6px)}

/* ============================================
   6. PAGE HEADER - CON DEGRADADO DE LOS 4 COLORES
   ============================================ */
.page-header{position:relative;background:linear-gradient(135deg, var(--color-secondary), var(--color-tertiary-dark), var(--color-primary-dark));padding:150px 0 90px;text-align:center}
.page-header::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--color-primary), var(--color-accent), var(--color-tertiary));z-index:2}
.page-header-content{position:relative;z-index:2}
.page-title{font-size:var(--fs-h2);font-weight:800;color:var(--color-white);margin-bottom:16px;text-shadow:0 2px 10px rgba(0,0,0,0.3)}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:10px;font-size:var(--fs-body-sm);color:rgba(255,255,255,0.8)}
.breadcrumb a{color:rgba(255,255,255,0.8);font-weight:500}
.breadcrumb a:hover{color:var(--color-accent)}
.breadcrumb .separator i{font-size:0.6rem}
.breadcrumb .current{color:var(--color-accent);font-weight:700}
.custom-shape-divider{position:absolute;bottom:-1px;left:0;width:100%;overflow:hidden;line-height:0;z-index:1}
.custom-shape-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:60px}
.custom-shape-divider .shape-fill{fill:var(--color-white)}

/* ============================================
   7. SECCIONES GENERALES
   ============================================ */
.section-header{text-align:center;margin-bottom:60px}
.section-subtitle{display:inline-block;font-size:var(--fs-body-sm);font-weight:700;color:var(--color-primary-dark);background:var(--color-primary-lighter);padding:8px 20px;border-radius:50px;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px;border:1px solid rgba(255,26,26,0.2)}
.section-title{font-size:var(--fs-h2);font-weight:800;color:var(--color-secondary);margin-bottom:16px;line-height:1.2}

/* Gradiente más visible en títulos */
.section-title span{background:linear-gradient(135deg, var(--color-primary), var(--color-tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900}
.section-description{font-size:var(--fs-body);color:var(--color-text-light);max-width:600px;margin:0 auto;line-height:1.7}

/* ============================================
   8. HERO - CON COLORES MÁS VIBRANTES
   ============================================ */
.hero{position:relative;padding:170px 0 140px;background:linear-gradient(160deg, #FFF0F0 0%, #FFF8E6 30%, #F0F0FF 70%, #F5F0FF 100%);overflow:hidden}
.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle, rgba(255,26,26,0.1) 0%, transparent 70%);border-radius:50%}
.hero::after{content:'';position:absolute;bottom:-30%;left:-10%;width:500px;height:500px;background:radial-gradient(circle, rgba(139,47,255,0.1) 0%, transparent 70%);border-radius:50%}
.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2}
.hero-text{position:relative;z-index:2}

/* Badge con borde de color */
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-white);color:var(--color-primary);padding:10px 22px;border-radius:50px;font-size:var(--fs-body-sm);font-weight:700;box-shadow:var(--shadow);margin-bottom:24px;border:2px solid rgba(255,26,26,0.2)}
.hero-badge i{color:var(--color-accent)}
.hero-title{font-size:var(--fs-h1);font-weight:900;color:var(--color-secondary);line-height:1.1;margin-bottom:24px;letter-spacing:-1px}
.hero-title span{background:linear-gradient(135deg, var(--color-primary), var(--color-tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-description{font-size:1.1rem;color:var(--color-text-light);line-height:1.8;margin-bottom:36px;max-width:500px}
.hero-cta{display:flex;gap:16px;margin-bottom:48px;flex-wrap:wrap}
.hero-stats{display:flex;gap:40px;flex-wrap:wrap}

/* Stats con colores */
.stat-item{display:flex;flex-direction:column}
.stat-number{font-size:2.2rem;font-weight:900;color:var(--color-secondary);line-height:1}
.stat-item:nth-child(1) .stat-number{color:var(--color-primary)}
.stat-item:nth-child(2) .stat-number{color:var(--color-accent-dark)}
.stat-item:nth-child(3) .stat-number{color:var(--color-tertiary)}
.stat-label{font-size:var(--fs-body-xs);color:var(--color-text-light);margin-top:6px;font-weight:500}
.hero-image{position:relative}
.hero-image-container{position:relative}
.hero-image-container img{border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);width:100%;border:3px solid rgba(255,184,0,0.3)}

/* Floating cards con colores más visibles */
.floating-card{position:absolute;background:var(--color-white);padding:14px 22px;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;font-size:var(--fs-body-sm);font-weight:600;animation:floatCard 4s ease-in-out infinite;border-left:4px solid}
.card-1{top:-25px;right:-25px;border-left-color:var(--color-tertiary)}
.card-1 i{color:var(--color-tertiary)}
.card-2{bottom:-25px;left:-25px;animation-delay:2s;border-left-color:var(--color-accent)}
.card-2 i{color:var(--color-accent)}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:3;cursor:pointer;animation:scrollBounce 2s ease-in-out infinite}
.scroll-indicator span{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--color-primary)}
.scroll-indicator .mouse{width:26px;height:40px;border:2px solid var(--color-primary);border-radius:20px;position:relative}
.scroll-indicator .mouse::after{content:'';position:absolute;top:8px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:var(--color-primary);border-radius:4px;animation:scrollWheel 1.5s ease-in-out infinite}
@keyframes scrollBounce{0%,100%{transform:translateX(-50%)translateY(0)}50%{transform:translateX(-50%)translateY(10px)}}
@keyframes scrollWheel{0%{top:8px;opacity:1}100%{top:24px;opacity:0}}

/* ============================================
   9. WHY US - CON BORDES DE COLOR
   ============================================ */
.why-us-section{padding:var(--section-padding);background:var(--color-off-white)}
.why-us-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.why-us-card{background:var(--color-white);padding:36px 32px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);position:relative;transition:all var(--transition);border-top:4px solid transparent;overflow:hidden}
.why-us-card:nth-child(1){border-top-color:var(--color-primary)}
.why-us-card:nth-child(2){border-top-color:var(--color-accent)}
.why-us-card:nth-child(3){border-top-color:var(--color-tertiary)}
.why-us-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.why-us-card:nth-child(1):hover{border-top-color:var(--color-primary-dark)}
.why-us-card:nth-child(2):hover{border-top-color:var(--color-accent-dark)}
.why-us-card:nth-child(3):hover{border-top-color:var(--color-tertiary-dark)}
.why-us-number{font-size:3.5rem;font-weight:900;color:rgba(255,26,26,0.08);position:absolute;top:16px;right:24px;line-height:1;pointer-events:none}
.why-us-card:nth-child(2) .why-us-number{color:rgba(255,184,0,0.1)}
.why-us-card:nth-child(3) .why-us-number{color:rgba(139,47,255,0.1)}
.why-us-icon{width:60px;height:60px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.why-us-card:nth-child(1) .why-us-icon{background:var(--color-primary-lighter)}
.why-us-card:nth-child(1) .why-us-icon i{color:var(--color-primary)}
.why-us-card:nth-child(2) .why-us-icon{background:var(--color-accent-lighter)}
.why-us-card:nth-child(2) .why-us-icon i{color:var(--color-accent-dark)}
.why-us-card:nth-child(3) .why-us-icon{background:rgba(139,47,255,0.1)}
.why-us-card:nth-child(3) .why-us-icon i{color:var(--color-tertiary)}
.why-us-card h3{font-size:var(--fs-h4);font-weight:700;color:var(--color-secondary);margin-bottom:12px}
.why-us-card p{font-size:var(--fs-body-sm);color:var(--color-text-light);line-height:1.7}

/* ============================================
   10. SERVICES (index)
   ============================================ */
.services{padding:var(--section-padding);background:var(--color-white)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service-card{background:var(--color-white);padding:36px 32px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid var(--color-gray);position:relative;overflow:hidden}

/* Línea de color superior más gruesa */
.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:5px;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-slow)}
.service-card:nth-child(1)::before{background:linear-gradient(90deg, var(--color-primary), var(--color-accent))}
.service-card:nth-child(2)::before{background:linear-gradient(90deg, var(--color-accent), var(--color-tertiary))}
.service-card:nth-child(3)::before{background:linear-gradient(90deg, var(--color-tertiary), #0066FF)}
.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent}
.service-card:hover::before{transform:scaleX(1)}
.service-icon{width:64px;height:64px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:all var(--transition)}
.service-card:nth-child(1) .service-icon{background:var(--color-primary-lighter)}
.service-card:nth-child(2) .service-icon{background:var(--color-accent-lighter)}
.service-card:nth-child(3) .service-icon{background:rgba(139,47,255,0.1)}
.service-card:nth-child(1):hover .service-icon{background:var(--color-primary)}
.service-card:nth-child(2):hover .service-icon{background:var(--color-accent)}
.service-card:nth-child(3):hover .service-icon{background:var(--color-tertiary)}
.service-card:hover .service-icon i{color:var(--color-white)}
.service-card:nth-child(1) .service-icon i{color:var(--color-primary)}
.service-card:nth-child(2) .service-icon i{color:var(--color-accent-dark)}
.service-card:nth-child(3) .service-icon i{color:var(--color-tertiary)}
.service-icon i{font-size:1.5rem;transition:all var(--transition)}
.service-card h3{font-size:var(--fs-h4);font-weight:700;color:var(--color-secondary);margin-bottom:12px}
.service-card p{font-size:var(--fs-body-sm);color:var(--color-text-light);line-height:1.7;margin-bottom:20px}
.service-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-body-sm);font-weight:700;transition:gap var(--transition-fast)}
.service-card:nth-child(1) .service-link{color:var(--color-primary)}
.service-card:nth-child(2) .service-link{color:var(--color-accent-dark)}
.service-card:nth-child(3) .service-link{color:var(--color-tertiary)}
.service-link:hover{gap:12px}
.service-link i{font-size:0.8rem;transition:transform var(--transition-fast)}

/* ============================================
   11. SERVICE CARDS (servicios.html) - COLORES INTENSOS
   ============================================ */
.service-card-new{background:var(--color-white);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid var(--color-gray);cursor:pointer}
.service-card-new:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.service-card-header{padding:40px 30px;text-align:center;position:relative;overflow:hidden}
.service-card-header .card-number{position:absolute;top:-20px;right:-20px;font-size:8rem;font-weight:900;color:rgba(255,255,255,0.15);line-height:1}
.service-card-header .card-icon{width:70px;height:70px;background:rgba(255,255,255,0.25);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;position:relative;z-index:1;border:2px solid rgba(255,255,255,0.3)}
.service-card-header .card-icon i{font-size:1.8rem;color:#FFF}
.service-card-header h3{font-size:1.3rem;font-weight:700;color:#FFF;position:relative;z-index:1}
.service-card-body{padding:25px 30px}
.service-card-body p{color:var(--color-text-light);font-size:0.9rem;line-height:1.7;margin-bottom:15px}
.service-card-body ul{list-style:none;margin-bottom:20px}
.service-card-body ul li{padding:6px 0;color:var(--color-text);font-size:0.85rem}
.service-card-body ul li i{color:var(--color-success);margin-right:8px}
.service-card-body .card-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:0.9rem;transition:gap var(--transition-fast);padding:8px 20px;border-radius:50px;background:rgba(255,26,26,0.1)}
.service-card-body .card-link:hover{gap:10px;background:rgba(255,26,26,0.2)}
.service-card-body .card-link i{font-size:0.8rem}

/* Colores de tarjetas MÁS INTENSOS */
.card-red{background:linear-gradient(135deg, #FF1A1A, #E60000)}
.card-violet{background:linear-gradient(135deg, #8B2FFF, #6A1FD4)}
.card-yellow{background:linear-gradient(135deg, #FFB800, #FF9900)}
.card-blue{background:linear-gradient(135deg, #0A1F3F, #153360)}
.card-green{background:linear-gradient(135deg, #10B981, #059669)}
.card-gradient{background:linear-gradient(135deg, #FFB800, #FF1A1A)}

.link-red{color:#FF1A1A}
.link-violet{color:#8B2FFF}
.link-yellow{color:#FF9900}
.link-blue{color:#0A1F3F}
.link-green{color:#10B981}

/* ============================================
   12. TESTIMONIALS
   ============================================ */
.testimonials-section{padding:var(--section-padding);background:var(--color-off-white)}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.testimonial-card{background:var(--color-white);padding:36px;border-radius:var(--border-radius-lg);border:1px solid var(--color-gray);transition:all var(--transition);position:relative}
.testimonial-card::before{content:'"';position:absolute;top:16px;right:28px;font-size:5rem;font-weight:900;color:rgba(255,26,26,0.08);line-height:1;font-family:Georgia,serif;pointer-events:none}
.testimonial-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-tertiary-light);transform:translateY(-4px)}
.testimonial-rating{margin-bottom:16px;position:relative;z-index:1}
.testimonial-rating i{color:var(--color-accent);font-size:0.95rem}
.testimonial-text{font-size:var(--fs-body-sm);color:var(--color-text);line-height:1.8;font-style:italic;margin-bottom:24px;position:relative;z-index:1}
.testimonial-author{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.testimonial-author img{width:50px;height:50px;border-radius:var(--border-radius-full);object-fit:cover;border:3px solid var(--color-primary-lighter)}
.testimonial-author h4{font-size:var(--fs-body-sm);font-weight:700;color:var(--color-secondary)}
.testimonial-author span{font-size:var(--fs-body-xs);color:var(--color-text-light)}

/* ============================================
   13. HISTORY
   ============================================ */
.history-section{padding:var(--section-padding);background:var(--color-white)}
.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.history-content .section-title{font-size:2rem;margin-bottom:24px}
.history-text{font-size:var(--fs-body);color:var(--color-text-light);line-height:1.8;margin-bottom:16px}
.history-milestones{margin-top:40px;display:grid;gap:24px}
.milestone{display:flex;align-items:flex-start;gap:16px}
.milestone-year{font-size:var(--fs-h4);font-weight:800;color:var(--color-primary);min-width:60px}
.milestone-dot{width:12px;height:12px;border-radius:var(--border-radius-full);margin-top:6px;flex-shrink:0;position:relative}
.milestone:nth-child(odd) .milestone-dot{background:var(--color-primary)}
.milestone:nth-child(even) .milestone-dot{background:var(--color-tertiary)}
.milestone-dot::after{content:'';position:absolute;left:50%;top:100%;transform:translateX(-50%);width:2px;height:40px;background:linear-gradient(to bottom, var(--color-primary), var(--color-tertiary))}
.milestone:last-child .milestone-dot::after{display:none}
.milestone-info h4{font-size:var(--fs-body);font-weight:600;color:var(--color-secondary);margin-bottom:4px}
.milestone-info p{font-size:var(--fs-body-sm);color:var(--color-text-light)}
.history-image{position:relative}
.history-image img{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:100%;border:3px solid rgba(255,184,0,0.3)}
.history-image-badge{position:absolute;bottom:-20px;left:-20px;background:var(--color-white);padding:16px 20px;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;font-size:var(--fs-body-sm);font-weight:600;color:var(--color-secondary);border-left:4px solid var(--color-accent)}
.history-image-badge i{color:var(--color-accent);font-size:1.2rem}

/* ============================================
   14. MISIÓN, VISIÓN, VALORES
   ============================================ */
.mission-section{padding:var(--section-padding);background:var(--color-off-white)}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mission-card{background:var(--color-white);padding:40px 32px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);text-align:center;transition:all var(--transition);border-top:4px solid transparent}
.mission-card:nth-child(1){border-top-color:var(--color-primary)}
.mission-card:nth-child(2){border-top-color:var(--color-accent)}
.mission-card:nth-child(3){border-top-color:var(--color-tertiary)}
.mission-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.mission-icon{width:70px;height:70px;border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.mission-card:nth-child(1) .mission-icon{background:linear-gradient(135deg, var(--color-primary-lighter), rgba(255,26,26,0.2))}
.mission-card:nth-child(2) .mission-icon{background:linear-gradient(135deg, var(--color-accent-lighter), rgba(255,184,0,0.2))}
.mission-card:nth-child(3) .mission-icon{background:linear-gradient(135deg, rgba(139,47,255,0.1), rgba(139,47,255,0.2))}
.mission-card:nth-child(1) .mission-icon i{color:var(--color-primary)}
.mission-card:nth-child(2) .mission-icon i{color:var(--color-accent-dark)}
.mission-card:nth-child(3) .mission-icon i{color:var(--color-tertiary)}
.mission-icon i{font-size:1.8rem}
.mission-card h3{font-size:var(--fs-h4);font-weight:700;color:var(--color-secondary);margin-bottom:16px}
.mission-card p{font-size:var(--fs-body-sm);color:var(--color-text-light);line-height:1.7}
.mission-company{font-size:var(--fs-body-xs);font-weight:700;color:var(--color-tertiary);margin-top:12px;text-transform:uppercase;letter-spacing:1px}

/* ============================================
   15. TEAM - CON BORDES DE COLOR
   ============================================ */
.team-section{padding:var(--section-padding);background:var(--color-white)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team-member{background:var(--color-white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid var(--color-gray)}
.team-member:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.member-image{position:relative;overflow:hidden;border-bottom:3px solid}
.team-member:nth-child(1) .member-image{border-bottom-color:var(--color-primary)}
.team-member:nth-child(2) .member-image{border-bottom-color:var(--color-accent)}
.team-member:nth-child(3) .member-image{border-bottom-color:var(--color-tertiary)}
.team-member:nth-child(4) .member-image{border-bottom-color:#0066FF}
.member-image img{width:100%;height:280px;object-fit:cover;transition:transform var(--transition-slow)}
.team-member:hover .member-image img{transform:scale(1.05)}
.member-social{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,0.8),transparent);padding:40px 20px 20px;display:flex;justify-content:center;gap:10px;opacity:0;transform:translateY(20px);transition:all var(--transition)}
.team-member:hover .member-social{opacity:1;transform:translateY(0)}
.member-social a{width:36px;height:36px;background:var(--color-white);border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-secondary);font-size:0.9rem;transition:all var(--transition-fast)}
.member-social a:hover{background:var(--color-primary);color:var(--color-white)}
.member-info{padding:24px;text-align:center}
.member-info h3{font-size:var(--fs-h4);font-weight:700;color:var(--color-secondary);margin-bottom:4px}
.member-role{font-size:var(--fs-body-sm);color:var(--color-primary);font-weight:700;display:block;margin-bottom:12px}
.member-info p{font-size:var(--fs-body-sm);color:var(--color-text-light);line-height:1.6}

/* ============================================
   16. CONTACT INFO CARDS
   ============================================ */
.contact-info-card{display:flex;gap:18px;background:var(--color-white);padding:25px;border-radius:16px;box-shadow:var(--shadow-sm);border:1px solid var(--color-gray);align-items:flex-start;transition:all var(--transition);border-left:4px solid transparent}
.contact-info-card:nth-child(1){border-left-color:var(--color-primary)}
.contact-info-card:nth-child(2){border-left-color:var(--color-tertiary)}
.contact-info-card:nth-child(3){border-left-color:var(--color-accent)}
.contact-info-card:hover{box-shadow:var(--shadow);transform:translateX(5px)}
.contact-icon-box{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-icon-box i{font-size:1.2rem;color:#FFF}
.icon-red{background:linear-gradient(135deg, #FF1A1A, #E60000)}
.icon-violet{background:linear-gradient(135deg, #8B2FFF, #6A1FD4)}
.icon-yellow{background:linear-gradient(135deg, #FFB800, #FF9900)}
.icon-green{background:linear-gradient(135deg, #10B981, #059669)}

/* ============================================
   17. FORMULARIOS MEJORADOS
   ============================================ */
.form-input{width:100%;padding:14px 16px 14px 42px;border:2px solid var(--color-gray);border-radius:12px;font-size:0.9rem;transition:all var(--transition);background:var(--color-white)}
.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(255,26,26,0.1)}
.input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#A0AEC0;font-size:0.9rem}
.input-group{position:relative;margin-bottom:15px}

/* ============================================
   18. CTA - CON LOS 4 COLORES
   ============================================ */
.cta-section{padding:100px 0;background:linear-gradient(135deg, #0A1F3F 0%, #6A1FD4 50%, #E60000 100%);position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23FFB800' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.cta-content{text-align:center;max-width:700px;margin:0 auto;position:relative;z-index:2}
.cta-content h2{font-size:var(--fs-h2);font-weight:900;color:var(--color-white);margin-bottom:16px;text-shadow:0 2px 10px rgba(0,0,0,0.3)}
.cta-content p{font-size:var(--fs-body);color:rgba(255,255,255,0.8);line-height:1.7;margin-bottom:36px}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ============================================
   19. FOOTER MEJORADO
   ============================================ */
.footer {
    background: var(--color-secondary);
    color: rgba(255, 255, 255, 0.7);
    padding: 70px 0 0;
    border-top: 4px solid;
    border-image: linear-gradient(90deg, var(--color-primary), var(--color-accent), var(--color-tertiary)) 1;
}

.footer-content {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.5rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 16px;
}

.footer-logo i {
    color: var(--color-primary);
}

.footer-col p {
    font-size: var(--fs-body-sm);
    line-height: 1.7;
    margin-bottom: 20px;
}

.footer-col h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 12px;
}

.footer-col h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 3px;
    background: var(--color-accent);
    border-radius: 2px;
}

.footer-col ul {
    list-style: none;
    padding: 0;
}

.footer-col ul li {
    margin-bottom: 10px;
}

.footer-col ul li a {
    font-size: var(--fs-body-sm);
    color: rgba(255, 255, 255, 0.5);
    transition: all var(--transition-fast);
}

.footer-col ul li a:hover {
    color: var(--color-accent);
    padding-left: 4px;
}

/* Redes sociales en el footer */
.footer-social {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

.footer-social a {
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    text-decoration: none;
}

.footer-social a:hover {
    background: var(--color-primary);
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(255, 26, 26, 0.4);
}

/* Contacto en footer */
.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 0.875rem;
}

.footer-contact-item i {
    color: var(--color-accent);
    margin-top: 4px;
    flex-shrink: 0;
}

.footer-contact-item span {
    line-height: 1.5;
}

/* Newsletter */
.newsletter-form {
    display: flex;
    gap: 8px;
}

.newsletter-form input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--color-white);
    font-size: var(--fs-body-sm);
    transition: all var(--transition);
}

.newsletter-form input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.newsletter-form input:focus {
    border-color: var(--color-accent);
    background: rgba(255, 255, 255, 0.1);
}

.newsletter-form .btn {
    padding: 12px 20px;
    border-radius: 50px;
    background: var(--color-accent);
    color: var(--color-secondary);
    font-weight: 700;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 0;
    flex-wrap: wrap;
    gap: 16px;
}

.footer-bottom p {
    font-size: var(--fs-body-xs);
    opacity: 0.6;
}

.footer-links {
    display: flex;
    gap: 20px;
}

.footer-links a {
    font-size: var(--fs-body-xs);
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.2s;
}

.footer-links a:hover {
    color: var(--color-accent);
}

/* ============================================
   20. PRELOADER - CON LOS 4 COLORES
   ============================================ */
.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-white);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.5s ease,visibility 0.5s ease}
.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}

/* Preloader logo container */
.preloader-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 2rem;
    font-weight: 800;
    color: var(--color-secondary);
    margin-bottom: 24px;
    animation: preloaderPulse 1.5s ease-in-out infinite;
}

.preloader-logo i {
    font-size: 2.2rem;
    background:linear-gradient(135deg, var(--color-primary), var(--color-accent), var(--color-tertiary));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}

@keyframes preloaderPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:0.8}}

/* Spinner con los 4 colores */
.preloader-spinner{width:60px;height:60px;border:4px solid transparent;border-top-color:var(--color-primary);border-right-color:var(--color-accent);border-bottom-color:var(--color-tertiary);border-left-color:#0066FF;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============================================
   21-29. RESTO DE COMPONENTES
   ============================================ */
#particles-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}
.parallax-image{transition:transform 0.1s ease-out;will-change:transform}
.glass-card{background:rgba(255,255,255,0.7)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,0.3)!important}

/* WhatsApp float más notorio */
.whatsapp-float{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background:linear-gradient(135deg, #25D366, #1fb855);color:#FFF;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 30px rgba(37,211,102,0.5);z-index:997;transition:all 0.3s cubic-bezier(0.68,-0.55,0.265,1.55);animation:whatsappPulse 2s ease-in-out infinite;cursor:pointer;text-decoration:none;border:2px solid rgba(255,255,255,0.3)}
.whatsapp-float:hover{transform:scale(1.15)translateY(-5px);box-shadow:0 12px 40px rgba(37,211,102,0.7);animation:none;color:#FFF}
.whatsapp-float::after{content:'¿Hablamos?';position:absolute;right:70px;background:#FFF;color:var(--color-secondary);padding:8px 16px;border-radius:20px;font-size:0.8rem;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease;box-shadow:0 4px 15px rgba(0,0,0,0.15)}
.whatsapp-float:hover::after{opacity:1}
@keyframes whatsappPulse{0%,100%{box-shadow:0 8px 30px rgba(37,211,102,0.5)}50%{box-shadow:0 8px 50px rgba(37,211,102,0.8)}}

/* Tilt y scroll reveal */
.tilt-card{transform-style:preserve-3d;perspective:1000px;transition:transform 0.1s ease-out}
.reveal-element{opacity:0;visibility:hidden;transition:all 0.8s cubic-bezier(0.4,0,0.2,1)}
.reveal-element.revealed{opacity:1;visibility:visible}
.reveal-fade-up{transform:translateY(60px)}
.reveal-fade-up.revealed{transform:translateY(0)}
.reveal-fade-left{transform:translateX(-60px)}
.reveal-fade-left.revealed{transform:translateX(0)}
.reveal-fade-right{transform:translateX(60px)}
.reveal-fade-right.revealed{transform:translateX(0)}
.reveal-scale{transform:scale(0.8)}
.reveal-scale.revealed{transform:scale(1)}
.delay-100{transition-delay:0.1s}
.delay-200{transition-delay:0.2s}
.delay-300{transition-delay:0.3s}
.delay-400{transition-delay:0.4s}
.delay-500{transition-delay:0.5s}
.delay-600{transition-delay:0.6s}

/* Text reveal con color primario */
.text-reveal{position:relative;overflow:hidden;display:inline-block}
.text-reveal::after{content:'';position:absolute;top:0;right:0;width:100%;height:100%;background:var(--color-primary);transform:scaleX(1);transform-origin:right;transition:transform 1s cubic-bezier(0.77,0,0.175,1)}
.text-reveal.revealed::after{transform:scaleX(0);transform-origin:left}

/* Carousel 3D */
.carousel-3d-container{perspective:1200px;position:relative;height:400px;display:flex;align-items:center;justify-content:center}
.carousel-3d-track{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1)}
.carousel-3d-card{position:absolute;width:100%;max-width:500px;left:50%;transform-style:preserve-3d;transition:all 0.6s cubic-bezier(0.4,0,0.2,1);cursor:pointer}
.carousel-3d-nav{display:flex;justify-content:center;gap:12px;margin-top:20px}
.carousel-3d-dot{width:12px;height:12px;border-radius:50%;background:var(--color-gray);cursor:pointer;transition:all 0.3s ease;border:none}
.carousel-3d-dot.active{background:var(--color-primary);transform:scale(1.3);box-shadow:0 0 12px rgba(255,26,26,0.5)}

/* Micro-interacciones */
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.4);transform:scale(0);animation:ripple 0.6s ease-out;pointer-events:none}
@keyframes ripple{to{transform:scale(4);opacity:0}}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.shake{animation:shake 0.5s ease}
.toast-notification{animation:slideInRight 0.5s cubic-bezier(0.68,-0.55,0.265,1.55)!important}
@keyframes slideInRight{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}

/* ============================================
   RESPONSIVE COMPLETO
   ============================================ */
@media(max-width: 1024px) {
    :root{--fs-h1:2.8rem;--fs-h2:2rem;--section-padding:70px 0}
    .hero-content{grid-template-columns:1fr;gap:40px}
    .hero-image{order:1;max-width:500px;margin:0 auto}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .team-grid{grid-template-columns:repeat(2,1fr)}
    .why-us-grid{grid-template-columns:repeat(2,1fr)}
    .testimonials-grid{grid-template-columns:repeat(2,1fr)}
    .footer-content{grid-template-columns:1fr 1fr}
    .history-grid{grid-template-columns:1fr}
    .mission-grid{grid-template-columns:repeat(2,1fr)}
    .carousel-3d-container{height:380px}
    
    .logo-img {
        height: 80px;
    }
    
    .preloader-logo-img {
        height: 75px;
    }
}

@media(max-width: 767px) {
    :root{--fs-h1:2.2rem;--fs-h2:1.8rem;--section-padding:50px 0}
    .hamburger{display:flex}
    .nav-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--color-white);flex-direction:column;padding:80px 30px 30px;box-shadow:var(--shadow-xl);transition:right var(--transition);z-index:5;gap:4px}
    .nav-menu.active{right:0}
    .nav-link{padding:12px 16px;font-size:var(--fs-body)}
    .menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:4}
    .menu-overlay.active{display:block}
    .hero{padding:120px 0 60px}
    .hero-stats{gap:20px}
    .stat-number{font-size:1.5rem}
    .floating-card{display:none}
    .hero-cta{flex-direction:column}
    .hero-cta .btn{width:100%}
    .services-grid,.team-grid,.why-us-grid,.testimonials-grid,.mission-grid{grid-template-columns:1fr}
    .team-grid{max-width:350px;margin:0 auto}
    .form-row{grid-template-columns:1fr}
    .footer-content{grid-template-columns:1fr;gap:30px}
    .footer-bottom{flex-direction:column;text-align:center}
    .footer-links{flex-direction:column;gap:8px;text-align:center}
    .cta-buttons{flex-direction:column}
    .cta-buttons .btn{width:100%}
    .btn-header-contact span{display:none}
    .btn-header-contact{padding:10px 14px}
    .header-actions{gap:8px}
    .carousel-3d-container{height:350px}
    .scroll-indicator{bottom:20px}
    .whatsapp-float{width:50px;height:50px;bottom:20px;right:20px;font-size:1.4rem}
    .whatsapp-float::after{display:none}
    
    .logo-img {
        height: 65px;
    }
    
    .preloader-logo-img {
        height: 60px;
    }
    
    .logo span {
        font-size: 1.1rem;
    }
}

@media(max-width: 480px) {
    :root{--fs-h1:1.8rem;--fs-h2:1.5rem;--container-padding:0 16px}
    .hero-badge{font-size:var(--fs-body-xs)}
    .section-header{margin-bottom:40px}
    .service-card,.why-us-card{padding:24px}
    .mission-card{padding:24px 20px}
    .why-us-number{font-size:2rem}
    
    .logo-img {
        height: 55px;
    }
    
    .preloader-logo-img {
        height: 50px;
    }
    
    .logo span {
        font-size: 1rem;
    }
}