:root{
  --navy:#0c2951; --navy-2:#123a6b; --orange:#fd800c; --green:#079b51;
  --ink:#101828; --grey:#5a6370; --line:#e3e7ec; --bg:#ffffff; --soft:#f6f8fa;
  --max:1180px; --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--orange)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:32px;height:76px}
.nav img{height:44px;width:auto}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:600;
  letter-spacing:.01em}
.nav .cta{margin-left:auto}
.btn{display:inline-block;background:var(--orange);color:#fff;font-weight:700;font-size:15px;
  padding:13px 22px;border-radius:999px;transition:.15s}
.btn:hover{background:#e97207;color:#fff}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}

/* hero */
.hero{background:linear-gradient(160deg,#0c2951 0%,#123a6b 62%,#16457f 100%);color:#fff;
  padding:86px 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.eyebrow{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);font-weight:700}
h1{font-size:clamp(34px,4.4vw,56px);line-height:1.08;margin:.35em 0 .5em;font-weight:800;letter-spacing:-.02em}
.hero p{font-size:18px;color:#cfd9e6;max-width:34em;margin:0 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:70px}
.hero-photo{border-radius:var(--r) var(--r) 0 0;overflow:hidden;box-shadow:0 -10px 40px rgba(0,0,0,.25)}
.hero-photo img{width:100%;height:100%;object-fit:cover}

/* franja de datos */
.stats{background:var(--soft);border-bottom:1px solid var(--line)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:34px 24px}
.stat b{display:block;font-size:30px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.stat span{font-size:13.5px;color:var(--grey)}

section{padding:84px 0}
h2{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.015em}
.lead{font-size:18px;color:var(--grey);max-width:46em}
.rule{width:64px;height:4px;background:var(--orange);margin:0 0 26px;border-radius:2px}

/* máquinas */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
.card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:.18s;
  display:flex;flex-direction:column}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(16,24,40,.09)}
.card .ph{aspect-ratio:4/3;background:var(--soft);overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .bd{padding:22px 22px 26px}
.card h3{margin:0 0 6px;font-size:19px;font-weight:700}
.card .tag{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-weight:700}
.card p{color:var(--grey);font-size:14.5px;margin:10px 0 16px}
.spec{font-size:13.5px;color:var(--ink);background:var(--soft);border-radius:9px;padding:10px 12px;
  font-variant-numeric:tabular-nums}

/* banda */
.band{background:var(--navy);color:#fff}
.band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.band img{border-radius:var(--r)}
.band p{color:#c8d5e5}
.band h2{color:#fff}

/* servicio */
.cols{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:40px}
.item{border-left:3px solid var(--orange);padding:4px 0 4px 20px}
.item h3{margin:0 0 6px;font-size:18px}
.item p{margin:0;color:var(--grey);font-size:15px}

/* contacto */
.contact{background:var(--soft)}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px}
form{display:grid;gap:14px;margin-top:22px}
input,textarea,select{font:inherit;padding:13px 15px;border:1px solid #d5dbe3;border-radius:10px;background:#fff}
textarea{min-height:130px;resize:vertical}
label{font-size:13px;font-weight:600;color:var(--grey)}
.data p{margin:0 0 14px;font-size:15.5px}
.data strong{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}

footer{background:#081f3e;color:#9db0c9;padding:52px 0 30px;font-size:14px}
footer a{color:#cfdcea}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px}
footer img{height:40px;filter:brightness(0) invert(1);opacity:.9;margin-bottom:14px}
.fbot{border-top:1px solid #1b3a63;padding-top:20px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;font-size:12.5px;color:#7f95b3}

@media(max-width:900px){
  .hero .wrap,.band .wrap,.contact .wrap{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr}
  .stats .wrap{grid-template-columns:1fr 1fr}
  .nav ul{display:none}
  .fgrid{grid-template-columns:1fr}
}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
