
:root{--brand:#ff6a00;--dark:#0f0f10;--light:#ffffff;--muted:#f6f7f9}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial;line-height:1.6;color:#1b1b1d;background:var(--muted)}
a{color:var(--brand);text-decoration:none}.container{max-width:1150px;margin:0 auto;padding:0 20px}
.header{position:sticky;top:0;background:var(--light);z-index:10;border-bottom:1px solid #e8e8ef}
.nav{display:flex;align-items:center;gap:24px;padding:10px 0}
.nav img.logo{height:44px;width:44px;border-radius:50%;object-fit:cover;border:2px solid var(--brand);background:#fff}
.nav a{font-weight:600;color:#222}.nav a.cta{margin-left:auto;background:var(--brand);color:#fff;padding:10px 16px;border-radius:12px}
.hero{background:linear-gradient(180deg,rgba(15,15,16,.7),rgba(15,15,16,.6)), url('../images/structure_roof.jpg') center/cover no-repeat; color:#fff; padding:90px 0}
.hero h1{font-size:44px;line-height:1.2;margin:0 0 10px}.hero p{font-size:18px;opacity:.95;max-width:800px}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;border:2px solid #fff;color:#fff;margin-top:14px}
.grid{display:grid;gap:22px}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid #ececf1;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.card img{width:100%;height:170px;object-fit:cover}.card .p{padding:16px}
.section{padding:60px 0}.section h2{font-size:32px;margin:0 0 8px}.tagline{color:#555;margin-bottom:30px}
.footer{background:var(--dark);color:#cfd3da;padding:28px 0}.footer a{color:#fff}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:16px}
.kpi{background:#fff;border-radius:16px;padding:16px;border:1px solid #eee;text-align:center}
.banner{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid #eee;border-left:6px solid var(--brand);padding:18px;border-radius:14px}
.hero .lema{font-size:20px;opacity:.95;font-style:italic}
img.round{border-radius:12px}.gallery{columns:3 260px;column-gap:14px}.gallery img{width:100%;margin:0 0 14px;border-radius:14px;border:1px solid #eee}
blockquote{border-left:4px solid var(--brand);padding-left:12px;color:#444;margin:10px 0}
td,th{border:1px solid #e8e8ef;padding:10px;text-align:left}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:700px){.contact-card{grid-template-columns:1fr}.hero h1{font-size:34px}}
