
:root{
  --navy:#061b3a; --navy-2:#092c60; --navy-3:#0b3d86; --ink:#101929;
  --muted:#5f6b7a; --line:#e6edf6; --soft:#f4f7fb; --white:#ffffff;
  --gold:#d7a84a; --gold-2:#f0ca72; --shadow:0 18px 55px rgba(6,27,58,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit} img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin-inline:auto}
.topbar{background:var(--navy);color:#fff;font-size:.92rem}
.topbar .container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 0}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(6,27,58,.08)}
.nav .container{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:900;line-height:1.05;letter-spacing:.04em}
.brand img{width:74px;height:54px;object-fit:contain}.brand small{font-size:.75rem;letter-spacing:.08em}
.menu{display:flex;align-items:center;gap:22px;font-weight:800;color:#263142}
.menu a{position:relative}.menu a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:3px;background:var(--gold);transition:.25s;border-radius:99px}.menu a:hover:after{width:100%}
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-radius:999px;background:var(--navy);color:#fff;font-weight:900;box-shadow:0 16px 32px rgba(6,27,58,.2);transition:.22s;font-family:inherit}
.btn:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(6,27,58,.25)}
.btn.light{background:#fff;color:var(--navy)}.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy)}
.mobile-toggle{display:none;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:var(--navy);font-weight:900}
.hero{min-height:82vh;display:flex;align-items:center;position:relative;color:#fff;overflow:hidden;background:linear-gradient(100deg,rgba(3,15,34,.92) 0%,rgba(6,27,58,.78) 46%,rgba(6,27,58,.35) 100%),url('img/proyecto-01.jpg') center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 25%,rgba(215,168,74,.18),transparent 34%),linear-gradient(0deg,rgba(6,27,58,.28),transparent)}
.hero .container{position:relative;z-index:2;padding:82px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold-2);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem}
.eyebrow:before{content:"";width:36px;height:2px;background:var(--gold-2)}
.hero h1{font-size:clamp(2.4rem,5.8vw,5.8rem);line-height:.98;letter-spacing:-.06em;margin:16px 0 22px;max-width:1000px;font-weight:900}
.hero p{font-size:clamp(1.05rem,2vw,1.33rem);line-height:1.6;color:#eaf2ff;max-width:820px;margin:0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.section{padding:90px 0}.section.soft{background:var(--soft)}
.title{max-width:850px;margin-bottom:42px}.title.center{text-align:center;margin-inline:auto}
.title h2{color:var(--navy);font-size:clamp(2rem,4vw,3.55rem);letter-spacing:-.045em;line-height:1.05;margin:10px 0 14px;font-weight:900}
.title p{color:var(--muted);line-height:1.75;font-size:1.05rem;margin:0}
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.about-photo{position:relative}.about-photo img{border-radius:30px;box-shadow:var(--shadow);height:520px;width:100%;object-fit:cover}
.about-badge{position:absolute;left:24px;bottom:24px;background:#fff;color:var(--navy);padding:18px 20px;border-radius:22px;box-shadow:0 16px 45px rgba(0,0,0,.18);font-weight:900}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:24px}.check{background:#fff;border:1px solid var(--line);padding:14px;border-radius:16px;font-weight:800;color:#273142}.check span{color:var(--gold);margin-right:7px}
.mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.mv-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 16px 40px rgba(6,27,58,.07);position:relative;overflow:hidden}
.mv-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--navy),var(--gold))}
.mv-card h3{margin:0 0 12px;color:var(--navy);font-size:1.45rem}.mv-card p{color:var(--muted);line-height:1.65;margin:0}
.service-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.category-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(6,27,58,.07);position:relative;overflow:hidden}
.category-card:before{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--navy),var(--gold))}
.category-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--navy-3));display:grid;place-items:center;color:#fff;font-size:1.5rem;margin-bottom:18px}
.category-card h3{font-size:1.35rem;color:var(--navy);margin:0 0 16px}
.category-card ul{padding:0;margin:0;list-style:none;display:grid;gap:11px}
.category-card li{color:#475569;line-height:1.45;padding-left:24px;position:relative}
.category-card li:before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-weight:900}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.equipment-card{min-height:230px;border-radius:28px;padding:28px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(6,27,58,.96),rgba(10,53,114,.9));box-shadow:var(--shadow)}
.equipment-card:after{content:"";position:absolute;right:-40px;bottom:-40px;width:150px;height:150px;border-radius:50%;background:rgba(215,168,74,.18)}
.equipment-card h3{font-size:1.35rem;margin:12px 0 10px;position:relative}.equipment-card p{color:#dfeaff;line-height:1.6;margin:0;position:relative}.equipment-card .big{font-size:2.2rem;position:relative}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.step{background:#fff;border:1px solid var(--line);padding:22px;border-radius:24px;box-shadow:0 14px 34px rgba(6,27,58,.06)}
.step b{width:42px;height:42px;background:var(--gold);border-radius:14px;display:grid;place-items:center;color:var(--navy);font-size:1.2rem;margin-bottom:15px}.step h3{margin:0 0 9px;color:var(--navy)}.step p{margin:0;color:var(--muted);line-height:1.58;font-size:.95rem}
.clients-grid,.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.client-card,.why-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(6,27,58,.06);font-weight:850;color:var(--navy);display:flex;gap:12px;align-items:center;min-height:88px}
.client-card span,.why-card span{width:38px;height:38px;border-radius:14px;background:#eef4ff;color:var(--navy);display:grid;place-items:center;flex:0 0 auto}
.showcase{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.showcase img{height:260px;width:100%;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}
.cta{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:34px;padding:42px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:25px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;background:rgba(215,168,74,.18);border-radius:50%}.cta h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;margin:0 0 12px}.cta p{color:#dce7f7;line-height:1.65;margin:0}
.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:28px}.contact-box{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:30px;padding:34px;box-shadow:var(--shadow)}
.contact-box h3{font-size:2.05rem;margin:0 0 14px}.contact-box p{color:#dce7f7;line-height:1.65}.contact-list{display:grid;gap:14px;margin:24px 0}.contact-item{background:rgba(255,255,255,.12);padding:15px;border-radius:16px;font-weight:800}
.form{background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow)}.form label{font-weight:800;color:#2d3748}.form input,.form textarea{width:100%;border:1px solid #d9e2ef;border-radius:15px;padding:14px;margin:8px 0 15px;font:inherit;outline:none}.form input:focus,.form textarea:focus{border-color:var(--navy-3);box-shadow:0 0 0 4px rgba(11,61,134,.08)}.form textarea{height:125px;resize:vertical}
.footer{background:#041329;color:#fff;padding:40px 0;text-align:center}.footer-logo{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:900;margin-bottom:12px}.footer-logo img{width:58px;background:#fff;border-radius:10px}
.whatsapp{position:fixed;right:22px;bottom:22px;z-index:70;background:#25D366;color:#fff;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:30px;box-shadow:0 18px 35px rgba(0,0,0,.24);transition:.25s}.whatsapp:hover{transform:scale(1.06)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:1100px){.service-categories{grid-template-columns:repeat(2,1fr)}.equipment-grid{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(2,1fr)}.clients-grid,.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.mobile-toggle{display:block}.menu{position:absolute;top:78px;left:4%;right:4%;display:none;flex-direction:column;background:#fff;padding:20px;border-radius:22px;box-shadow:var(--shadow);align-items:flex-start}.menu.open{display:flex}.nav .btn{display:none}.hero{min-height:78vh}.about-grid,.contact-grid,.cta,.mission-vision,.showcase{grid-template-columns:1fr}.about-photo img{height:380px}}
@media(max-width:560px){.topbar .container{font-size:.78rem}.brand img{width:56px}.brand{font-size:.85rem}.brand small{font-size:.62rem}.service-categories,.equipment-grid,.process,.checks,.clients-grid,.why-grid{grid-template-columns:1fr}.section{padding:68px 0}.hero h1{font-size:2.6rem}.showcase img{height:230px}}


.large-gallery{
  grid-template-columns:repeat(4,1fr);
}
.large-gallery img{
  height:240px;
}
@media(max-width:1100px){
  .large-gallery{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:820px){
  .large-gallery{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:560px){
  .large-gallery{
    grid-template-columns:1fr;
  }
  .large-gallery img{
    height:220px;
  }
}
