@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Cinzel:wght@500;600;700&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;

background:
linear-gradient(
135deg,
#070114,
#140826,
#1e103d,
#2d1457
);


color:white;

overflow-x:hidden;

min-height:100vh;
}

/* NAVBAR */

nav{

display:flex;
justify-content:space-between;
align-items:center;

padding:25px 8%;

position:fixed;

width:100%;

top:0;

background:
rgba(0,0,0,0.3);

backdrop-filter:blur(12px);

z-index:1000;
}

.logo{

width:90px;

border-radius:50%;

box-shadow:
0 0 20px rgba(192,132,252,0.5);
}

.nav-links{

display:flex;

gap:35px;
}

.nav-links a{

text-decoration:none;

color:white;

font-weight:500;

font-size:16px;

transition:0.3s;
}

.nav-links a:hover{

color:#d8b4fe;
}

/* HERO */

.hero{

min-height:100vh;

display:flex;
justify-content:center;
align-items:center;

padding:0 8%;

text-align:left;
}

.hero-left{

max-width:700px;

margin:auto;
}

.hero-left h1{

font-size:90px;

font-family:'Cinzel',serif;

line-height:1.05;

background:
linear-gradient(to right,#ffffff,#d8b4fe);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.hero-left p{

margin-top:25px;

font-size:22px;

line-height:1.8;

color:#ddd;
}

.hero-buttons{

display:flex;
gap:20px;
flex-wrap:wrap;

margin-top:35px;
}

.hero-btn{

display:inline-block;

padding:18px 40px;

background:
linear-gradient(45deg,#9333ea,#c084fc);

border-radius:50px;

text-decoration:none;

color:white;

font-weight:600;

transition:0.3s;

box-shadow:
0 0 25px rgba(192,132,252,0.4);
}

.hero-btn:hover{

transform:translateY(-5px);

box-shadow:
0 0 35px rgba(192,132,252,0.7);
}

.secondary-btn{

background:
rgba(255,255,255,0.1);

border:
1px solid rgba(255,255,255,0.2);
}

/* SERVICES */

.services{

padding:120px 8%;

position:relative;
overflow:hidden;
}


.services::before{

content:"";

position:absolute;

width:400px;
height:400px;

background:
rgba(192,132,252,0.12);

filter:blur(120px);

top:10%;
left:-10%;

z-index:0;
}

.services::after{

content:"";

position:absolute;

width:350px;
height:350px;

background:
rgba(147,51,234,0.12);

filter:blur(120px);

bottom:0;
right:-5%;

z-index:0;
}


.service-grid{
position:relative;
z-index:2;
}


.services-heading{

text-align:center;

margin-bottom:70px;
}

.services-heading h2{

margin-bottom:15px;
}

.services-subtitle{

max-width:700px;

margin:auto;

font-size:18px;

line-height:1.8;

color:#d1d5db;
}

.services h2{

text-align:center;

font-size:55px;


font-family:'Cinzel',serif;

color:#d8b4fe;
}

.service-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:30px;
}

.service-card{

padding:40px;

background:
rgba(255,255,255,0.06);

border-radius:30px;

backdrop-filter:blur(15px);

border:
1px solid rgba(255,255,255,0.08);

transition:0.3s;
}

.service-card:hover{

transform:translateY(-10px);

background:
rgba(255,255,255,0.09);

border:
1px solid rgba(216,180,254,0.4);

box-shadow:
0 0 20px rgba(192,132,252,0.2),
0 0 50px rgba(192,132,252,0.15),
0 0 80px rgba(192,132,252,0.1);
}

.service-card h3{

font-size:28px;

margin-bottom:20px;

color:#d8b4fe;

line-height:1.4;
}

.service-card{
position:relative;
overflow:hidden;
}

.service-card::before{

content:"";

position:absolute;

top:0;
left:-100%;

width:100%;
height:4px;

background:
linear-gradient(
90deg,
transparent,
#d8b4fe,
transparent
);

transition:0.6s;
}

.service-card:hover::before{
left:100%;
}



.service-card{

opacity:0;

transform:translateY(50px);

animation:fadeUp 0.8s forwards;
}


@keyframes fadeUp{

to{

opacity:1;

transform:translateY(0);
}
}




.services-subtitle{

text-align:center;

max-width:700px;

margin:0 auto 70px;

color:#cfcfcf;

font-size:18px;

line-height:1.8;
}


/* ------------------------------------------------- ABOUT-------------------------------------------------------------------- */

.mission-section{

padding:120px 8%;

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:35px;
}

.mission-card{

padding:50px;

background:
rgba(255,255,255,0.06);

border-radius:35px;

backdrop-filter:blur(15px);

border:
1px solid rgba(255,255,255,0.08);
}

.mission-card h2{

font-size:42px;

margin-bottom:25px;

font-family:'Cinzel',serif;

color:#d8b4fe;
}

.mission-card p{

line-height:2;

color:#ddd;
}

/* CLIENTS */

.clients-section{

width:100%;
}

.clients-top{

background:#ff0000;

padding:140px 8%;

text-align:center;

animation:redGlow 3s infinite alternate;
}

.clients-top h2{

font-size:55px;

font-family:'Cinzel',serif;

line-height:1.4;

color:white;
}

@keyframes redGlow{

from{
background:#8b0000;
}

to{
background:#ff0000;
}

}

.clients-logos{

background:white;

padding:100px 8%;

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(180px,1fr));

gap:50px;

align-items:center;
}

