@import url("variables.css");

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--bg);
    color:var(--text);
    font-family:Inter,sans-serif;
    line-height:1.6;
}

.container{
    width:min(92%,1280px);
    margin:auto;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
}

section{
    padding:100px 0;
}

h1{
    font-size:4rem;
    line-height:1.1;
}

h2{
    font-size:2.4rem;
    margin-bottom:20px;
}

p{
    color:var(--muted);
}

.btn{
    display:inline-block;
    padding:14px 28px;
    background:var(--primary);
    border-radius:8px;
    margin-top:30px;
    color:white;
    transition:.3s;
}

.btn:hover{
    transform:translateY(-3px);
}

header{

    position:fixed;

    width:100%;

    top:0;

    z-index:999;

    background:rgba(11,15,20,.85);

    backdrop-filter:blur(14px);

}

nav{

    height:80px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

nav h2{

    margin:0;

}

nav ul{

    display:flex;

    gap:35px;

}

nav a{

    transition:.3s;

}

nav a:hover{

    color:var(--primary);

}

.hero{

background:

radial-gradient(

circle at var(--x) var(--y),

rgba(79,140,255,.18),

transparent 30%

);

}

.hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    border-radius:50%;

    background:radial-gradient(

        var(--primary),

        transparent 70%

    );

    opacity:.15;

    top:-200px;

    right:-200px;

    filter:blur(90px);

}

.hero h1{

    max-width:700px;

}

.hero p{

    font-size:1.2rem;

    margin-top:25px;

    max-width:700px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:40px;

}

.secondary{

    background:transparent;

    border:1px solid var(--primary);

}

.grid{

    display:grid;

    gap:30px;

}

.grid-3{

    grid-template-columns:repeat(3,1fr);

}

.grid-2{

    grid-template-columns:repeat(2,1fr);

}

footer{

    padding:60px 0;

    border-top:1px solid var(--border);

    text-align:center;

}

.logo{

    font-size:1.8rem;

    font-weight:700;

}

#theme-toggle{

    background:none;

    border:none;

    cursor:pointer;

    color:var(--text);

    font-size:1.3rem;

}

.hidden{

    opacity:0;

    transform:translateY(70px);

    transition:.8s;

}

.show{

    opacity:1;

    transform:none;

}

#background{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    z-index:-2;

}

.hero::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(9,11,16,.9)

    );

    z-index:-1;

}

.card{

    background:rgba(255,255,255,.04);

    backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:18px;

    padding:35px;

    transition:.35s;

}

.card:hover{

transform:translateY(-10px);

border-color:var(--primary);

}

.scroll-indicator{

margin-top:70px;

font-size:2rem;

animation:bounce 2s infinite;

}

@keyframes bounce{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(12px);

}

}

