/*==========================================
GENERAL
==========================================*/

body{

background:var(--bg);

color:var(--light);

line-height:1.7;

overflow-x:hidden;

}

.container{

width:min(92%,1250px);

margin:auto;

}

section{

padding:120px 0;

}

.section-title{

font-size:48px;

font-weight:700;

text-align:center;

margin-bottom:70px;

position:relative;

}

.section-title::after{

content:"";

position:absolute;

left:50%;

bottom:-18px;

transform:translateX(-50%);

width:90px;

height:4px;

background:var(--primary);

border-radius:50px;

}

/*==========================================
PRELOADER
==========================================*/

#preloader{

position:fixed;

inset:0;

background:#08111f;

display:flex;

justify-content:center;

align-items:center;

z-index:999999;

transition:.6s;

}

.loader{

width:75px;

height:75px;

border-radius:50%;

border:7px solid rgba(255,255,255,.08);

border-top:7px solid var(--primary);

animation:loader .8s linear infinite;

}

/*==========================================
SCROLL BAR
==========================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:30px;

}

::-webkit-scrollbar-track{

background:#111827;

}

/*==========================================
BACK TO TOP
==========================================*/

#topBtn{

position:fixed;

right:30px;

bottom:30px;

width:55px;

height:55px;

border-radius:50%;

background:var(--primary);

color:#fff;

display:flex;

align-items:center;

justify-content:center;

font-size:20px;

opacity:0;

visibility:hidden;

transition:.35s;

z-index:999;

}

#topBtn.active{

opacity:1;

visibility:visible;

}

#topBtn:hover{

transform:translateY(-8px);

background:var(--primary-light);

}

/*==========================================
HEADER
==========================================*/

.header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:9999;

background:rgba(15,23,42,.75);

backdrop-filter:blur(20px);

transition:.35s;

}

.header.scrolled{

padding:10px 0;

box-shadow:0 10px 35px rgba(0,0,0,.25);

}

.header .container{

display:flex;

justify-content:space-between;

align-items:center;

height:85px;

}

.logo{

font-size:32px;

font-weight:800;

color:#fff;

}

.logo span{

color:var(--primary);

}

.navbar{

display:flex;

gap:35px;

}

.navbar a{

font-size:16px;

font-weight:500;

transition:.3s;

position:relative;

}

.navbar a:hover{

color:var(--primary);

}

.header-actions{

display:flex;

align-items:center;

gap:15px;

}

#theme-toggle,

#menu-btn{

width:45px;

height:45px;

border-radius:50%;

background:var(--card);

color:#fff;

display:flex;

justify-content:center;

align-items:center;

font-size:18px;

transition:.35s;

}

#theme-toggle:hover,

#menu-btn:hover{

background:var(--primary);

}

#menu-btn{

display:none;

}

/*==========================================
HERO
==========================================*/

.hero{

min-height:100vh;

display:flex;

align-items:center;

padding-top:120px;

}

.hero-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

align-items:center;

gap:70px;

}

.hero-subtitle{

font-size:22px;

color:var(--primary);

margin-bottom:15px;

}

.hero h1{

font-size:68px;

font-weight:800;

line-height:1.1;

margin-bottom:15px;

}

.hero h2{

font-size:34px;

font-weight:600;

color:#60a5fa;

margin-bottom:25px;

min-height:50px;

}

.hero-text{

font-size:18px;

color:#cbd5e1;

margin-bottom:35px;

max-width:650px;

}

.hero-buttons{

display:flex;

gap:20px;

margin-bottom:35px;

}

.hero-image{

display:flex;

justify-content:center;

}

.hero-image img{

width:430px;

border-radius:30px;

box-shadow:0 30px 60px rgba(37,99,235,.25);

}

/*==========================================
BADGES
==========================================*/

.hero-badges{

display:flex;

flex-wrap:wrap;

gap:15px;

margin-bottom:35px;

}

.hero-badges span{

padding:12px 22px;

background:rgba(255,255,255,.06);

border:1px solid rgba(255,255,255,.08);

border-radius:50px;

font-size:15px;

transition:.35s;

cursor:pointer;

}

.hero-badges span:hover{

background:var(--primary);

transform:translateY(-6px);

}

/*==========================================
SOCIAL
==========================================*/

.socials{

display:flex;

gap:15px;

}

