/* ===== R19Max Landing V4b — Sin curvas ===== */
:root {
    --naranja: #f97316; --naranja-dark: #ea580c; --naranja-darker: #c2410c;
    --naranja-light: #fb923c; --naranja-50: #fff7ed; --naranja-100: #ffedd5;
    --azul: #3b82f6; --azul-dark: #2563eb; --azul-light: #60a5fa;
    --white: #fff; --g50: #f8fafc; --g100: #f1f5f9; --g200: #e2e8f0;
    --g300: #cbd5e1; --g400: #94a3b8; --g500: #64748b; --g600: #475569;
    --g700: #334155; --g800: #1e293b; --g900: #0059A3;
    --verde: #22c55e; --rojo: #ef4444; --amarillo: #eab308;
    --morado: #a855f7; --rosa: #ec4899; --celeste: #06b6d4;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Plus Jakarta Sans',-apple-system,sans-serif;background:var(--white);color:var(--g800);line-height:1.6;overflow-x:hidden}
img{max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== NAVBAR ===== */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 0;transition:all .3s;background:transparent}
.navbar.scrolled{background:rgba(249,115,22,.96);backdrop-filter:blur(16px);padding:8px 0;box-shadow:0 4px 20px rgba(0,0,0,.15)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.navbar-logo{text-decoration:none;display:inline-flex;align-items:center}
.navbar-logo img{height:42px;width:auto;display:block;transition:filter .3s}
.navbar.scrolled .navbar-logo img{filter:brightness(0) invert(1)}
.navbar-links{display:flex;gap:24px}
.navbar-links a{color:rgba(255,255,255,.85);text-decoration:none;font-size:.88rem;font-weight:600;transition:color .2s}
.navbar-links a:hover{color:var(--white)}
.navbar-toggle{display:none;background:none;border:none;color:white;font-size:1.5rem;cursor:pointer}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:12px;font-weight:700;font-size:.95rem;text-decoration:none;border:none;cursor:pointer;transition:all .3s;font-family:inherit}
.btn-white{background:white;color:var(--naranja);box-shadow:0 4px 15px rgba(0,0,0,.1)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}
.btn-outline-white{background:transparent;color:white;border:2px solid rgba(255,255,255,.4)}
.btn-outline-white:hover{border-color:white;background:rgba(255,255,255,.1)}
.btn-orange{background:linear-gradient(135deg,var(--naranja),var(--naranja-dark));color:white;box-shadow:0 4px 15px rgba(249,115,22,.3)}
.btn-orange:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(249,115,22,.4)}
.btn-outline-orange{background:transparent;color:var(--naranja);border:2px solid var(--naranja)}
.btn-outline-orange:hover{background:var(--naranja);color:white}
.btn-whatsapp{background:#25d366;color:white}
.btn-whatsapp:hover{background:#20bd5a;transform:translateY(-2px)}
.btn-sm{padding:8px 18px;font-size:.85rem}
.btn-lg{padding:14px 32px;font-size:1.05rem}
.btn-block{width:100%;justify-content:center}

/* ===== HERO ===== */
.hero{position:relative;padding:120px 0 100px;overflow:hidden;background:linear-gradient(135deg,var(--naranja) 0%,var(--naranja-dark) 50%,#d84f00 100%);color:white}
.hero-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.shape{position:absolute;border-radius:50%;background:white;opacity:.06}
.s1{width:500px;height:500px;top:-180px;right:-80px}
.s2{width:350px;height:350px;bottom:-120px;left:-60px}
.s3{width:180px;height:180px;top:35%;left:25%}
.s4{width:120px;height:120px;top:15%;left:60%;opacity:.04}
.s5{width:250px;height:250px;bottom:10%;right:20%;opacity:.04}

.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero-content{position:relative;z-index:2}

/* Slider */
.slider-wrapper{position:relative;min-height:280px}
.slide{position:absolute;top:0;left:0;width:100%;opacity:0;transform:translateY(20px);transition:all .6s ease;pointer-events:none}
.slide.active{opacity:1;transform:translateY(0);pointer-events:auto;position:relative}
.slide .hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:50px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);font-size:.83rem;font-weight:600;margin-bottom:20px}
.slide h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;line-height:1.1;margin-bottom:16px}
.hero-hl{display:block;color:var(--g900)}
.slide p{font-size:1.05rem;opacity:.9;line-height:1.7;max-width:480px}

.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0 20px}

.slider-dots{display:flex;gap:10px}
.sdot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;transition:all .3s;padding:0}
.sdot.active{background:white;border-color:white;width:32px;border-radius:6px}

/* Hero visual + Mockups */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;z-index:2;min-height:480px}
.hero-portada{display:block;width:100%;max-width:520px;height:auto;border-radius:16px}

