/* GLOBAL STYLES */

body{
font-family:'Montserrat',sans-serif;
margin:0;
background:#F5F5F5;
color:#333;
}

html{
scroll-behavior:smooth;
}

/* UTILITY */

.hidden{
display:none!important;
}


/* NAVBAR */

.navbar{
position:sticky;
top:0;
background:white;
box-shadow:0 2px 10px rgba(0,0,0,0.05);
z-index:1000;
}

.nav-container{
max-width:1200px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px;
}

.logo img{
height:110px;
width:auto;
}

.nav-links{
list-style:none;
display:flex;
gap:30px;
}

.nav-links a{
text-decoration:none;
color:#444;
font-weight:600;
transition:color .3s;
}

.nav-links a:hover{
color:#FF6B00;
}


/* HERO SECTION */

.hero{
height:100vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
background:#f0f0f0;
padding:0 20px;
}

.hero-content{
opacity:0;
transform:translateY(20px);
animation:fadeUp 1s ease forwards;
animation-delay:.3s;
}

.hero h1{
font-size:4rem;
margin-bottom:20px;
}

.hero p{
font-size:1.5rem;
margin-bottom:30px;
}

.hero .btn-gradient{
font-size:1.1rem;
padding:14px 32px;
}


/* BUTTONS */

.btn-gradient{
background:linear-gradient(135deg,#FF6B00,#FF8C3A);
color:white;
font-weight:600;
padding:12px 28px;
border-radius:8px;
border:none;
cursor:pointer;
text-decoration:none;
display:inline-block;
transition:all .25s ease;
letter-spacing:.5px;
}

.btn-gradient:hover{
background:linear-gradient(135deg,#e65f00,#ff7a1a);
transform:translateY(-2px);
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}


/* ABOUT */

.about-section{
padding:80px 20px;
background:white;
text-align:center;
}

.about-section h2{
font-size:2.5rem;
margin-bottom:30px;
}

.about-section p{
max-width:800px;
margin:auto;
margin-bottom:20px;
line-height:1.7;
}


/* SERVICES */

.services{
padding:80px 20px;
text-align:center;
}

.services h2{
font-size:2.5rem;
margin-bottom:50px;
}

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:35px;
max-width:1200px;
margin:auto;
}

.service-card{
background:white;
padding:30px;
border-radius:15px;
box-shadow:0 6px 20px rgba(0,0,0,0.08);
position:relative;
overflow:hidden;

opacity:0;
transform:translateY(20px);
transition:all .4s ease;
}

.service-card.visible{
opacity:1;
transform:translateY(0);
}

.service-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:linear-gradient(90deg,#FF6B00,#FF8C3A);
}

.service-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 35px rgba(0,0,0,0.12);
}

.service-icon{
font-size:35px;
color:#FF6B00;
margin-bottom:15px;
}

.service-card h3{
font-size:1.5rem;
margin-bottom:15px;
}

.service-card p{
margin-bottom:20px;
}


/* MODAL */

.modal{
position:fixed;
inset:0;
display:flex;
justify-content:center;
align-items:center;
background:rgba(0,0,0,0.6);
z-index:50;
}

.modal-content{
background:white;
padding:40px;
border-radius:15px;
max-width:450px;
width:90%;
position:relative;
}

.close-btn{
position:absolute;
top:15px;
right:20px;
font-size:1.5rem;
background:none;
border:none;
cursor:pointer;
}

.modal input,
.modal textarea{
width:100%;
padding:10px 12px;
margin-bottom:15px;
border-radius:8px;
border:1px solid #ccc;
font-family:inherit;
}


/* TESTIMONIALS */

.testimonials{
padding:100px 20px;
background:#f7f7f7;
text-align:center;
}

.testimonial-grid{
max-width:1000px;
margin:auto;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.testimonial{
background:white;
padding:30px;
border-radius:10px;
box-shadow:0 8px 20px rgba(0,0,0,0.06);
}


/* FACEBOOK FEED */

.updates{
padding:80px 20px;
text-align:center;
background:#fafafa;
}

.updates h2{
font-size:2.5rem;
margin-bottom:40px;
}


/* CONTACT */

.contact{
padding:80px 20px;
text-align:center;
background:white;
}


/* FOOTER */

footer{
background:#333;
color:white;
padding:40px 20px;
text-align:center;
}


/* ANIMATIONS */

@keyframes fadeUp{
to{
opacity:1;
transform:translateY(0);
}
}