/* ======================================================
   GLOBAL
====================================================== */

:root{

--bg:#030712;
--bg2:#071224;
--primary:#3b82f6;
--secondary:#8b5cf6;
--cyan:#06b6d4;

--text:#ffffff;
--gray:#94a3b8;

--glass:rgba(255,255,255,.06);

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:"Inter",sans-serif;

background:
radial-gradient(circle at top left,#1d4ed833,transparent 35%),
radial-gradient(circle at bottom right,#8b5cf633,transparent 30%),
linear-gradient(180deg,var(--bg),var(--bg2));

color:white;

overflow-x:hidden;

min-height:100vh;

}

/* ======================================================
BACKGROUND CANVAS
====================================================== */

#network{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

z-index:-3;

}

/* ======================================================
GRADIENT LIGHT
====================================================== */

body::before{

content:"";

position:fixed;

width:900px;

height:900px;

background:radial-gradient(circle,

rgba(59,130,246,.18),

transparent 70%);

left:-250px;

top:-250px;

filter:blur(80px);

animation:float1 15s infinite alternate;

z-index:-2;

}

body::after{

content:"";

position:fixed;

width:800px;

height:800px;

background:radial-gradient(circle,

rgba(139,92,246,.15),

transparent 70%);

right:-200px;

bottom:-200px;

filter:blur(90px);

animation:float2 18s infinite alternate;

z-index:-2;

}

/* ======================================================
NAVBAR
====================================================== */

nav{

position:fixed;

top:25px;

left:50%;

transform:translateX(-50%);

width:min(1200px,90%);

padding:18px 30px;

display:flex;

justify-content:space-between;

align-items:center;

border-radius:18px;

background:rgba(255,255,255,.04);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.08);

z-index:100;

}

.logo{

font-size:28px;

font-weight:800;

color:var(--primary);

}

nav ul{

display:flex;

gap:35px;

list-style:none;

}

nav a{

color:white;

text-decoration:none;

transition:.3s;

font-weight:600;

}

nav a:hover{

color:var(--primary);

}

/* ======================================================
HERO
====================================================== */

.hero{

height:100vh;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

text-align:center;

padding:20px;

}

.hero h1{

font-size:72px;

font-weight:800;

line-height:1.1;

background:linear-gradient(90deg,#fff,#60a5fa,#a855f7);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

margin-bottom:20px;

}

.hero h2{

font-size:34px;

color:#60a5fa;

height:40px;

margin-bottom:20px;

}

.hero p{

max-width:700px;

font-size:20px;

color:var(--gray);

margin-bottom:40px;

}

/* ======================================================
BUTTONS
====================================================== */

.buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}

.buttons a{

padding:15px 34px;

border-radius:14px;

text-decoration:none;

font-weight:700;

transition:.35s;

}

.primary{

background:linear-gradient(135deg,#2563eb,#7c3aed);

color:white;

box-shadow:0 0 40px rgba(59,130,246,.45);

}

.primary:hover{

transform:translateY(-5px);

box-shadow:0 0 70px rgba(59,130,246,.7);

}

.secondary{

border:1px solid rgba(255,255,255,.15);

background:rgba(255,255,255,.04);

backdrop-filter:blur(12px);

color:white;

}

.secondary:hover{

background:rgba(255,255,255,.1);

}

/* ======================================================
SECTIONS
====================================================== */

section{

width:min(1200px,92%);

margin:auto;

padding:120px 0;

}

section h2{

font-size:44px;

margin-bottom:40px;

}

/* ======================================================
GLASS
====================================================== */

.glass{

background:rgba(255,255,255,.05);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

padding:45px;

box-shadow:

0 0 40px rgba(0,0,0,.25);

}

/* ======================================================
SKILLS
====================================================== */

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(170px,1fr));

gap:25px;

}

.card{

position:relative;

overflow:hidden;

padding:35px;

border-radius:22px;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

transition:.35s;

}

.card::before{

content:"";

position:absolute;

inset:-2px;

background:

linear-gradient(

135deg,

#3b82f6,

#8b5cf6,

#06b6d4

);

opacity:0;

transition:.35s;

z-index:-2;

}

.card::after{

content:"";

position:absolute;

inset:1px;

background:#071224;

border-radius:20px;

z-index:-1;

}

.card:hover{

transform:translateY(-12px);

box-shadow:

0 0 50px rgba(59,130,246,.35);

}

.card:hover::before{

opacity:1;

}

/* ======================================================
PROJECTS
====================================================== */

.project-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

}

.project{

transition:.4s;

}

.project:hover{

transform:rotateX(5deg)

rotateY(-5deg)

translateY(-8px);

box-shadow:

0 0 60px rgba(59,130,246,.3);

}

.project h3{

margin-bottom:12px;

font-size:22px;

}

.project p{

color:var(--gray);

margin-bottom:20px;

}

.project-link{

display:block;

margin-top:12px;

color:#60a5fa;

text-decoration:none;

font-weight:600;

font-size:14px;

}

.project-link:hover{

color:#93c5fd;

}

/* ======================================================
EXPERIENCE / TIMELINE
====================================================== */

.timeline{

display:flex;

flex-direction:column;

gap:24px;

}

.timeline-item{

transition:.35s;

}

.timeline-item:hover{

transform:translateY(-4px);

box-shadow:0 0 40px rgba(59,130,246,.25);

}

.timeline-head{

display:flex;

flex-wrap:wrap;

justify-content:space-between;

align-items:baseline;

gap:10px;

margin-bottom:4px;

}

.timeline-head h3{

font-size:22px;

}

.timeline-date{

color:var(--cyan);

font-size:14px;

font-weight:600;

white-space:nowrap;

}

.timeline-company{

color:#93c5fd;

font-weight:600;

margin-bottom:14px;

}

.timeline-item p:not(.timeline-company){

color:var(--gray);

}

.tags{

display:flex;

flex-wrap:wrap;

gap:10px;

}

.tags span{

padding:6px 14px;

border-radius:999px;

font-size:13px;

font-weight:600;

color:#93c5fd;

background:rgba(59,130,246,.12);

border:1px solid rgba(59,130,246,.25);

}

/* ======================================================
CONTACT
====================================================== */

#contact p{

margin:20px 0;

font-size:20px;

}

.contact-links{

display:flex;

gap:20px;

flex-wrap:wrap;

}

.contact-links a{

padding:15px 34px;

border-radius:14px;

text-decoration:none;

font-weight:700;

color:white;

border:1px solid rgba(255,255,255,.15);

background:rgba(255,255,255,.04);

backdrop-filter:blur(12px);

transition:.35s;

}

.contact-links a:hover{

background:rgba(255,255,255,.1);

transform:translateY(-4px);

}

/* ======================================================
FOOTER
====================================================== */

footer{

padding:80px;

text-align:center;

color:#64748b;

}

/* ======================================================
CURSOR
====================================================== */

#cursorGlow{

position:fixed;

width:340px;
height:340px;

border-radius:50%;

pointer-events:none;

transform:translate(-50%,-50%);

background:
radial-gradient(circle,

rgba(96,165,250,.22) 0%,

rgba(59,130,246,.15) 25%,

rgba(139,92,246,.10) 55%,

transparent 80%

);

filter:blur(60px);

mix-blend-mode:screen;

z-index:-1;

transition:
width .25s,
height .25s;

}

/* ======================================================
RESPONSIVE
====================================================== */

@media(max-width:768px){

.hero h1{

font-size:46px;

}

.hero h2{

font-size:24px;

}

nav{

padding:15px;

}

nav ul{

gap:15px;

font-size:14px;

}

section h2{

font-size:34px;

}

}