.socials a{

width:48px;

height:48px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:var(--card);

font-size:20px;

transition:.35s;

}

.socials a:hover{

background:var(--primary);

color:#fff;

transform:translateY(-6px);

}






/*==========================================
ABOUT
==========================================*/

#about{

position:relative;

}

#about p{

max-width:900px;

margin:auto;

font-size:18px;

text-align:center;

color:var(--gray);

line-height:2;

}

/*==========================================
STATISTICS
==========================================*/

.counter{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.counter-box{

padding:40px;

text-align:center;

}

.counter-box h2{

font-size:52px;

font-weight:800;

color:var(--primary);

margin-bottom:10px;

}

.counter-box p{

font-size:18px;

color:var(--gray);

}

/*==========================================
SKILLS
==========================================*/

.skills-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.skill-card{

padding:35px;

text-align:center;

border:1px solid rgba(255,255,255,.05);

}

.skill-card i{

font-size:55px;

color:var(--primary);

margin-bottom:20px;

}

.skill-card h3{

font-size:22px;

margin-bottom:15px;

}

.skill-card p{

font-size:15px;

color:var(--gray);

line-height:1.8;

}

.skill-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 40px rgba(37,99,235,.15);

}

/*==========================================
TECH STACK
==========================================*/

#tech-stack .skill-card{

padding:25px;

cursor:pointer;

}

#tech-stack .skill-card h3{

font-size:18px;

font-weight:600;

}

#tech-stack .skill-card:hover{

background:var(--primary);

color:#fff;

}

/*==========================================
CORE COMPETENCIES
==========================================*/

.services{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.service-card{

padding:40px;

text-align:center;

border:1px solid rgba(255,255,255,.05);

}

.service-card i{

font-size:55px;

color:var(--primary);

margin-bottom:20px;

}

.service-card h3{

font-size:24px;

margin-bottom:15px;

}

.service-card p{

color:var(--gray);

line-height:1.9;

}

.service-card:hover{

transform:translateY(-10px);

}

/*==========================================
MY LAB
==========================================*/

#lab{

background:rgba(255,255,255,.02);

}

#lab .project-card{

padding:35px;

text-align:center;

}

#lab .project-content h3{

font-size:24px;

margin-bottom:20px;

color:var(--primary);

}

#lab .project-content p{

line-height:2;

color:var(--gray);

}

/*==========================================
DAILY TOOLS
==========================================*/

#tools .skill-card{

padding:25px;

}

#tools .skill-card h3{

font-size:18px;

}

#tools .skill-card:hover{

background:var(--primary);

color:#fff;

}

/*==========================================
SECTION SPACING IMPROVEMENT
==========================================*/

#skills,
#tech-stack,
#competencies,
#lab,
#tools{

position:relative;

overflow:hidden;

}

#skills::before,
#competencies::before{

content:"";

position:absolute;

width:300px;

height:300px;

background:rgba(37,99,235,.08);

filter:blur(120px);

border-radius:50%;

top:0;

left:-100px;

}

#skills::after,
#competencies::after{

content:"";

position:absolute;

width:300px;

height:300px;

background:rgba(59,130,246,.08);

filter:blur(120px);

border-radius:50%;

bottom:0;

right:-100px;

}





/*==========================================
EXPERIENCE
==========================================*/

.timeline{

position:relative;

max-width:900px;

margin:auto;

}

.timeline::before{

content:"";

position:absolute;

left:25px;

top:0;

width:4px;

height:100%;

background:var(--primary);

border-radius:10px;

}

.timeline-item{

position:relative;

padding:30px 30px 30px 80px;

margin-bottom:40px;

background:var(--card);

border-radius:18px;

transition:.35s;

}

.timeline-item::before{

content:"";

position:absolute;

left:14px;

top:38px;

width:24px;

height:24px;

border-radius:50%;

background:var(--primary);

border:5px solid var(--bg);

}

.timeline-item:hover{

transform:translateX(10px);

box-shadow:0 20px 40px rgba(37,99,235,.18);

}

.timeline-item h3{

font-size:24px;

margin-bottom:8px;

}

.timeline-item span{

display:inline-block;

margin-bottom:18px;

color:var(--primary);

font-weight:600;

}

.timeline-item p{

line-height:1.9;

color:var(--gray);

}

