*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Space Grotesk',sans-serif;
}

body{

background:
radial-gradient(circle at top,#231942 0%,#090b18 40%,#04050c 100%);
color:white;
overflow-x:hidden;

}

body::before{

content:"";

position:fixed;

width:100%;
height:100%;

left:0;
top:0;

background-image:

radial-gradient(white 1px,transparent 1px);

background-size:60px 60px;

opacity:.12;

pointer-events:none;

z-index:-1;

}

header{

position:fixed;
width:100%;
top:0;
left:0;
z-index:1000;

padding:18px 8%;

backdrop-filter:blur(20px);

background:rgba(255,255,255,.04);

border-bottom:1px solid rgba(255,255,255,.08);

}

nav{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

font-size:28px;
font-weight:700;

}

.logo span{

color:#8B5CF6;

}

nav ul{

display:flex;
gap:35px;

list-style:none;

}

nav a{

color:white;

text-decoration:none;

transition:.3s;

}

nav a:hover{

color:#8B5CF6;

}

.btn-nav{

padding:12px 28px;

background:#8B5CF6;

border:none;

border-radius:50px;

color:white;

cursor:pointer;

font-weight:600;

transition:.3s;

}

.btn-nav:hover{

transform:translateY(-3px);

box-shadow:0 0 25px #8B5CF6;

}

.hero{
    position:relative;
    display:flex;
    align-items:center;
    min-height:100vh;
    padding:120px 8% 180px;
    overflow:hidden;
}

.hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;

    /* Move image slightly to the right */
    object-position:80% center;

    z-index:0;
}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(5,8,22,.88) 0%,
        rgba(5,8,22,.72) 35%,
        rgba(5,8,22,.25) 65%,
        rgba(5,8,22,0) 100%
    );

    z-index:1;

}

.hero-left{

position:relative;
z-index:5;

width:48%;
max-width:620px;

margin-left:0;

}

.small-title{

letter-spacing:5px;

color:#8B5CF6;

margin-bottom:20px;

}

.hero h1{

font-size:92px;
line-height:92px;

font-weight:700;

margin-bottom:35px;

}
.hero h1 span{

color:#8B5CF6;

}

.hero p{

width:95%;

font-size:21px;

line-height:38px;

color:#B9B9C7;

margin-bottom:45px;

}
.buttons{

display:flex;

gap:20px;

}

.primary{

padding:18px 44px;

background:#8B5CF6;

border:none;

border-radius:50px;

color:white;

font-size:18px;

cursor:pointer;

transition:.3s;

}

.secondary{

padding:18px 44px;

background:transparent;

border:2px solid #8B5CF6;

border-radius:50px;

color:white;

font-size:18px;

cursor:pointer;

transition:.3s;

}

.primary:hover,

.secondary:hover{

transform:translateY(-12px) scale(1.03);

box-shadow:
0 0 55px rgba(139,92,246,.28);

}
@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-25px);

}

100%{

transform:translateY(0);

}

}

/* ================= STATS ================= */

.stats{
    position:relative;
    margin-top:-110px;
    z-index:20;
    display:flex;
    justify-content:center;
    padding:0 8%;
}

.stats-box{

    width:1080px;
    max-width:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:rgba(17,18,30,.72);
    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:28px;

    padding:36px 65px;

}

.stat{

    display:flex;

    align-items:center;

    gap:18px;

    flex:1;

}

.icon{

    font-size:42px;

}

.stat h2{

    font-size:40px;

}

.stat p{

    color:#bcbcbc;

    margin-top:5px;

}

.divider{

    width:1px;

    height:70px;

    background:rgba(255,255,255,.15);

}
/* =======================================
   SERVICES
======================================= */

.services{

padding:90px 8% 120px;

text-align:center;

}

.services h4{

color:#8B5CF6;

font-size:18px;

letter-spacing:4px;

margin-bottom:15px;

}

.services h2{

font-size:58px;

margin-bottom:70px;

}

.service-grid{

display:grid;

grid-template-columns:repeat(5,1fr);

gap:25px;

}

.card{

background:rgba(16,17,28,.75);

backdrop-filter:blur(20px);

border:1px solid rgba(255,255,255,.08);

border-radius:25px;

padding:45px 30px;

transition:.35s;

cursor:pointer;

}

.card:hover{

transform:translateY(-12px);

border-color:#8B5CF6;

box-shadow:0 0 35px rgba(139,92,246,.35);

}

.card-icon{

font-size:55px;

margin-bottom:25px;

}

.card h3{

font-size:30px;

margin-bottom:20px;

}

.card p{

font-size:18px;

color:#B5B5B5;

line-height:32px;

margin-bottom:30px;

}

.card a{

text-decoration:none;

color:#8B5CF6;

font-size:18px;

font-weight:600;

transition:.3s;

}

.card:hover a{

letter-spacing:2px;

}

footer{

padding:70px 8%;

text-align:center;

border-top:1px solid rgba(255,255,255,.08);

background:#090b16;

}

footer h2{

font-size:40px;

margin-bottom:20px;

}

footer p{

color:#9c9c9c;

margin-top:10px;

}

@media(max-width:1200px){

.service-grid{

grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

}

}

@media(max-width:768px){

.service-grid{

grid-template-columns:1fr;

}

.services h2{

font-size:42px;

}

.card{

padding:38px 28px;

min-height:360px;

}

}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width: 768px){

header{
    padding:15px 20px;
}

nav{
    justify-content:space-between;
}

/* Hide desktop menu */
nav ul{
    display:none;
}

/* Hide button */
.btn-nav{
    display:none;
}

.logo{
    font-size:20px;
}

/* Hero */

.hero{
    min-height:100vh;
    padding:120px 25px 60px;
}

.hero-bg{
    object-position:70% center;
}

.hero-left{
    width:100%;
    margin-left:0;
}

.small-title{
    font-size:13px;
    letter-spacing:4px;
}

.hero h1{
    font-size:56px;
    line-height:60px;
}

.hero p{
    width:100%;
    font-size:18px;
    line-height:30px;
}

.buttons{
    flex-direction:column;
}

.primary,
.secondary{
    width:100%;
    padding:16px;
}

/* Stats */

.stats{
    margin-top:-40px;
    padding:0 20px;
}

.stats-box{
    width:100%;
    flex-direction:column;
    gap:25px;
    padding:30px;
}

.divider{
    display:none;
}

/* Services */

.services{
    padding:90px 20px;
}

.services h2{
    font-size:42px;
}

.service-grid{
    grid-template-columns:1fr;
}

.card{
    padding:35px 25px;
}
}