*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins;
}

body{
background:#000;
color:white;
overflow-x:hidden;
}

/* particles */

#particles{
position:fixed;
width:100%;
height:100%;
top:0;
left:0;
z-index:-3;
}

/* cursor glow */

.cursor-glow{
position:fixed;
width:300px;
height:300px;
background:radial-gradient(circle,rgba(212,175,55,0.25),transparent);
border-radius:50%;
pointer-events:none;
transform:translate(-50%,-50%);
z-index:-1;
}

/* navbar */

.navbar{
position:fixed;
top:0;
width:100%;
display:flex;
justify-content:space-between;
padding:20px 8%;
background:rgba(0,0,0,0.5);
backdrop-filter:blur(10px);
z-index:1000;
}

.navbar nav{
display:flex;
gap:25px;
}

.navbar a{
color:white;
text-decoration:none;
position:relative;
}

.navbar a::after{
content:"";
position:absolute;
bottom:-5px;
left:0;
width:0%;
height:2px;
background:#ffd700;
transition:.3s;
}

.navbar a:hover::after{
width:100%;
}

/* gold gradient text */

.gradient-text{

background:linear-gradient(
90deg,
#d4af37,
#ffd700,
#f5d76e,
#ffd700,
#b8962e
);

background-size:200%;

-webkit-background-clip:text;
color:transparent;

animation:goldFlow 6s linear infinite;

}

@keyframes goldFlow{
0%{background-position:0%}
100%{background-position:200%}
}

/* hero */

.hero{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:120px 20px;
}

.hero h1{
font-size:clamp(40px,6vw,70px);
margin-bottom:30px;
}

/* premium button */

.hero-btn{
margin-top:40px;
display:inline-flex;
align-items:center;
justify-content:center;

padding:16px 40px;

font-weight:600;

border-radius:40px;

color:#000;

background:linear-gradient(
135deg,
#d4af37,
#ffd700,
#f5d76e
);

text-decoration:none;

position:relative;

overflow:hidden;

transition:.35s;

box-shadow:0 10px 25px rgba(212,175,55,.35);

}

.hero-btn:hover{

transform:translateY(-4px) scale(1.04);

box-shadow:0 18px 40px rgba(212,175,55,.55);

}

.hero-btn::before{

content:"";
position:absolute;
top:0;
left:-120%;
width:120%;
height:100%;

background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,.6),
transparent
);

transition:.7s;

}

.hero-btn:hover::before{
left:120%;
}

/* sections */

section{
padding:120px 8%;
}

.section-title{
text-align:center;
font-size:clamp(30px,4vw,42px);
margin-bottom:60px;
}

/* services */

.services-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.service-card{
background:rgba(255,255,255,0.05);
backdrop-filter:blur(20px);
border-radius:20px;
overflow:hidden;
position:relative;
transition:.4s;
}

.service-card img{
width:100%;
height:200px;
object-fit:cover;
transition:.6s;
}

.service-card:hover img{
transform:scale(1.15);
filter:brightness(1.2);
}

.service-card::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(120deg,transparent,rgba(255,255,255,.3),transparent);
transition:.7s;
}

.service-card:hover::before{
left:100%;
}

.service-card:hover{
box-shadow:0 20px 60px rgba(212,175,55,.3);
}

/* work */

.work-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

.work-card img{
width:100%;
border-radius:20px;
animation:float 6s ease-in-out infinite;
}

@keyframes float{
0%{transform:translateY(0)}
50%{transform:translateY(-10px)}
100%{transform:translateY(0)}
}

/* contact */

.contact-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.contact-card{
background:rgba(255,255,255,0.05);
padding:40px;
border-radius:20px;
text-align:center;
}

.contact-card a{
display:inline-block;
margin-top:15px;
padding:10px 25px;
background:#ffd700;
border-radius:25px;
text-decoration:none;
color:black;
}

/* footer */

footer{
text-align:center;
padding:40px;
background:#000;
}

/* whatsapp */

.whatsapp{
position:fixed;
bottom:25px;
right:25px;
width:65px;
height:65px;
background:#25D366;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
}

/* reveal */

.reveal{
opacity:0;
transform:translateY(60px);
transition:1s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}