*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

:root{
--bg:#020617;
--text:#ffffff;
--muted:#94a3b8;
--card:rgba(255,255,255,.05);
--nav:#ffffff;
--accent:#38bdf8;

/* BACKGROUNDS */
--blur1:#0ea5e9;
--blur2:#8b5cf6;
--section:transparent;
}

body.light-mode{
--bg:#f8fafc;
--text:#0f172a;
--muted:#475569;
--card:#ffffff;
--nav:#0f172a;
--accent:#0ea5e9;

/* LIGHT BACKGROUNDS */
--blur1:#60a5fa;
--blur2:#a78bfa;
--section:#f1f5f9;
}

body{
background:var(--bg);
color:var(--text);
transition:.4s ease;
}

section{
background:var(--section);
transition:.4s ease;
}

.blur1{
background:var(--blur1);
opacity:.18;
}

.blur2{
background:var(--blur2);
opacity:.18;
}

.hero-image::before{
background:linear-gradient(45deg,var(--blur1),var(--blur2));
opacity:.3;
}

/* OVERLAY TEXT (PORTFOLIO + BLOG) */
.portfolio-overlay h3{
color:#fff;
transition:.3s;
}

.portfolio-overlay p{
color:#cbd5e1;
transition:.3s;
}

/* LIGHT MODE FIX */
body.light-mode .portfolio-overlay h3{
color:#0f172a;
}

body.light-mode .portfolio-overlay p{
color:#334155;
}

/* LIGHT MODE OVERLAY BACKGROUND */
body.light-mode .portfolio-overlay{
background:linear-gradient(
to top,
rgba(255,255,255,.95),
rgba(255,255,255,.6)
);
}

@media(max-width:1100px){

.hero-wrapper,
.about-wrapper,
.contact-wrapper{
grid-template-columns:1fr;
text-align:center;
}

.services-grid,
.skills-grid,
.portfolio-grid,
.pricing-grid,
.testimonials-grid,
.achievement-grid,
.certification-grid{
grid-template-columns:1fr 1fr;
}

.hero-text h1{
font-size:55px;
}
}

@media(max-width:768px){

.menu-btn{
display:block;
}

.nav-links{
position:fixed;
top:90px;
right:-100%;
width:280px;
height:100vh;
background:var(--bg);
flex-direction:column;
padding:40px 25px;
transition:.4s;
}

.nav-links.active{
right:0;
}

.hero-text h1{
font-size:40px;
}

.hero-image img{
width:280px;
height:280px;
}

.services-grid,
.skills-grid,
.portfolio-grid,
.pricing-grid,
.testimonials-grid,
.achievement-grid,
.certification-grid{
grid-template-columns:1fr;
}

.timeline::before{
left:20px;
}

.timeline-item{
width:100%;
padding-left:60px;
left:0 !important;
}
}

@media(max-width:480px){

.section-title h2{
font-size:28px;
}

.hero-text h1{
font-size:32px;
}

.btn{
padding:14px 25px;
font-size:13px;
}

.social-icons a{
width:45px;
height:45px;
}
}

/* MOBILE NAVBAR BASE */
@media(max-width:768px){

.nav-links{
background:var(--bg);
}

.nav-links li a{
color:var(--text);
}

/* LIGHT MODE MOBILE NAVBAR */
body.light-mode .nav-links{
background:#ffffff;
}

body.light-mode .nav-links li a{
color:#0f172a;
}

body.light-mode .nav-links li a:hover{
color:var(--accent);
}
}

@media(max-width:768px){

.certification-grid,
.achievement-grid,
.tech-grid{
grid-template-columns:1fr;
gap:20px;
}
}



header.active{
background:rgba(2,6,23,.85);
backdrop-filter:blur(20px);
transition:.4s;
}

/* LIGHT MODE SCROLL NAVBAR */
body.light-mode header.active{
background:rgba(255,255,255,.85);
backdrop-filter:blur(20px);
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.nav-links li a{
color:var(--nav);
transition:.3s;
}

body.light-mode .nav-links li a{
color:#0f172a;
}

header.active .nav-links li a{
color:var(--nav);
}

body.light-mode header.active .nav-links li a{
color:#0f172a;
}





body{
font-family:'Poppins',sans-serif;
background:#020617;
color:#fff;
overflow-x:hidden;
}

.container{
width:90%;
max-width:1350px;
margin:auto;
}

section{
padding:120px 0;
position:relative;
}

a{
text-decoration:none;
}

img{
max-width:100%;
display:block;
}

ul{
list-style:none;
}

/* =========================
PARTICLES
========================= */

#particles-js{
position:fixed;
width:100%;
height:100%;
top:0;
left:0;
z-index:-2;
}

