:root{

--blue:#2a6fdb;
--blue-dark:#1f56ad;
--white:#ffffff;
--dark:#1a1a1a;
--gray:#f5f7fa;
--border:#e5e7eb;

}

/* BASE */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:Inter, sans-serif;
color:var(--dark);
background:white;
line-height:1.6;

}

/* NAVBAR */

.navbar{

position:fixed;
top:0;
left:0;
right:0;

display:flex;
justify-content:space-between;
align-items:center;

padding:18px 8%;

background:rgba(255,255,255,0.95);
backdrop-filter:blur(10px);

border-bottom:1px solid var(--border);

z-index:1000;

}

.logo{

font-weight:600;
font-size:20px;

display:flex;
align-items:center;
gap:10px;

}

.logo:hover { 
    cursor: pointer;
}

/* NAV LINKS */

.nav-links{

display:flex;
gap:28px;
align-items:center;

}

.nav-links a{

text-decoration:none;
color:var(--dark);
font-weight:500;
transition:0.2s;
font-size:14px;
}

.nav-links a:hover{

color:var(--blue-dark);

}

/* HAMBURGER */

.hamburger{

display:none;
flex-direction:column;
gap:5px;
cursor:pointer;

}

.hamburger span{

width:26px;
height:3px;

background:var(--dark);

border-radius:2px;

}

/* HERO */

.hero{

height:100vh;

background:
linear-gradient(rgba(0,0,0,0.55),rgba(0,0,0,0.55)),
url("https://images.unsplash.com/photo-1629909615184-74f495363b67?w=1600");

background-size:cover;
background-position:center;

display:flex;
justify-content:center;
align-items:center;

text-align:center;

color:white;

padding:0 20px;

}

.hero-content{

max-width:800px;
width:100%;

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

}

.hero h1{

font-size:52px;
margin-bottom:15px;

}

.hero p{

font-size:20px;
margin-bottom:30px;

}

/* HERO BUTTONS */

.hero-buttons{

display:flex;
justify-content:center;
align-items:center;

gap:16px;
flex-wrap:wrap;

width:100%;

}

/* BUTTONS */

.btn-primary{

background:var(--blue);
color:white;

padding:16px 28px;

border-radius:8px;

text-decoration:none;
font-weight:600;

display:inline-flex;
align-items:center;
justify-content:center;

gap:10px;

transition:all 0.25s ease;

}

.btn-primary:hover{

background:var(--blue-dark);
transform:translateY(-3px);

box-shadow:0 12px 25px rgba(0,0,0,0.2);

}

.btn-secondary{

border:2px solid white;

color:white;

padding:16px 28px;

border-radius:8px;

text-decoration:none;
font-weight:600;

display:inline-flex;
align-items:center;
justify-content:center;

}

.btn-secondary:hover{

background:white;
color:var(--dark);

}

/* SECTION */

.section{

padding:110px 8%;

}

.section h2{

text-align:center;
font-size:36px;
margin-bottom:40px;

}

.light{

background:var(--gray);

}

/* SERVICES */

.services-grid{

display:grid;
grid-template-columns:repeat(3, 1fr);

gap:30px;

max-width:1100px;
margin:0 auto;

}

/* Tablet */
@media(max-width:1024px){

.services-grid{

grid-template-columns:repeat(2, 1fr);

}

}

/* Mobile */
@media(max-width:768px){

.services-grid{

grid-template-columns:1fr;

}

}


/* PREMIUM SERVICE CARD HOVER EFFECT */

.service-card{

background:white;

padding:35px;

border-radius:12px;

border:1px solid var(--border);

text-align:center;

transition:all 0.3s ease;

cursor:pointer;

position:relative;

}

.service-card i{

font-size:28px;
color:var(--blue);
margin-bottom:12px;

transition:0.3s;

}

.service-card:hover{

transform:translateY(-10px);

box-shadow:
0 20px 40px rgba(0,0,0,0.1);

border-color:var(--blue);

}

.service-card:hover i{

transform:scale(1.2);

color:var(--blue-dark);

}

/* ABOUT */

.about{

display:grid;
grid-template-columns:1fr 1fr;

gap:50px;

align-items:center;

}

.about img{

width:100%;
border-radius:12px;

}

.highlights{

display:flex;
gap:40px;
margin-top:25px;
flex-wrap:wrap;

}

