*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
min-height:100vh;
background:
radial-gradient(circle at 20% 20%,rgba(124,58,237,0.25),transparent 30%),
radial-gradient(circle at 80% 30%,rgba(34,211,238,0.20),transparent 30%),
linear-gradient(135deg,#020617,#0f172a,#020617);
color:white;
overflow-x:hidden;
}

.bg-circle{
position:fixed;
border-radius:50%;
filter:blur(70px);
opacity:0.5;
z-index:-1;
}

.circle1{
width:260px;
height:260px;
background:#7c3aed;
top:120px;
left:60px;
}

.circle2{
width:300px;
height:300px;
background:#22d3ee;
right:70px;
top:180px;
}

.circle3{
width:220px;
height:220px;
background:#00ffaa;
left:45%;
bottom:40px;
}

nav{
width:90%;
margin:25px auto;
padding:18px 28px;
display:flex;
justify-content:space-between;
align-items:center;
border-radius:22px;
background:rgba(255,255,255,0.08);
border:1px solid rgba(255,255,255,0.16);
backdrop-filter:blur(18px);
box-shadow:0 20px 60px rgba(0,0,0,0.35);
}

.logo{
font-size:24px;
font-weight:800;
}

.logo span{
background:linear-gradient(135deg,#8b5cf6,#22d3ee,#00ffaa);
-webkit-background-clip:text;
color:transparent;
}

nav ul{
list-style:none;
display:flex;
gap:28px;
}

nav ul li a{
text-decoration:none;
color:rgba(255,255,255,0.78);
font-weight:500;
transition:0.3s;
}

nav ul li a:hover{
color:#22d3ee;
}

.hero{
min-height:420px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:40px 20px;
}

.hero-content{
max-width:900px;
}

.hero h1{
font-size:68px;
line-height:1.1;
font-weight:800;
margin-bottom:24px;
}

.hero h1 span{
background:linear-gradient(135deg,#ffffff,#a78bfa,#22d3ee);
-webkit-background-clip:text;
color:transparent;
}

.hero p{
max-width:720px;
margin:0 auto 35px;
font-size:18px;
line-height:1.8;
color:rgba(255,255,255,0.75);
}

.buttons{
display:flex;
justify-content:center;
gap:16px;
flex-wrap:wrap;
}

.btn{
display:inline-block;
padding:14px 32px;
border-radius:999px;
background:linear-gradient(135deg,#7c3aed,#2563eb,#22d3ee);
color:white;
text-decoration:none;
font-weight:700;
box-shadow:0 14px 35px rgba(37,99,235,0.35);
transition:0.35s;
}

.btn:hover{
transform:translateY(-5px);
box-shadow:0 20px 45px rgba(34,211,238,0.35);
}

.btn.outline{
background:rgba(255,255,255,0.10);
border:1px solid rgba(255,255,255,0.22);
box-shadow:none;
}

.roles{
width:90%;
margin:20px auto 60px;
text-align:center;
}

.roles h2{
font-size:38px;
margin-bottom:30px;
background:linear-gradient(135deg,#ffffff,#22d3ee);
-webkit-background-clip:text;
color:transparent;
}

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
}

.card{
position:relative;
overflow:hidden;
padding:34px;
border-radius:28px;
background:rgba(255,255,255,0.09);
border:1px solid rgba(255,255,255,0.16);
backdrop-filter:blur(18px);
box-shadow:0 20px 55px rgba(0,0,0,0.3);
transition:0.35s;
}

.card::before{
content:"";
position:absolute;
width:150px;
height:150px;
border-radius:50%;
background:linear-gradient(135deg,rgba(124,58,237,0.35),rgba(34,211,238,0.25));
right:-50px;
top:-50px;
filter:blur(8px);
}

.card:hover{
transform:translateY(-10px) scale(1.02);
box-shadow:0 25px 70px rgba(34,211,238,0.20);
}

.icon{
font-size:44px;
margin-bottom:18px;
}

.card h3{
font-size:24px;
margin-bottom:12px;
}

.card p{
color:rgba(255,255,255,0.72);
line-height:1.6;
margin-bottom:24px;
}

.card a{
display:inline-block;
padding:11px 24px;
border-radius:999px;
background:rgba(34,211,238,0.14);
border:1px solid rgba(34,211,238,0.32);
color:#22d3ee;
text-decoration:none;
font-weight:700;
transition:0.3s;
}

.card a:hover{
background:#22d3ee;
color:#020617;
}

footer{
text-align:center;
padding:24px;
color:rgba(255,255,255,0.65);
border-top:1px solid rgba(255,255,255,0.10);
background:rgba(255,255,255,0.04);
}

@media(max-width:768px){
nav{
flex-direction:column;
gap:18px;
}

nav ul{
flex-wrap:wrap;
justify-content:center;
gap:14px;
}

.hero h1{
font-size:42px;
}

.hero p{
font-size:15px;
}

.roles h2{
font-size:30px;
}
}