/* =========================
SCROLLBAR
========================= */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-thumb{
background:linear-gradient(#0ea5e9,#8b5cf6);
border-radius:20px;
}

/* =========================
CURSOR
========================= */

.cursor{
width:20px;
height:20px;
border:2px solid #38bdf8;
border-radius:50%;
position:fixed;
transform:translate(-50%,-50%);
pointer-events:none;
z-index:99999;
}

/* =========================
BLUR EFFECTS
========================= */

.blur1,
.blur2{
position:fixed;
width:420px;
height:420px;
border-radius:50%;
filter:blur(160px);
z-index:-1;
}

.blur1{
background:#0ea5e9;
top:-180px;
left:-120px;
opacity:.18;
}

.blur2{
background:#8b5cf6;
bottom:-180px;
right:-120px;
opacity:.18;
}

/* =========================
HEADER
========================= */

header{
position:fixed;
top:0;
left:0;
width:100%;
padding:20px 0;
z-index:999;
transition:.4s;
}

header.active{
background:rgba(2,6,23,.85);
backdrop-filter:blur(20px);
box-shadow:0 10px 30px rgba(0,0,0,.3);
}

.navbar{
display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
font-size:35px;
font-weight:800;
}

.logo span{
color:#38bdf8;
}

.nav-links{
display:flex;
gap:30px;
}

.nav-links li a{
color:#fff;
font-weight:500;
position:relative;
transition:.4s;
}

.nav-links li a::after{
content:'';
position:absolute;
left:0;
bottom:-6px;
width:0;
height:2px;
background:#38bdf8;
transition:.4s;
}

.nav-links li a:hover::after,
.nav-links li a.active::after{
width:100%;
}

.nav-links li a:hover,
.nav-links li a.active{
color:#38bdf8;
}

.menu-btn{
display:none;
font-size:28px;
cursor:pointer;
}

/* =========================
BUTTONS
========================= */

.btn{
padding:17px 35px;
border:none;
border-radius:60px;
cursor:pointer;
font-size:15px;
font-weight:600;
display:inline-flex;
align-items:center;
gap:10px;
transition:.4s;
}

.btn:hover{
transform:translateY(-6px);
}

.btn-primary{
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
color:#fff;
}

.btn-outline{
border:2px solid #38bdf8;
background:transparent;
color:#38bdf8;
}

/* =========================
CARD
========================= */

.card{
background:rgba(255,255,255,.05);
backdrop-filter:blur(20px);
border:1px solid rgba(255,255,255,.08);
box-shadow:0 10px 40px rgba(0,0,0,.3);
border-radius:30px;
transition:.4s;
}

.card:hover{
transform:translateY(-10px);
}

/* =========================
HERO
========================= */

.hero{
min-height:100vh;
display:flex;
align-items:center;
padding-top:120px;
}

.hero-wrapper{
display:grid;
grid-template-columns:1.2fr 1fr;
gap:80px;
align-items:center;
}

.hero-text small{
color:#38bdf8;
letter-spacing:4px;
}

.hero-text h1{
font-size:85px;
line-height:1.1;
margin:20px 0;
}

.hero-text h1 span{
background:linear-gradient(45deg,#38bdf8,#8b5cf6);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.hero-text h3{
font-size:32px;
margin-bottom:20px;
}

.typing{
color:#38bdf8;
}

.hero-text p{
line-height:2;
color:#94a3b8;
margin-bottom:40px;
}

.hero-btns{
display:flex;
gap:20px;
flex-wrap:wrap;
}

.social-icons{
display:flex;
gap:18px;
margin-top:45px;
}

.social-icons a{
width:55px;
height:55px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:rgba(255,255,255,.05);
color:#fff;
transition:.4s;
}

.social-icons a:hover{
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
transform:translateY(-6px);
}

.hero-image{
position:relative;
text-align:center;
}

.hero-image::before{
content:'';
position:absolute;
width:420px;
height:420px;
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
filter:blur(80px);
opacity:.3;
border-radius:50%;
}

.hero-image img{
width:430px;
height:430px;
object-fit:cover;
border-radius:40px;
position:relative;
z-index:2;
border:4px solid rgba(255,255,255,.08);
animation:float 4s ease-in-out infinite;
}

@keyframes float{
0%{transform:translateY(0);}
50%{transform:translateY(-20px);}
100%{transform:translateY(0);}
}

/* =========================
SECTION TITLE
========================= */

.section-title{
text-align:center;
margin-bottom:70px;
}

.section-title small{
color:#38bdf8;
letter-spacing:4px;
}

.section-title h2{
font-size:52px;
margin-top:10px;
}

/* =========================
ABOUT
========================= */

.about-wrapper{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.about-image img{
height:600px;
object-fit:cover;
border-radius:35px;
}

.about-content h3{
font-size:42px;
margin-bottom:25px;
}

.about-content p{
line-height:2;
color:#94a3b8;
margin-bottom:25px;
}

.about-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:25px;
margin-top:30px;
}

.about-buttons{
display:flex !important;
flex-direction:row !important;
gap:16px;
margin-top:20px;
width:100%;
max-width:520px;
align-items:center;
}

.about-buttons a{
flex:1;
display:flex;
justify-content:center;
align-items:center;
white-space:nowrap;
padding:16px 26px;
border-radius:60px;
font-size:15px;
font-weight:600;
}

/* =========================
PRIMARY BUTTON (Hire Me)
========================= */
.about-buttons a.btn-primary{
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
color:#fff;
border:none;
box-shadow:0 12px 28px rgba(14,165,233,0.25);
}

/* =========================
OUTLINE BUTTON (Download CV)
========================= */
.about-buttons a.btn-outline{
background:transparent;
color:#38bdf8;
border:2px solid #38bdf8;
}

/* =========================
HOVER EFFECT (COMMON)
========================= */
.about-buttons a:hover{
transform:translateY(-6px);
}

/* PRIMARY HOVER */
.about-buttons a.btn-primary:hover{
box-shadow:0 18px 40px rgba(139,92,246,0.35);
filter:brightness(1.08);
}

/* OUTLINE HOVER */
.about-buttons a.btn-outline:hover{
background:#38bdf8;
color:#020617;
box-shadow:0 12px 25px rgba(56,189,248,0.25);
}

/* =========================
ACTIVE CLICK EFFECT
========================= */
.about-buttons a:active{
transform:translateY(-2px);
}

@media(max-width:600px){
.about-buttons{
flex-direction:column;
max-width:100%;
}

.about-buttons a{
width:100%;
}
}


/* =========================
SERVICES
========================= */

.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

.service-card{
padding:45px 35px;
}

.service-icon{
width:90px;
height:90px;
display:flex;
align-items:center;
justify-content:center;
font-size:35px;
border-radius:25px;
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
margin-bottom:30px;
}

/* =========================
SKILLS
========================= */

.skills-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:35px;
}

.skill-card{
padding:35px;
}

.skill-top{
display:flex;
justify-content:space-between;
margin-bottom:15px;
}

.skill-top span{
color:#38bdf8;
font-weight:600;
}

.skill-card p{
margin-top:18px;
line-height:1.8;
color:#94a3b8;
}

.progress{
height:12px;
background:#0f172a;
border-radius:20px;
overflow:hidden;
}

.progress-bar{
height:100%;
border-radius:20px;
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
}

.html{width:95%;}
.js{width:90%;}
.asp{width:88%;}
.sql{width:85%;}

/* =========================
EXPERIENCE
========================= */

.timeline{
position:relative;
max-width:1000px;
margin:auto;
}

.timeline::before{
content:'';
position:absolute;
left:50%;
transform:translateX(-50%);
width:4px;
height:100%;
background:linear-gradient(#0ea5e9,#8b5cf6);
}

.timeline-item{
position:relative;
width:50%;
padding:30px 40px;
}

.timeline-item:nth-child(odd){
left:0;
}

.timeline-item:nth-child(even){
left:50%;
}

.timeline-content{
padding:35px;
}

.timeline-content span{
color:#38bdf8;
font-weight:600;
}

.timeline-content h3{
font-size:28px;
margin:12px 0;
}

.timeline-content h4{
margin-bottom:18px;
color:#94a3b8;
}

.timeline-content p{
line-height:1.9;
color:#cbd5e1;
}

.timeline-item::before{
content:'';
position:absolute;
top:50px;
right:-12px;
width:24px;
height:24px;
border-radius:50%;
background:#38bdf8;
border:4px solid #020617;
}

.timeline-item:nth-child(even)::before{
left:-12px;
}

/* =========================
PORTFOLIO & BLOG
========================= */

.portfolio-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

.portfolio-card{
overflow:hidden;
position:relative;
height:420px;
border-radius:30px;
}

.portfolio-card img{
width:100%;
height:100%;
object-fit:cover;
transition:.5s;
}

.portfolio-card:hover img{
transform:scale(1.1);
}

.portfolio-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top,
rgba(2,6,23,.95),
rgba(2,6,23,.1));
display:flex;
flex-direction:column;
justify-content:flex-end;
padding:35px;
}