/*==========================================
PROJECTS
==========================================*/

.projects-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

gap:35px;

}

.project-card{

overflow:hidden;

border-radius:22px;

}

.project-card img{

width:100%;

height:230px;

object-fit:cover;

transition:.6s;

}

.project-content{

padding:30px;

}

.project-content h3{

font-size:24px;

margin-bottom:15px;

}

.project-content p{

line-height:1.8;

color:var(--gray);

margin-bottom:25px;

}

.project-card:hover img{

transform:scale(1.08);

}

.project-links{

display:flex;

gap:15px;

}

.project-links a{

flex:1;

padding:14px;

text-align:center;

background:var(--primary);

color:#fff;

border-radius:10px;

font-weight:600;

transition:.35s;

}

.project-links a:hover{

background:var(--primary-light);

transform:translateY(-5px);

}

/*==========================================
CERTIFICATES
==========================================*/

.certificates{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.certificate-card{

padding:35px;

text-align:center;

}

.certificate-card i{

font-size:60px;

color:gold;

margin-bottom:20px;

}

.certificate-card h3{

font-size:22px;

margin-bottom:10px;

}

.certificate-card p{

color:var(--gray);

}

.certificate-card:hover{

transform:translateY(-10px);

}

/*==========================================
CONTACT
==========================================*/

#contact form{

max-width:850px;

margin:auto;

display:grid;

gap:22px;

}

#contact input,

#contact textarea{

padding:18px 22px;

background:var(--card);

border:none;

border-radius:12px;

color:var(--light);

font-size:16px;

resize:none;

transition:.35s;

}

#contact input:focus,

#contact textarea:focus{

outline:2px solid var(--primary);

}

#contact button{

width:220px;

justify-self:center;

}

/*==========================================
FOOTER
==========================================*/

footer{

padding:40px 0;

background:#08111f;

text-align:center;

margin-top:80px;

border-top:1px solid rgba(255,255,255,.05);

}

footer p{

color:#94a3b8;

font-size:15px;

}

/*==========================================
GLASS EFFECT
==========================================*/

.skill-card,
.service-card,
.project-card,
.timeline-item,
.certificate-card,
.counter-box{

background:rgba(255,255,255,.04);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.06);

}

/*==========================================
HOVER EFFECTS
==========================================*/

.skill-card:hover,
.service-card:hover,
.certificate-card:hover,
.counter-box:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(37,99,235,.18);

}

/*==========================================
SELECTION
==========================================*/

::selection{

background:var(--primary);

color:#fff;

}

/*==========================================
FOCUS
==========================================*/

button:focus,
input:focus,
textarea:focus{

outline:none;

}

/*==========================================
SMOOTH IMAGE
==========================================*/

img{

user-select:none;

-webkit-user-drag:none;

}






/*==========================================
CUSTOM CURSOR
==========================================*/

.custom-cursor{

position:fixed;

width:18px;
height:18px;

border:2px solid var(--primary);

border-radius:50%;

pointer-events:none;

transform:translate(-50%,-50%);

transition:
transform .15s,
width .25s,
height .25s,
background .25s;

z-index:999999;

}

.custom-cursor.active{

width:45px;

height:45px;

background:rgba(37,99,235,.25);

border-color:#60a5fa;

}













/*==========================================
IMAGE MODAL
==========================================*/

.modal{

display:none;

position:fixed;

inset:0;

background:rgba(0,0,0,.9);

justify-content:center;

align-items:center;

z-index:999999;

}

.modal-image{

max-width:90%;

max-height:90%;

border-radius:20px;

}

.close{

position:absolute;

top:30px;

right:40px;

font-size:45px;

cursor:pointer;

color:#fff;

}


.btn{

position:relative;

overflow:hidden;

}

.btn::before{

content:"";

position:absolute;

left:-100%;

top:0;

width:100%;

height:100%;

background:rgba(255,255,255,.18);

transition:.4s;

}

.btn:hover::before{

left:100%;

}

.hero::before{

content:"";

position:absolute;

width:500px;

height:500px;

background:rgba(37,99,235,.15);

filter:blur(150px);

border-radius:50%;

top:-200px;

right:-150px;

}


.navbar a.active{

color:var(--primary);

}


#contact input:hover,
#contact textarea:hover{

border:1px solid var(--primary);

}