
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&family=Open+Sans:wght@400;600;700&display=swap');
:root{--blue:#1E90FF;--red:#FF4A4A;--green:#29B764;--light:#F7F9FB;--text:#222}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e9eef3}
.nav{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand img{height:110px;width:auto}
nav a{margin:0 8px;text-decoration:none;color:#222;font-weight:700}
.cta{background:var(--green);color:#fff;padding:10px 16px;border-radius:12px;font-weight:800;text-transform:uppercase;box-shadow:0 8px 20px rgba(41,183,100,.25)}
.cta:hover{filter:brightness(.95)}
.hero{position:relative;min-height:58vh;display:grid;place-items:center;overflow:hidden;background:#111}
.hero .layer{position:absolute;inset:0}
.hero .content{position:relative;z-index:2;text-align:center;color:#fff;padding:40px 16px}
.hero h1{font-family:Montserrat,Arial Black,Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(28px,4vw,56px);margin:0 0 10px}
.hero p{font-size:clamp(16px,2vw,22px);opacity:.95;margin:0 0 18px}
.grid{display:grid;gap:20px}
.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:36px 0}
.card{background:#fff;border:1px solid #eaeef3;border-radius:16px;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.06)}
.card img{width:100%;height:180px;object-fit:cover}
.card .p{padding:14px 16px}
h2.section{font-family:Montserrat,sans-serif;font-weight:800;margin:28px 0 10px}
footer{margin-top:48px;background:#0D3B66;color:#fff}
footer .container{display:grid;gap:8px;padding:26px 16px}
input,select,textarea{padding:12px 14px;border:1px solid #dfe3e6;border-radius:12px;background:#fff;font-size:16px}
form.estimate{display:grid;gap:12px;max-width:760px;margin:0 auto}
.btn{display:inline-block;background:var(--blue);color:#fff;padding:12px 16px;border-radius:12px;font-weight:800;text-decoration:none}
.small{color:#667; font-size:14px}
.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.gallery img{width:100%;height:200px;object-fit:cover;border-radius:12px;border:1px solid #e7edf5}
@media (max-width:820px){.brand img{height:90px}}