/* =========================
PRICING
========================= */

.pricing-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

.pricing-card{
padding:45px 35px;
text-align:center;
position:relative;
overflow:hidden;
}

.pricing-card.popular{
border:2px solid #38bdf8;
transform:scale(1.05);
}

.pricing-card h3{
font-size:28px;
margin-bottom:15px;
}

.price{
font-size:55px;
font-weight:700;
color:#38bdf8;
margin:20px 0;
}

.price span{
font-size:18px;
color:#94a3b8;
}

.pricing-card ul{
margin:30px 0;
}

.pricing-card ul li{
margin:12px 0;
color:#cbd5e1;
}

/* =========================
TESTIMONIALS
========================= */

.testimonials-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

.testimonial-card{
padding:35px;
}

.testimonial-card p{
line-height:1.9;
color:#cbd5e1;
margin-bottom:25px;
}

.client{
display:flex;
align-items:center;
gap:15px;
}

.client img{
width:60px;
height:60px;
border-radius:50%;
object-fit:cover;
}

.client h4{
margin-bottom:4px;
}

.client span{
color:#94a3b8;
font-size:14px;
}

/* Responsive */

@media(max-width:1100px){

.pricing-grid,
.testimonials-grid{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.pricing-grid,
.testimonials-grid{
grid-template-columns:1fr;
}

}

/* =========================
CONTACT
========================= */

.contact-wrapper{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.contact-form{
padding:40px;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:18px 20px;
margin-bottom:20px;
background:#0f172a;
border:none;
outline:none;
border-radius:15px;
color:#fff;
}

/*Start Brand Section*/
.tech-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:30px;
}

.tech-card{
padding:35px;
text-align:center;
}

.tech-card i{
font-size:55px;
color:#38bdf8;
margin-bottom:20px;
}
/*End Brand Section*/

/*Start FAQ Section*/
/* =========================
FAQ
========================= */

.faq-grid{
display:flex;
flex-direction:column;
gap:20px;
}

.faq-card{
padding:25px 30px;
cursor:pointer;
}

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
}