.highlights div{

display:flex;
align-items:center;
gap:12px;
font-weight:500;

}

.highlights i{

color:var(--blue);
font-size:20px;

}

/* REVIEWS */

.reviews{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;

}

.review-card{

background:white;

padding:25px;

border-radius:12px;

border:1px solid var(--border);

transition:0.3s;

}

.review-card:hover{

transform:translateY(-6px);
box-shadow:0 15px 35px rgba(0,0,0,0.1);

}

.stars{

color:#fbbc04;
margin-bottom:10px;

}

/* CTA */

.cta{

background:var(--blue);

color:white;

text-align:center;

padding:80px 20px;

}

.cta h2{

font-size:32px;
margin-bottom:25px;

}

.btn-white{

display:inline-flex;
align-items:center;
justify-content:center;

gap:10px;

background:white;
color:var(--blue);

padding:16px 32px;

border-radius:8px;

text-decoration:none;
font-weight:600;

transition:0.25s;

}

.btn-white:hover{

transform:translateY(-3px);

box-shadow:0 12px 25px rgba(0,0,0,0.2);

}

/* CONTACT */

.contact{

display:grid;
grid-template-columns:1fr 1fr;

gap:50px;

align-items:center;

}

.contact iframe{

width:100%;
height:350px;
border:none;
border-radius:12px;

}

/* FOOTER */

footer{

background:#0f172a;

color:white;

padding:70px 8% 30px;

}

/* MAIN GRID */

.footer-container{

display:grid;

grid-template-columns:
2fr
1fr
1fr
1fr;

gap:50px;

}

/* BRAND */

.footer-logo{

font-size:20px;
font-weight:600;

display:flex;
align-items:center;
gap:10px;

margin-bottom:16px;

}

.footer-logo i{

color:#2a6fdb;

}

.footer-description{

color:#94a3b8;

line-height:1.6;

max-width:300px;

}

/* COLUMN */

.footer-column h4{

margin-bottom:16px;

font-size:15px;

color:white;

}

.footer-column{

display:flex;
flex-direction:column;
gap:12px;

}

.footer-column a{

color:#94a3b8;

text-decoration:none;

font-size:15px;

transition:0.2s;

}

.footer-column a:hover{

color:white;

transform:translateX(3px);

}

/* SOCIAL */

.footer-socials{

display:flex;
gap:15px;

margin-top:5px;

}

.footer-socials a{

width:38px;
height:38px;

display:flex;
align-items:center;
justify-content:center;

border-radius:8px;

background:#1e293b;

color:white;

transition:0.25s;

}

.footer-socials a:hover{

background:#2a6fdb;

transform:translateY(-3px);

}

/* BOTTOM */

.footer-bottom{

border-top:1px solid rgba(255,255,255,0.1);

margin-top:50px;

padding-top:20px;

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

color:#94a3b8;

font-size:14px;

}

.footer-bottom-links{

display:flex;
gap:20px;

}

.footer-bottom-links a{

color:#94a3b8;

text-decoration:none;

}

.footer-bottom-links a:hover{

color:white;

}

/* MOBILE */

@media(max-width:768px){

.footer-container{

grid-template-columns:1fr;

gap:35px;

}

.footer-bottom{

flex-direction:column;
gap:10px;
text-align:center;

}

}


/* FLOAT BUTTON */

.whatsapp-float{

position:fixed;

bottom:25px;
right:25px;

width:60px;
height:60px;

background:#25D366;

border-radius:50%;

display:flex;
justify-content:center;
align-items:center;

color:white;
font-size:26px;

}

.whatsapp-float:hover { 
    background:#18d85f;
}

/* MOBILE FIX */

@media(max-width:768px){

.hamburger{
display:flex;
}

.nav-links{

position:absolute;
top:70px;
right:0;

background:white;

width:100%;

flex-direction:column;

padding:20px;

display:none;

}

.nav-links.active{
display:flex;
}

.hero{
padding:0 16px;
}

.hero h1{
font-size:32px;
}

.hero p{
font-size:16px;
}

.hero-buttons{

flex-direction:column;
width:100%;

}

.btn-primary,
.btn-secondary{

width:100%;
max-width:300px;

}

.about{
grid-template-columns:1fr;
}

.highlights{
flex-direction:column;
gap:15px;
}

.contact{
grid-template-columns:1fr;
}

.section{
padding:80px 6%;
}

}
