/* ========== ESTILOS COMPLETOS (sin recortes) ========== */
* { margin:0; padding:0; box-sizing:border-box; }
:root { --primary:#fc8403; --dark:#545454; --light:#f6f6f6; --white:#fff; --shadow:0 25px 50px -12px rgba(84,84,84,0.25); --glow:0 0 20px rgba(252,132,3,0.6); }
body { font-family:'Inter', sans-serif; background:var(--white); color:#545454; overflow-x:hidden; line-height:1.6; scroll-behavior:smooth; }

/* Loader */
#loader { position:fixed; inset:0; background:var(--primary); display:flex; justify-content:center; align-items:center; z-index:9999; transition:opacity 0.8s; }
#loader img { width:520px; max-width:70vw; animation:pulse 1.5s infinite; }
@keyframes pulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.08); } }

/* Header */
header { position:fixed; top:0; width:100%; z-index:1000; box-shadow:0 4px 20px rgba(84,84,84,0.15); backdrop-filter:blur(8px); background:rgba(252,132,3,0.95); }
.nav { display:flex; justify-content:space-between; align-items:center; padding:1rem 2rem; max-width:1400px; margin:0 auto; }
.logo { height:46px; filter:brightness(0) invert(1); transition:0.3s; }
.logo:hover { transform:scale(1.05); }
.menu { display:flex; gap:2.5rem; list-style:none; color:#fff; font-weight:500; }
.menu li { cursor:pointer; position:relative; padding:0.3rem 0; }
.menu li::after { content:''; position:absolute; left:0; bottom:0; width:0; height:2.5px; background:#fff; transition:0.4s cubic-bezier(0.175,0.885,0.32,1.275); }
.menu li:hover::after { width:100%; }
.menu a { color:#fff; text-decoration:none; }
.cta { background:#fff; color:var(--primary); padding:0.8rem 2.2rem; border-radius:40px; border:none; font-weight:700; cursor:pointer; transition:0.3s; box-shadow:0 8px 16px rgba(84,84,84,0.1); }
.cta:hover { transform:scale(1.08) translateY(-3px); box-shadow:0 15px 25px rgba(84,84,84,0.2); }
.hamburger { display:none; font-size:2.2rem; color:#fff; cursor:pointer; }

/* Mobile menu */
.mobile-menu { position:fixed; top:0; right:-100%; width:100%; height:100vh; background:#FC4503; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2rem; transition:0.5s; z-index:999; font-size:2rem; padding:2rem; }
.mobile-menu.active { right:0; }
.mobile-menu a { color:#fff; text-decoration:none; font-weight:600; position:relative; font-size:1.8rem; }
.mobile-menu a::after { content:''; position:absolute; left:0; bottom:-8px; width:0; height:3px; background:var(--primary); transition:0.3s; }
.mobile-menu a:hover::after { width:100%; }
.mobile-menu .mobile-cta { background:var(--primary); padding:1rem 3rem; border-radius:60px; margin-top:1rem; font-size:1.5rem; border:none; color:#fff; font-weight:700; cursor:pointer; transition:0.3s; }
.mobile-menu .mobile-cta:hover { transform:scale(1.05); box-shadow:0 10px 20px rgba(252,132,3,0.5); }

/* Hero */
.hero { min-height:100vh; background:#FC4503; color:#fff; display:grid; grid-template-columns:1.1fr 0.9fr; gap:4rem; align-items:center; padding:9rem 2rem 6rem; position:relative; overflow:hidden; max-width:1400px; margin:0 auto; }
.hero h1 { font-family:'Space Grotesk', sans-serif; font-size:clamp(2.8rem,5vw,4.2rem); line-height:1.1; text-shadow:0 2px 10px rgba(84,84,84,0.5); }
.hero h1 span { color:var(--primary); position:relative; display:inline-block; animation:glitch 3s infinite; }
@keyframes glitch { 0%,100%{ transform:skew(0deg); } 5%{ transform:skew(3deg); text-shadow:-2px 0 #FCC203; } 10%{ transform:skew(-3deg); text-shadow:2px 0 #FC6F03; } }
.hero p { margin-top:1.8rem; font-size:1.2rem; color:#545454; max-width:600px; backdrop-filter:blur(5px); }
.hero-img { position:relative; border-radius:30px; overflow:hidden; box-shadow:var(--shadow),0 0 0 3px rgba(252,132,3,0.3); transition:0.5s; }
.hero-img:hover { transform:scale(1.02); box-shadow:0 60px 120px rgba(252,132,3,0.4); }
.hero-img img { width:100%; display:block; }
.hero-overlay { position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(252,132,3,0.4), transparent 60%), radial-gradient(circle at 80% 80%, rgba(252,132,3,0.2), transparent 70%); pointer-events:none; animation:breathe 8s infinite alternate; }
@keyframes breathe { 0%{ opacity:0.4; } 100%{ opacity:1; } }
.pattern { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg, rgba(252,132,3,0.05) 0px, rgba(252,132,3,0.05) 2px, transparent 2px, transparent 40px); animation:move 40s linear infinite; }
@keyframes move { 100%{ background-position:500px 500px; } }
.stats { display:flex; gap:3rem; margin-top:3rem; flex-wrap:wrap; }
.stat { text-align:left; background:rgba(255,255,255,0.05); padding:1.5rem 2rem; border-radius:30px; backdrop-filter:blur(8px); border:1px solid rgba(252,132,3,0.3); }
.stat span { font-size:3.2rem; font-family:'Space Grotesk'; color:var(--primary); display:block; line-height:1; }

/* Secciones generales */
.section { padding:5rem 1.5rem; position:relative; max-width:1400px; margin:0 auto; }
.section.light { background:var(--light); }
.section.dark { background:#FC4503; color:#fff; }
h2 { font-family:'Space Grotesk', sans-serif; font-size:clamp(2.2rem,5vw,3.5rem); text-align:center; margin-bottom:3rem; position:relative; display:inline-block; width:100%; }
h2::after { content:''; display:block; width:100px; height:4px; background:var(--primary); margin:1rem auto 0; border-radius:4px; transition:0.5s; }
h2:hover::after { width:150px; }

/* Grids */
.grid-2, .grid-3, .grid-4 { display:grid; gap:2rem; max-width:1400px; margin:0 auto; }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }

/* Cards */
.card-why { background:#fff; padding:2.5rem 2rem; border-radius:30px; box-shadow:0 20px 40px rgba(84,84,84,0.06); transition:all 0.4s; position:relative; overflow:hidden; border:1px solid rgba(84,84,84,0.02); }
.card-why::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, var(--primary) 0%, transparent 80%); opacity:0; transition:0.5s; }
.card-why:hover { transform:translateY(-10px) scale(1.02); box-shadow:0 30px 60px rgba(252,132,3,0.25); }
.card-why:hover::before { opacity:0.1; }
.card-why i { font-size:2.8rem; color:var(--primary); margin-bottom:1.2rem; transition:0.3s; }
.card-why:hover i { transform:scale(1.2) rotate(5deg); }
.card-why h3 { font-size:1.6rem; margin-bottom:0.8rem; }
.card-why p { color:#545454; transition:0.3s; }
.card-why:hover p { color:#222; }
.extra { opacity:0; max-height:0; overflow:hidden; transition:0.5s; background:var(--primary); color:#fff; padding:0 1rem; border-radius:15px; margin-top:1rem; }
.card-why:hover .extra { opacity:1; max-height:150px; padding:1rem; }

.card { background:#fff; padding:2rem 1.5rem; border-radius:25px; box-shadow:0 20px 40px rgba(84,84,84,0.06); transition:0.3s; text-align:center; }
.card:hover { transform:translateY(-8px); box-shadow:0 30px 60px rgba(252,132,3,0.2); }
.card i { font-size:2.2rem; color:var(--primary); margin-bottom:1rem; }

/* Video */
.video-box { max-width:1000px; margin:0 auto; border-radius:40px; overflow:hidden; box-shadow:0 60px 120px rgba(84,84,84,0.6), 0 0 0 4px rgba(252,132,3,0.2); transition:0.5s; aspect-ratio:16/9; }
.video-box video { width:100%; height:100%; object-fit:cover; }

/* Imágenes flotantes */
.floating-images { position:relative; height:350px; width:100%; max-width:500px; margin:0 auto; }
.floating-images img { position:absolute; border-radius:20px; box-shadow:var(--shadow); transition:0.3s; animation:float 6s infinite alternate; width:150px; height:auto; object-fit:cover; }
.floating-images img:nth-child(1) { top:0; left:0; width:140px; animation-delay:0s; }
.floating-images img:nth-child(2) { top:30px; right:0; width:160px; animation-delay:0.5s; }
.floating-images img:nth-child(3) { bottom:0; left:20px; width:130px; animation-delay:1s; }
.floating-images img:nth-child(4) { bottom:20px; right:30px; width:150px; animation-delay:1.5s; }
@keyframes float { 0%{ transform:translateY(0); } 100%{ transform:translateY(-15px); } }

/* Carrusel clientes */
.carousel-clientes { background:#FC5A03; padding:3rem 1.5rem; margin:3rem 0 0; }
.carousel { display:flex; gap:2rem; overflow:hidden; mask-image:linear-gradient(90deg, transparent, #545454 10%, #545454 90%, transparent); }
.carousel-track { display:flex; gap:2rem; animation:scroll 30s linear infinite; }
.carousel-track img { height:120px; width:auto; border-radius:20px; filter:grayscale(0.2) brightness(1.1); box-shadow:0 0 15px rgba(252,132,3,0.3); transition:0.4s; }
.carousel-track img:hover { transform:scale(1.05); filter:grayscale(0); box-shadow:0 0 30px var(--primary); }
@keyframes scroll { 100%{ transform:translateX(-50%); } }

/* Casos de uso */
.caso-card {
    position: relative;
    min-height: 390px;
    padding: 2.2rem 1.55rem;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(84,84,84,0.06);
    text-align: center;
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.caso-card:hover { transform: translateY(-8px); box-shadow: 0 28px 52px rgba(252,132,3,0.18); }
.caso-card .caso-tab {
    position: absolute;
    top: 16px;
    right: 16px;
    background: linear-gradient(135deg, var(--brand-5), var(--brand-7));
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .45rem .8rem;
    border-radius: 999px;
    box-shadow: 0 12px 22px rgba(252,132,3,.24);
    z-index: 3;
}
.caso-icon { font-size: 2.5rem; color: var(--primary); margin-bottom: 1rem; }
.caso-card h3 {
    font-size: 1.28rem;
    line-height: 1.25;
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.15rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.caso-preview {
    color: #545454;
    font-size: 1rem;
    line-height: 1.78;
    overflow: visible;
    margin-bottom: .35rem;
}
.caso-hover {
    position: absolute;
    inset: auto 1rem 1rem 1rem;
    background: linear-gradient(145deg, var(--brand-5), var(--brand-7));
    color: #fff !important;
    border-radius: 22px;
    padding: 1.2rem 1.05rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: .35s ease;
    font-size: .97rem;
    line-height: 1.72;
    box-shadow: 0 18px 30px rgba(252,132,3,.22);
    text-align: left;
    z-index: 2;
}
.caso-card:hover .caso-hover,
.caso-card.active .caso-hover { opacity: 1; visibility: visible; transform: translateY(0); }
.caso-card .caso-link {
    margin-top: auto;
    padding-top: 1.1rem;
    font-weight: 700;
    color: var(--brand-5) !important;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-size: .8rem;
}
@media (max-width:900px) {
    .caso-card { min-height: auto; }
    .caso-hover {
        position: relative;
        inset: auto;
        margin-top: 1rem;
        opacity: 1;
        visibility: visible;
        display: none;
        transform: none;
        border-radius: 24px;
        padding: 1.3rem;
        text-align: left;
    }
    .caso-card.active .caso-hover { display: block; }
    .caso-card:hover { transform: none; }
}

/* FAQ */
.faq-item { background:#fff; border-radius:25px; margin-bottom:1rem; padding:1rem 1.5rem; box-shadow:0 5px 15px rgba(84,84,84,0.03); transition:0.3s; }
.faq-question { display:flex; align-items:center; gap:1rem; font-weight:600; font-size:1.2rem; cursor:pointer; }
.faq-question i { color:var(--primary); font-size:1.5rem; }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.5s ease, padding 0.3s; padding-left:2.8rem; color:#545454; }
.faq-item.active .faq-answer { max-height:150px; padding-top:1rem; }

/* Testimonios slider (nuevo) */
.testimonios-slider { position:relative; max-width:1000px; margin:0 auto; overflow:hidden; padding:1rem 0; }
.testimonios-track { display:flex; transition:transform 0.5s ease; }
.testimonio-card { flex:0 0 100%; max-width:100%; padding:2rem; background:#fff; border-radius:35px; text-align:center; box-shadow:var(--shadow); margin:0 0.5rem; }
.testimonio-card .person-img { width:80px; height:80px; border-radius:50%; object-fit:cover; border:4px solid var(--primary); margin:0 auto 1rem; }
.testimonio-card .rating { color:#FCC203; font-size:1.3rem; margin:0.8rem 0; }
.testimonio-card h4 { margin-top:1rem; font-weight:600; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); background:var(--primary); color:#fff; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:10; font-size:1.2rem; opacity:0.7; transition:0.3s; }
.slider-arrow:hover { opacity:1; transform:translateY(-50%) scale(1.1); }
.slider-arrow.prev { left:10px; }
.slider-arrow.next { right:10px; }

/* CTA */
.cta-section { background:linear-gradient(135deg, var(--primary) 0%, #ffa533 100%); color:#fff; text-align:center; padding:4rem 1.5rem; border-radius:60px 60px 0 0; position:relative; overflow:hidden; }
.cta-section h2 { color:#fff; margin-bottom:1.5rem; }
.cta-section h2::after { background:#fff; }
.cta-buttons { display:flex; gap:1.5rem; justify-content:center; flex-wrap:wrap; }
.btn { padding:1rem 2.5rem; border-radius:50px; font-weight:600; text-decoration:none; transition:0.3s; display:inline-block; font-size:1rem; }
.btn-primary { background:#fff; color:var(--primary); }
.btn-primary:hover { transform:scale(1.05) translateY(-3px); box-shadow:0 15px 30px rgba(84,84,84,0.15); }
.btn-outline { border:2px solid #fff; color:#fff; background:transparent; }
.btn-outline:hover { background:#fff; color:var(--primary); transform:scale(1.05) translateY(-3px); }

/* Footer */
footer { background:var(--primary); color:#fff; padding:4rem 1.5rem 2rem; }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:2.5rem; max-width:1300px; margin:0 auto; }
.footer-logo { height:50px; filter:brightness(0) invert(1); margin-bottom:1.5rem; }
.footer-menu { list-style:none; }
.footer-menu li { margin-bottom:0.7rem; }
.footer-menu a { color:#fff; text-decoration:none; font-weight:500; transition:0.3s; }
.footer-menu a:hover { text-decoration:underline; }
.contact-info p { margin-bottom:0.5rem; display:flex; align-items:center; gap:0.8rem; }
.contact-info i { width:20px; }
.footer-offices { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16); border-radius:18px; padding:1.1rem 1.15rem; }
.footer-offices h3 { margin-bottom:0.85rem; }
.office-summary-card { display:flex; align-items:flex-start; gap:0.9rem; }
.office-summary-icon { width:42px; height:42px; border-radius:12px; background:rgba(255,255,255,0.14); display:flex; align-items:center; justify-content:center; flex:0 0 42px; }
.office-summary-icon i { font-size:1rem; }
.office-summary-text { min-width:0; }
.office-summary-text strong { display:block; font-size:0.96rem; line-height:1.25; margin-bottom:0.22rem; }
.office-summary-text p { margin:0; font-size:0.93rem; line-height:1.5; }
.office-group-title { font-size:0.86rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; opacity:0.9; margin-bottom:0.7rem; }
.office-list { display:grid; gap:0.65rem; }
.office-item { display:flex; gap:0.7rem; align-items:flex-start; font-size:0.93rem; line-height:1.5; }
.office-item i { margin-top:0.2rem; width:16px; flex:0 0 16px; }
.office-item strong { display:block; font-size:0.95rem; margin-bottom:0.1rem; }
.office-link { display:inline-flex; align-items:center; gap:0.45rem; margin-top:0.85rem; color:#fff; text-decoration:none; font-weight:600; font-size:0.92rem; opacity:0.95; }
.office-link:hover { text-decoration:underline; }
.office-inline-note { margin-top:0.9rem; padding-top:0.8rem; border-top:1px solid rgba(255,255,255,0.16); font-size:0.92rem; line-height:1.5; }
.social a { color:#fff; font-size:1.6rem; margin-right:1.2rem; transition:0.3s; display:inline-block; }
.social a:hover { transform:translateY(-5px); text-shadow:var(--glow); }
.whatsapp-btn { background:#FC8403; color:#fff; padding:0.8rem 1.5rem; border-radius:40px; display:inline-flex; align-items:center; gap:0.6rem; font-weight:600; margin-top:1rem; transition:0.3s; text-decoration:none; font-size:0.95rem; }
.whatsapp-btn:hover { transform:scale(1.05); box-shadow:0 8px 15px rgba(84,84,84,0.2); }
.copyright { text-align:center; margin-top:3rem; border-top:1px solid rgba(255,255,255,0.3); padding-top:2rem; font-size:0.9rem; }

/* Reveal */
.reveal { opacity:0; transform:translateY(40px); transition:1s; }
.reveal.active { opacity:1; transform:none; }

/* Chatbot */
#chatbot { position:fixed; bottom:20px; right:20px; z-index:2000; max-width:calc(100% - 40px); }
#chat-btn { width:55px; height:55px; border-radius:50%; background:var(--primary); color:#fff; display:flex; justify-content:center; align-items:center; font-size:1.7rem; cursor:pointer; box-shadow:0 8px 20px rgba(84,84,84,0.3), 0 0 15px var(--primary); transition:0.3s; margin-left:auto; }
#chat-btn:hover { transform:scale(1.1) rotate(5deg); }
#chat-window { width:320px; max-width:calc(100vw - 40px); height:450px; background:#fff; border-radius:25px; position:absolute; bottom:70px; right:0; display:none; flex-direction:column; overflow:hidden; box-shadow:0 20px 40px rgba(84,84,84,0.25); border:2px solid var(--primary); }
#chat-header { background:var(--primary); color:#fff; padding:0.8rem 1rem; font-weight:600; display:flex; align-items:center; justify-content:space-between; }
.header-left { display:flex; align-items:center; gap:0.5rem; }
.header-left i { font-size:1.2rem; }
.header-actions { display:flex; gap:0.6rem; }
.header-actions i { font-size:1.1rem; cursor:pointer; transition:0.2s; }
.header-actions i:hover { transform:scale(1.2); }
#chat-messages { flex:1; padding:1rem; overflow-y:auto; background:#fff; font-size:0.9rem; }
.msg.bot { background:#eaeaea; padding:0.6rem 1rem; border-radius:18px 18px 18px 5px; margin-bottom:0.8rem; max-width:85%; }
.msg.user { background:var(--primary); color:#fff; padding:0.6rem 1rem; border-radius:18px 18px 5px 18px; margin:0.5rem 0 0.8rem auto; width:fit-content; max-width:85%; }
#chat-input { display:flex; border-top:1px solid #545454; }
#chat-input input { flex:1; border:none; padding:0.8rem; font-size:0.9rem; }
#chat-input button { background:var(--primary); color:#fff; border:none; padding:0 1rem; font-weight:600; cursor:pointer; transition:0.2s; }
#chat-input button:hover { background:#e07502; }


/* ====== AJUSTES INDEX FINAL ====== */
.grid-4.beneficios-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}
.benefit-card {
    position: relative;
    min-height: 390px;
    padding: 2.2rem 1.55rem;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(84,84,84,0.06);
    text-align: center;
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.benefit-card:hover { transform: translateY(-8px); box-shadow: 0 28px 52px rgba(252,132,3,0.18); }
.benefit-card .benefit-tab {
    position: absolute;
    top: 16px;
    right: 16px;
    background: linear-gradient(135deg, var(--brand-5), var(--brand-7));
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .45rem .8rem;
    border-radius: 999px;
    box-shadow: 0 12px 22px rgba(252,132,3,.24);
    z-index: 3;
}
.benefit-card i { font-size: 2.3rem; color: var(--primary); margin-bottom: 1rem; }
.benefit-card h3 { font-size: 1.28rem; line-height: 1.25; min-height: 74px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.15rem; text-transform: uppercase; letter-spacing: .04em; }
.benefit-card .benefit-summary { color: #545454; font-size: 1rem; line-height: 1.78; overflow: visible; margin-bottom: .35rem; }
.benefit-card .benefit-hover {
    position: absolute;
    inset: auto 1rem 1rem 1rem;
    background: linear-gradient(145deg, var(--brand-5), var(--brand-7));
    color: #fff !important;
    border-radius: 22px;
    padding: 1.2rem 1.05rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: .35s ease;
    font-size: .97rem;
    line-height: 1.72;
    box-shadow: 0 18px 30px rgba(252,132,3,.22);
}
.benefit-card:hover .benefit-hover,
.benefit-card.active .benefit-hover { opacity: 1; visibility: visible; transform: translateY(0); }
.benefit-card .benefit-link {
    margin-top: auto;
    padding-top: 1.1rem;
    font-weight: 700;
    color: var(--brand-5) !important;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-size: .8rem;
}

/* --- Unificación de hover: mismo efecto que nosotros --- */
.benefit-card,
.caso-card {
    transition: background-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.benefit-card:hover,
.caso-card:hover {
    background: linear-gradient(135deg, #FC8403, #FCAD03) !important;
    transform: translateY(-8px);
    box-shadow: 0 28px 52px rgba(252,132,3,0.24);
}
.benefit-card:hover i,
.benefit-card:hover h3,
.benefit-card:hover .benefit-summary,
.caso-card:hover i,
.caso-card:hover h3,
.caso-card:hover .caso-preview {
    color: #fff !important;
}
.benefit-card:hover .benefit-hover,
.caso-card:hover .caso-hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff !important;
    box-shadow: none;
}
/* Eliminar íconos de info */
.benefit-card::after,
.caso-card::after {
    display: none !important;
    content: none !important;
}
/* Ajuste del video para que no tenga espacios extra */
.video-box {
    aspect-ratio: 16/9;
    width: 100%;
}
.video-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Footer WhatsApp: botón normal y horario aparte */
.whatsapp-btn {
    padding: 0.7rem 1.2rem;
    font-size: 0.9rem;
    margin-top: 0.5rem;
}
.footer-hours {
    font-size: 0.75rem;
    opacity: 0.8;
    margin-top: 0.3rem;
    text-align: left;
}
/* Slider de imágenes con fade */
#sliderImagen {
    transition: opacity 0.5s ease;
    opacity: 1;
}
/* Mejoras de fluidez */
.card, .benefit-card, .caso-card, .value-card {
    will-change: transform;
    backface-visibility: hidden;
}
.reveal {
    transition: opacity 0.8s cubic-bezier(0.2, 0.9, 0.4, 1.1), transform 0.8s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}

/* Responsive */
@media (max-width:900px) {
    .hero { grid-template-columns:1fr; padding:8rem 1.5rem 4rem; gap:2rem; }
    .grid-4.beneficios-grid { grid-template-columns: 1fr; }
    .benefit-card { min-height: auto; }
    .benefit-card .benefit-hover { position: relative; inset: auto; margin-top: 1rem; opacity: 1; visibility: visible; transform: none; }
    .soluciones-grid { grid-template-columns: 1fr; }
    .soluciones-grid > a, .soluciones-grid > a:nth-child(4), .soluciones-grid > a:nth-child(5) { grid-column: auto; }
    .casos-grid { grid-template-columns: 1fr; }
    .caso-card { min-height: auto; }
    .talento-cta .cta-copy { padding: 2.4rem 1.4rem; }
    .talento-cta .cta-visual { padding: 0 1.4rem 1.6rem; }
    .galeria-card { width: 260px; }
    .hero h1 { font-size:2.5rem; }
    .hero p { font-size:1rem; }
    .stats { gap:1.5rem; justify-content:center; }
    .stat { padding:1rem 1.5rem; }
    .stat span { font-size:2.5rem; }
    .menu { display:none; }
    .hamburger { display:block; }
    .cta { display:none; }
    .grid-2, .grid-3, .grid-4 { grid-template-columns:1fr; }
    .floating-images { height:280px; margin-top:2rem; }
    .floating-images img { width:110px; }
    .floating-images img:nth-child(1) { width:100px; }
    .floating-images img:nth-child(2) { width:120px; }
    .floating-images img:nth-child(3) { width:90px; }
    .floating-images img:nth-child(4) { width:110px; }
    .carousel-track img { height:80px; }
    .footer-grid { text-align:center; }
    .contact-info p { justify-content:center; }
    .social a { margin:0 0.8rem; }
    #chat-window { width:280px; right:0; }
    #chatbot { right:15px; bottom:15px; }
}
@media (min-width:901px) and (max-width:1199px) {
    .grid-4 { grid-template-columns:repeat(2,1fr); }
    .grid-4.beneficios-grid { grid-template-columns:repeat(2,1fr); }
    .soluciones-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .soluciones-grid > a, .soluciones-grid > a:nth-child(4), .soluciones-grid > a:nth-child(5) { grid-column: auto; }
    .casos-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* ================= BRAND OVERRIDE TICNIX ================= */
:root {
    --brand-1:#FC3003;
    --brand-2:#FC4503;
    --brand-3:#FC5A03;
    --brand-4:#FC6F03;
    --brand-5:#FC8403;
    --brand-6:#FC9803;
    --brand-7:#FCAD03;
    --brand-8:#FCC203;
    --brand-9:#FCD703;
    --primary:#FC8403;
    --dark:#545454;
    --light:#FFFDF8;
    --white:#FFFFFF;
    --text:#545454;
    --shadow:0 24px 48px rgba(84,84,84,0.16);
    --glow:0 0 20px rgba(252,132,3,0.20);
    --font-brand:'Helios','Montserrat','Inter',sans-serif;
}

body, button, input, textarea, select { font-family: var(--font-brand) !important; color: var(--text); }
body { background: var(--white) !important; color: var(--text) !important; }
h1, h2, h3, h4, h5, h6, .menu a, .cta, .btn, .mobile-menu a, .mobile-menu .mobile-cta { font-family: var(--font-brand) !important; }
h2 { letter-spacing: .04em; text-transform: uppercase; }
p, li, span, label, small, .faq-answer, .meta, .blog-card .meta, .job-card .meta, .office-card p, .filter-group label, .filter-group select, .filter-group input, .form-group label { color: var(--text) !important; }

header {
    background: linear-gradient(90deg, rgba(252,111,3,0.96), rgba(252,132,3,0.96), rgba(252,173,3,0.96)) !important;
    box-shadow: 0 12px 30px rgba(84,84,84,0.16) !important;
}
.menu li::after, .mobile-menu a::after, h2::after { background: var(--brand-8) !important; }
.cta, .btn-primary, .mobile-menu .mobile-cta, .submit-btn, .filter-actions .btn, #chat-btn, #chat-input button, .map-link:hover {
    background: linear-gradient(90deg, var(--brand-5), var(--brand-7)) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(252,132,3,0.18) !important;
}
.cta:hover, .btn-primary:hover, .mobile-menu .mobile-cta:hover, .submit-btn:hover, .filter-actions .btn:hover {
    box-shadow: 0 18px 32px rgba(252,132,3,0.22) !important;
}
.btn-outline, .filter-actions .btn-outline {
    background: #fff !important;
    color: var(--brand-5) !important;
    border: 2px solid var(--brand-6) !important;
}
.btn-outline:hover, .filter-actions .btn-outline:hover {
    background: linear-gradient(90deg, var(--brand-5), var(--brand-7)) !important;
    color: #fff !important;
}

.mobile-menu {
    background: linear-gradient(135deg, rgba(252,69,3,0.98), rgba(252,132,3,0.98), rgba(252,194,3,0.98)) !important;
    color: #fff !important;
}

.hero,
.section.dark,
section.section[style*="linear-gradient(145deg, #FC4503, #FC6F03)"] {
    background: linear-gradient(135deg, rgba(252,69,3,0.08), rgba(252,132,3,0.13), rgba(252,194,3,0.12)) !important;
    color: var(--text) !important;
}
.hero h1,
.hero h2,
.hero h3,
.hero p,
.section.dark h2,
.section.dark h3,
.section.dark p,
.section.dark li { color: var(--text) !important; text-shadow: none !important; }
.hero h1 span, .hero h2 span, .section.dark h2 span, .section.dark h3 span { color: var(--brand-4) !important; }
.hero-overlay {
    background: radial-gradient(circle at 30% 30%, rgba(252,132,3,0.18), transparent 60%), radial-gradient(circle at 80% 80%, rgba(252,194,3,0.16), transparent 70%) !important;
}
.pattern {
    background-image: repeating-linear-gradient(45deg, rgba(252,132,3,0.05) 0px, rgba(252,132,3,0.05) 2px, transparent 2px, transparent 38px) !important;
}
.section.light {
    background: linear-gradient(180deg, rgba(252,173,3,0.06), rgba(252,132,3,0.02)) !important;
}

.card, .card-why, .office-card, .job-card, .blog-card, .contact-form, .contact-info-block, .faq-item, .testimonio-card, .filters, .map-container, .video-box, .stat {
    box-shadow: var(--shadow) !important;
}
.card, .card-why, .office-card, .job-card, .blog-card, .contact-form, .contact-info-block, .faq-item, .testimonio-card, .filters {
    background: #fff !important;
    border-color: rgba(252,132,3,0.12) !important;
}
.card p, .card-why p, .office-card p, .job-card p, .job-card .details p, .blog-card p, .contact-form p, .info-item p, .contact-info-block p, .testimonio-card p, .faq-answer, .hero p, .stat { color: var(--text) !important; }
.card i, .card-why i, .caso-icon, .office-card i, .map-link, .info-item i, .faq-question i, .job-card .salary, .job-card .meta i, .blog-card .meta i, .blog-card .meta span, .map-link, .social a:hover, .social-block a:hover { color: var(--brand-5) !important; }
.card-why::before {
    background: linear-gradient(135deg, rgba(252,132,3,0.14), rgba(252,194,3,0.08), transparent) !important;
}
.card-why:hover, .card:hover, .office-card:hover, .job-card:hover, .blog-card:hover, .team-card:hover {
    box-shadow: 0 28px 56px rgba(252,132,3,0.14) !important;
}
.hero-img, .hero-img img, .floating-images img, .team-card img {
    box-shadow: var(--shadow) !important;
}

.stat {
    background: rgba(255,255,255,0.78) !important;
    border: 1px solid rgba(252,132,3,0.20) !important;
    backdrop-filter: blur(10px);
}
.stat span, .stat-number { color: var(--brand-5) !important; }

.cta-section, .carousel-clientes, footer, #chat-header {
    background: linear-gradient(135deg, rgba(252,111,3,0.98), rgba(252,152,3,0.98), rgba(252,194,3,0.98)) !important;
    color: #fff !important;
}
.cta-section h2, .cta-section p, .carousel-clientes h2, footer h3, footer p, footer a, .contact-info p, .copyright, #chat-header, #chat-header span, #chat-header i { color: #fff !important; }
.cta-section h2::after { background: #fff !important; }
.footer-logo, .logo { filter: brightness(0) invert(1); }
.whatsapp-btn {
    background: linear-gradient(90deg, var(--brand-5), var(--brand-7)) !important;
    color: #fff !important;
}
.copyright { border-top: 1px solid rgba(255,255,255,0.35) !important; }

#chat-window { border: 2px solid rgba(252,132,3,0.28) !important; }
#chat-messages { background: #fff !important; }
.msg.bot { background: rgba(252,173,3,0.12) !important; color: var(--text) !important; }
.msg.user { background: linear-gradient(90deg, var(--brand-5), var(--brand-7)) !important; color: #fff !important; }
input, textarea, select {
    background: #fff !important;
    border: 2px solid rgba(252,132,3,0.14) !important;
    color: var(--text) !important;
}
input::placeholder, textarea::placeholder { color: rgba(84,84,84,0.62) !important; }
.form-group input:focus, .form-group textarea:focus, .filter-group select:focus, .filter-group input:focus {
    border-color: var(--brand-5) !important;
    box-shadow: 0 0 0 3px rgba(252,132,3,0.14) !important;
}

.slider-arrow { display: none !important; }
.testimonio-card .rating { color: var(--brand-8) !important; }

.map-container { border-color: rgba(252,132,3,0.35) !important; }
.carousel { mask-image: linear-gradient(90deg, transparent, #545454 10%, #545454 90%, transparent) !important; }

@keyframes glitch {
    0%,100% { transform: translateY(0); text-shadow: none; }
    50% { transform: translateY(-2px); text-shadow: 0 8px 20px rgba(252,132,3,0.14); }
}

/* ================= INDEX AJUSTES ================= */
.stats { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem !important; }
.stat { padding: 1.35rem 1.25rem !important; min-height: 124px; display: flex; flex-direction: column; justify-content: center; }
.stat span, .stat-number { font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 800; line-height: 1; display: block; margin-bottom: .35rem; }
.stat-label { font-size: .98rem; line-height: 1.45; color: var(--text); }

.casos-uso { overflow: visible !important; padding-bottom: 8.5rem !important; }
.casos-grid { align-items: start; row-gap: 2rem !important; }
.caso-card { overflow: visible !important; min-height: 240px; padding-bottom: 1.5rem !important; }
.caso-card:hover { z-index: 15; }
.caso-hover {
    top: calc(100% - 8px) !important;
    margin-top: 0 !important;
    background: linear-gradient(135deg, var(--brand-5), var(--brand-7)) !important;
    box-shadow: 0 20px 38px rgba(252,132,3,0.16) !important;
}
.caso-card:hover .caso-hover { top: calc(100% - 14px) !important; }

.testimonios-slider {
    position: relative !important;
    max-width: 1020px !important;
    min-height: 360px;
    overflow: hidden !important;
    padding: 0.5rem 0 3.5rem !important;
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
}
.testimonios-slider.dragging { cursor: grabbing; }
.testimonios-track {
    position: relative !important;
    min-height: 320px;
    display: block !important;
    transform: none !important;
}
.testimonio-card {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    opacity: 0;
    transform: translateX(28px) scale(.985);
    transition: opacity .65s ease, transform .65s ease, box-shadow .35s ease;
    pointer-events: none;
    padding: 2.4rem !important;
    border: 1px solid rgba(252,132,3,0.12);
}
.testimonio-card.active {
    opacity: 1;
    transform: translateX(0) scale(1);
    pointer-events: auto;
}
.testimonio-card.is-prev { transform: translateX(-28px) scale(.985); }
.testimonio-card .person-img { width: 88px !important; height: 88px !important; }
.testimonio-card h4 { color: var(--text) !important; }
.testimonios-dots {
    position: absolute;
    left: 50%;
    bottom: .4rem;
    transform: translateX(-50%);
    display: flex;
    gap: .65rem;
    align-items: center;
    justify-content: center;
}
.testimonios-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: rgba(252,132,3,0.26);
    cursor: pointer;
    transition: transform .25s ease, background .25s ease;
}
.testimonios-dot.active { background: var(--brand-5); transform: scale(1.18); }

.section[style*="background: linear-gradient(145deg, #FC4503, #FC6F03)"] {
    border-radius: 42px;
    margin: 2rem auto;
}
.section[style*="background: linear-gradient(145deg, #FC4503, #FC6F03)"] h2,
.section[style*="background: linear-gradient(145deg, #FC4503, #FC6F03)"] p { color: var(--text) !important; }

@media (max-width: 1100px) {
    .stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
    .casos-uso { padding-bottom: 5rem !important; }
    .testimonios-slider { min-height: 420px; padding-bottom: 2.8rem !important; }
    .testimonios-track { min-height: 380px; }
}
@media (max-width: 640px) {
    .stats { grid-template-columns: 1fr !important; }
    .stat { min-height: auto; }
    .testimonio-card { padding: 1.6rem !important; }
    .testimonios-slider { min-height: 460px; }
    .testimonios-track { min-height: 420px; }
}

/* ===== Ajustes finales menú servicios + overlay móvil ===== */
.services-item { position: relative; }
.services-item::after { display: none !important; }
.services-toggle {
    background: transparent;
    border: 0;
    color: #fff;
    font: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: 0;
}
.services-toggle i { font-size: .8rem; transition: transform .25s ease; }
.services-item:hover .services-toggle i,
.services-item:focus-within .services-toggle i { transform: rotate(180deg); }
.services-dropdown {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    min-width: 310px;
    display: grid;
    gap: .35rem;
    padding: 1rem;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 48px rgba(84,84,84,.18);
    border: 1px solid rgba(252,132,3,.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    z-index: 1002;
}
.services-dropdown a {
    color: #545454 !important;
    text-decoration: none;
    padding: .8rem 1rem;
    border-radius: 16px;
    font-weight: 600;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.services-dropdown a:hover {
    background: linear-gradient(135deg, rgba(252,132,3,.12), rgba(252,194,3,.12));
    color: #fc8403 !important;
    transform: translateX(2px);
}
.services-item:hover .services-dropdown,
.services-item:focus-within .services-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.services-dropdown .submenu-item { position: relative; }
.services-dropdown .submenu-item > a {
    display: grid !important;
    grid-template-columns: 46px 1fr auto;
    align-items: center;
    gap: .9rem;
}
.submenu-caret { color: #b8b8b8; font-size: .8rem; }
.submenu-panel {
    position: absolute;
    top: 0;
    left: calc(100% + 10px);
    min-width: 250px;
    padding: .8rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 48px rgba(84,84,84,.18);
    border: 1px solid rgba(252,132,3,.14);
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    z-index: 1003;
}
.submenu-item:hover .submenu-panel,
.submenu-item:focus-within .submenu-panel { opacity: 1; visibility: visible; transform: translateX(0); }
.submenu-panel a {
    display: block !important;
    padding: .72rem .9rem !important;
    border-radius: 14px !important;
    font-size: .92rem;
    font-weight: 700;
}
.mobile-submenu-group { display: flex; flex-direction: column; gap: .45rem; }
.mobile-submenu-mini {
    display: grid;
    gap: .45rem;
    margin: .15rem 0 .35rem 2.5rem;
    padding-left: .35rem;
    border-left: 2px solid rgba(252,132,3,.25);
}
.mobile-submenu-mini a { font-size: .94rem !important; }

.mobile-menu {
    right: 0 !important;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform .45s ease, opacity .3s ease, visibility .3s ease !important;
}
.mobile-menu.active {
    right: 0 !important;
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
body.menu-open { overflow: hidden; }
.mobile-services {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    width: min(100%, 340px);
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
}
.mobile-services-title { font-weight: 800; font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; color: #fff; margin-bottom: .2rem; }
.mobile-services a { font-size: 1.02rem !important; text-align: left; padding-left: .2rem; }
@media (min-width: 901px) { .mobile-menu { display: none !important; } }
@media (max-width: 900px) { .services-item { display: none; } }

/* === v8 shared refinements === */
#loader{position:fixed !important;inset:0 !important;background:linear-gradient(135deg,var(--brand-4,#FC8203),var(--brand-7,#FCC203)) !important;display:flex !important;align-items:center !important;justify-content:center !important;z-index:99999 !important;transition:opacity .65s ease,visibility .65s ease !important;}
#loader .mark{width:min(520px,76vw) !important;max-width:76vw !important;animation:pulse 1.4s ease-in-out infinite !important;filter:drop-shadow(0 18px 34px rgba(84,84,84,.25)) !important;}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.services-dropdown{min-width:360px !important;padding:1rem !important;gap:.55rem !important;}
.services-dropdown a{display:grid !important;grid-template-columns:46px 1fr;align-items:center;gap:.9rem;color:#545454 !important;text-decoration:none !important;padding:.88rem 1rem !important;border-radius:18px !important;line-height:1.2;}
.services-dropdown a:hover{transform:translateX(0) !important;background:linear-gradient(135deg,rgba(252,132,3,.12),rgba(252,194,3,.14)) !important;color:#545454 !important;}
.services-dropdown a .dropdown-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FC8403,#FCC203);color:#fff;font-size:1rem;box-shadow:0 10px 18px rgba(252,132,3,.22);flex-shrink:0;}
.services-dropdown a .dropdown-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0;}
.services-dropdown a .dropdown-copy strong{font-size:.98rem;color:#545454;font-weight:700;}
.services-dropdown a .dropdown-copy small{font-size:.78rem;color:#7a7a7a;}
.services-dropdown a:hover .dropdown-icon{transform:scale(1.04);}
.mobile-sub a{display:flex !important;align-items:center;gap:.75rem;}
.mobile-sub a i{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(252,132,3,.18),rgba(252,194,3,.18));color:#FC8403;flex-shrink:0;}
.mobile-sub a span{display:block;color:inherit;}
.grid-3 > a.card,
.grid-3 > a.card:visited,
.cards-grid > a.card,
.cards-grid > a.card:visited,
.services-grid > a.card,
.services-grid > a.card:visited,
a.card.reveal,
a.card.reveal:visited{color:#545454 !important;text-decoration:none !important;}
.grid-3 > a.card h3,
.cards-grid > a.card h3,
.services-grid > a.card h3,
a.card.reveal h3{color:#545454 !important;text-decoration:none !important;}
.grid-3 > a.card p,
.cards-grid > a.card p,
.services-grid > a.card p,
a.card.reveal p{color:#545454 !important;}
.grid-3 > a.card i,
.cards-grid > a.card i,
.services-grid > a.card i,
a.card.reveal i{color:var(--brand-4,#FC8203) !important;}
@media (max-width:900px){
  .services-dropdown{display:none !important};
}

.pattern{display:none !important;}
.hero{background:linear-gradient(135deg,#fff7ef 0%,#fff 42%,#fff2e2 100%) !important; position:relative;}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(252,132,3,.12),transparent 28%),radial-gradient(circle at 85% 15%,rgba(252,111,3,.12),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.92));pointer-events:none;}
.hero>*{position:relative;z-index:1;}
.stats{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem !important;max-width:760px;}
.stat{padding:1.25rem 1.1rem !important;border-radius:24px !important;background:#fff !important;border:1px solid rgba(252,132,3,.16) !important;box-shadow:0 18px 45px rgba(84,84,84,.08) !important;text-align:left;}
.stat-number{font-family:"Poppins",sans-serif !important;font-size:clamp(2rem,3.2vw,3.2rem) !important;font-weight:800 !important;letter-spacing:-.04em;line-height:.92 !important;color:#fc8403 !important;display:block;}
.stat-label{font-family:"Poppins",sans-serif !important;font-size:.86rem !important;font-weight:700 !important;letter-spacing:.06em;text-transform:uppercase;color:#545454 !important;margin-top:.55rem;line-height:1.25;}
.section:nth-of-type(even){background:linear-gradient(180deg,#fff 0%,#fff8f1 100%) !important;}
.section:nth-of-type(odd){background:linear-gradient(180deg,#fffaf5 0%,#fff 100%) !important;}
.card-why,.card{border-radius:26px !important;}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.stats{grid-template-columns:1fr;}}

.casos-uso {
    padding-bottom: 5rem !important;
}
.casos-uso .casos-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.75rem !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    align-items: stretch !important;
}
.casos-uso .caso-card {
    position: relative !important;
    min-height: 360px !important;
    padding: 2rem 1.6rem !important;
    border-radius: 30px !important;
    background: #fff !important;
    border: 1px solid rgba(252,132,3,.14) !important;
    box-shadow: 0 18px 38px rgba(84,84,84,.08) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    overflow: hidden !important;
    isolation: isolate;
}
.casos-uso .caso-card:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(252,132,3,.35) !important;
    box-shadow: 0 28px 52px rgba(252,132,3,.16) !important;
}
.casos-uso .caso-icon {
    width: 76px;
    height: 76px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(252,132,3,.12), rgba(252,194,3,.18));
    margin-bottom: 1.1rem !important;
}
.casos-uso .caso-icon i {
    font-size: 2rem !important;
}
.casos-uso .caso-card h3 {
    min-height: auto !important;
    margin-bottom: .9rem !important;
    font-size: 1.3rem !important;
    line-height: 1.25 !important;
}
.casos-uso .caso-preview {
    font-size: .98rem;
    line-height: 1.75;
    color: #545454;
    max-width: 31ch;
    margin: 0 auto;
}
.casos-uso .caso-hover {
    pointer-events: none !important;
    position: absolute !important;
    inset: auto 1rem 1rem 1rem !important;
    top: auto !important;
    left: 1rem !important;
    right: 1rem !important;
    margin-top: 0 !important;
    padding: 1.35rem 1.2rem !important;
    min-height: 185px !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, var(--brand-5), var(--brand-7)) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: left !important;
    font-size: .96rem !important;
    line-height: 1.7 !important;
    box-shadow: 0 20px 40px rgba(252,132,3,.18) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(14px) !important;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease !important;
}
.casos-uso .caso-hover p {
    color: #fff !important;
    margin: 0 !important;
}
.casos-uso .caso-card:hover .caso-hover,
.casos-uso .caso-card.active .caso-hover {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}
.casos-uso .caso-card:hover .caso-preview {
    opacity: .08;
    transition: opacity .25s ease;
}
@media (max-width: 900px) {
    .casos-uso .casos-grid {
        grid-template-columns: 1fr !important;
        max-width: 720px !important;
    }
    .casos-uso .caso-card {
        min-height: auto !important;
        padding-bottom: 1.25rem !important;
    }
    .casos-uso .caso-hover {
        position: relative !important;
        inset: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        margin-top: 1.1rem !important;
        min-height: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        text-align: left !important;
        display: none !important;
    }
    .casos-uso .caso-card.active .caso-hover {
        display: flex !important;
    }
    .casos-uso .caso-card:hover .caso-preview {
        opacity: 1 !important;
    }
}

/* Ajuste final solicitado: sin pastilla INFO, mismo efecto que beneficios y con pestañita */
.benefit-card .benefit-tab,
.caso-card .caso-tab { display:none !important; }

.benefit-card .benefit-hover,
.casos-uso .caso-hover {
    pointer-events: none !important;
    overflow: visible;
}

.benefit-card .benefit-hover::before,
.casos-uso .caso-hover::before {
    content: "";
    position: absolute;
    top: -12px;
    right: 22px;
    width: 34px;
    height: 24px;
    background: linear-gradient(145deg, var(--brand-5), var(--brand-7));
    border-radius: 12px 12px 0 0;
    box-shadow: 0 -6px 16px rgba(252,132,3,.12);
}

.benefit-card .benefit-hover::after,
.casos-uso .caso-hover::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: -7px;
    right: 33px;
    font-size: .8rem;
    color: #fff;
}

.casos-uso {
    overflow: visible !important;
    padding-bottom: 5rem !important;
}

.casos-uso .casos-grid {
    display:grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.75rem !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    align-items: stretch !important;
}

.casos-uso .caso-card {
    position: relative !important;
    min-height: 390px !important;
    padding: 2.2rem 1.55rem !important;
    border-radius: 30px !important;
    background: #fff !important;
    box-shadow: 0 20px 40px rgba(84,84,84,0.06) !important;
    border: 1px solid rgba(252,132,3,.14) !important;
    text-align: center !important;
    overflow: hidden !important;
    transition: transform .35s ease, box-shadow .35s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    isolation: isolate;
}

.casos-uso .caso-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 28px 52px rgba(252,132,3,0.18) !important;
    z-index: 2;
}

.casos-uso .caso-icon {
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    display: block !important;
    background: none !important;
    margin-bottom: 1rem !important;
}

.casos-uso .caso-icon i {
    font-size: 2.3rem !important;
    color: var(--primary) !important;
}

.casos-uso .caso-card h3 {
    font-size: 1.28rem !important;
    line-height: 1.25 !important;
    min-height: 74px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 1.15rem !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.casos-uso .caso-preview {
    color: #545454 !important;
    font-size: 1rem !important;
    line-height: 1.78 !important;
    overflow: visible !important;
    margin-bottom: .35rem !important;
    max-width: none !important;
}

.casos-uso .caso-hover {
    position: absolute !important;
    inset: auto 1rem 1rem 1rem !important;
    background: linear-gradient(145deg, var(--brand-5), var(--brand-7)) !important;
    color: #fff !important;
    border-radius: 22px !important;
    padding: 1.2rem 1.05rem !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(14px) !important;
    transition: .35s ease !important;
    font-size: .97rem !important;
    line-height: 1.72 !important;
    box-shadow: 0 18px 30px rgba(252,132,3,.22) !important;
    text-align: left !important;
    z-index: 2 !important;
    min-height: auto !important;
    display: block !important;
    top: auto !important;
    left: 1rem !important;
    right: 1rem !important;
    bottom: 1rem !important;
}

.casos-uso .caso-hover p {
    margin: 0 !important;
    color: #fff !important;
}

.casos-uso .caso-card:hover .caso-hover,
.casos-uso .caso-card.active .caso-hover {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.casos-uso .caso-link {
    margin-top: auto !important;
    padding-top: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--brand-5) !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    font-size: .8rem !important;
}

@media (max-width: 900px) {
    .casos-uso .casos-grid { grid-template-columns: 1fr !important; max-width: 720px !important; }
    .casos-uso .caso-card { min-height: auto !important; }
    .casos-uso .caso-hover {
        position: relative !important;
        inset: auto !important;
        margin-top: 1rem !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: none !important;
        transform: none !important;
        border-radius: 24px !important;
        padding: 1.3rem !important;
        text-align: left !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
    }
    .casos-uso .caso-card.active .caso-hover { display: block !important; }
    .casos-uso .caso-card:hover { transform: none !important; }
    .casos-uso .caso-hover::before { top: -12px; right: 22px; }
    .casos-uso .caso-hover::after { top: -7px; right: 33px; }
}

.casos-uso-nuevo .casos-beneficios-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:1240px;margin:0 auto;gap:2rem;}
.casos-uso-nuevo .benefit-card{min-height:390px;}
@media (max-width:1024px){.casos-uso-nuevo .casos-beneficios-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:900px){.casos-uso-nuevo .casos-beneficios-grid{grid-template-columns:1fr !important;max-width:720px;}}

.stats{align-items:stretch !important;}
.stat{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-start !important;min-height:168px !important;text-align:center !important;}
.stat-number,.stat span{min-height:3.1rem;display:flex !important;align-items:flex-start !important;justify-content:center !important;}
.stat-label{margin-top:.5rem !important;line-height:1.35 !important;min-height:2.9em;display:flex;align-items:flex-start;justify-content:center;text-wrap:balance;}
@media(max-width:560px){.stat{min-height:152px !important;}.stat-label{min-height:auto;}}

.stats{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;align-items:start !important;justify-items:stretch !important;gap:1.15rem !important;max-width:860px !important;margin-top:3rem !important;}
.stat{display:grid !important;grid-template-rows:auto 1fr !important;align-content:start !important;justify-items:center !important;min-height:0 !important;text-align:center !important;padding:0 .25rem !important;}
.stat-number,.stat span{display:flex !important;align-items:flex-start !important;justify-content:center !important;width:100% !important;min-height:3.35rem !important;margin:0 !important;font-family:'Poppins',sans-serif !important;font-weight:600 !important;font-size:clamp(2.35rem,3.5vw,3.15rem) !important;line-height:1 !important;letter-spacing:-0.02em !important;font-variant-numeric:tabular-nums !important;}
.stat-label{display:flex !important;align-items:flex-start !important;justify-content:center !important;width:100% !important;margin-top:.7rem !important;min-height:3.15em !important;line-height:1.35 !important;font-family:'Poppins',sans-serif !important;font-weight:500 !important;text-wrap:balance !important;}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;max-width:620px !important;}}
@media(max-width:560px){.stats{grid-template-columns:1fr !important;max-width:320px !important;}.stat-number,.stat span{font-size:2.55rem !important;}}

footer .whatsapp-btn{background:#fff !important;color:#FC8403 !important;border:1px solid rgba(255,255,255,.45) !important;box-shadow:0 10px 20px rgba(84,84,84,.14) !important;}
footer .whatsapp-btn i, footer .whatsapp-btn span, footer .whatsapp-btn{color:#FC8403 !important;}
footer .whatsapp-btn:hover{background:#fff !important;color:#FC8403 !important;transform:translateY(-2px) scale(1.03) !important;}

:root{--primary:#FC8403;--brand-5:#FC8403;--brand-7:#FCAD03;--text:#545454;}
body.menu-open{overflow:hidden!important;}
header{position:fixed!important;top:0;left:0;width:100%;z-index:1000;box-shadow:0 12px 30px rgba(84,84,84,.16)!important;backdrop-filter:blur(8px);background:linear-gradient(90deg, rgba(252,111,3,0.96), rgba(252,132,3,0.96), rgba(252,173,3,0.96))!important;}
.nav{display:flex!important;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1400px;margin:0 auto;gap:1rem;}
.logo{height:46px!important;filter:brightness(0) invert(1)!important;transition:.3s;display:block;}
.logo:hover{transform:scale(1.05)}
.menu{display:flex!important;gap:2.5rem;list-style:none!important;color:#fff;font-weight:500;align-items:center;margin:0;padding:0;}
.menu li{cursor:pointer;position:relative;padding:.3rem 0;}
.menu li::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2.5px;background:var(--brand-8,#FCC203)!important;transition:.4s cubic-bezier(.175,.885,.32,1.275)}
.menu li:hover::after{width:100%}
.menu a,.services-toggle{color:#fff!important;text-decoration:none!important}
.services-item{position:relative;}
.services-item::after{display:none!important;}
.services-toggle{background:transparent;border:0;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;padding:0;}
.services-toggle i{font-size:.8rem;transition:transform .25s ease}
.services-item:hover .services-toggle i,.services-item:focus-within .services-toggle i{transform:rotate(180deg)}
.services-dropdown{position:absolute;top:calc(100% + 14px);left:0;min-width:360px!important;display:grid;gap:.55rem!important;padding:1rem!important;border-radius:24px;background:#fff;box-shadow:0 24px 48px rgba(84,84,84,.18);border:1px solid rgba(252,132,3,.14);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;z-index:1002}
.services-item:hover .services-dropdown,.services-item:focus-within .services-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.services-dropdown a{display:grid!important;grid-template-columns:46px 1fr;align-items:center;gap:.9rem;color:#545454!important;text-decoration:none!important;padding:.88rem 1rem!important;border-radius:18px!important;line-height:1.2;background:#fff}
.services-dropdown a:hover{background:linear-gradient(135deg,rgba(252,132,3,.12),rgba(252,194,3,.14))!important;color:#545454!important}
.services-dropdown .dropdown-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FC8403,#FCC203)!important;color:#fff!important;font-size:1rem;box-shadow:0 10px 18px rgba(252,132,3,.22);flex-shrink:0}
.services-dropdown .dropdown-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.services-dropdown .dropdown-copy strong{font-size:.98rem;color:#545454;font-weight:700}
.services-dropdown .dropdown-copy small{font-size:.78rem;color:#7a7a7a}
.submenu-item{position:relative}
.services-dropdown .submenu-item>a{display:grid!important;grid-template-columns:46px 1fr auto;align-items:center;gap:.9rem}
.submenu-caret{color:#b8b8b8;font-size:.8rem}
.submenu-panel{position:absolute;top:0;left:calc(100% + 10px);min-width:250px;padding:.8rem;border-radius:20px;background:#fff;box-shadow:0 24px 48px rgba(84,84,84,.18);border:1px solid rgba(252,132,3,.14);opacity:0;visibility:hidden;transform:translateX(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;display:grid;gap:.45rem;z-index:1003}
.submenu-item:hover .submenu-panel,.submenu-item:focus-within .submenu-panel{opacity:1;visibility:visible;transform:translateX(0)}
.submenu-panel a{grid-template-columns:1fr!important;padding:.8rem .9rem!important;font-size:.95rem!important}
.cta{background:#fff!important;color:#FC8403!important;padding:.8rem 2.2rem;border-radius:40px;border:none;font-weight:700;cursor:pointer;transition:.3s;box-shadow:0 8px 16px rgba(84,84,84,.1)!important}
.cta:hover{background:#fff!important;color:#FC8403!important;transform:scale(1.08) translateY(-3px);box-shadow:0 15px 25px rgba(84,84,84,.2)!important}
.hamburger{display:none;font-size:2.2rem;color:#fff;cursor:pointer}
.mobile-menu{position:fixed!important;inset:0;transform:translateX(100%);opacity:0;visibility:hidden;pointer-events:none;width:100%;height:100vh;background:linear-gradient(180deg,#FC4503 0%,#FC8403 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;transition:.4s ease;z-index:999;font-size:2rem;padding:2rem;text-align:center;overflow-y:auto}
.mobile-menu.active{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}
.mobile-close{position:absolute;top:20px;right:20px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mobile-menu a{color:#fff!important;text-decoration:none!important;font-weight:600;position:relative;font-size:1.5rem}
.mobile-menu a::after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:3px;background:#fff;transition:.3s}
.mobile-menu a:hover::after{width:100%}
.mobile-services{width:min(100%,360px);display:grid;gap:.9rem}
#mobileServicesBtn{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;border-radius:18px;padding:.9rem 1rem;font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:.6rem;cursor:pointer}
#mobileServicesSub{display:none;gap:.75rem;padding:1rem;background:rgba(255,255,255,.08);border-radius:20px}
#mobileServicesSub.open{display:grid}
#mobileServicesSub a{font-size:1rem;line-height:1.35}
.mobile-sub a{display:flex!important;align-items:center;gap:.75rem}
.mobile-sub a i{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(252,132,3,.18),rgba(252,194,3,.18));color:#FC8403;flex-shrink:0}
.mobile-cta{background:#fff!important;color:#FC8403!important;padding:1rem 2.4rem;border-radius:60px;margin-top:.4rem;font-size:1.05rem;border:none!important;font-weight:700;cursor:pointer;transition:.3s;box-shadow:0 10px 20px rgba(84,84,84,.15)}
.mobile-cta:hover{transform:scale(1.05)}
.mobile-social{display:flex;gap:.85rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:.2rem}
.mobile-social a{width:46px!important;height:46px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.25)!important;font-size:1.2rem!important;box-shadow:none!important}
.mobile-social a::after{display:none!important}
.footer-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:2.5rem!important;max-width:1300px!important;margin:0 auto!important;padding:0!important}
.footer-logo{height:50px!important;filter:brightness(0) invert(1)!important;margin-bottom:1.5rem!important}
.footer-menu{list-style:none!important;padding-left:0!important;margin:0!important;display:block!important}
.footer-menu li{margin-bottom:.7rem!important;display:block!important}
.footer-menu a{text-decoration:none!important;font-weight:500!important;display:inline-block!important;opacity:1!important}
.footer-menu a:hover{text-decoration:underline!important;transform:none!important}
.footer-offices{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;padding:1rem 1.05rem!important;align-self:start!important}
.office-summary-card{display:flex!important;gap:.9rem!important;align-items:flex-start!important}
.office-summary-icon{width:42px!important;height:42px!important;border-radius:14px!important;background:rgba(255,255,255,.16)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}
.office-summary-icon i{color:#fff!important;font-size:1rem!important}
.office-summary-text strong{display:block!important;font-size:.98rem!important;margin-bottom:.15rem!important}
.whatsapp-btn{background:#fff!important;color:#FC8403!important;padding:.9rem 1.45rem!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;gap:.6rem!important;font-weight:700!important;box-shadow:0 10px 20px rgba(84,84,84,.14)!important;text-decoration:none!important}
.whatsapp-btn i,.whatsapp-btn span{color:#FC8403!important}
.whatsapp-btn:hover{transform:translateY(-2px) scale(1.03)!important}
.copyright{ text-align:center!important;margin-top:3rem!important;border-top:1px solid rgba(255,255,255,.3)!important;padding-top:2rem!important;font-size:.92rem!important}
.copyright a{color:#fff!important;text-decoration:underline!important}
/* iconografía naranja */
.card i,.icon i,.value-card .icon,.feature-icon,.hero-badge i,.stats i,.coverage-item i,.info-item i,.office-card i,.faq-item summary i,.services-grid .card i,.cards-grid .card i,.grid-3 .card i,.grid-4 .card i{color:#FC8403!important}
.value-card .icon,.cards-grid .icon,.services-grid .icon,.feature-icon{background:linear-gradient(135deg,#FC8403,#FCC203)!important;color:#fff!important;box-shadow:0 14px 24px rgba(252,132,3,.25)!important}
.value-card .icon i,.cards-grid .icon i,.services-grid .icon i,.feature-icon i{color:#fff!important}
/* hovers unificados */
.value-card,.benefit-card,.caso-card{overflow:hidden!important;position:relative!important}
.value-card .hover-copy,.benefit-card .benefit-hover,.caso-card .caso-hover{position:absolute!important;left:1rem!important;right:1rem!important;bottom:1rem!important;background:linear-gradient(145deg,#FC8403,#FCAD03)!important;color:#fff!important;border-radius:22px!important;padding:1.1rem 1rem 1.15rem!important;opacity:0!important;visibility:hidden!important;transform:translateY(115%)!important;transition:.35s ease!important;box-shadow:0 18px 30px rgba(252,132,3,.22)!important;pointer-events:none!important}
.value-card:hover .hover-copy,.value-card.active .hover-copy,.benefit-card:hover .benefit-hover,.benefit-card.active .benefit-hover,.caso-card:hover .caso-hover,.caso-card.active .caso-hover{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
.value-card .hover-copy::before,.benefit-card .benefit-hover::before,.caso-card .caso-hover::before{content:'';position:absolute;top:-12px;right:22px;width:34px;height:24px;background:linear-gradient(145deg,#FC8403,#FCAD03);border-radius:12px 12px 0 0;box-shadow:0 -6px 16px rgba(252,132,3,.12)}
.value-card .hover-copy::after,.benefit-card .benefit-hover::after,.caso-card .caso-hover::after{content:'\f061';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;top:-7px;right:33px;font-size:.8rem;color:#fff}
.value-card h4,.value-card .hover-copy p,.benefit-hover h4,.benefit-hover p,.caso-hover h4,.caso-hover p{color:#fff!important}
.value-card>p,.benefit-summary,.caso-card .caso-summary{padding-bottom:.9rem!important;margin-bottom:0!important}
@media(max-width:900px){.services-dropdown{display:none!important}.hamburger{display:block}.menu,.cta{display:none!important}}
@media(min-width:901px){.mobile-menu{display:none!important}}

/* 1. Estadísticas en círculos grises, texto blanco */
.hero .stats .stat {
    background: transparent !important;
    border: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.hero .stats .stat .stat-number {
    background: #6c757d;  /* gris intermedio */
    color: #fff !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    font-size: clamp(2rem, 3.5vw, 3rem) !important;
    font-weight: 500 !important; /* más delgado que el original 800 */
    margin: 0 auto 0.6rem auto;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}
.hero .stats .stat .stat-number:hover {
    transform: scale(1.02);
}
.hero .stats .stat .stat-label {
    color: #545454 !important;
    font-weight: 500;
    margin-top: 0.5rem;
    text-transform: none;
    letter-spacing: normal;
}
@media (max-width: 900px) {
    .hero .stats .stat .stat-number {
        width: 110px;
        height: 110px;
        font-size: 1.8rem !important;
    }
}
@media (max-width: 560px) {
    .hero .stats .stat .stat-number {
        width: 100px;
        height: 100px;
        font-size: 1.5rem !important;
    }
}

/* 2. Pestañitas naranjas siempre visibles en las cards que despliegan info */
.benefit-card,
.caso-card {
    position: relative;
}
.benefit-card::after,
.caso-card::after {
    content: "\f0a4";  /* icono de info (puede ser i o info-circle) */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: 12px;
    right: 12px;
    background: #FC8403;
    color: white;
    font-size: 0.9rem;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(252,132,3,0.3);
    z-index: 5;
    transition: 0.2s;
    pointer-events: none;
    opacity: 1;
    visibility: visible;
}
.benefit-card:hover::after,
.caso-card:hover::after {
    transform: scale(1.1);
    background: #f0a500;
}
/* evitar que el ::after se duplique con otras reglas */
.benefit-card .benefit-tab,
.caso-card .caso-tab {
    display: none !important;
}

.hero .stats{justify-items:center!important;align-items:start!important;grid-template-columns:repeat(4,minmax(140px,1fr))!important;gap:1rem!important;}
.hero .stats .stat{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;width:100%!important;max-width:170px!important;}
.hero .stats .stat .stat-number{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0!important;line-height:1!important;margin:0 auto .6rem auto!important;font-variant-numeric:tabular-nums!important;width:140px!important;height:140px!important;min-width:140px!important;min-height:140px!important;max-width:140px!important;max-height:140px!important;aspect-ratio:1/1!important;border-radius:50%!important;flex:0 0 140px!important;}
.hero .stats .stat .stat-label{text-align:center!important;max-width:145px;margin-left:auto!important;margin-right:auto!important;}
.services-dropdown .dropdown-icon--svg img{width:22px;height:22px;object-fit:contain;display:block;filter:brightness(0) invert(1);}
.services-dropdown .dropdown-icon--svg i{color:#fff!important;}
.submenu-panel-attraction a{display:flex!important;align-items:center;gap:.72rem;padding:.78rem .9rem!important;}
.submenu-inline-icon{color:#FC8403!important;font-size:1rem;flex:0 0 18px;width:18px;text-align:center;}
.mobile-sub{display:grid;gap:.85rem;}
.mobile-sub a,.mobile-sub button{width:100%;text-align:left;}
.mobile-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;border-radius:12px;background:linear-gradient(135deg,#FC8403,#FCC203);box-shadow:0 8px 16px rgba(252,132,3,.16);}
.mobile-icon img{width:20px;height:20px;object-fit:contain;display:block;filter:brightness(0) invert(1);}
.mobile-icon i{color:#fff!important;font-size:.95rem;width:auto!important;height:auto!important;display:block!important;}
.mobile-services{background:#fff!important;border:1px solid rgba(252,132,3,.16)!important;box-shadow:0 18px 40px rgba(84,84,84,.12)!important;}
#mobileServicesBtn{background:#fff!important;color:#545454!important;border:1px solid rgba(252,132,3,.16)!important;}
#mobileServicesBtn span{color:#545454!important;}
#mobileServicesSub{display:none;gap:.75rem;padding:1rem;background:#fff!important;border:1px solid rgba(252,132,3,.12)!important;border-radius:20px;box-shadow:0 14px 30px rgba(84,84,84,.08);}
#mobileServicesSub.open{display:grid;}
#mobileServicesSub>a,.mobile-nested-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:.85rem;background:#fff!important;border:1px solid rgba(252,132,3,.12)!important;color:#545454!important;padding:.92rem 1rem!important;font-size:1rem;line-height:1.35;font-weight:600;border-radius:16px;cursor:pointer;}
#mobileServicesSub>a:hover,.mobile-nested-toggle:hover,#mobileAtraccionSub a:hover{background:linear-gradient(135deg,rgba(252,132,3,.08),rgba(252,194,3,.12))!important;}
#mobileServicesSub>a>span:last-child{color:#545454!important;}
.mobile-nested-main{display:flex;align-items:center;gap:.75rem;color:#545454!important;}
.mobile-nested-main span{color:#545454!important;}
.mobile-caret{transition:transform .25s ease;color:#545454!important;}
.mobile-nested-toggle.active .mobile-caret{transform:rotate(180deg);}
.mobile-nested-list{display:none;gap:.55rem;margin:.15rem 0 0 0;padding:.7rem;background:#fff!important;border:1px solid rgba(252,132,3,.10)!important;border-radius:18px;}
.mobile-nested-list.open{display:grid;}
.mobile-nested-list a{display:flex!important;align-items:center;gap:.75rem;font-size:.94rem!important;color:#545454!important;background:#fff!important;border:1px solid rgba(252,132,3,.10)!important;padding:.82rem .9rem!important;border-radius:14px;}
.mobile-submenu-group{display:grid;gap:.55rem;}
@media (max-width:900px){.hero .stats{grid-template-columns:repeat(2,minmax(130px,1fr))!important;max-width:420px!important;}.hero .stats .stat .stat-number{width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important;max-width:120px!important;max-height:120px!important;flex-basis:120px!important;}}
@media (max-width:560px){.hero .stats{grid-template-columns:repeat(2,minmax(118px,1fr))!important;max-width:300px!important;}.hero .stats .stat{max-width:140px!important;}.hero .stats .stat .stat-number{width:108px!important;height:108px!important;min-width:108px!important;min-height:108px!important;max-width:108px!important;max-height:108px!important;flex-basis:108px!important;}.mobile-icon{width:34px;height:34px;flex-basis:34px;}.mobile-icon img{width:18px;height:18px;}}

.pg-inline-1{text-decoration:none; text-align:left;}
.pg-inline-2{padding:2rem 0;}
.pg-inline-3{align-items: stretch;}
.pg-inline-4{background: transparent;}
.pg-inline-5{box-shadow: none; border-radius: 28px; overflow: hidden; margin:0; max-width:100%;}
.pg-inline-6{border-radius:28px;}
.pg-inline-7{font-size: 1.05rem; margin-bottom: 1.5rem;}
.pg-inline-8{justify-content:flex-start; gap:1rem;}
.pg-inline-9{padding-top:0;}
.pg-inline-10{padding-top:2rem;}
.pg-inline-11{font-size: 1.08rem; margin-bottom: 2rem; max-width: 640px;}
.pg-inline-12{border-radius: 30px; width: 100%; box-shadow: var(--shadow); transition: 0.5s;}
.pg-inline-13{max-width: 800px; margin:0 auto;}
.pg-inline-14{font-size: 1.2rem; max-width: 600px; margin: 0 auto 2.5rem;}
.pg-inline-15{background:#fff !important; color:#FC8403 !important; border:2px solid #FC8403;}
.pg-inline-16{color:#fff;}
/* === Ajuste final: galería tipo servicios/nosotros === */
.corporate-gallery-section .marquee-wrap{overflow:hidden;border-radius:28px;border:1px solid rgba(252,132,3,.12);background:#fff;box-shadow:0 18px 40px rgba(84,84,84,.12);padding:1rem 0;transition:all .3s ease;max-width:1240px;margin:0 auto;}
.corporate-gallery-section .marquee-wrap:hover{transform:translateY(-4px);box-shadow:0 30px 50px rgba(84,84,84,.18);}
.corporate-gallery-section .marquee-track{display:flex;gap:1rem;width:max-content;animation:scrollMarquee 28s linear infinite;}
.corporate-gallery-section .marquee-track img{width:290px;height:190px;object-fit:cover;border-radius:18px;display:block;box-shadow:0 10px 24px rgba(84,84,84,.12);transition:transform .3s ease, box-shadow .3s ease;}
.corporate-gallery-section .marquee-track img:hover{transform:scale(1.02);box-shadow:0 20px 30px rgba(84,84,84,.18);}
@keyframes scrollMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (max-width:900px){.corporate-gallery-section .marquee-track img{width:240px;height:160px;}}
/* ===== UNIFICACIÓN DE HOVERS ===== */
.card:hover,
.benefit-card:hover,
.grid-3 .card:hover {
    background: linear-gradient(135deg, #FC8403, #FCAD03) !important;
    transform: translateY(-8px);
    box-shadow: 0 28px 52px rgba(252,132,3, 0.24);
    transition: all 0.35s ease;
}

.card:hover i,
.card:hover h3,
.card:hover p,
.benefit-card:hover i,
.benefit-card:hover h3,
.benefit-card:hover .benefit-summary,
.grid-3 .card:hover i,
.grid-3 .card:hover h3,
.grid-3 .card:hover p {
    color: #fff !important;
}

/* Eliminar íconos de información */
.benefit-card::after,
.benefit-card .benefit-tab {
    display: none !important;
    content: none !important;
}

/* Ajuste del video */
.video-box {
    aspect-ratio: 16/9;
    width: 100%;
    max-width: 100%;
}
.video-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 28px;
}

/* CTA con slider más compacto */
.talento-cta .cta-copy h2 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.2;
}
.talento-cta .cta-copy p {
    font-size: 0.95rem;
    max-width: 90%;
}

/* Animaciones reveal mejoradas */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.2, 0.9, 0.4, 1.1),
                transform 0.8s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Footer WhatsApp */
.whatsapp-btn {
    margin-top: 0.5rem;
    padding: 0.6rem 1.2rem;
}
.footer-hours {
    font-size: 0.75rem;
    opacity: 0.8;
    margin-top: 0.25rem;
}






.service-thumb{width:100%;height:170px;object-fit:cover;display:block;border-radius:22px;margin:0 0 1rem 0;}
.soluciones-grid .card{overflow:hidden}
.testimonio-card .person-img{width:170px !important;height:90px !important;border-radius:18px !important;object-fit:contain !important;border:0 !important;background:#fff;padding:.35rem;margin:0 auto 1rem;}

/* Ajustes finales index: logos de soluciones y texto exacto */
body[data-page='index'] .section-kicker{max-width:1240px;margin:0 auto .5rem;color:#FC8403;font-weight:800;letter-spacing:.04em;text-transform:none;}
body[data-page='index'] .soluciones-grid .service-thumb{width:100%;height:150px;object-fit:contain;background:#fff;padding:1rem;border:1px solid rgba(252,132,3,.10);}
body[data-page='index'] .benefit-summary{line-height:1.7!important;}

/* === v15 fix: beneficios al elegirnos preview uniforme === */
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card{
  min-height:390px !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary{
  position:relative !important;
  flex:0 0 auto !important;
  display:block !important;
  overflow:hidden !important;
  line-height:1.7 !important;
  max-height:8.5em !important; /* 5 lines aprox */
  margin-bottom:.45rem !important;
  text-align:center !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary::after{
  content:'...';
  position:absolute;
  right:.1rem;
  bottom:0;
  padding-left:.35rem;
  background:linear-gradient(90deg, rgba(255,255,255,0), #fff 40%);
  color:inherit;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary p{
  margin:0 0 .55rem 0 !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .expand-toggle{
  margin-top:.35rem !important;
  align-self:center !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card.is-expanded .benefit-summary{
  max-height:none !important;
  overflow:visible !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card.is-expanded .benefit-summary::after{
  display:none !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card:not(.is-expanded):hover .benefit-summary::after,
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card:hover .benefit-summary::after{
  background:linear-gradient(90deg, rgba(252,132,3,0), rgba(252,132,3,.55) 35%, rgba(252,173,3,.96) 100%);
  color:#fff !important;
}


/* === v17 fix: beneficios preview real de 5 renglones y sin puntos === */
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:5 !important;
  overflow:hidden !important;
  max-height:none !important;
  text-align:center !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary::after{
  display:none !important;
  content:none !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card:not(.is-expanded) .benefit-summary p{
  display:inline !important;
  margin:0 !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card:not(.is-expanded) .benefit-summary p::after{
  content:' ' !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card.is-expanded .benefit-summary{
  display:block !important;
  -webkit-line-clamp:unset !important;
  overflow:visible !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card.is-expanded .benefit-summary p{
  display:block !important;
  margin:0 0 .55rem 0 !important;
}


/* === v19: uniformidad visual index === */
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary{
  flex:1 1 auto !important;
}
body[data-page='index'] .casos-uso-nuevo .casos-beneficios-grid{
  align-items:stretch !important;
}
body[data-page='index'] .casos-uso-nuevo .casos-beneficios-grid .benefit-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:390px !important;
  height:100% !important;
}
body[data-page='index'] .casos-uso-nuevo .casos-beneficios-grid .benefit-card h3{
  min-height:84px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body[data-page='index'] .casos-uso-nuevo .casos-beneficios-grid .benefit-summary{
  flex:1 1 auto !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}


/* === v21 final: beneficios index primeras tarjetas con altura pareja === */
body[data-page='index'] .beneficios-grid{
  align-items:stretch !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card{
  min-height:410px !important;
  height:100% !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card > h3{
  min-height:96px !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:5 !important;
  line-clamp:5 !important;
  overflow:hidden !important;
  line-height:1.72 !important;
  min-height:calc(1.72em * 5) !important;
  max-height:calc(1.72em * 5) !important;
  flex:0 0 auto !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .expand-toggle{
  margin-top:auto !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card.is-expanded .benefit-summary{
  display:block !important;
  min-height:0 !important;
  max-height:none !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card.is-expanded > h3{
  min-height:96px !important;
}


/* === v23 exact fix: primeras tarjetas de beneficios con misma altura en desktop y tablet === */
body[data-page='index'] .beneficios-grid{
  align-items:stretch !important;
  grid-auto-rows:minmax(0,1fr) !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card{
  display:flex !important;
  flex-direction:column !important;
  align-self:stretch !important;
  height:100% !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card > h3{
  min-height:96px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary{
  flex:1 1 auto !important;
  min-height:calc(1.72em * 5) !important;
}
body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .expand-toggle{
  margin-top:auto !important;
}
@media (max-width:900px){
  body[data-page='index'] .beneficios-grid{grid-auto-rows:minmax(0,1fr) !important;}
}
@media (max-width:640px){
  body[data-page='index'] .beneficios-grid{grid-auto-rows:auto !important;}
  body[data-page='index'] .beneficios-grid .benefit-card.expandable-card > h3{min-height:auto !important;}
  body[data-page='index'] .beneficios-grid .benefit-card.expandable-card .benefit-summary{min-height:0 !important;}
}


/* === v32: testimonios con imagen/logo grande a la izquierda === */
body[data-page='index'] .testimonios-slider{
  max-width: 1080px !important;
  min-height: 350px !important;
}
body[data-page='index'] .testimonios-track{
  min-height: 310px !important;
}
body[data-page='index'] .testimonio-card{
  display: grid !important;
  grid-template-columns: minmax(190px, 250px) minmax(0,1fr) !important;
  align-items: center !important;
  gap: 1.7rem !important;
  text-align: left !important;
  padding: 2rem 2.1rem !important;
}
body[data-page='index'] .testimonio-media{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height: 150px;
}
body[data-page='index'] .testimonio-card .person-img{
  width: 100% !important;
  max-width: 240px !important;
  height: 140px !important;
  border-radius: 22px !important;
  object-fit: contain !important;
  border: 0 !important;
  background: #fff !important;
  padding: .65rem !important;
  margin: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(252,132,3,.10);
}
body[data-page='index'] .testimonio-card .person-img--placeholder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color: var(--brand-5) !important;
  font-size: 2.2rem !important;
}
body[data-page='index'] .testimonio-body{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
}
body[data-page='index'] .testimonio-body .rating{
  margin: 0 0 .75rem !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
}
body[data-page='index'] .testimonio-body p{
  margin: 0 0 .95rem !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
}
body[data-page='index'] .testimonio-body h4{
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
@media (max-width: 900px){
  body[data-page='index'] .testimonios-slider{
    min-height: 500px !important;
    padding-bottom: 2.8rem !important;
  }
  body[data-page='index'] .testimonios-track{
    min-height: 450px !important;
  }
  body[data-page='index'] .testimonio-card{
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 1.1rem !important;
  }
  body[data-page='index'] .testimonio-body{
    align-items: center !important;
  }
  body[data-page='index'] .testimonio-card .person-img{
    max-width: 200px !important;
    height: 112px !important;
  }
}