.faq-question h3{
font-size:22px;
color:#fff;
}

.faq-question i{
font-size:18px;
color:#38bdf8;
transition:.4s;
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:.4s ease;
}

.faq-answer p{
padding-top:20px;
line-height:1.8;
color:#94a3b8;
}

.faq-card.active .faq-answer{
max-height:200px;
}

.faq-card.active .faq-question i{
transform:rotate(45deg);
}

/* FAQ CARD */
.faq-card{
background:var(--card);
transition:.3s ease;
}

/* QUESTION TEXT */
.faq-question h3{
color:var(--text);
}

/* ICON */
.faq-question i{
color:var(--accent);
}

/* ANSWER TEXT */
.faq-answer p{
color:var(--muted);
}

/* LIGHT MODE FIX */
body.light-mode .faq-card{
background:#ffffff;
}

body.light-mode .faq-answer p{
color:#475569;
}

body.light-mode .faq-question h3{
color:#0f172a;
}
/*End FAQ Section*/

/*Start State Section*/
/* =========================
SUCCESS STATS
========================= */

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.stats-card{
padding:40px 30px;
text-align:center;
transition:.4s;
}

.stats-card:hover{
transform:translateY(-8px);
}

.stats-card h4{
font-size:45px;
color:#38bdf8;
margin-bottom:10px;
font-weight:700;
}

