*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Oswald',sans-serif;
background:#efefef;
color:#222;
overflow-x:hidden;
}

.topbar{
background:#ececec;
padding:20px 0;
}

.topbar-inner{
width:100%;
max-width:1500px;
margin:0 auto;
padding:0 40px;
display:flex;
align-items:center;
gap:24px;
}

.top-logo{
height:92px;
width:auto;
display:block;
}

.brand{
color:#111;
font-size:2rem;
font-weight:700;
letter-spacing:.02em;
}

.hero{
position:relative;
height:560px;
background:url('assets/hero.jpg') center center/cover no-repeat;
display:flex;
align-items:center;
}

.overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.35);
}

.hero-content{
position:relative;
z-index:2;
max-width:1500px;
width:100%;
margin:0 auto;
padding:0 80px;
text-align:left;
}

.hero h1{
font-size:7rem;
line-height:.95;
font-weight:700;
color:white;
}

.hero h1 span{
color:#88d53f;
}

.hero p{
margin-top:24px;
font-size:1.5rem;
line-height:1.45;
color:white;
max-width:950px;
}

.stats{
background:#2d2d2d;
padding:40px 0;
}

.stats-inner{
max-width:1500px;
margin:0 auto;
padding:0 80px;
display:flex;
justify-content:center;
align-items:flex-start;
gap:120px;
text-align:center;
}

.stats span{
display:block;
color:#88d53f;
font-size:3rem;
font-weight:700;
line-height:1;
}

.stats p{
color:white;
font-size:1.2rem;
line-height:1.25;
}

.container{
max-width:1500px;
margin:0 auto;
padding:0 80px;
}

.services{
padding:80px 0 100px;
}

.services h2{
font-size:5rem;
color:#2d4b63;
margin-bottom:20px;
text-align:left;
}

.intro{
font-size:1.5rem;
max-width:900px;
line-height:1.5;
margin-bottom:60px;
}

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:36px;
}

.card{
text-align:left;
}

.card img{
width:100%;
height:360px;
object-fit:cover;
margin-bottom:24px;
}

.card h3{
font-size:2.3rem;
margin-bottom:12px;
line-height:1.05;
}

.card p{
font-size:1.25rem;
line-height:1.6;
color:#666;
}

.contact{
background:#2f2f2f;
padding:80px 0;
color:white;
}

.contact-grid{
display:grid;
grid-template-columns:1.3fr .9fr 1.2fr;
gap:60px;
align-items:start;
}

.contact h2{
font-size:5rem;
line-height:1;
margin-bottom:24px;
}

.contact p{
font-size:1.3rem;
line-height:1.7;
}

.contact-info h4{
font-size:2rem;
line-height:1;
margin-bottom:8px;
margin-top:18px;
}

.contact-info h4:first-child{
margin-top:0;
}

.contact-info a{
color:white;
text-decoration:underline;
}

.contact-info a:hover{
color:#88d53f;
}

.map-wrap{
width:100%;
height:360px;
overflow:hidden;
}

.map-wrap iframe{
width:100%;
height:100%;
border:0;
display:block;
}

footer{
background:#ececec;
padding:30px 0;
}

.footer-inner{
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
}

.footer-left{
display:flex;
align-items:center;
gap:20px;
font-weight:700;
}

.footer-left img{
height:60px;
width:auto;
display:block;
}

@media(max-width:1200px){
.cards{
grid-template-columns:repeat(2,1fr);
}
.hero h1{
font-size:5rem;
}
.stats-inner{
gap:70px;
}
}

@media(max-width:768px){
.topbar-inner{
padding:0 24px;
}
.top-logo{
height:70px;
}
.brand{
font-size:1.35rem;
}
.hero{
height:460px;
}
.hero-content,.container,.stats-inner{
padding:0 24px;
}
.hero h1{
font-size:3.3rem;
}
.hero p{
font-size:1rem;
}
.cards{
grid-template-columns:1fr;
}
.contact-grid{
grid-template-columns:1fr;
}
.stats-inner{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:36px;
}
.services h2,.contact h2{
font-size:3rem;
}
.footer-inner{
flex-direction:column;
align-items:flex-start;
}
}