.clients-logos img{

width:100%;

filter:grayscale(100%);

transition:0.4s;

cursor:pointer;
}

.clients-logos img:hover{

filter:grayscale(0%);

transform:scale(1.05);
}

/* CONTACT */

.contact{

padding:140px 8%;

text-align:center;
}

.contact h2{

font-size:55px;

font-family:'Cinzel',serif;

color:#d8b4fe;
}

.contact-btn{

display:inline-block;

margin-top:40px;

padding:18px 45px;

background:#25D366;

border-radius:50px;

text-decoration:none;

color:white;

font-size:20px;

font-weight:600;

transition:0.3s;
}

.contact-btn:hover{

transform:translateY(-5px);
}

.socials{

margin-top:50px;

display:flex;
justify-content:center;

gap:30px;
}

.socials a{

font-size:35px;

color:white;

transition:0.3s;
}

.socials a:hover{

color:#d8b4fe;

transform:translateY(-5px);
}

/* MOBILE */

@media(max-width:900px){

.nav-links{
display:none;
}

.hero{

text-align:center;

padding-top:150px;
}

.hero-left h1{
font-size:55px;
}

.hero-left p{
font-size:18px;
}

.services h2,
.contact h2,
.clients-top h2{
font-size:38px;
}

.hero-buttons{

justify-content:center;
}

}


.service-icon{

font-size:42px;

margin-bottom:25px;

width:80px;
height:80px;

display:flex;
align-items:center;
justify-content:center;

border-radius:20px;

background:
linear-gradient(
145deg,
rgba(192,132,252,0.2),
rgba(255,255,255,0.05)
);

box-shadow:
0 0 25px rgba(192,132,252,0.15);

color:#d8b4fe;

transition:0.4s;
}




.service-card:hover .service-icon{

transform:
translateY(-8px)
scale(1.08)
rotate(6deg);

background:
linear-gradient(
145deg,
#9333ea,
#c084fc
);

color:white;
}

.modal{

display:flex;

position:fixed;

z-index:2000;

left:0;
top:0;

width:100%;
height:100%;

background:
rgba(0,0,0,0.75);

backdrop-filter:blur(8px);

justify-content:center;
align-items:center;

padding:20px;
}


.modal-content{

background:
linear-gradient(
145deg,
#1a1033,
#241247
);

padding:45px;

border-radius:30px;

max-width:700px;

width:100%;

border:
1px solid rgba(216,180,254,0.2);

box-shadow:
0 0 40px rgba(192,132,252,0.2);

position:relative;

animation:popup 0.4s ease;
}

@keyframes popup{

from{

opacity:0;

transform:
scale(0.8)
translateY(30px);
}

to{

opacity:1;

transform:
scale(1)
translateY(0);
}
}

.close-btn{

position:absolute;

top:20px;
right:25px;

font-size:35px;

cursor:pointer;

color:#d8b4fe;

transition:0.3s;
}

.close-btn:hover{

transform:rotate(90deg);

color:white;
}

#modalTitle{

font-size:38px;

margin-bottom:20px;

font-family:'Cinzel',serif;

color:#d8b4fe;
}

#modalDescription{

line-height:1.9;

color:#ddd;

margin-bottom:30px;
}

#modalFeatures{

display:flex;

flex-direction:column;

gap:14px;

padding-left:0;
}

#modalFeatures li{

list-style:none;

position:relative;

padding-left:28px;

color:#d1d5db;
}

#modalFeatures li::before{

content:"✦";

position:absolute;

left:0;

color:#d8b4fe;
}