.stats-card p{
color:#94a3b8;
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:1100px){
.stats-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:768px){
.stats-grid{
grid-template-columns:1fr;
}
}
/*End State Section*/

/*Start Achievement Section*/
/* =========================
ACHIEVEMENTS
========================= */

.achievement-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

.achievement-card{
padding:40px 30px;
text-align:center;
}

.achievement-icon{
width:90px;
height:90px;
margin:0 auto 25px;
display:flex;
align-items:center;
justify-content:center;
font-size:38px;
border-radius:25px;
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
}

.achievement-card h3{
font-size:24px;
margin-bottom:15px;
}

.achievement-card p{
color:#94a3b8;
line-height:1.8;
}
/*End Achievement Section */

/*Start Certification Section*/
/* =========================
CERTIFICATIONS
========================= */

.certification-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

.certification-card{
padding:35px;
text-align:center;
position:relative;
overflow:hidden;
}

.certification-card::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
}

.certification-icon{
font-size:50px;
color:#38bdf8;
margin-bottom:20px;
}

.certification-card h3{
font-size:22px;
margin-bottom:10px;
}

.certification-card span{
display:block;
color:#38bdf8;
font-weight:600;
margin-bottom:15px;
}

.certification-card p{
color:#94a3b8;
line-height:1.8;
}
/*End Certification Section*/

/*Start Footer CTA Section*/
/* =========================
FOOTER CTA SECTION
========================= */

.footer-cta-section{
padding:120px 0 80px;
}

.footer-cta-box{
padding:70px 40px;
text-align:center;
border-radius:30px;
background:linear-gradient(
135deg,
rgba(14,165,233,.12),
rgba(139,92,246,.12)
);
}

.cta-tag{
display:inline-block;
padding:8px 18px;
border-radius:50px;
background:rgba(56,189,248,.15);
color:#38bdf8;
font-size:12px;
letter-spacing:2px;
margin-bottom:20px;
}

.footer-cta-box h2{
font-size:52px;
margin-bottom:20px;
line-height:1.2;
}

.footer-cta-box p{
max-width:700px;
margin:0 auto 30px;
color:#94a3b8;
line-height:1.8;
}

.cta-buttons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

@media(max-width:1100px){

.footer-cta-box h2{
font-size:42px;
}

}

@media(max-width:768px){

.footer-cta-section{
padding:90px 0 60px;
}

.footer-cta-box{
padding:50px 25px;
}

.footer-cta-box h2{
font-size:32px;
}

.footer-cta-box p{
font-size:14px;
}

.cta-buttons{
flex-direction:column;
align-items:center;
}

}
/*End Footer CTA Section*/

/*Start Footer Section*/
/* =========================
FOOTER SECTION
========================= */

.main-footer{
background:#010814;
padding:80px 0 30px;
}

/* GRID */

.footer-layout{
display:grid;
grid-template-columns:1.8fr 1fr 1fr 1fr;
gap:40px;
align-items:start;
}

/* BRAND */

.footer-brand h3{
font-size:34px;
margin-bottom:15px;
}

.footer-brand span{
color:#38bdf8;
}

.footer-brand p{
color:#94a3b8;
line-height:1.9;
margin-bottom:25px;
}

/* SOCIAL */

.footer-social{
display:flex;
gap:15px;
}

.footer-social a{
width:48px;
height:48px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:#0f172a;
color:#fff;
transition:.4s;
}

.footer-social a:hover{
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
transform:translateY(-5px);
}

/* COLUMN */

.footer-column h4{
font-size:20px;
margin-bottom:20px;
}

.footer-column ul{
list-style:none;
padding:0;
margin:0;
}

.footer-column ul li{
margin-bottom:12px;
}

.footer-column ul li a{
color:#94a3b8;
transition:.3s;
}

.footer-column ul li a:hover{
color:#38bdf8;
padding-left:5px;
}

/* CONTACT ITEMS */

.footer-contact-item{
display:flex;
align-items:center;
gap:12px;
margin-bottom:15px;
color:#94a3b8;
}

.footer-contact-item i{
color:#38bdf8;
min-width:20px;
}

/* HR */

.main-footer hr{
margin:50px 0 30px;
border:none;
height:1px;
background:rgba(255,255,255,.08);
}

/* BOTTOM */

