:root{--navy:#061d46;--navy2:#092b63;--blue:#0878f9;--ice:#53b8ff;--text:#0d2654;--muted:#63728d;--line:#dfe7f1;--soft:#f5f8fc;--white:#fff;--shadow:0 18px 42px rgba(13,38,84,.12);--radius:18px;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;line-height:1.5}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip{position:fixed;left:12px;top:-60px;background:#fff;color:var(--navy);padding:10px 14px;border-radius:10px;z-index:1000}.skip:focus{top:12px}.shell{width:min(calc(100% - 48px),var(--max));margin:auto}.wideShell{width:min(calc(100% - 36px),1440px);margin:auto}.siteHeader{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(223,231,241,.9);backdrop-filter:blur(14px)}.navWrap{width:min(calc(100% - 44px),1440px);height:82px;margin:auto;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:28px}.brand{display:flex;align-items:center;height:72px;overflow:hidden}.brand img{width:238px;object-fit:contain}.mainNav{display:flex;justify-content:center;gap:28px;font-size:14px;font-weight:700}.mainNav a{padding:30px 0 25px;position:relative}.mainNav a:after{content:"";position:absolute;left:0;right:100%;bottom:18px;height:2px;background:var(--blue);transition:.25s}.mainNav a:hover:after,.mainNav a.active:after{right:0}.headerContact{display:flex;align-items:center;gap:18px}.headerPhones{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800}.headerPhones div{display:flex;flex-direction:column}.roundIcon{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 20px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:10px;font-weight:800;transition:.2s;box-shadow:0 8px 18px rgba(8,120,249,.18)}.button:hover{transform:translateY(-1px);filter:brightness(.96)}.buttonSm{min-height:44px;padding:0 18px;font-size:13px}.buttonGhost{background:transparent;border-color:rgba(255,255,255,.65);box-shadow:none}.buttonGhost:hover{background:rgba(255,255,255,.1)}.menuButton{display:none;background:none;border:0;padding:8px}.menuButton span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}.hero{height:520px;position:relative;overflow:hidden;background:var(--navy)}.heroMedia{position:absolute;inset:0;background:url('assets/hero.jpg') center 53%/cover no-repeat;transform:scale(1.01)}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,54,.96) 0%,rgba(3,22,54,.82) 34%,rgba(3,22,54,.28) 66%,rgba(3,22,54,.04) 100%)}.heroContent{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;color:#fff}.overline{margin:0 0 10px;font-size:12px;letter-spacing:.11em;font-weight:900;color:var(--blue)}.overlineLight{color:#bde5ff}.hero h1{font-size:clamp(48px,5.3vw,76px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px;max-width:790px}.hero h1 span{color:var(--ice)}.heroLead{max-width:650px;font-size:20px;margin:0 0 28px;color:#f5f8ff}.buttonRow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.credentials{background:#fff;border-bottom:1px solid var(--line)}.credentialGrid{display:grid;grid-template-columns:repeat(6,1fr);min-height:104px}.credential{display:flex;align-items:center;justify-content:center;gap:13px;padding:18px 16px;border-right:1px solid var(--line);font-size:14px}.credential:last-child{border-right:0}.credential svg{width:39px;height:39px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.featureDark{background:var(--navy);color:#fff}.maintenanceGrid{display:grid;grid-template-columns:1.1fr 1.4fr .95fr;min-height:385px}.maintenanceCopy{padding:54px 46px 48px 24px;align-self:center}.maintenanceCopy h2{font-size:42px;line-height:1.02;margin:0 0 18px;letter-spacing:-.03em}.maintenanceCopy>p:not(.overline){font-size:17px;color:#d8e5f7;max-width:520px;margin-bottom:26px}.maintenancePhoto{margin:0;min-height:385px;overflow:hidden}.maintenancePhoto img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.maintenancePoints{padding:30px 22px;display:flex;flex-direction:column;justify-content:center;background:#061a40}.maintenancePoints div{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.15)}.maintenancePoints div:last-child{border-bottom:0}.maintenancePoints span{color:var(--ice);font-weight:900}.maintenancePoints p{margin:0;color:#cbd9ee;font-size:13px}.maintenancePoints b{display:block;color:#fff;font-size:14px;margin-bottom:3px}.textCta{font-weight:850;color:var(--blue);display:inline-flex;gap:8px;align-items:center}.textCta.light{color:#fff}.section{padding:76px 0}.sectionHead{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.sectionHead h2,.engineeringIntro h2,.company h2,.ctaBand h2{font-size:clamp(32px,4vw,50px);line-height:1.04;letter-spacing:-.04em;margin:0 0 10px}.sectionHead>div>p:last-child{color:var(--muted);max-width:750px;margin:0}.serviceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.serviceCard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 28px rgba(13,38,84,.05);transition:.22s}.serviceCard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.serviceCard>img{width:100%;height:230px;object-fit:cover}.serviceCard:nth-child(1)>img{object-position:center 38%}.serviceBody{padding:22px 22px 24px;position:relative}.serviceNum{position:absolute;right:20px;top:21px;color:#a3bddc;font-weight:900;font-size:12px;letter-spacing:.1em}.serviceBody h3{font-size:21px;margin:0 0 8px;max-width:82%}.serviceBody p{color:var(--muted);font-size:14px;min-height:63px}.serviceBody ul{list-style:none;padding:0;margin:18px 0 0;font-size:13px}.serviceBody li{padding:6px 0 6px 19px;position:relative;border-top:1px solid #edf1f6}.serviceBody li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.sectorSection{background:var(--soft)}.sectorGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:265px;gap:16px}.sectorGrid article{position:relative;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.sectorGrid article>img{width:100%;height:155px;object-fit:cover}.sectorGrid article>div:not(.symbol){padding:16px 18px}.sectorGrid h3{margin:0 0 6px;font-size:18px;line-height:1.1}.sectorGrid p{margin:0;color:var(--muted);font-size:13px}.sectorLarge{grid-column:span 2;grid-row:span 2}.sectorLarge>img{height:100%!important}.sectorLarge:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,25,62,.9),rgba(3,25,62,0) 62%)}.sectorLarge>div{position:absolute;z-index:2;left:0;bottom:0;padding:30px!important;color:#fff;max-width:600px}.sectorLarge p{color:#e6eefb}.sectorLarge h3{font-size:30px}.sectorText{padding:24px!important;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;border:0!important}.sectorText.ice{background:linear-gradient(145deg,#117ee7,#56bdeb)}.sectorText.tunnel{background:linear-gradient(145deg,#082657,#0a4d91)}.sectorText p{color:rgba(255,255,255,.83)}.symbol{position:absolute!important;top:22px;left:22px;font-size:34px;font-weight:950;letter-spacing:-.03em}.engineering{padding-bottom:0}.engineeringGrid{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;gap:44px}.engineeringIntro{padding:30px 0 60px}.engineeringIntro>p:not(.overline){font-size:17px;color:var(--muted);max-width:650px}.engineeringSteps{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:28px}.engineeringSteps span{position:relative;padding:11px 12px 11px 31px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;font-weight:700}.engineeringSteps span:before{content:"✓";position:absolute;left:12px;color:var(--blue)}.engineeringPhoto{margin:0;border-radius:18px 18px 0 0;overflow:hidden;min-height:430px}.engineeringPhoto img{width:100%;height:100%;object-fit:cover}.techRibbon{background:var(--navy);color:#fff}.techGrid{min-height:120px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);align-items:center}.techGrid>div{padding:20px 28px;border-right:1px solid rgba(255,255,255,.16)}.techGrid>div:last-child{border-right:0}.techGrid b{display:block;font-size:18px}.techGrid strong{display:block;color:var(--ice);font-size:24px}.techGrid span{font-size:13px;color:#c8d7eb}.company{background:#fff}.companyGrid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.companyGrid>div:first-child>p:last-child{color:var(--muted);font-size:17px}.companyStats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.companyStats div{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.companyStats strong{display:block;font-size:30px;color:var(--blue)}.companyStats span{font-size:13px;color:var(--muted)}.brands{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px}.brands p{color:var(--muted);font-size:13px}.brands div{display:flex;gap:34px;flex-wrap:wrap;align-items:center}.brands span{font-size:18px;font-weight:900;color:#38506f;letter-spacing:-.02em}.projects{background:var(--soft)}.projectGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:14px}.projectGrid figure{margin:0;position:relative;border-radius:14px;overflow:hidden;background:#000}.projectGrid .projectWide{grid-column:span 2}.projectGrid img{width:100%;height:100%;object-fit:cover;transition:.3s}.projectGrid figure:hover img{transform:scale(1.025)}.projectGrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 18px 16px;color:#fff;background:linear-gradient(0deg,rgba(2,19,47,.88),rgba(2,19,47,0))}.projectGrid figcaption b{display:block}.projectGrid figcaption span{font-size:12px;color:#dfe9f7}.ctaBand{background:linear-gradient(115deg,#061b42,#073c78);color:#fff}.ctaInner{min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:50px}.ctaBand h2{margin-bottom:8px}.ctaBand p:not(.overline){color:#c8d8ec;margin:0}.footer{background:#041634;color:#fff;padding-top:60px}.footerGrid{display:grid;grid-template-columns:1fr .75fr 1.3fr;gap:50px}.footerBrand img{width:235px;background:#fff;border-radius:10px;padding:8px}.footerBrand p{color:#b9c8dc;font-size:13px;max-width:350px}.footerDetails h3,.contactForm h3{margin-top:0}.footerDetails{display:flex;flex-direction:column;gap:8px}.footerDetails a{font-weight:750}.footerDetails p{font-size:13px;color:#b9c8dc}.contactForm{background:#092555;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:26px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formGrid label{display:block}.formGrid label.full{grid-column:1/-1}.formGrid span{display:block;font-size:11px;color:#b9c8dc;margin:0 0 5px}.formGrid input,.formGrid textarea{width:100%;border:1px solid rgba(255,255,255,.15);background:#061d46;color:#fff;border-radius:9px;padding:11px 12px;outline:0}.formGrid input:focus,.formGrid textarea:focus{border-color:var(--ice)}.contactForm .button{margin-top:14px;border:0}.contactForm small{display:block;color:#9eb1ca;font-size:10px;margin-top:8px}.footerBottom{margin-top:44px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:#8fa4c0;font-size:11px}.footerBottom div{display:flex;gap:20px}.floatingWhatsApp{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#20c768;color:#fff;font-weight:950;box-shadow:0 14px 30px rgba(0,0,0,.2);z-index:90}
@media(max-width:1180px){.navWrap{grid-template-columns:220px 1fr auto}.brand img{width:205px}.mainNav{gap:17px;font-size:13px}.headerPhones{display:none}.credentialGrid{grid-template-columns:repeat(3,1fr)}.credential:nth-child(3){border-right:0}.maintenanceGrid{grid-template-columns:1fr 1.15fr}.maintenancePoints{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.maintenancePoints div{border-bottom:0;border-top:1px solid rgba(255,255,255,.12)}.serviceGrid{grid-template-columns:1fr 1fr}.sectorGrid{grid-template-columns:repeat(3,1fr)}.sectorLarge{grid-column:span 2}.footerGrid{grid-template-columns:1fr 1fr}.contactForm{grid-column:1/-1}}
@media(max-width:850px){html{scroll-padding-top:72px}.navWrap{height:72px;grid-template-columns:1fr auto auto;width:min(calc(100% - 28px),1440px)}.brand{height:62px}.brand img{width:190px}.menuButton{display:block;order:3}.headerContact .button{display:none}.mainNav{position:absolute;top:72px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:14px 24px 22px;border-top:1px solid var(--line);box-shadow:0 20px 30px rgba(0,0,0,.09);gap:0}.mainNav.open{display:flex}.mainNav a{padding:12px 0}.mainNav a:after{display:none}.hero{height:560px}.heroMedia{background-position:63% center}.heroShade{background:linear-gradient(90deg,rgba(3,22,54,.96),rgba(3,22,54,.72))}.hero h1{font-size:50px}.heroLead{font-size:17px}.credentialGrid{grid-template-columns:1fr 1fr}.credential:nth-child(2n){border-right:0}.maintenanceGrid{grid-template-columns:1fr}.maintenanceCopy{padding:45px 24px}.maintenancePhoto{height:340px;min-height:0}.maintenancePoints{grid-template-columns:1fr}.section{padding:58px 0}.sectionHead{align-items:flex-start;flex-direction:column}.serviceGrid{grid-template-columns:1fr}.serviceCard{display:grid;grid-template-columns:42% 1fr}.serviceCard>img{height:100%;min-height:315px}.sectorGrid{grid-template-columns:1fr 1fr;grid-auto-rows:245px}.sectorLarge{grid-column:1/-1;grid-row:span 1}.sectorLarge h3{font-size:24px}.engineeringGrid{grid-template-columns:1fr}.engineeringPhoto{min-height:340px;border-radius:18px}.techGrid{grid-template-columns:1fr 1fr}.techGrid>div:first-child{grid-column:1/-1}.companyGrid{grid-template-columns:1fr}.brands{flex-direction:column;align-items:flex-start}.projectGrid{grid-template-columns:1fr 1fr}.projectGrid .projectWide{grid-column:1/-1}.ctaInner{padding:40px 0;align-items:flex-start;flex-direction:column}.footerGrid{grid-template-columns:1fr}.contactForm{grid-column:auto}.footerBottom{flex-direction:column}}
@media(max-width:560px){.shell{width:min(calc(100% - 28px),var(--max))}.wideShell{width:100%}.hero{height:610px}.heroContent{padding-top:30px}.hero h1{font-size:44px}.heroLead{font-size:16px}.buttonRow .button{width:100%}.credentialGrid{grid-template-columns:1fr}.credential{justify-content:flex-start;padding-left:28px;border-right:0;border-bottom:1px solid var(--line)}.maintenanceCopy h2{font-size:36px}.maintenancePhoto{height:280px}.serviceCard{display:block}.serviceCard>img{height:220px;min-height:0}.sectorGrid{grid-template-columns:1fr;grid-auto-rows:auto}.sectorGrid article{min-height:255px}.sectorLarge{min-height:360px!important}.sectorText{min-height:250px!important}.engineeringSteps{grid-template-columns:1fr}.techGrid{grid-template-columns:1fr}.techGrid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.companyStats{grid-template-columns:1fr}.projectGrid{grid-template-columns:1fr;grid-auto-rows:235px}.projectGrid .projectWide{grid-column:auto}.formGrid{grid-template-columns:1fr}.footerBottom div{flex-wrap:wrap}.floatingWhatsApp{width:50px;height:50px;right:14px;bottom:14px}.brands div{gap:18px}.brands span{font-size:15px}}

/* MMR premium 2026: project editorial */
.editorialProjects{background:#f3f7fc}.editorialGrid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.editorialCard{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#071f4f;min-height:370px;box-shadow:0 18px 45px rgba(7,31,79,.12)}.editorialCard img{display:block;width:100%;height:370px;object-fit:cover;transition:transform .45s}.editorialCard:hover img{transform:scale(1.035)}.editorialCard figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 25px 23px;background:linear-gradient(transparent,rgba(4,17,42,.9));color:white;display:flex;flex-direction:column;gap:5px}.editorialCard figcaption strong{font-size:1.22rem}.editorialCard figcaption span{opacity:.84;font-size:.91rem}@media(max-width:720px){.editorialGrid{grid-template-columns:1fr}.editorialCard,.editorialCard img{height:310px;min-height:310px}}

/* Nueva portada: composición editorial con la fotografía real del montaje */
.heroMedia{background-position:center 45%}
@media(max-width:850px){.heroMedia{background-position:59% center}}
