*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#14222e;background:#fff;line-height:1.6}.wrap{width:min(1180px,92%);margin:auto}.topbar{background:#071a33;color:#aebac3;font-size:11px;letter-spacing:1.5px}.topbar .wrap{height:34px;display:flex;justify-content:space-between;align-items:center}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e9edf0}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:#0c2435;text-decoration:none;font-weight:800;letter-spacing:.8px}.brand>span{display:grid;place-items:center;width:42px;height:42px;background:#d79a17;color:#102535;font-weight:900}.brand b{font-weight:500}.brand small{display:block;font-size:7px;letter-spacing:2px;color:#7b8790;margin-top:1px}.nav nav{display:flex;align-items:center;gap:30px}.nav nav a{font-size:13px;font-weight:700;color:#243642;text-decoration:none}.navcta{background:#0b2f5b!important;color:#fff!important;padding:12px 18px;border-radius:3px}.hamb{display:none;background:none;border:0;font-size:25px}.hero{background:radial-gradient(circle at 80% 30%,#164d82 0,#0b2f5b 40%,#06182d 100%);color:#fff;min-height:720px;display:flex;align-items:center;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.tag,.kicker{font-size:11px;font-weight:800;letter-spacing:2.5px;color:#d51f2f}.hero h1{font-family:Manrope,Arial;font-size:clamp(42px,5.3vw,75px);line-height:1.02;margin:20px 0}.hero h1 em,h2 em{color:#e33443;font-style:normal}.hero-copy>p{max-width:670px;color:#c8d2d9;font-size:18px}.actions{display:flex;gap:25px;align-items:center;margin-top:34px}.btn{display:inline-block;border:0;text-decoration:none;padding:15px 23px;font-weight:800;cursor:pointer;border-radius:3px}.gold{background:#d51f2f;color:#122331}.textbtn{color:#fff;text-decoration:none;font-weight:700}.trust{display:flex;align-items:center;gap:9px;margin-top:55px;color:#9eacb5;font-size:11px}.trust strong{color:#fff;font-size:15px}.trust i{height:30px;border-left:1px solid #52626c;margin:0 14px}.hero-card{border:1px solid #46606f;background:rgba(255,255,255,.05);padding:35px;min-height:440px;display:flex;flex-direction:column;justify-content:center}.card-label{font-size:10px;letter-spacing:2px;color:#b8c6cd;text-align:center}.orbit{width:280px;height:280px;border:1px solid #516a78;border-radius:50%;margin:28px auto;position:relative;display:grid;place-items:center}.orbit:before{content:"";position:absolute;width:190px;height:190px;border:1px dashed #637985;border-radius:50%}.orbit b{width:95px;height:95px;border-radius:50%;background:#d51f2f;color:#122331;display:grid;place-items:center;text-align:center;font-size:27px;line-height:.8;z-index:2}.orbit b small{font-size:10px;letter-spacing:2px}.orbit span{position:absolute;font-size:9px;letter-spacing:1px;font-weight:800;color:#c7d1d6}.orbit span:nth-child(1){top:32px}.orbit span:nth-child(2){right:-4px}.orbit span:nth-child(3){bottom:28px}.orbit span:nth-child(4){left:-15px}.hero-card p{text-align:center;color:#aebbc2;font-size:13px}.numbers{background:#d51f2f}.number-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0}.number-grid div{padding:8px 25px;border-right:1px solid rgba(0,0,0,.18)}.number-grid div:last-child{border:0}.number-grid b{display:block;font-family:Manrope;font-size:25px}.number-grid span{font-size:11px;text-transform:uppercase;letter-spacing:1px}.section{padding:105px 0}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.section h2{font-family:Manrope;font-size:clamp(34px,4vw,52px);line-height:1.1;margin:15px 0 25px}.big{font-size:21px;font-weight:600}.split p:not(.big){color:#61707a}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:65px}.values article{padding:30px;border-top:3px solid #d51f2f;background:#f4f6f9}.values span{font-size:11px;color:#c51d2d;font-weight:800}.values h3{margin:20px 0 5px}.values p{font-size:13px;color:#67747c}.dark{background:#0a2a50;color:#fff}.dark .kicker{color:#d51f2f}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:50px;background:#3a5160}.service-grid article{padding:35px;background:#0a2a50;min-height:300px}.service-grid span{color:#d51f2f;font-weight:800;font-size:12px}.service-grid h3{font-size:21px;margin-top:60px}.service-grid p{color:#aebbc2;font-size:13px}.service-grid a{color:#fff;text-decoration:none;font-size:12px;font-weight:800}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end}.section-head p{max-width:400px;color:#687680}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px}.product-grid div{padding:28px;background:#f4f6f9;border:1px solid #e5eaed}.product-grid b{display:block;font-size:16px}.product-grid small{color:#78858d}.capability{background:#f4f6f9}.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.cap-main>p{font-size:19px;max-width:620px}.cap-main ul{list-style:none;padding:0;margin-top:30px}.cap-main li{padding:12px 0;border-bottom:1px solid #dce2e5;font-size:13px}.cap-main li:before{content:"✓";color:#c51d2d;font-weight:900;margin-right:12px}.cap-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cap-side div{background:#0b2f5b;color:#fff;min-height:150px;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.cap-side b{color:#d51f2f}.cap-side span{font-size:20px;font-weight:700}.quote{background:#0b2f5b;color:#fff;padding:75px 0}.quote-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.quote h2{font-family:Manrope;font-size:42px;line-height:1.1;margin:12px 0}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-info{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-info p{font-size:13px;color:#63717a}.contact form{background:#f4f6f9;padding:35px;display:grid;gap:17px}.contact label{font-size:11px;font-weight:800;letter-spacing:.5px}.contact input,.contact textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #d8e0e4;background:#fff;font:inherit}.contact form .btn{width:max-content}.contact #msg{font-size:12px;font-weight:700;color:#50704d}.footer{padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:#738089}.footer a{color:#243642;text-decoration:none;font-weight:700}.mini{transform:scale(.8);transform-origin:left center}.mini>span{width:34px;height:34px}.mini small{font-size:6px}@media(max-width:850px){.topbar span:last-child{display:none}.nav nav{display:none;position:absolute;top:116px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;box-shadow:0 10px 20px #0001}.nav nav.open{display:flex}.hamb{display:block}.hero{padding:80px 0;min-height:auto}.hero-grid,.split,.cap-grid,.contact-grid{grid-template-columns:1fr}.hero-card{display:none}.hero h1{font-size:48px}.number-grid{grid-template-columns:1fr 1fr}.number-grid div:nth-child(2){border:0}.values,.service-grid,.product-grid{grid-template-columns:1fr}.section-head,.quote-grid{display:block}.quote .btn{margin-top:25px}.contact-info{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}.mini{margin-bottom:-10px}}
.brand img{width:58px;height:48px;object-fit:contain;filter:contrast(1.1)}.product-grid article{background:#f4f6f9;border:1px solid #e5eaed;overflow:hidden}.product-grid article img{width:100%;height:190px;object-fit:cover;display:block}.product-grid article div{padding:22px 24px}.product-grid article b{display:block;font-size:16px}.product-grid article small{color:#78858d}.product-grid article:hover img{transform:scale(1.04);transition:.35s}.product-grid article img{transition:.35s}@media(max-width:850px){.brand img{width:50px;height:42px}.product-grid article img{height:210px}}

/* Logotipo corporativo */
.brand-logo{display:flex;width:230px;height:68px;align-items:center;overflow:hidden}
.brand-logo img{display:block;width:230px;height:auto;max-height:68px;object-fit:contain;object-position:left center}
@media(max-width:850px){.brand-logo{width:190px;height:58px}.brand-logo img{width:190px;max-height:58px}}

/* Paleta corporativa: azul + rojo */
:root{
  --azul-oscuro:#071a33;
  --azul:#0b2f5b;
  --azul-claro:#164d82;
  --rojo:#d51f2f;
  --rojo-claro:#e33443;
}
.logo-accent{color:var(--rojo)}

/* ===== ANIMACIONES PROFESIONALES ===== */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(213,31,47,.35)}
  50%{box-shadow:0 0 0 12px rgba(213,31,47,0)}
}
@keyframes shine{
  0%{transform:translateX(-120%)}
  100%{transform:translateX(120%)}
}
@keyframes rotateSlow{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

/* Entrada de la portada */
.hero-copy .tag{animation:fadeUp .7s ease both}
.hero-copy h1{animation:fadeUp .8s .12s ease both}
.hero-copy>p{animation:fadeUp .8s .24s ease both}
.hero-copy .actions{animation:fadeUp .8s .36s ease both}
.hero-copy .trust{animation:fadeUp .8s .48s ease both}
.hero-card{animation:fadeIn 1s .25s ease both}
.orbit{animation:float 4s ease-in-out infinite}
.orbit:before{animation:rotateSlow 18s linear infinite}

/* Revelado al hacer scroll */
.reveal{
  opacity:0;
  transform:translateY(35px);
  transition:opacity .75s ease,transform .75s ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

/* Tarjetas */
.values article,.service-grid article,.product-grid div,.cap-side div{
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.values article:hover,.product-grid div:hover{
  transform:translateY(-8px);
  box-shadow:0 16px 35px rgba(7,26,51,.12);
}
.service-grid article:hover{
  transform:translateY(-6px);
  background:#103b70;
}
.cap-side div:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 30px rgba(7,26,51,.18);
}

/* Botones */
.btn{
  position:relative;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 22px rgba(7,26,51,.22);
}
.btn.gold:after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:45%;
  height:100%;
  background:rgba(255,255,255,.25);
  transform:translateX(-140%) skewX(-20deg);
}
.btn.gold:hover:after{
  animation:shine .7s ease;
}

/* Botón de cotización destacado */
.navcta{
  animation:pulse 2.8s infinite;
}

/* Logo */
.brand-logo img{
  transition:transform .35s ease,filter .35s ease;
}
.brand-logo:hover img{
  transform:scale(1.04);
}

/* Formulario */
.contact input,.contact textarea{
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.contact input:focus,.contact textarea:focus{
  outline:none;
  border-color:#d51f2f;
  box-shadow:0 0 0 3px rgba(213,31,47,.10);
  transform:translateY(-1px);
}

/* Movimiento suave de la franja de estadísticas */
.numbers{
  position:relative;
  overflow:hidden;
}
.numbers:after{
  content:"";
  position:absolute;
  width:120px;
  height:100%;
  top:0;
  left:-150px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  animation:shine 5s linear infinite;
}

/* Respeto a accesibilidad */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

/* Catálogo visual */
.product-grid div{padding:0 0 24px;overflow:hidden;border-radius:6px;background:#fff}
.product-grid div img{display:block;width:100%;height:190px;object-fit:cover;margin-bottom:20px}
.product-grid div b,.product-grid div small{display:block;margin-left:24px;margin-right:24px}
.product-grid div b{margin-bottom:4px}
.product-grid div:hover img{transform:scale(1.035)}
.product-grid div img{transition:transform .45s ease}

/* Paleta ejecutiva: azul marino, azul acero y rojo sobrio */
:root{--navy:#071b2e;--blue:#123f68;--steel:#3f617b;--red:#b51f2a;--red2:#d12b37;--light:#f3f5f7}
body{color:#172635}
.topbar,.dark,.service-grid article,.cap-side div{background-color:var(--navy)}
.hero{background:radial-gradient(circle at 80% 25%,#234f72 0,#123654 38%,#071b2e 100%)}
.navcta{background:var(--blue)!important}
.btn.gold{background:var(--red);color:#fff}
.hero h1 em,h2 em,.kicker,.orbit span,.card-label{color:var(--red2)}
.numbers{background:var(--blue);color:#fff}
.product-grid div:hover{border-color:#d5dce2;box-shadow:0 18px 35px rgba(7,27,46,.14)}

/* ===== PALETA EJECUTIVA FINAL: AZUL MARINO + AZUL ACERO + ORO SOBRIO ===== */
:root{
  --navy:#081a2b;
  --navy2:#0e2942;
  --blue:#1f4b70;
  --steel:#5e7180;
  --gold:#b08a45;
  --gold-light:#c9a969;
  --light:#f3f5f7;
}
body{color:#182936}
.topbar,.dark,.service-grid article,.cap-side div{background-color:var(--navy)!important}
.hero{background:radial-gradient(circle at 80% 25%,#294f6e 0,#163a58 38%,#081a2b 100%)!important}
.navcta{background:var(--blue)!important}
.btn.gold{background:var(--gold)!important;color:#fff!important}
.hero h1 em,h2 em,.kicker,.orbit span,.card-label{color:var(--gold-light)!important}
.numbers{background:var(--blue)!important;color:#fff}
.product-grid div:hover{border-color:#cbd5dc;box-shadow:0 18px 35px rgba(8,26,43,.14)}
.service-grid article:hover{background:#153a59}
.cap-main li:before{color:var(--gold)}
.numbers:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}
.navcta{animation:none}
.product-grid div img{background:#eef2f5}
.gallery{background:#fff}
.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-top:45px}
.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#eef2f5;min-height:230px}
.gallery-grid figure.wide{grid-row:span 2}
.gallery-grid img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block;transition:transform .6s ease}
.gallery-grid figure:hover img{transform:scale(1.04)}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:15px 18px;background:linear-gradient(transparent,rgba(8,26,43,.85));color:#fff;font-weight:700;font-size:12px}
@media(max-width:850px){.gallery-grid{grid-template-columns:1fr}.gallery-grid figure.wide{grid-row:auto}}
