*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#102d4f;background:#fff}a{text-decoration:none;color:inherit}.header{height:78px;background:#fff;border-bottom:1px solid #e4ebf1;display:flex;align-items:center;padding:0 6%;gap:28px;position:sticky;top:0;z-index:10}.logo{flex:0 0 auto}.logo img{display:block;width:210px;height:auto}.nav{margin-left:auto;display:flex;gap:28px;font-size:14px;font-weight:700}.nav a:hover{color:#0a5b96}.whatsapp{display:inline-flex;align-items:center;justify-content:center;background:#0a3156;color:#fff;border-radius:7px;padding:14px 20px;font-weight:800;font-size:14px}.top{padding:12px 17px;font-size:13px}.hero{position:relative;min-height:610px;overflow:hidden;background:#082b4b}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,29,52,.93),rgba(5,39,67,.62),rgba(5,39,67,.15))}.hero-text{position:relative;z-index:1;color:#fff;max-width:760px;padding:95px 6%}.tag{font-size:11px;letter-spacing:2px;font-weight:800}.tag.dark{color:#0a3156}.tag.light{color:#fff}.hero h1{font-size:58px;line-height:1.02;letter-spacing:-1.5px;margin:17px 0}.hero p{font-size:18px;line-height:1.55;max-width:620px;color:#eef5fa}.buttons{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.outline{display:inline-flex;align-items:center;padding:13px 19px;border:1px solid #fff;color:#fff;border-radius:7px;font-weight:800}.section{padding:88px 6%}.heading{text-align:center;max-width:820px;margin:0 auto 40px}.heading h2{font-size:40px;line-height:1.1;margin:9px 0;color:#0a3156}.heading p{color:#607589}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:auto}.services article{padding:30px;border:1px solid #dfe7ee;background:#fff;min-height:190px;box-shadow:0 8px 24px rgba(10,49,86,.05)}.services span{font-size:12px;color:#7890a4;font-weight:800}.services h3{font-size:19px;margin:20px 0 10px}.services p{font-size:14px;line-height:1.55;color:#5a6f81;margin:0}.projects{background:#f5f8fa}.gallery{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:270px;object-fit:cover}.about{display:grid;grid-template-columns:1fr 1fr;background:#082f52;color:#fff}.about-text{padding:80px 10%}.about h2{font-size:45px;line-height:1.05;margin:12px 0 20px}.about p{line-height:1.7;color:#dbe8f2;max-width:600px}.about>img{width:100%;height:100%;min-height:440px;object-fit:cover}.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;font-weight:700;font-size:13px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1200px;margin:auto;align-items:center}.contact h2{font-size:45px;margin:10px 0}.contact p{color:#5c7082;line-height:1.6}.contact-list{display:grid;grid-template-columns:1fr 1fr}.contact-list a{padding:22px 0;border-bottom:1px solid #dce5ec;display:flex;flex-direction:column;gap:6px}.contact-list b{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#7b8e9d}.contact-list span{font-weight:700}footer{border-top:1px solid #dfe7ee;padding:26px 6%;display:flex;justify-content:space-between;align-items:center;color:#687c8d;font-size:12px}footer img{width:180px}@media(max-width:800px){.header{height:64px;padding:0 12px;gap:8px}.logo img{width:170px}.nav{display:none}.top{margin-left:auto;font-size:0;width:40px;height:40px;padding:0;border-radius:50%}.top:before{content:"↗";font-size:19px}.hero{min-height:570px}.hero-text{padding:58px 20px}.hero h1{font-size:40px}.hero p{font-size:15px}.buttons{flex-direction:column;align-items:stretch}.buttons>*{text-align:center}.section{padding:60px 20px}.heading h2{font-size:31px}.services{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img{height:235px}.about{grid-template-columns:1fr}.about-text{padding:58px 20px}.about h2,.contact h2{font-size:36px}.about>img{min-height:280px}.checks{grid-template-columns:1fr}.contact{grid-template-columns:1fr;gap:30px;padding:60px 20px}.contact-list{grid-template-columns:1fr}footer{padding:24px 20px;gap:15px;flex-direction:column;align-items:flex-start}}

/* Montajes Riva — mobile-first layout */
html,body{width:100%;overflow-x:hidden}
.header{height:68px;padding:0 16px;gap:10px}
.logo{flex:0 1 auto;min-width:0}
.logo img{width:170px;max-width:100%;height:auto}
.nav{display:none!important}
.top{margin-left:auto;font-size:0!important;width:40px;height:40px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 40px}
.top:before{content:"↗";font-size:20px}
.hero{min-height:620px}
.hero-text{padding:54px 20px 60px;max-width:760px}
.hero h1{font-size:40px;line-height:1.05;letter-spacing:-.8px;margin:14px 0}
.hero p{font-size:15px;line-height:1.55}
.buttons{flex-direction:column;align-items:stretch}
.buttons>*{width:100%;box-sizing:border-box;text-align:center}
.section{padding:60px 20px}
.heading h2{font-size:31px}
.services{grid-template-columns:1fr;gap:14px}
.gallery{grid-template-columns:1fr;gap:12px}
.gallery img{height:235px}
.about{grid-template-columns:1fr}
.about-text{padding:58px 20px}
.about h2,.contact h2{font-size:36px}
.about>img{min-height:280px}
.checks{grid-template-columns:1fr}
.contact{grid-template-columns:1fr;gap:30px;padding:60px 20px}
.contact-list{grid-template-columns:1fr}
footer{padding:24px 20px;gap:15px;flex-direction:column;align-items:flex-start}

@media (min-width:1000px){
  .header{height:82px;padding:0 6%;gap:24px}
  .logo img{width:210px}
  .nav{display:flex!important;gap:28px;align-items:center;margin-left:auto}
  .top{font-size:13px!important;width:auto;height:auto;padding:11px 16px;border-radius:6px;flex:0 0 auto}
  .top:before{display:none}
  .hero{min-height:610px}
  .hero-text{padding:95px 6%}
  .hero h1{font-size:58px}
  .hero p{font-size:18px}
  .buttons{flex-direction:row;align-items:initial}
  .buttons>*{width:auto}
  .section{padding:88px 6%}
  .heading h2{font-size:40px}
  .services{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .about{grid-template-columns:1fr 1fr}
  .about-text{padding:80px 10%}
  .about h2,.contact h2{font-size:45px}
  .about>img{min-height:440px}
  .checks{grid-template-columns:1fr 1fr}
  .contact{grid-template-columns:1fr 1fr;gap:70px;padding:88px 6%}
  .contact-list{grid-template-columns:1fr 1fr}
  footer{padding:26px 6%;flex-direction:row;align-items:center}
}
