
:root {
--red:#c8102e;
--blue:#0033a0;
--bg:#f2f4f7;
--soft:#e9edf2;
--dark:#0b1220;
}

*{box-sizing:border-box}
body{
margin:0;
font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
background:var(--bg);
color:#1e293b;
}

a{transition:transform .2s}
a:hover{transform:translateY(-1px)}

.site-header{
background:#fff;
border-bottom:1px solid #e5e7eb;
position:sticky;
top:0;
z-index:1000;
}
.header-inner{
max-width:1200px;
margin:auto;
padding:10px 24px;
display:grid;
grid-template-columns:auto 1fr auto;
align-items:center;
gap:24px;
}
.logo{height:120px}
.logo-animated{
animation:pulse 4s ease-in-out infinite
}
@keyframes pulse{
0%,100%{transform:scale(1)}
50%{transform:scale(1.04)}
}

.main-nav a{
margin:0 12px;
font-weight:600;
text-decoration:none;
color:#1e293b;
}

.header-cta{display:flex;gap:10px;align-items:center}
.google-badge{transform:scale(.5)}

.btn{
padding:10px 16px;
border-radius:6px;
font-weight:700;
text-decoration:none;
color:#fff
}
.btn-call{background:var(--red)}
.btn-est{background:var(--blue)}

.hero{
position:relative;
padding:96px 24px;
background-size:contain;
background-repeat:no-repeat;
background-position:center top;
background-color:#0b1220;
}
.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(rgba(15,23,42,.4),rgba(15,23,42,.75))
}
.hero-content{
position:relative;
max-width:900px;
margin:auto;
text-align:center;
color:#fff
}

.section{padding:80px 24px}
.section-soft{background:var(--soft)}
.section-inner{max-width:1200px;margin:auto}

.two-col{
display:grid;
grid-template-columns:1fr 1fr;
gap:48px
}

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:24px;
margin-top:40px
}
.service-card{
background:#fff;
padding:28px;
border-radius:12px;
text-decoration:none;
color:#1e293b;
box-shadow:0 10px 30px rgba(0,0,0,.08)
}
.service-card:hover{transform:translateY(-4px)}

.area-grid{
display:grid;
grid-template-columns:1fr 1.4fr;
gap:48px
}
.map-wrap iframe{
width:100%;
height:420px;
border:0;
border-radius:16px
}
.city-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px
}
.city-grid a{
display:flex;
align-items:center;
gap:8px;
font-weight:600;
text-decoration:none;
color:#1e293b
}
.city-grid img{width:14px;height:14px}

.site-footer{
background:var(--dark);
color:#e5e7eb;
padding:48px 24px
}
.footer-inner{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:48px
}
.footer-logo{height:160px}
.footer-links a{
display:block;
color:#e5e7eb;
text-decoration:none;
margin-bottom:8px
}
.footer-cta{
display:flex;
flex-direction:column;
gap:10px
}