.footer-bottom{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:20px;
}

.footer-bottom p{
color:#94a3b8;
}

.footer-bottom-links{
display:flex;
gap:25px;
flex-wrap:wrap;
}

.footer-bottom-links a{
color:#94a3b8;
transition:.3s;
}

.footer-bottom-links a:hover{
color:#38bdf8;
}

/* =========================
FOOTER RESPONSIVE
========================= */

@media(max-width:1100px){

.footer-layout{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.footer-layout{
grid-template-columns:1fr;
text-align:center;
}

.footer-social{
justify-content:center;
}

.footer-contact-item{
justify-content:center;
}

.footer-bottom{
flex-direction:column;
text-align:center;
}

.footer-bottom-links{
justify-content:center;
}

}
/*End Footer  Section*/


MOBILE RESPONSIVE
========================= */

@media(max-width:768px){

.tech-grid,
.achievement-grid,
.certification-grid,
.footer-grid{
grid-template-columns:1fr;
}

.faq-grid{
gap:15px;
}

.faq-card{
padding:20px;
}

.faq-question h3{
font-size:18px;
}

}










/* =========================
RESPONSIVE
========================= */

@media(max-width:1100px){

.hero-wrapper,
.about-wrapper,
.contact-wrapper{
grid-template-columns:1fr;
text-align:center;
}

.services-grid,
.skills-grid,
.portfolio-grid{
grid-template-columns:1fr 1fr;
}

.hero-btns,
.social-icons{
justify-content:center;
}

}

@media(max-width:768px){

.menu-btn{
display:block;
}

.nav-links{
position:fixed;
top:90px;
right:-100%;
width:300px;
height:100vh;
background:#020617;
flex-direction:column;
padding:50px 35px;
transition:.4s;
}

.nav-links.active{
right:0;
}

.hero-text h1{
font-size:55px;
}

.hero-image img{
width:320px;
height:320px;
}

.section-title h2{
font-size:38px;
}

.services-grid,
.skills-grid,
.portfolio-grid,
.about-grid{
grid-template-columns:1fr;
}

.timeline::before{
left:20px;
}

.timeline-item{
width:100%;
padding-left:70px;
padding-right:20px;
left:0 !important;
}

.timeline-item::before{
left:8px !important;
}

@media(max-width:768px){

.nav-links{
position:fixed;
top:0;
right:-100%;
width:300px;
height:100vh;
padding:90px 30px;
background:#020617;
z-index:999;
}

.menu-btn{
z-index:1000;
}

}

}

/* =========================
CONTACT ADVANCED UI
========================= */

#contact{
background: radial-gradient(circle at top left, rgba(14,165,233,0.08), transparent 40%),
            radial-gradient(circle at bottom right, rgba(139,92,246,0.08), transparent 40%);
}

/* wrapper upgrade */
.contact-wrapper{
display:grid;
grid-template-columns:1fr 1.2fr;
gap:50px;
align-items:start;
}

/* INFO CARDS */
.contact-info{
display:flex;
flex-direction:column;
gap:20px;
}

.info-card{
display:flex;
align-items:center;
gap:18px;
padding:22px;
border-radius:20px;
transition:.4s;
}

.info-card:hover{
transform:translateY(-6px);
background:rgba(255,255,255,0.07);
}

.info-icon{
width:55px;
height:55px;
border-radius:15px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
font-size:20px;
color:#fff;
flex-shrink:0;
}

.info-card h3{
font-size:18px;
margin-bottom:5px;
}

.info-card p{
color:#94a3b8;
}

/* SOCIAL BOX */
.social-contact{
padding:25px;
text-align:center;
}

.social-contact h3{
margin-bottom:15px;
font-size:20px;
}

.social-row{
display:flex;
justify-content:center;
gap:15px;
}

.social-row a{
width:45px;
height:45px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#0f172a;
color:#fff;
transition:.4s;
border:1px solid rgba(255,255,255,0.08);
}

.social-row a:hover{
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
transform:translateY(-5px);
}

/* FORM */
.contact-form{
padding:35px;
display:flex;
flex-direction:column;
gap:18px;
}

.form-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:16px 18px;
border-radius:15px;
border:1px solid rgba(255,255,255,0.08);
background:#0f172a;
color:#fff;
outline:none;
transition:.3s;
}

