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

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

#loader{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#ffffff;
display:flex;
justify-content:center;
align-items:center;
z-index:9999;
}

.loader-box{
text-align:center;
animation:fadeIn 1.2s ease;
}

.loader-logo{
width:110px;
margin-bottom:20px;
}

.hero{
min-height:100vh;
background:linear-gradient(rgba(8,35,24,.60),rgba(8,35,24,.60)),url("images/hero.webp");
background-size:cover;
background-position:center;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:20px;
}

.logo{
width:170px;
margin-bottom:20px;
animation:zoom 1.5s;
}

.hero h1{
font-family:'Playfair Display',serif;
font-size:46px;
color:#fff;
}

.hero h3{
color:#fff;
font-weight:400;
margin-top:10px;
}

.tagline{
margin-top:15px;
font-size:18px;
color:#d4af37;
}

.hero-buttons{
margin-top:35px;
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
}

.btn{
padding:15px 30px;
border-radius:40px;
text-decoration:none;
font-weight:600;
transition:.35s;
}

.btn-call{
background:#166534;
color:#fff;
}

.btn-whatsapp{
background:#25D366;
color:#fff;
}

.btn:hover{
transform:translateY(-4px);
box-shadow:0 15px 35px rgba(0,0,0,.2);
}

.services{
padding:80px 20px;
}

.services h2{
text-align:center;
margin-bottom:40px;
font-size:34px;
}

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
max-width:1200px;
margin:auto;
}

.card{
background:#fff;
padding:35px;
border-radius:20px;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.4s;
}

.card:hover{
transform:translateY(-10px);
}

.icon{
font-size:48px;
margin-bottom:15px;
}

.about{
padding:80px 20px;
background:#0f5132;
color:#fff;
}

.about h2{
text-align:center;
margin-bottom:35px;
}

.features{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
max-width:1100px;
margin:auto;
}

.features div{
background:rgba(255,255,255,.08);
padding:20px;
border-radius:15px;
}

footer{
padding:40px;
text-align:center;
background:#111827;
color:#fff;
}

@keyframes zoom{
0%{transform:scale(.6);opacity:0;}
100%{transform:scale(1);opacity:1;}
}

@keyframes fadeIn{
from{opacity:0;}
to{opacity:1;}
}