/* POS Terminal Mockup (hero) */
.pos-mockup{position:relative;width:380px;max-width:100%;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 30px 60px rgba(0,0,0,.4))}
.pos-bezel{width:100%;background:linear-gradient(180deg,#111827,#0b1220);border-radius:18px;padding:30px 14px 36px;border:2px solid #1f2937;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.pos-camera{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:#1f2937;box-shadow:inset 0 0 0 2px #0b1220,0 0 0 1px rgba(255,255,255,.04)}
.pos-screen{background:#000;border-radius:6px;overflow:hidden;aspect-ratio:4/3;position:relative;border:1px solid #000}
.pos-video{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.pos-brand{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font-size:.7rem;font-weight:800;letter-spacing:.5px;color:rgba(255,255,255,.45)}
.pos-brand span{color:var(--naranja)}
.pos-neck{width:60px;height:38px;background:linear-gradient(180deg,#1f2937,#0f172a);margin-top:-2px;border-radius:0 0 8px 8px;position:relative;z-index:-1}
.pos-base{width:200px;height:14px;background:radial-gradient(ellipse at center,#374151 0%,#0f172a 80%);margin-top:-2px;border-radius:50%/100%;box-shadow:0 14px 28px rgba(0,0,0,.4)}

/* Laptop Mockup (reusable: hero / module media) */
.laptop-mockup{position:relative;width:520px;max-width:100%;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35))}
.laptop-screen{background:var(--g900);border-radius:14px 14px 4px 4px;padding:12px 12px 14px;border:2px solid #1f2937;position:relative;aspect-ratio:16/10;overflow:hidden}
.laptop-video{width:100%;height:100%;object-fit:contain;display:block;border-radius:6px;background:#000}
.laptop-base{width:108%;height:14px;background:linear-gradient(180deg,#374151 0%,#1f2937 60%,#0f172a 100%);margin:0 auto;border-radius:0 0 14px 14px;position:relative;left:-4%;box-shadow:inset 0 -2px 4px rgba(0,0,0,.4)}
.laptop-base::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:6px;background:#0f172a;border-radius:0 0 8px 8px}

/* Laptop inside module (Vende en mesa) */
.mod-media .mod-laptop{margin:0 auto}

/* Phone inside module (TomaPedido) — standalone, no rotation */
.mod-media .mod-phone{position:relative;right:auto;bottom:auto;transform:none;margin:0 auto;width:230px;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.mod-media .mod-phone .phone-screen{aspect-ratio:9/19;border-radius:22px}
.mod-media .mod-phone .phone-video{border-radius:22px}

/* Online / CartaQ4 visual */
.online-visual{position:relative;width:100%;display:flex;justify-content:center;align-items:center;min-height:420px}
.online-phone{width:240px;background:#0b1220;border-radius:30px;padding:10px;border:2px solid #1f2937;box-shadow:0 30px 60px rgba(0,0,0,.35);position:relative;z-index:2}
.online-phone-notch{width:80px;height:18px;background:#0b1220;border-radius:0 0 12px 12px;margin:-10px auto 8px;position:relative;z-index:3}
.online-phone-screen{background:linear-gradient(180deg,#fff7ed,#ffffff);border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:380px}
.online-card{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--g200);border-radius:14px;padding:8px 10px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.online-card-img{width:48px;height:48px;border-radius:10px;background:var(--naranja-50);display:flex;align-items:center;justify-content:center;color:var(--naranja);font-size:1.4rem;flex-shrink:0}
.online-card-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.online-card-info strong{font-size:.85rem;font-weight:800;color:var(--g900);line-height:1.2}
.online-card-info span{font-size:.8rem;font-weight:700;color:var(--naranja)}
.online-cta{margin-top:auto;background:var(--naranja);color:white;text-align:center;padding:11px;border-radius:12px;font-size:.85rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 8px 20px rgba(249,115,22,.4)}

.online-qr{position:absolute;bottom:12px;left:6%;background:white;border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 32px rgba(0,0,0,.18);z-index:3;animation:floatCard 3s ease-in-out infinite}
.online-qr-box{width:54px;height:54px;border-radius:10px;background:#0b1220;color:white;display:flex;align-items:center;justify-content:center;font-size:2rem}
.online-qr span{font-size:.72rem;font-weight:700;color:var(--g700);line-height:1.2}

.online-badge{position:absolute;top:10px;right:6%;background:white;border-radius:999px;padding:8px 14px;display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--g900);box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:3;animation:floatCard 3s ease-in-out infinite;animation-delay:1.2s}
.online-badge i{color:var(--amarillo)}

/* CartaQR slides inside online-phone */
.online-phone-slides{position:relative;width:100%;aspect-ratio:9/19;border-radius:22px;overflow:hidden;background:#fff7ed}
.online-phone-slides .cqr-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.online-phone-slides .cqr-slide.is-active{opacity:1}
.online-name-tag{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:800;color:var(--g800);box-shadow:0 10px 24px rgba(0,0,0,.22);white-space:nowrap;z-index:4;letter-spacing:.01em}

.online-phone-video-wrap{position:relative;width:100%;aspect-ratio:9/19;border-radius:22px;overflow:hidden;background:var(--g900);display:flex;align-items:center;justify-content:center}
.online-phone-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;display:block;transform:scale(1.05);transform-origin:center bottom}

/* SUNAT rotator — badges flotantes XML / CDR / SUNAT / SIRE */
.mod-media.is-rotator.sunat-rotator{overflow:visible;position:relative}
.sunat-badge{position:absolute;background:white;border-radius:999px;padding:7px 14px;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--g800);box-shadow:0 14px 32px rgba(0,0,0,.18);z-index:5;letter-spacing:.02em;white-space:nowrap;animation:floatCard 3s ease-in-out infinite}
.sunat-badge i{font-size:.95rem}
.sunat-badge.xml{top:6%;left:-18px;animation-delay:0s}
.sunat-badge.xml i{color:#10b981}
.sunat-badge.cdr{top:32%;right:-22px;animation-delay:.5s}
.sunat-badge.cdr i{color:var(--naranja)}
.sunat-badge.sunat{bottom:32%;left:-26px;animation-delay:1s}
.sunat-badge.sunat i{color:#dc2626}
.sunat-badge.sire{bottom:8%;right:-14px;animation-delay:1.5s}
.sunat-badge.sire i{color:#6366f1}

/* ── Soporte 7/7 (mod-soporte) ── */
.support-visual{position:relative;width:100%;display:flex;justify-content:center;align-items:center;min-height:480px;padding:24px 0}
.support-chat{width:340px;max-width:100%;background:white;border-radius:24px;border:1px solid var(--g200);box-shadow:0 30px 60px -20px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.05);overflow:hidden;position:relative;z-index:2}
.support-chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--g100);background:linear-gradient(180deg,#fff,#fffaf3)}
.support-agent-av{position:relative;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--naranja),var(--naranja-light));display:flex;align-items:center;justify-content:center;color:white;font-weight:900;font-size:.92rem;flex-shrink:0;box-shadow:0 4px 10px rgba(249,115,22,.25)}
.support-online-dot{position:absolute;bottom:-1px;right:-1px;width:13px;height:13px;border-radius:50%;background:#10b981;border:2px solid white;animation:floatCard 1.6s ease-in-out infinite}
.support-agent-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.support-agent-meta strong{font-size:.92rem;font-weight:800;color:var(--g900);line-height:1.15}
.support-agent-meta small{font-size:.72rem;font-weight:700;color:#10b981;display:flex;align-items:center;gap:5px}
.support-agent-meta small i{font-size:.45rem}
.support-chat-header > i{color:var(--g400);font-size:1.1rem}

.support-chat-body{padding:14px;display:flex;flex-direction:column;gap:8px;background:#faf6f1;min-height:240px}
.support-msg{max-width:80%;display:flex;flex-direction:column;gap:2px}
.support-msg p{margin:0;padding:9px 12px;border-radius:14px;font-size:.82rem;line-height:1.4}
.support-msg span{font-size:.65rem;color:var(--g400);font-weight:600;padding:0 4px}
.support-msg.in{align-self:flex-start}
.support-msg.in p{background:white;color:var(--g800);border-bottom-left-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.support-msg.out{align-self:flex-end}
.support-msg.out p{background:linear-gradient(135deg,var(--naranja),var(--naranja-light));color:white;border-bottom-right-radius:4px;box-shadow:0 4px 10px rgba(249,115,22,.22)}
.support-msg.out span{align-self:flex-end}

.support-chat-input{display:flex;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--g100);background:white;font-size:.85rem}
.support-chat-input span{flex:1;color:var(--g400);font-weight:500}
.support-chat-input i{font-size:1.05rem;color:var(--g500)}

.support-stat{position:absolute;top:18px;right:0;background:white;border-radius:14px;padding:11px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 32px rgba(0,0,0,.14);z-index:3;animation:floatCard 3.2s ease-in-out infinite}
.support-stat-icon{width:38px;height:38px;border-radius:10px;background:var(--naranja-50);color:var(--naranja);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.support-stat strong{display:block;font-size:.95rem;font-weight:900;color:var(--g900);line-height:1}
.support-stat small{display:block;font-size:.7rem;font-weight:700;color:var(--g500);margin-top:3px}

.support-week{position:absolute;bottom:14px;left:0;background:white;border-radius:16px;padding:12px 14px;box-shadow:0 14px 32px rgba(0,0,0,.14);z-index:3;animation:floatCard 3s ease-in-out infinite;animation-delay:1.2s}
.support-week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:8px}
.support-week-days span{width:22px;height:22px;border-radius:6px;background:var(--g100);color:var(--g500);font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.support-week-days span.hl{background:var(--naranja);color:white;box-shadow:0 3px 8px rgba(249,115,22,.35)}
.support-week p{margin:0;font-size:.7rem;font-weight:800;color:var(--g700);display:flex;align-items:center;gap:5px;justify-content:center}
.support-week p i{color:var(--naranja);font-size:.78rem}

@media(max-width:1024px){
    .support-visual{min-height:auto;padding:60px 0 30px}
    .support-stat{top:0;right:50%;transform:translateX(50%)}
    .support-week{bottom:auto;top:90px;left:50%;transform:translateX(-50%)}
    .support-chat{margin-top:140px}
}
/* En mobile: pasamos los badges al flujo normal para que no se monten
   sobre la sección anterior. Stat arriba, chat al medio, week abajo. */
@media(max-width:600px){
    .support-visual{
        flex-direction:column;
        align-items:center;
        padding:20px 0 10px;
        gap:14px;
    }
    .support-stat,
    .support-week{
        position:static;
        transform:none;
        animation:none;
    }
    .support-stat{order:1}
    .support-chat{order:2;margin-top:0;width:100%;max-width:340px}
    .support-week{order:3}
}

/* Phone overlapping the laptop (front-right) */
.phone-mockup{width:160px;background:var(--g900);border-radius:24px;padding:8px;box-shadow:0 20px 40px rgba(0,0,0,.45);position:absolute;right:-10px;bottom:-30px;transform:rotate(-8deg);z-index:3;border:2px solid #1f2937}
.phone-notch{width:60px;height:16px;background:var(--g900);border-radius:0 0 10px 10px;margin:-8px auto 0;position:relative;z-index:2}
.phone-screen{background:#000;border-radius:18px;overflow:hidden;aspect-ratio:9/19}
.phone-video{width:100%;height:100%;object-fit:cover;display:block;border-radius:18px;background:#000}
.phone-screen-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:18px}
.ph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ph-title{font-weight:800;font-size:1rem;color:white}
.ph-badge{font-size:.6rem;padding:3px 8px;border-radius:6px;background:rgba(234,179,8,.2);color:var(--amarillo);font-weight:700}
.ph-item{display:flex;justify-content:space-between;padding:9px 0;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.8)}
.ph-divider{border-top:1px dashed rgba(255,255,255,.1);margin:8px 0}
.ph-total{display:flex;justify-content:space-between;font-weight:800;font-size:1.05rem;color:white;margin-bottom:14px}
.ph-btns{display:flex;gap:8px}
.phb{flex:1;text-align:center;padding:10px;border-radius:10px;font-size:.78rem;font-weight:700}
.phb.send{background:var(--azul);color:white}
.phb.pay{background:var(--verde);color:white}

.float-card{position:absolute;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;background:white;color:var(--g800);font-size:.78rem;font-weight:600;box-shadow:0 8px 25px rgba(0,0,0,.2);white-space:nowrap;animation:floatCard 3s ease-in-out infinite}
.float-card i{font-size:1rem}
.fc1{top:-10px;left:-20px;animation-delay:0s}.fc1 i{color:var(--azul)}
.fc2{top:38%;left:-60px;animation-delay:1s}.fc2 i{color:var(--verde)}
.fc3{top:6%;right:-30px;animation-delay:2s}.fc3 i{color:var(--naranja)}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ===== MARQUEE BADGES ===== */
.marquee-section{padding:28px 0;background:var(--g50);overflow:hidden}
.marquee-track{overflow:hidden}
.marquee-content{display:flex;gap:16px;animation:scrollM 35s linear infinite;align-items:stretch}
.m-badge{
    flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:7px;
    padding:16px 24px;border-radius:16px;
    min-width:112px;text-align:center;
    transition:all .3s;border:none;
}
.m-badge:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.m-badge i{font-size:1.5rem}
.m-badge span{font-size:.76rem;font-weight:700;line-height:1.2;white-space:nowrap}

/* Color rotation */
.m-badge:nth-child(8n+1){background:rgba(99,102,241,.1)}.m-badge:nth-child(8n+1) i{color:#6366f1}.m-badge:nth-child(8n+1) span{color:#4338ca}
.m-badge:nth-child(8n+2){background:rgba(249,115,22,.1)}.m-badge:nth-child(8n+2) i{color:#f97316}.m-badge:nth-child(8n+2) span{color:#c2410c}
.m-badge:nth-child(8n+3){background:rgba(20,184,166,.1)}.m-badge:nth-child(8n+3) i{color:#14b8a6}.m-badge:nth-child(8n+3) span{color:#0f766e}
.m-badge:nth-child(8n+4){background:rgba(244,63,94,.1)}.m-badge:nth-child(8n+4) i{color:#f43f5e}.m-badge:nth-child(8n+4) span{color:#be123c}
.m-badge:nth-child(8n+5){background:rgba(59,130,246,.1)}.m-badge:nth-child(8n+5) i{color:#3b82f6}.m-badge:nth-child(8n+5) span{color:#1d4ed8}
.m-badge:nth-child(8n+6){background:rgba(168,85,247,.1)}.m-badge:nth-child(8n+6) i{color:#a855f7}.m-badge:nth-child(8n+6) span{color:#7c3aed}
.m-badge:nth-child(8n+7){background:rgba(234,179,8,.1)}.m-badge:nth-child(8n+7) i{color:#eab308}.m-badge:nth-child(8n+7) span{color:#a16207}
.m-badge:nth-child(8n+8){background:rgba(6,182,212,.1)}.m-badge:nth-child(8n+8) i{color:#06b6d4}.m-badge:nth-child(8n+8) span{color:#0e7490}
@keyframes scrollM{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== SOCIAL REELS CAROUSEL ===== */
.reels{padding:80px 0;background:var(--g900);overflow:hidden}
.reels .section-header h2{color:white}
.reels .section-header p{color:var(--g400)}
.reels .pill{background:rgba(255,255,255,.1);color:white}
.reels .pill i{margin-right:4px}
.reels .text-orange{color:var(--naranja-light)}
.reels-badge{
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 18px;border-radius:50px;
    background:rgba(255,255,255,.08);
    color:white;text-decoration:none;
    font-size:.82rem;font-weight:700;letter-spacing:.02em;
    border:1px solid rgba(255,255,255,.15);
    margin-bottom:14px;
    transition:background .25s ease,transform .2s ease,border-color .25s ease;
}
.reels-badge i{font-size:1rem;color:var(--naranja-light)}
.reels-badge:hover{
    background:linear-gradient(135deg,#ff0050,#25f4ee);
    border-color:transparent;color:white;transform:translateY(-2px);
}
.reels-badge:hover i{color:white}

.reels-carousel{position:relative}
.reels-viewport{overflow-x:hidden;overflow-y:visible;padding:12px 0}
.reels-track{display:flex;width:max-content}
.reels-marquee .reels-track{animation:scrollReels 90s linear infinite}
.reels-marquee:hover .reels-track,
.reels-marquee.reels-paused .reels-track,
.reels-marquee.reels-scrolling .reels-track{animation-play-state:paused}
@keyframes scrollReels{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.reel-card{
    flex-shrink:0;width:220px;margin-right:18px;
    border-radius:18px;overflow:hidden;
    background:var(--g800);border:1px solid var(--g700);
    transition:box-shadow .3s,border-color .3s;cursor:pointer;
}
.reel-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.4);border-color:var(--naranja)}

.reel-frame{
    width:100%;aspect-ratio:9/16;
    background:linear-gradient(135deg,var(--g800),var(--g700));
    display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
}
.reel-placeholder{
    display:flex;flex-direction:column;align-items:center;gap:8px;
    color:var(--g500);
}
.reel-placeholder i{font-size:3rem;color:var(--g400);transition:all .3s}
.reel-placeholder span{font-size:.75rem;font-weight:600}
.reel-card:hover .reel-placeholder i{color:var(--naranja);transform:scale(1.15)}

/* TikTok embed (click-to-play) */
.reel-tiktok-frame{background:#000;width:100%;aspect-ratio:9/16;position:relative;overflow:hidden}
.reel-tiktok-poster{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 30% 20%,#1f2937 0%,#000 70%);color:white;transition:background .3s}
.reel-tiktok-logo{font-size:3.4rem;color:white;opacity:.8}
.reel-tiktok-handle{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.3px}
.reel-tiktok-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;z-index:4;object-fit:contain}
.reel-tiktok-poster-local{padding:0;background:#000}
.reel-local-poster-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reel-tiktok-poster-local + .reel-play-btn,
.reel-card .reel-tiktok-poster-local ~ .reel-play-btn{background:rgba(0,0,0,.25)}
.reel-tiktok-frame.is-playing .reel-tiktok-poster,
.reel-tiktok-frame.is-playing .reel-play-btn{display:none}
.reel-card.is-playing{box-shadow:0 24px 60px rgba(249,115,22,.35);border-color:var(--naranja);z-index:5;position:relative}

/* Reel video (legacy, click-to-play) */
.reel-video-frame{background:#000}
.reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reel-play-btn{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    width:100%;height:100%;border:none;background:rgba(0,0,0,.35);cursor:pointer;
    transition:background .25s ease,opacity .25s ease;color:white;padding:0;
}
.reel-play-btn i{font-size:3.2rem;background:rgba(255,255,255,.95);color:var(--g900);width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:transform .25s ease}
.reel-card:hover .reel-play-btn{background:rgba(0,0,0,.15)}
.reel-card:hover .reel-play-btn i{transform:scale(1.1);color:var(--naranja)}
.reel-video-frame.is-playing .reel-play-btn{opacity:0;pointer-events:none}

.reel-info{padding:14px 14px 16px}
.reel-author{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--g400);margin-bottom:6px}
.reel-author i{font-size:.85rem}
.reel-info p{font-size:.82rem;font-weight:600;color:white;line-height:1.4;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.reel-stats{display:flex;gap:14px}
.reel-stats span{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--g500)}
.reel-stats .bi-heart-fill{color:#f43f5e}
.reel-stats .bi-chat-dots-fill{color:var(--g500)}

.reels-btn{
    position:absolute;top:50%;transform:translateY(-80%);z-index:10;
    width:44px;height:44px;border-radius:50%;
    border:2px solid var(--g600);background:var(--g800);color:var(--g400);
    font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 16px rgba(0,0,0,.3);transition:all .2s;
}
.reels-btn:hover{border-color:var(--naranja);color:var(--naranja);background:var(--g700)}
.reels-prev{left:-8px}.reels-next{right:-8px}

/* Mobile-only nav arrows for the reels carousel */
.reels-mobile-btn{display:none}

/* ===== ENGINEERS ===== */
.engineers{padding:90px 0 0;background:var(--g50)}
.eng-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.eng-pill{display:inline-block;padding:4px 14px;border-radius:50px;background:var(--naranja-100);color:var(--naranja-dark);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.eng-left h2{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:900;margin-bottom:16px;color:var(--g900)}
.text-gradient{background:linear-gradient(135deg,var(--naranja),var(--azul));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.eng-left p{font-size:1.02rem;color:var(--g500);line-height:1.7;margin-bottom:24px}

.eng-checks{list-style:none;display:flex;flex-direction:column;gap:12px}
.eng-checks li{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:600;color:var(--g700)}
.eng-checks i{color:var(--naranja);font-size:1.1rem;flex-shrink:0}

/* Peru Map */
.eng-right{display:flex;justify-content:center}
.peru-map{position:relative;width:100%;max-width:547px}

.peru-map img{width:100%;border-radius:24px;display:block}

.map-stat{
    position:absolute;padding:10px 16px;border-radius:12px;
    background:white;box-shadow:0 8px 28px rgba(0,0,0,.1);
    border:1px solid var(--g200);text-align:center;
    animation:floatCard 3s ease-in-out infinite;
}
.ms-num{display:block;font-size:1.3rem;font-weight:900;color:var(--naranja);line-height:1.1}
.ms-label{font-size:.7rem;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.03em}
.ms1{top:8%;right:0;animation-delay:0s}
.ms2{bottom:25%;right:-10px;animation-delay:1s}
.ms3{bottom:300px;left:5%;animation-delay:2s}

/* Logos carousel inside engineers */
.logos-carousel{margin-top:48px;overflow:hidden;padding:48px 0;border-top:1px solid var(--g200)}
.logos-track{display:flex;animation:scrollLogos 60s linear infinite;width:max-content}
.logos-carousel:hover .logos-track{animation-play-state:paused}
.logo-item{flex-shrink:0;margin-right:24px}
.logo-placeholder{
    width:100px;height:100px;border-radius:16px;
    background:white;border:1px solid var(--g200);
    display:flex;align-items:center;justify-content:center;
    font-size:.72rem;font-weight:700;color:var(--g400);
    transition:all .3s;
}
.logo-placeholder:hover{border-color:var(--naranja-light);box-shadow:0 6px 20px rgba(0,0,0,.06)}
/* Reemplaza .logo-placeholder con: <img src="logo.png" alt="Cliente" class="logo-img"> */
.logo-img{width:100px;height:100px;border-radius:50%;object-fit:cover;background:white;border:1px solid var(--g200);padding:0;display:block}
@keyframes scrollLogos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== BENEFITS ===== */
.benefits{padding:60px 0 80px;background:var(--g50)}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.ben-card{padding:28px 24px;border-radius:16px;background:white;border:1px solid var(--g200);transition:all .3s}
.ben-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06);border-color:var(--naranja-light)}
.ben-icon{width:48px;height:48px;border-radius:12px;background:var(--naranja-50);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--naranja);margin-bottom:14px}
.ben-card h4{font-size:1rem;font-weight:800;margin-bottom:6px;color:var(--g900)}
.ben-card p{font-size:.88rem;color:var(--g500);line-height:1.5}

/* ===== CTA BANNERS (sin fondo, centrado) ===== */
.cta-banner{padding:64px 0;text-align:center;background:transparent}
.cta-banner .container{display:flex;flex-direction:column;align-items:center;gap:20px}
.cta-icon{font-size:2.2rem;color:var(--naranja);display:block}
.cta-banner h3{font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:900;color:var(--g900);line-height:1.4;max-width:700px}
.cta-banner h3 span{color:var(--naranja)}

/* ===== SECTION HEADERS ===== */
.section-header{text-align:center;margin-bottom:56px}
.section-header.light h2,.section-header.light p{color:white}
.section-header.light p{opacity:.85}
.section-header h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:900;margin-bottom:10px}
.section-header p{font-size:1rem;color:var(--g500);max-width:550px;margin:0 auto}
.text-orange{color:var(--naranja)}
.tw{color:rgba(255,255,255,.9)}
.pill{display:inline-block;padding:4px 14px;border-radius:50px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;background:var(--naranja-100);color:var(--naranja-dark)}
.pill-white{background:rgba(255,255,255,.2);color:white}

/* ===== UNIQUE FEATURES ===== */
.unique{padding:90px 0;background:var(--white)}
.unique-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.uq-card{padding:24px 20px;border-radius:14px;background:var(--g50);border:1px solid var(--g200);transition:all .3s;text-align:center}
.uq-card:hover{transform:translateY(-6px);box-shadow:0 22px 28px -16px rgba(0,0,0,.18);border-color:transparent}
.uq-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin:0 auto 12px}
.uq-icon.blue{background:rgba(59,130,246,.1);color:var(--azul)}
.uq-icon.green{background:rgba(34,197,94,.1);color:var(--verde)}
.uq-icon.orange{background:rgba(249,115,22,.1);color:var(--naranja)}
.uq-icon.purple{background:rgba(168,85,247,.1);color:var(--morado)}
.uq-icon.red{background:rgba(239,68,68,.1);color:var(--rojo)}
.uq-icon.cyan{background:rgba(6,182,212,.1);color:var(--celeste)}
.uq-icon.pink{background:rgba(236,72,153,.1);color:var(--rosa)}
.uq-card h4{font-size:.95rem;font-weight:800;margin-bottom:6px;color:var(--g900)}
.uq-card p{font-size:.83rem;color:var(--g500);line-height:1.5}

/* Bento variant */
.unique-grid.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,auto);gap:14px}
.unique-grid.bento .uq-card{text-align:left;padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-height:170px}
.unique-grid.bento .uq-icon{margin:0 0 14px 0}
.unique-grid.bento .uq-card h4{margin-top:0}

.unique-grid.bento .uq-card.uq-hero{grid-column:span 2;grid-row:span 2;background:linear-gradient(135deg,#1a1d29 0%,#262a37 100%);border:1px solid rgba(255,255,255,.06);color:white;padding:34px;position:relative;overflow:hidden}
.unique-grid.bento .uq-card.uq-hero::after{content:'';position:absolute;inset:auto -100px -100px auto;width:340px;height:340px;background:radial-gradient(circle,rgba(255,140,40,.22),transparent 60%);pointer-events:none;z-index:0}
.unique-grid.bento .uq-card.uq-hero > *{position:relative;z-index:1}
.unique-grid.bento .uq-card.uq-hero .uq-icon{margin:0 0 auto 0;width:56px;height:56px;font-size:1.6rem;background:rgba(255,140,40,.18);color:#ff8c28;border-radius:14px}
.unique-grid.bento .uq-card.uq-hero h4{color:white;font-size:1.7rem;line-height:1.15;margin:0 0 10px 0;font-weight:800}
.unique-grid.bento .uq-card.uq-hero p{color:rgba(255,255,255,.72);font-size:.98rem;line-height:1.55;margin:0 0 18px 0}
.unique-grid.bento .uq-card.uq-hero .hero-stat{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:.78rem;color:rgba(255,255,255,.85);font-weight:600}
.unique-grid.bento .uq-card.uq-hero .hero-stat i{color:#ff8c28;font-size:.95rem}
.unique-grid.bento .uq-card.uq-hero:hover{transform:translateY(-6px);border-color:transparent;box-shadow:0 28px 36px -18px rgba(0,0,0,.35)}

.unique-grid.bento .uq-card.uq-wide{grid-column:span 2;flex-direction:row;align-items:center;gap:18px}
.unique-grid.bento .uq-card.uq-wide .uq-icon{margin:0;flex-shrink:0}
.unique-grid.bento .uq-card.uq-wide .uq-text{flex:1}
.unique-grid.bento .uq-card.uq-wide .uq-text h4{margin-bottom:4px}
.uq-rotator{display:contents}
.unique-dots{display:none}

/* ===== MODULES ===== */
.modules{padding:0;background:transparent;color:var(--g800)}
.modules .section-header h2{color:var(--g900)}
.modules .section-header p{color:var(--g500)}
.modules .tw{color:var(--naranja)}

.modules-header-wrap{padding:80px 0 0;background:transparent;position:relative}
.modules-header-wrap .section-header{margin-bottom:0;padding-bottom:60px}

.mod{position:relative;overflow:hidden}

.mod.bg-white{background:var(--white)}
.mod.bg-orange{background:var(--naranja);color:white}
.mod.bg-cream{background:var(--naranja-50)}
.mod.bg-warm{background:#fff1e6}

.mod-inner{max-width:1200px;margin:0 auto;padding:80px 24px;position:relative;z-index:2}

.mod-number{font-size:5rem;font-weight:900;opacity:.08;line-height:1;position:absolute;top:20px;left:24px;z-index:1}
.mod.bg-orange .mod-number{opacity:.12;color:white}
.mod.bg-white .mod-number,.mod.bg-cream .mod-number,.mod.bg-warm .mod-number{color:var(--naranja)}

.mod-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.mod.reverse .mod-grid{direction:rtl}
.mod.reverse .mod-grid>*{direction:ltr}

/* Tags */
.mod-tag{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:8px;font-size:.8rem;font-weight:700;margin-bottom:10px}
.mod.bg-orange .mod-tag{background:rgba(255,255,255,.15);color:white}
.mod.bg-white .mod-tag,.mod.bg-cream .mod-tag,.mod.bg-warm .mod-tag{background:var(--naranja-100);color:var(--naranja-dark)}

/* Text */
.mod-info h3{font-size:1.7rem;font-weight:900;margin-bottom:10px}
.mod-info p{line-height:1.7;margin-bottom:18px}
.mod.bg-orange .mod-info p{opacity:.9}
.mod.bg-white .mod-info p,.mod.bg-cream .mod-info p,.mod.bg-warm .mod-info p{color:var(--g500)}

/* Pills */
.mod-pills{display:flex;gap:8px;margin-bottom:18px}
.mp{padding:6px 16px;border-radius:8px;font-size:.82rem;font-weight:700;cursor:default}
.mod.bg-orange .mp{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:white}
.mod.bg-orange .mp.active{background:white;color:var(--naranja);border-color:white}
.mod.bg-white .mp,.mod.bg-cream .mp,.mod.bg-warm .mp{background:var(--g100);border:1px solid var(--g200);color:var(--g600)}
.mod.bg-white .mp.active,.mod.bg-cream .mp.active,.mod.bg-warm .mp.active{background:var(--naranja);color:white;border-color:var(--naranja)}

/* Feature tags */
.mod-features{display:flex;flex-wrap:wrap;gap:8px}
.mod-features span{display:flex;align-items:center;gap:5px;padding:4px 12px;border-radius:8px;font-size:.8rem;font-weight:600}
.mod.bg-orange .mod-features span{background:rgba(255,255,255,.1);color:white}
.mod.bg-orange .mod-features i{color:rgba(255,255,255,.7)}
.mod.bg-white .mod-features span,.mod.bg-cream .mod-features span,.mod.bg-warm .mod-features span{background:var(--g100);color:var(--g600)}
.mod.bg-white .mod-features i,.mod.bg-cream .mod-features i,.mod.bg-warm .mod-features i{color:var(--naranja)}

/* Section foot note (pie de sección) */
.mod-foot{margin-top:18px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:.82rem;line-height:1.3;text-align:center}
.mod-foot i.bi-info-circle{font-size:1rem;opacity:.7}
.mod-foot a{font-weight:800;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:4px;transition:opacity .2s}
.mod-foot a:hover{opacity:.85}
.mod.bg-orange .mod-foot{color:rgba(255,255,255,.88)}
.mod.bg-orange .mod-foot a{color:white;text-decoration-color:rgba(255,255,255,.45)}
.mod.bg-orange .mod-foot a:hover{text-decoration-color:white}
.mod.bg-white .mod-foot,.mod.bg-cream .mod-foot,.mod.bg-warm .mod-foot{border-top-color:var(--g200);color:var(--g600)}
.mod.bg-white .mod-foot a,.mod.bg-cream .mod-foot a,.mod.bg-warm .mod-foot a{color:var(--naranja)}

/* Module media placeholder */
.mod-media-placeholder{
    width:100%;min-height:300px;border-radius:20px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    transition:all .3s;
}
.mod.bg-orange .mod-media-placeholder{background:rgba(0,0,0,.12);border:2px dashed rgba(255,255,255,.2);color:rgba(255,255,255,.4)}
.mod.bg-orange .mod-media-placeholder:hover{background:rgba(0,0,0,.18);border-color:rgba(255,255,255,.35)}
.mod.bg-white .mod-media-placeholder,.mod.bg-cream .mod-media-placeholder,.mod.bg-warm .mod-media-placeholder{background:var(--g100);border:2px dashed var(--g300);color:var(--g400)}
.mod.bg-white .mod-media-placeholder:hover,.mod.bg-cream .mod-media-placeholder:hover,.mod.bg-warm .mod-media-placeholder:hover{background:var(--g200);border-color:var(--g400)}
.mod-media-placeholder i{font-size:3rem}
.mod-media-placeholder span{font-size:.95rem;font-weight:700}
.mod-media-placeholder small{font-size:.75rem;opacity:.6}

/* Module media image — polaroid-style rounded frame */
.mod-media > img{
    width:100%;height:auto;display:block;
    background:white;padding:8px;
    border-radius:26px;
    border:1px solid var(--g200);
    box-shadow:0 2px 6px rgba(0,0,0,.04),0 26px 44px -22px rgba(0,0,0,.2);
    box-sizing:border-box;
    transition:transform .4s ease,box-shadow .4s ease;
}
.mod-media > img:hover{
    transform:translateY(-5px);
    box-shadow:0 2px 6px rgba(0,0,0,.04),0 34px 52px -22px rgba(0,0,0,.26)
}
.mod.bg-orange .mod-media > img{
    border-color:rgba(255,255,255,.25);
    box-shadow:0 2px 6px rgba(0,0,0,.12),0 30px 46px -20px rgba(0,0,0,.34)
}

/* Image rotator — crossfade lento entre imágenes */
.mod-media.is-rotator{
    width:100%;display:grid;position:relative;
    background:white;padding:8px;border-radius:26px;
    border:1px solid var(--g200);
    box-shadow:0 2px 6px rgba(0,0,0,.04),0 26px 44px -22px rgba(0,0,0,.2);
    box-sizing:border-box;overflow:hidden;
}
.mod-media.is-rotator > img{
    grid-column:1;grid-row:1;
    width:100%;height:auto;
    border-radius:18px;
    background:transparent;padding:0;border:none;box-shadow:none;
    opacity:0;
    transition:opacity 2.6s ease-in-out;
}
.mod-media.is-rotator > img.is-active{opacity:1}
.mod-media.is-rotator > img:hover{transform:none;box-shadow:none}

.mod.bg-orange .mod-media.is-rotator{
    border-color:rgba(255,255,255,.25);
    box-shadow:0 2px 6px rgba(0,0,0,.12),0 30px 46px -20px rgba(0,0,0,.34)
}

/* Maximize button on rotator images */
.mod-media-zoom{
    position:absolute;top:18px;right:18px;
    width:40px;height:40px;border-radius:50%;
    background:rgba(0,0,0,.55);color:white;
    border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;z-index:5;
    opacity:.65;
    transition:opacity .25s ease,background .2s ease,transform .2s ease;
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.mod-media.is-rotator:hover .mod-media-zoom{opacity:1}
.mod-media-zoom:hover{background:var(--naranja);transform:scale(1.1)}
.mod-media-zoom:focus-visible{outline:2px solid var(--naranja);outline-offset:2px;opacity:1}

/* Lightbox */
.img-lightbox{
    position:fixed;inset:0;
    background:rgba(10,10,15,.94);
    z-index:9999;
    display:flex;align-items:center;justify-content:center;
    padding:60px 80px;
    opacity:0;pointer-events:none;
    transition:opacity .3s ease;
}
.img-lightbox.is-open{opacity:1;pointer-events:auto}
.img-lightbox-stage{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:14px;width:100%;height:100%;min-width:0;min-height:0;
}
.img-lightbox img{
    flex:0 1 auto;
    max-width:100%;max-height:100%;min-height:0;
    object-fit:contain;
    border-radius:14px;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    transition:opacity .3s ease;
}
.img-lightbox-caption{
    flex:0 0 auto;
    color:rgba(255,255,255,.92);
    font-size:1rem;font-weight:600;
    text-align:center;letter-spacing:.02em;
    max-width:90vw;padding:0 16px;
    text-shadow:0 2px 8px rgba(0,0,0,.5);
    line-height:1.4;
}
.img-lightbox-caption:empty{display:none}
.img-lightbox-close,
.img-lightbox-nav{
    position:absolute;
    width:48px;height:48px;border-radius:50%;
    background:rgba(255,255,255,.1);
    color:white;border:1px solid rgba(255,255,255,.18);cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;
    transition:background .2s ease,transform .2s ease;
}
.img-lightbox-close{top:24px;right:24px}
.img-lightbox-close:hover,
.img-lightbox-nav:hover{background:var(--naranja);border-color:var(--naranja);transform:scale(1.06)}
.img-lightbox-nav{top:50%;transform:translateY(-50%)}
.img-lightbox-nav:hover{transform:translateY(-50%) scale(1.06)}
.img-lightbox-prev{left:24px}
.img-lightbox-next{right:24px}
.img-lightbox-counter{
    position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
    color:rgba(255,255,255,.7);font-size:.85rem;font-weight:600;
    letter-spacing:.04em;
}
@media (max-width:640px){
    .img-lightbox{padding:24px}
    .img-lightbox-close{top:14px;right:14px;width:42px;height:42px}
    .img-lightbox-nav{width:42px;height:42px}
    .img-lightbox-prev{left:10px}
    .img-lightbox-next{right:10px}
}
/* En modo fullscreen real (Fullscreen API), aprovechar todo el espacio */
.img-lightbox:fullscreen,
.img-lightbox:-webkit-full-screen{
    padding:0;background:#000;
}
.img-lightbox:fullscreen .img-lightbox-stage,
.img-lightbox:-webkit-full-screen .img-lightbox-stage{
    width:100vw;height:100vh;padding:24px 24px 16px;box-sizing:border-box;
}
.img-lightbox:fullscreen img,
.img-lightbox:-webkit-full-screen img{
    max-width:100%;max-height:100%;
    object-fit:contain;
    border-radius:0;box-shadow:none;
}

/* En landscape (móvil rotado), la imagen llena toda la pantalla */
@media (orientation:landscape) and (max-height:600px){
    .img-lightbox{padding:0;background:#000}
    .img-lightbox-stage{padding:6px 6px 4px;gap:6px}
    .img-lightbox img{
        max-width:100%;max-height:100%;
        object-fit:contain;
        border-radius:0;box-shadow:none;
    }
    .img-lightbox-caption{font-size:.8rem;padding:0 8px}
    .img-lightbox-close{top:10px;right:10px;width:38px;height:38px;font-size:1rem;background:rgba(0,0,0,.55)}
    .img-lightbox-nav{width:38px;height:38px;font-size:1rem;background:rgba(0,0,0,.55)}
    .img-lightbox-prev{left:8px}
    .img-lightbox-next{right:8px}
    .img-lightbox-counter{bottom:8px;font-size:.75rem;background:rgba(0,0,0,.45);padding:3px 10px;border-radius:10px}
}

/* Decorative shapes inside modules */
.mod-shape{position:absolute;border-radius:50%;pointer-events:none;z-index:1}
.mod.bg-orange .mod-shape{background:rgba(255,255,255,.05)}
.mod.bg-white .mod-shape,.mod.bg-cream .mod-shape,.mod.bg-warm .mod-shape{background:rgba(249,115,22,.04)}

/* ===== CAROUSEL ===== */
.testimonials{padding:90px 0;background:var(--g50)}
.carousel-wrap{position:relative;overflow:hidden}
.carousel-viewport{overflow:hidden}
.carousel-track,.car-track{display:flex;gap:20px;transition:transform .5s ease}
.tcard{min-width:340px;flex-shrink:0;padding:28px;border-radius:16px;background:white;border:1px solid var(--g200);transition:all .3s}
.tcard:hover{border-color:var(--naranja-light);box-shadow:0 8px 30px rgba(0,0,0,.06)}
.tc-stars{display:flex;gap:3px;color:var(--amarillo);font-size:.85rem;margin-bottom:12px}
.tcard p{font-size:.93rem;color:var(--g600);line-height:1.7;font-style:italic;margin-bottom:16px}
.tc-author{display:flex;align-items:center;gap:12px}
.tc-av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--naranja),var(--azul));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:white;flex-shrink:0}
.tc-av i{font-size:1.4rem;line-height:1}
.tc-author strong{font-size:.9rem;color:var(--g800)}
.tc-author small{color:var(--g500)}

.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:42px;height:42px;border-radius:50%;border:2px solid var(--g200);background:white;color:var(--g600);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:all .2s}
.car-btn:hover{border-color:var(--naranja);color:var(--naranja)}
.car-prev{left:-6px}.car-next{right:-6px}
.car-dots{display:flex;justify-content:center;gap:8px;margin-top:24px}
.car-dot{width:10px;height:10px;border-radius:50%;background:var(--g300);border:none;cursor:pointer;transition:all .2s;padding:0}
.car-dot.active{background:var(--naranja);width:28px;border-radius:5px}

/* ===== EXTRAS ===== */
.extras{padding:90px 0;background:var(--white)}
.extras-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ext{padding:24px 20px;border-radius:14px;background:var(--g50);border:1px solid var(--g200);text-align:center;transition:all .3s}
.ext:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.06);border-color:var(--naranja-light)}
.ext i{font-size:1.8rem;color:var(--naranja);margin-bottom:10px;display:block}
.ext h4{font-size:.92rem;font-weight:800;margin-bottom:6px;color:var(--g900)}
.ext p{font-size:.82rem;color:var(--g500);line-height:1.5}

/* ===== PRICING ===== */
.pricing{padding:90px 0;background:var(--g50)}
/* Toggle Mensual / Anual */
.pricing-toggle{
    display:flex;align-items:center;gap:4px;
    width:fit-content;
    margin:0 auto 36px;padding:5px;
    background:var(--g100);border:1px solid var(--g200);
    border-radius:999px;
}
.pricing-toggle .pt-btn{
    appearance:none;border:none;background:transparent;cursor:pointer;
    padding:9px 22px;border-radius:999px;
    font-size:.88rem;font-weight:700;color:var(--g600);
    display:inline-flex;align-items:center;gap:8px;
    transition:background .25s ease,color .25s ease,box-shadow .25s ease;
    white-space:nowrap;
}
.pricing-toggle .pt-btn:hover{color:var(--g900)}
.pricing-toggle .pt-btn.is-active{
    background:white;color:var(--g900);
    box-shadow:0 2px 6px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
}
.pricing-toggle .pt-badge{
    font-size:.7rem;font-weight:800;
    padding:3px 9px;border-radius:999px;
    background:var(--naranja-50,rgba(249,115,22,.12));color:var(--naranja);
    letter-spacing:.02em;
}
/* Tabs de planes (solo visibles en mobile) */
.pricing-tabs{display:none}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.pcard{padding:28px 22px;border-radius:20px;background:white;border:2px solid var(--g200);position:relative;transition:all .3s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(0,0,0,.07)}
.pcard.featured{border-color:var(--naranja);box-shadow:0 0 0 1px var(--naranja),0 20px 50px rgba(249,115,22,.12)}
.pcard-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:5px 16px;border-radius:50px;background:var(--naranja);color:white;font-size:.74rem;font-weight:700;white-space:nowrap}
.pcard h3{font-size:1.25rem;font-weight:900;color:var(--g900)}
.pcard-sub{font-size:.8rem;color:var(--g500);margin-top:2px}
.pcard-price{margin:16px 0;display:flex;align-items:baseline;gap:2px}
.pp-cur{font-size:1.1rem;color:var(--g500);font-weight:600}
.pp-val{font-size:2.6rem;font-weight:900;color:var(--g900);line-height:1}
.pp-val.custom{font-size:1.65rem;color:var(--naranja)}
.pp-per{font-size:.85rem;color:var(--g400)}
.pcard ul{list-style:none;margin:16px 0 22px;display:flex;flex-direction:column;gap:9px}
.pcard li{display:flex;align-items:center;gap:9px;font-size:.84rem;color:var(--g600);line-height:1.4}
.pcard li.y i{color:var(--verde)}.pcard li.n i{color:var(--g300)}.pcard li.n{color:var(--g400)}

/* ===== STORE ===== */
.store{padding:90px 0;background:var(--white)}
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}
.scard{background:white;border-radius:16px;padding:20px;border:2px solid var(--g200);transition:all .3s;position:relative}
.scard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.07);border-color:var(--naranja-light)}
.scard-img{width:100%;height:150px;border-radius:12px;background:var(--g100);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--g400);margin-bottom:14px;overflow:hidden}
.scard-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;display:block}
.scard-badge{position:absolute;top:14px;right:14px;padding:3px 10px;border-radius:6px;background:var(--naranja);color:white;font-size:.68rem;font-weight:700}
.scard h4{font-size:1rem;font-weight:800;margin-bottom:6px;color:var(--g900)}
.scard p{font-size:.82rem;color:var(--g500);line-height:1.4;margin-bottom:12px}
.scard-price{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.sp-now{font-size:1.4rem;font-weight:900;color:var(--naranja)}
.sp-was{font-size:.85rem;color:var(--g400);text-decoration:line-through}
.store-cta{text-align:center;padding-top:16px}
.store-cta p{color:var(--g500);margin-bottom:14px}

/* ===== FAQ ===== */
.faq{padding:90px 0;background:var(--g50)}
.faq-list{max-width:720px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--g200)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 0;background:none;border:none;font-size:1rem;font-weight:700;cursor:pointer;text-align:left;font-family:inherit;color:var(--g800);transition:color .2s}
.faq-q:hover{color:var(--naranja)}
.faq-q i{color:var(--g400);transition:transform .3s;flex-shrink:0}
.faq-item.active .faq-q i{transform:rotate(45deg);color:var(--naranja)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.active .faq-a{max-height:200px;padding-bottom:16px}
.faq-a p{font-size:.93rem;color:var(--g500);line-height:1.7}

/* ===== CONTACT ===== */
.contact{padding:90px 0;background:linear-gradient(135deg,var(--naranja) 0%,var(--naranja-dark) 100%);color:white}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contact-info h2{font-size:2rem;font-weight:900;margin-bottom:14px}
.contact-info p{opacity:.9;font-size:1.02rem;line-height:1.7;margin-bottom:22px}
.contact-perks{margin-bottom:22px}
.contact-perks div{display:flex;align-items:center;gap:10px;padding:5px 0;font-weight:600;font-size:.93rem}
.contact-perks i{opacity:.8}
.contact-form{background:white;border-radius:20px;padding:34px;color:var(--g800);box-shadow:0 20px 60px rgba(0,0,0,.2)}
.contact-form h3{font-size:1.2rem;font-weight:800;margin-bottom:18px;color:var(--g900)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:11px 14px;border-radius:10px;border:2px solid var(--g200);font-size:.93rem;font-family:inherit;outline:none;transition:border-color .2s;margin-bottom:10px;background:white;color:var(--g800)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--naranja)}
.contact-form select{appearance:none;cursor:pointer}
.contact-form textarea{resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--g400)}

/* ===== FOOTER ===== */
.footer{padding:56px 0 20px;background:var(--g900);color:rgba(255,255,255,.85)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-logo{margin-bottom:14px}
.footer-logo img{height:54px;width:auto;display:block;filter:brightness(0) invert(1)}
.footer-brand p{font-size:.88rem;line-height:1.6;margin-bottom:16px;color:rgba(255,255,255,.85)}
.footer-social{display:flex;gap:10px}
.footer-social a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:white;text-decoration:none;transition:all .2s}
.footer-social a:hover{background:var(--naranja);border-color:var(--naranja);color:white}
.footer-col h4{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px;color:white}
.footer-col a{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.8);text-decoration:none;font-size:.88rem;padding:3px 0;transition:color .2s}
.footer-col a:hover{color:white}
.footer-bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.18);text-align:center}
.footer-bottom p{font-size:.82rem;color:rgba(255,255,255,.7)}

/* ===== WHATSAPP FLOAT ===== */
.wsp-float{position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:50%;background:#25d366;color:white;display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:999;transition:all .3s;text-decoration:none}
.wsp-float:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(37,211,102,.5)}

/* ===== SCROLL FABs (up / down) ===== */
.scroll-fab{
    position:fixed;width:48px;height:48px;border-radius:50%;
    background:rgba(15,23,42,.78);color:white;border:1px solid rgba(255,255,255,.14);
    display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;cursor:pointer;
    box-shadow:0 6px 18px rgba(0,0,0,.25);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    z-index:998;
    opacity:0;visibility:hidden;transform:translateY(8px);
    transition:opacity .25s ease,transform .25s ease,background .2s ease,visibility .25s;
}
.scroll-fab.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-fab:hover{background:var(--naranja);transform:translateY(-2px)}
.scroll-fab-up{left:24px;bottom:24px}
.scroll-fab-down{right:24px;top:84px}
@media(max-width:768px){
    .scroll-fab{width:42px;height:42px;font-size:1rem}
    .scroll-fab-up{left:14px;bottom:90px}
    .scroll-fab-down{right:14px;top:72px}
}

/* ===== ANIMATIONS ===== */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.mod-inner.fade-in{transform:none;opacity:0;transition:opacity .7s ease}
.mod-inner.fade-in.visible{opacity:1}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .hero-grid{grid-template-columns:1fr;text-align:center}
    .slide p{margin:0 auto}
    .hero-actions,.slider-dots{justify-content:center}
    .hero-visual{margin-top:32px;min-height:420px}
    .pos-mockup{width:320px}
    .laptop-mockup{width:420px}
    .phone-mockup{width:140px;right:0;bottom:-20px}
    .float-card{display:none}
    .unique-grid,.extras-grid{grid-template-columns:repeat(2,1fr)}
    .unique-grid.bento{grid-template-columns:repeat(2,1fr)}
    .unique-grid.bento .uq-card.uq-hero{grid-column:span 2;grid-row:span 1;min-height:220px}
    .unique-grid.bento .uq-card.uq-hero h4{font-size:1.4rem}
    .unique-grid.bento .uq-card.uq-wide{grid-column:span 2}
    .mod-grid,.mod.reverse .mod-grid{grid-template-columns:1fr;direction:ltr}
    .pricing-grid{grid-template-columns:repeat(2,1fr);max-width:720px;margin:0 auto;gap:18px}
    .pcard.featured{transform:none}.pcard.featured:hover{transform:translateY(-4px)}
    .eng-grid{grid-template-columns:1fr;text-align:center}
    .eng-checks{align-items:center}
    .peru-map{max-width:520px;width:100%;margin:24px auto 0}
    .store-grid{grid-template-columns:repeat(2,1fr)}
    .contact-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
    .navbar-links{display:none}
    .navbar-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(249,115,22,.98);backdrop-filter:blur(16px);padding:20px;gap:14px;border-bottom:2px solid rgba(255,255,255,.1)}
    .navbar-toggle{display:block}
    .navbar .btn-white.btn-sm{display:none}
    .hero{padding:110px 0 60px}
    .hero-visual{min-height:360px}
    .pos-mockup{width:88%;max-width:300px}
    .laptop-mockup{width:88%}
    .phone-mockup{width:120px;right:-4px;bottom:-16px}
    .unique-grid{grid-template-columns:1fr}
    /* Detalles que hacen la diferencia → checklist en mobile */
    .extras-grid{
        display:flex;flex-direction:column;gap:0;
        max-width:480px;margin:0 auto;
    }
    .extras .ext{
        background:transparent;border:none;
        border-bottom:1px solid var(--g100);border-radius:0;
        text-align:left;padding:14px 4px 14px 38px;
        position:relative;
        transition:none;
    }
    .extras .ext:last-child{border-bottom:none}
    .extras .ext:hover{transform:none;box-shadow:none;border-color:var(--g100)}
    .extras .ext > i{display:none}
    .extras .ext::before{
        content:"";position:absolute;left:0;top:15px;
        width:24px;height:24px;border-radius:50%;background:var(--verde);
    }
    .extras .ext::after{
        content:"";position:absolute;left:7px;top:21px;
        width:10px;height:5px;
        border-left:2.2px solid white;border-bottom:2.2px solid white;
        transform:rotate(-45deg);
    }
    .extras .ext h4{font-size:.95rem;margin:0 0 3px;color:var(--g900)}
    .extras .ext p{font-size:.82rem;color:var(--g500);margin:0;line-height:1.45}
    .unique-grid.bento{display:flex;flex-direction:column;gap:14px;max-width:380px;margin:0 auto}
    .unique-grid.bento .uq-card.uq-hero{position:relative;opacity:1;pointer-events:auto;padding:24px;min-height:auto;transform:none;width:100%}
    .unique-grid.bento .uq-card.uq-hero h4{font-size:1.25rem}
    .uq-rotator{display:block;position:relative;width:100%;min-height:220px}
    .uq-rotator .uq-card{position:absolute;top:0;left:0;right:0;opacity:0;transition:opacity 1s ease;pointer-events:none;margin:0;transform:none;min-height:200px;width:100%}
    .uq-rotator .uq-card.is-active{opacity:1;pointer-events:auto}
    .uq-rotator .uq-card.uq-wide{grid-column:auto;flex-direction:column;align-items:flex-start}
    .uq-rotator .uq-card.uq-wide .uq-icon{margin:0 0 14px 0}
    .unique-dots{display:flex;justify-content:center;gap:6px;margin-top:18px}
    .unique-dots .udot{width:6px;height:6px;border-radius:50%;background:var(--g300);transition:all .3s;border:none;padding:0;cursor:pointer}
    .unique-dots .udot.active{background:var(--naranja);width:18px;border-radius:3px}
    .sunat-badge{font-size:.7rem;padding:5px 10px}
    .sunat-badge.xml{left:6px;top:6px}
    .sunat-badge.cdr{right:6px;top:6px}
    .sunat-badge.sunat{left:6px;bottom:6px}
    .sunat-badge.sire{right:6px;bottom:6px}
    .map-stat{display:none}
    .peru-map{max-width:none;width:100%}
    .store-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto 40px}
    .pricing-grid{grid-template-columns:1fr;max-width:400px}
    /* Tabs de planes en mobile */
    .pricing-tabs{
        display:flex;gap:6px;
        max-width:400px;margin:0 auto 20px;
        padding:5px;background:var(--g100);
        border:1px solid var(--g200);border-radius:14px;
    }
    .pricing-tabs .ptab{
        flex:1;
        appearance:none;border:none;background:transparent;
        padding:10px 8px;border-radius:10px;
        font-size:.82rem;font-weight:700;color:var(--g600);
        cursor:pointer;white-space:nowrap;
        transition:all .25s ease;
    }
    .pricing-tabs .ptab.is-active{
        background:var(--naranja);color:white;
        box-shadow:0 4px 10px rgba(249,115,22,.28);
    }
    .pricing-grid .pcard{display:none}
    .pricing-grid .pcard.is-active{display:block}
    .f-row{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr;gap:28px}
    .car-btn{display:none}
    .carousel-wrap{padding:0}
    .carousel-track{gap:0}
    .tcard{min-width:100%;width:100%;flex:0 0 100%;padding:22px}
    .tcard p{font-size:.95rem}
    .car-dots{display:flex;justify-content:center;gap:6px;margin-top:18px}
    .cta-banner h3{font-size:1.2rem}
    .reels-btn{display:none}

    /* Single-TikTok-per-view + arrows on mobile */
    .reels-marquee .reels-track,
    .reels-marquee:hover .reels-track,
    .reels-marquee.reels-paused .reels-track,
    .reels-marquee.reels-scrolling .reels-track{animation:none}
    .reels{padding:60px 0}
    .reels-carousel{position:relative;padding:0}
    .reels-viewport{
        overflow-x:auto;overflow-y:visible;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        padding:12px 6vw;
    }
    .reels-viewport::-webkit-scrollbar{display:none}
    .reels-track{width:max-content;display:flex}
    .reel-card{
        width:88vw;max-width:380px;
        flex:0 0 auto;
        margin-right:14px;
        scroll-snap-align:center;
    }
    .reel-card[aria-hidden="true"]{display:none}
    .reel-info p{font-size:.9rem;-webkit-line-clamp:3}
    .reel-author{font-size:.8rem}
    .reels-mobile-btn{
        display:flex;position:absolute;top:50%;transform:translateY(-50%);
        z-index:10;width:44px;height:44px;border-radius:50%;
        background:rgba(0,0,0,.55);color:white;
        border:1px solid rgba(255,255,255,.2);
        align-items:center;justify-content:center;cursor:pointer;
        font-size:1.15rem;
        -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
        box-shadow:0 4px 14px rgba(0,0,0,.4);
    }
    .reels-mobile-prev{left:6px}
    .reels-mobile-next{right:6px}
    .reels-mobile-btn:active{background:var(--naranja);transform:translateY(-50%) scale(.95)}
}