.contact-form input:focus,
.contact-form textarea:focus{
border-color:#38bdf8;
box-shadow:0 0 0 3px rgba(56,189,248,0.15);
}

.send-btn{
width:100%;
justify-content:center;
gap:10px;
font-size:16px;
}

/* RESPONSIVE */
@media(max-width:1100px){
.contact-wrapper{
grid-template-columns:1fr;
}
}

@media(max-width:600px){
.form-row{
grid-template-columns:1fr;
}
}

/* =========================
THEME TOGGLE BUTTON
========================= */
/* =========================
BASE THEME
========================= */

body{
margin:0;
background:#020617;
color:#ffffff;
transition:.4s ease;
}

/* LIGHT MODE */
body.light-mode{
background:#f8fafc;
color:#0f172a;
}

/* TEXT FIX */
p{
transition:.4s ease;
}

body.light-mode p{
color:#475569;
}

/* CARD FIX */
.card{
background:rgba(255,255,255,.05);
transition:.4s ease;
}

body.light-mode .card{
background:#ffffff;
color:#0f172a;
}

/* =========================
THEME TOGGLE BUTTON
========================= */

.theme-toggle{
width:65px;
height:35px;
cursor:pointer;
display:flex;
align-items:center;
margin-left:auto;
}

.toggle-track{
width:100%;
height:100%;
background:#0f172a;
border-radius:50px;
position:relative;
box-shadow:inset 0 0 10px rgba(0,0,0,.4);
transition:.4s;
}

/* hover glow */
.theme-toggle:hover .toggle-track{
box-shadow:0 0 15px rgba(56,189,248,.4);
}

.toggle-thumb{
width:28px;
height:28px;
background:linear-gradient(45deg,#0ea5e9,#8b5cf6);
border-radius:50%;
position:absolute;
top:50%;
left:4px;
transform:translateY(-50%);
display:flex;
align-items:center;
justify-content:center;
color:#fff;
font-size:14px;
margin-left: 20px;
transition:.4s;
}

/* LIGHT MODE BUTTON MOVE */
body.light-mode .toggle-track{
background:#e2e8f0;
}

body.light-mode .toggle-thumb{
left:33px;
background:linear-gradient(45deg,#f59e0b,#f97316);
}

/* icon animation */
.toggle-thumb i{
transition:.4s;
}

body{
background:var(--bg);
color:var(--text);
transition:.4s ease;
}

.nav-links li a{
color:var(--nav);
}

p{
color:var(--muted);
}

.card{
background:var(--card);
}

@media(max-width:768px){

.theme-toggle{
margin-left:auto;
margin-right:20px; /* 🔥 mobile right shift */
}
}

/* =========================
BACK TO TOP
========================= */

#backToTop{
position:fixed;
right:25px;
bottom:25px;
width:55px;
height:55px;
border:none;
border-radius:50%;
background:linear-gradient(
45deg,
#0ea5e9,
#8b5cf6
);
color:#fff;
font-size:20px;
cursor:pointer;
opacity:0;
visibility:hidden;
transition:.4s;
z-index:999;
}

#backToTop.show{
opacity:1;
visibility:visible;
}

#backToTop:hover{
transform:translateY(-5px);
}

@media(max-width:768px){

.nav-links{
position:fixed;
top:90px;
right:-100%;
width:280px;

/* 🔥 FIX HEIGHT */
height:calc(100vh - 90px);

background:var(--bg);
flex-direction:column;
padding:25px 20px;
transition:.4s;

/* scroll control */
overflow-y:auto;
}
}
body.light-mode .nav-links{
background:#ffffff;
}

body.light-mode .nav-links li a{
color:#0f172a;
}

@media(max-width:768px){

.certification-grid,
.achievement-grid,
.tech-grid{
grid-template-columns:1fr;
}

.certification-card,
.achievement-card,
.tech-card{
width:100%;
margin-bottom:18px;
}
}

@media(max-width:768px){

section{
padding:70px 0;
}

.certification-card,
.achievement-card,
.tech-card{
border-radius:18px;
}
}

#backToTop {
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: #6c63ff;
    color: #fff;
    font-size: 18px;
    cursor: pointer;

    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);

    transition: all .3s ease;
    z-index: 9999;
}

#backToTop.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#backToTop:hover {
    transform: translateY(-5px);
}
