:root{
--bg:#040404;
--card:#0d0d0d;
--line:rgba(255,255,255,.08);
--green:#8DFF2F;
--text:#fff;
--muted:#a4a4a4;
}

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

html{
scroll-behavior:smooth;
}

body{
font-family:'Inter',sans-serif;
background:var(--bg);
color:var(--text);
overflow-x:hidden;
}

.bg-glow{
position:fixed;
top:-200px;
right:-200px;
width:900px;
height:900px;
background:radial-gradient(circle,rgba(141,255,47,.28),transparent 60%);
filter:blur(80px);
animation:float 10s ease-in-out infinite;
z-index:-1;
}

@keyframes float{
0%{transform:translateY(0)}
50%{transform:translateY(40px)}
100%{transform:translateY(0)}
}

.header{
position:fixed;
top:0;
left:0;
right:0;
display:flex;
justify-content:space-between;
align-items:center;
padding:30px 7vw;
backdrop-filter:blur(12px);
background:rgba(0,0,0,.45);
border-bottom:1px solid var(--line);
z-index:50;
}

.logo{
font-size:44px;
font-weight:900;
letter-spacing:-5px;
}

.logo span{
color:var(--green);
}

nav{
display:flex;
gap:36px;
}

nav a{
color:white;
text-decoration:none;
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:1px;
opacity:.8;
transition:.3s;
}

nav a:hover{
opacity:1;
color:var(--green);
}

.hero{
min-height:100vh;
display:grid;
grid-template-columns:1.1fr .9fr;
align-items:center;
padding:0 7vw;
gap:60px;
}

.tag{
display:inline-block;
margin-bottom:24px;
font-size:12px;
font-weight:700;
letter-spacing:4px;
color:var(--green);
}

h1{
font-size:92px;
line-height:.92;
letter-spacing:-6px;
margin-bottom:30px;
}

h1 span{
color:var(--green);
}

.hero p{
font-size:22px;
line-height:1.8;
color:var(--muted);
max-width:650px;
margin-bottom:40px;
}

.buttons{
display:flex;
gap:18px;
}

.btn{
padding:18px 30px;
border-radius:14px;
text-decoration:none;
font-weight:800;
font-size:13px;
text-transform:uppercase;
transition:.3s;
}

.primary{
background:var(--green);
color:black;
}

.primary:hover{
transform:translateY(-3px);
box-shadow:0 0 40px rgba(141,255,47,.35);
}

.secondary{
border:1px solid var(--line);
color:white;
}

.secondary:hover{
background:rgba(255,255,255,.06);
}

.glass-card{
position:relative;
padding:40px;
border-radius:28px;
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.08);
backdrop-filter:blur(30px);
box-shadow:0 40px 80px rgba(0,0,0,.45);
}

.code-line{
height:12px;
border-radius:30px;
background:rgba(255,255,255,.12);
margin-bottom:16px;
}

.code-line.green{
background:var(--green);
width:60%;
}

.code-line.short{
width:40%;
}

.terminal{
margin-top:35px;
font-family:monospace;
font-size:18px;
line-height:2;
color:#c5ff95;
}

.section{
padding:120px 7vw;
}

h2{
font-size:64px;
letter-spacing:-4px;
margin-bottom:50px;
}

.cards,
.project-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:26px;
}

.card,
.project{
position:relative;
padding:40px;
border-radius:28px;
background:var(--card);
border:1px solid var(--line);
overflow:hidden;
transition:.35s;
}

.card:hover,
.project:hover{
transform:translateY(-8px);
border-color:rgba(141,255,47,.35);
}

.card h3,
.project h3{
font-size:30px;
margin-bottom:18px;
}

.card p,
.project p{
color:var(--muted);
line-height:1.8;
font-size:17px;
}

.project-glow{
position:absolute;
top:-100px;
right:-100px;
width:240px;
height:240px;
background:radial-gradient(circle,rgba(141,255,47,.22),transparent 70%);
}

.contact{
margin:0 7vw 120px;
padding:90px;
border-radius:36px;
background:rgba(141,255,47,.08);
border:1px solid rgba(141,255,47,.16);
}

.contact p{
margin:20px 0 40px;
font-size:22px;
color:var(--muted);
}

footer{
padding:50px 7vw;
border-top:1px solid var(--line);
color:#8f8f8f;
}

@media(max-width:980px){

.hero{
grid-template-columns:1fr;
padding-top:160px;
}

.cards,
.project-grid{
grid-template-columns:1fr;
}

h1{
font-size:58px;
}

h2{
font-size:48px;
}

.hero p,
.contact p{
font-size:18px;
}

nav{
display:none;
}

.contact{
padding:50px 30px;
}

}
