:root{
    --navy:#0f2547;
    --navy-2:#16315e;
    --navy-3:#0a1a33;
    --gold:#c8a24a;
    --gold-2:#d9b75e;
    --gold-soft:rgba(200,162,74,.12);
    --bg:#ffffff;
    --gris:#f5f7fa;
    --gris-borde:#e4e9f0;
    --texto:#1d2733;
    --texto-sec:#5e6b7a;
    --radio:14px;
    --sombra:0 12px 34px rgba(15,37,71,.08);
    --sombra-h:0 22px 50px rgba(15,37,71,.16);
    --trans:.32s ease;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--texto);background:var(--bg);line-height:1.65}
h1,h2,h3,h4,.logo{font-family:'Plus Jakarta Sans',sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul{list-style:none}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:9px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:var(--trans);font-family:inherit;line-height:1}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-3);box-shadow:0 10px 24px rgba(200,162,74,.32)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(200,162,74,.45)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-whatsapp{background:#25d366;color:#fff;box-shadow:0 8px 20px rgba(37,211,102,.3)}
.btn-whatsapp:hover{background:#1fba59;transform:translateY(-2px)}
.btn-block{width:100%;justify-content:center}
.pulse{animation:btnPulse 2.2s infinite}
.pulse:hover{animation-play-state:paused}
@keyframes btnPulse{0%{box-shadow:0 0 0 0 rgba(200,162,74,.55)}70%{box-shadow:0 0 0 14px rgba(200,162,74,0)}100%{box-shadow:0 0 0 0 rgba(200,162,74,0)}}

/* Topbar */
.topbar{background:var(--navy-3);color:#aebed4;font-size:.82rem}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;height:42px}
.topbar-left,.topbar-right{display:flex;gap:22px}
.topbar i{color:var(--gold);margin-right:6px}

/* Header */
.header{position:sticky;top:0;z-index:100;background:var(--navy);transition:var(--trans)}
.header.scrolled{box-shadow:0 6px 24px rgba(0,0,0,.22)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100px}
.logo-img{height:82px;width:auto}
.nav{display:flex;align-items:center;gap:6px}
.nav a{padding:10px 15px;font-weight:500;font-size:.93rem;color:#dbe4f0;border-radius:7px;transition:var(--trans)}
.nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav .nav-cta{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy-3);font-weight:700;margin-left:8px}
.nav .nav-cta:hover{background:var(--gold-2);color:var(--navy-3)}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.menu-toggle span{width:26px;height:3px;background:#fff;border-radius:3px;transition:var(--trans)}

/* Hero */
.hero{position:relative;color:#fff;background:var(--navy-3);overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(10,26,51,.85),rgba(15,37,71,.9)),radial-gradient(circle at 78% 25%,rgba(200,162,74,.18),transparent 42%)}
.hero-inner{position:relative;z-index:2;max-width:820px;padding:96px 24px 104px}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:var(--gold-soft);border:1px solid rgba(200,162,74,.4);color:var(--gold-2);padding:8px 18px;border-radius:30px;font-size:.84rem;font-weight:600;margin-bottom:24px}
.hero h1{font-size:3.2rem;font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:20px}
.hero h1 span{color:var(--gold-2)}
.hero>.hero-inner>p{font-size:1.14rem;color:#cdd8e8;max-width:620px;margin-bottom:32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:50px}
.hero-stats{display:flex;gap:46px;flex-wrap:wrap}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats strong{font-size:2.1rem;font-weight:800;color:#fff;font-family:'Plus Jakarta Sans',sans-serif}
.hero-stats span{font-size:.85rem;color:#aebed4}

/* Strip confianza */
.strip{background:var(--navy-2);padding:0}
.strip-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.strip-item{display:flex;align-items:center;gap:16px;padding:26px 24px;color:#fff;border-right:1px solid rgba(255,255,255,.08)}
.strip-item:last-child{border-right:none}
.strip-item i{font-size:1.8rem;color:var(--gold);flex-shrink:0}
.strip-item strong{display:block;font-size:1rem}
.strip-item span{font-size:.84rem;color:#aebed4}

/* Secciones */
.seccion{padding:88px 0}
.seccion-gris{background:var(--gris)}
.seccion-azul{background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff}
.seccion-head{text-align:center;max-width:680px;margin:0 auto 54px}
.eyebrow{display:inline-block;color:var(--gold);font-weight:700;font-size:.8rem;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px}
.eyebrow-gold{color:var(--gold-2)}
.seccion-head h2{font-size:2.35rem;font-weight:800;color:var(--navy);letter-spacing:-.5px;margin-bottom:14px}
.seccion-azul .seccion-head h2{color:#fff}
.seccion-head p{color:var(--texto-sec);font-size:1.06rem}
.seccion-azul .seccion-head p{color:#cdd8e8}

/* Servicios - carrusel automático */
.servicios-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.servicios-track{display:flex;gap:26px;width:max-content;animation:scrollServicios 30s linear infinite}
.servicios-marquee:hover .servicios-track{animation-play-state:paused}
@keyframes scrollServicios{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 13px))}}
.servicio{width:330px;flex-shrink:0;background:#fff;border:1px solid var(--gris-borde);border-radius:var(--radio);padding:36px 30px;transition:var(--trans);position:relative;overflow:hidden}
.servicio::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transform:scaleX(0);transform-origin:left;transition:var(--trans)}
.servicio:hover{transform:translateY(-8px);box-shadow:var(--sombra-h);border-color:transparent}
.servicio:hover::before{transform:scaleX(1)}
.servicio-icon{width:66px;height:66px;border-radius:16px;background:var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin-bottom:22px;transition:var(--trans)}
.servicio:hover .servicio-icon{background:var(--navy);color:var(--gold-2)}
.servicio h3{font-size:1.24rem;color:var(--navy);margin-bottom:11px}
.servicio p{color:var(--texto-sec);font-size:.94rem}

/* Proceso */
.proceso-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.paso{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radio);padding:32px 24px;position:relative;transition:var(--trans)}
.paso:hover{background:rgba(255,255,255,.09);transform:translateY(-6px)}
.paso-num{position:absolute;top:20px;right:22px;font-size:2.4rem;font-weight:800;color:rgba(200,162,74,.25);font-family:'Plus Jakarta Sans',sans-serif}
.paso i{font-size:1.9rem;color:var(--gold);margin-bottom:18px}
.paso h3{font-size:1.18rem;margin-bottom:10px;color:#fff}
.paso p{color:#bccadd;font-size:.9rem}

/* Nosotros */
.nosotros-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center}
.nosotros-img{position:relative}
.nosotros-img img{border-radius:18px;box-shadow:var(--sombra-h);width:100%;object-fit:cover}
.nosotros-exp{position:absolute;bottom:-22px;right:-10px;background:var(--gold);color:var(--navy-3);padding:18px 26px;border-radius:14px;box-shadow:var(--sombra-h);text-align:center}
.nosotros-exp strong{display:block;font-size:1.7rem;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;line-height:1}
.nosotros-exp span{font-size:.78rem;font-weight:600}
.nosotros-text h2{font-size:2.1rem;color:var(--navy);margin-bottom:16px;letter-spacing:-.5px}
.nosotros-text>p{color:var(--texto-sec);margin-bottom:24px}
.check-list{margin-bottom:30px}
.check-list li{display:flex;align-items:center;gap:12px;padding:9px 0;font-weight:500}
.check-list i{color:var(--gold);font-size:1.05rem}

/* Stats */
.stats{background:var(--navy-3);padding:60px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.stat{text-align:center;color:#fff}
.stat i{font-size:1.9rem;color:var(--gold);margin-bottom:12px}
.stat strong{display:block;font-size:2.6rem;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif;line-height:1}
.stat span{font-size:.88rem;color:#aebed4}

/* Galería */
.galeria-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.galeria-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;margin:0;height:230px;box-shadow:var(--sombra)}
.galeria-item img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.galeria-item:hover img{transform:scale(1.08)}
.galeria-item::after{content:'\f00e';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,37,71,.55);color:#fff;font-size:1.5rem;opacity:0;transition:var(--trans)}
.galeria-item:hover::after{opacity:1}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(10,18,30,.94);z-index:300;display:none;align-items:center;justify-content:center}
.lightbox.abierto{display:flex}
.lightbox img{max-width:88%;max-height:84vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox-close{position:absolute;top:24px;right:28px;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;opacity:.85;transition:var(--trans)}
.lightbox-close:hover{transform:rotate(90deg)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:1.2rem;cursor:pointer;transition:var(--trans)}
.lightbox-nav:hover{background:var(--gold);color:var(--navy-3)}
.lightbox-prev{left:24px}.lightbox-next{right:24px}

/* Cobertura */
.cobertura-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:900px;margin:0 auto}
.ciudad{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--gris-borde);border-bottom:3px solid var(--gold);border-radius:12px;padding:22px 22px;color:var(--navy);transition:var(--trans)}
.ciudad i{font-size:1.3rem;flex-shrink:0}
.ciudad-text strong{display:block;font-weight:700;font-size:1.08rem;line-height:1.2}
.ciudad-text small{font-size:.76rem;color:var(--texto-sec);font-weight:500}
.ciudad:hover .ciudad-text small{color:#aebed4}
.cobertura-seo{max-width:860px;margin:32px auto 0;text-align:center;color:var(--texto-sec);font-size:.96rem;line-height:1.7}
.cobertura-seo strong{color:var(--navy)}
.ciudad:hover{background:linear-gradient(135deg,var(--navy),var(--navy-2));border-color:var(--navy);border-bottom-color:var(--gold);color:#fff;transform:translateY(-6px);box-shadow:var(--sombra-h)}
.ciudad i{color:var(--gold);transition:var(--trans)}
.ciudad:hover i{color:var(--gold-2);animation:pinBounce .7s ease}
@keyframes pinBounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}70%{transform:translateY(-2px)}}

/* Equipo */
.equipo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:760px;margin:0 auto}
.ejecutivo{background:#fff;border:1px solid var(--gris-borde);border-radius:var(--radio);padding:34px;text-align:center;transition:var(--trans)}
.ejecutivo:hover{transform:translateY(-6px);box-shadow:var(--sombra-h)}
.ejecutivo-avatar{width:80px;height:80px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px}
.ejecutivo h3{font-size:1.25rem;color:var(--navy);margin-bottom:5px}
.ejecutivo-cargo{display:block;color:var(--texto-sec);font-size:.9rem;margin-bottom:18px}
.ejecutivo-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;padding:11px 22px;border-radius:8px;font-weight:600;font-size:.92rem;transition:var(--trans)}
.ejecutivo-wa:hover{background:#1fba59;transform:translateY(-2px)}

/* Contacto */
.contacto-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.contacto-info h2{font-size:2.2rem;margin-bottom:14px;letter-spacing:-.5px}
.contacto-info>p{color:#cdd8e8;margin-bottom:28px}
.contacto-datos li{display:flex;align-items:center;gap:14px;padding:11px 0;font-size:1rem}
.contacto-datos span{width:44px;height:44px;border-radius:11px;background:rgba(200,162,74,.16);display:flex;align-items:center;justify-content:center;color:var(--gold-2);font-size:1.05rem;flex-shrink:0}
.contacto-datos a:hover{color:var(--gold-2)}
.contacto-form{background:#fff;border-radius:18px;padding:36px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grupo{margin-bottom:16px}
.form-grupo label{display:block;font-size:.85rem;font-weight:600;color:var(--texto);margin-bottom:7px}
.form-grupo input,.form-grupo select,.form-grupo textarea{width:100%;padding:12px 14px;border:1.5px solid var(--gris-borde);border-radius:9px;font-size:.92rem;font-family:inherit;color:var(--texto);transition:var(--trans);background:#fff}
.form-grupo input:focus,.form-grupo select:focus,.form-grupo textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.form-separador{display:flex;align-items:center;text-align:center;color:#9aa3ad;font-size:.8rem;margin:14px 0}
.form-separador::before,.form-separador::after{content:'';flex:1;height:1px;background:var(--gris-borde)}
.form-separador span{padding:0 14px;text-transform:uppercase;letter-spacing:1px}
.form-nota{text-align:center;font-size:.88rem;margin-top:12px;font-weight:600}
.form-nota.ok{color:#16a34a}.form-nota.err{color:#dc2626}

/* Footer */
.footer{background:var(--navy-3);color:#9fb0c4;padding:64px 0 0}
.footer-inner{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:36px;padding-bottom:46px}
.footer-logo{height:64px;width:auto;margin-bottom:16px}
.footer-col>p{font-size:.9rem}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:16px}
.footer-col ul li{padding:6px 0;font-size:.9rem}
.footer-col ul li i{color:var(--gold);margin-right:8px;width:16px}
.footer-col ul li a:hover{color:#fff}
.footer-visitas{text-align:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.08);color:#aebed4;font-size:.9rem}
.footer-visitas i{color:var(--gold);margin-right:7px}
.footer-visitas strong{color:#fff;font-weight:700;font-size:1.05rem;font-family:'Plus Jakarta Sans',sans-serif}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0}
.footer-bottom .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.84rem}
.footer-bottom a{color:var(--gold-2);font-weight:600}

/* WhatsApp flotante */
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 8px 24px rgba(37,211,102,.45);z-index:200;transition:var(--trans);animation:waPulse 2.5s infinite}
.whatsapp-float:hover{transform:scale(1.1)}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* Animaciones scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* Responsive */
@media(max-width:980px){
    .hero h1{font-size:2.5rem}
    .servicios-grid{grid-template-columns:repeat(2,1fr)}
    .proceso-grid{grid-template-columns:repeat(2,1fr)}
    .nosotros-inner,.contacto-inner{grid-template-columns:1fr;gap:40px}
    .nosotros-img{max-width:520px;margin:0 auto}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:36px}
    .galeria-grid{grid-template-columns:repeat(3,1fr)}
    .strip-inner{grid-template-columns:1fr}
    .strip-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
    .footer-inner{grid-template-columns:1fr 1fr}
    .topbar-loc{display:none}
}
@media(max-width:680px){
    .topbar-right{display:none}
    .topbar-inner{justify-content:center}
    .nav{position:fixed;top:100px;right:0;left:0;background:var(--navy);flex-direction:column;align-items:stretch;padding:14px 24px;gap:4px;box-shadow:0 12px 24px rgba(0,0,0,.3);transform:translateY(-150%);transition:var(--trans)}
    .nav.abierto{transform:translateY(0)}
    .menu-toggle{display:flex}
    .hero h1{font-size:2rem}
    .hero-stats{gap:26px}
    .proceso-grid,.cobertura-grid,.equipo-grid,.footer-inner,.form-row{grid-template-columns:1fr}
    .servicio{width:280px;padding:30px 24px}
    .galeria-grid{grid-template-columns:repeat(2,1fr)}
    .stats-grid{grid-template-columns:1fr 1fr}
    .seccion{padding:60px 0}
    .seccion-head h2{font-size:1.8rem}
    .nosotros-exp{right:10px}
}
