:root{
    --bg:#0a0c10;
    --panel:#0d111a;
    --panel-hover:#111725;
    --text:#e8eef7;
    --muted:#9dadc1;
    --brand:#fbbf24;
    --brand-2:#f59e0b;
    --accent:#fcd34d;
    --glow:#fbbf2466;
    --border:#1e293b;
    --radius:20px;
    --shadow:0 20px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.03);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    background:var(--bg);
    color:var(--text);
    font-family:Inter,system-ui,sans-serif;
    overflow-x:hidden;
    line-height:1.6;
    position:relative;
}
a{color:var(--accent);text-decoration:none;transition:.3s}
img{max-width:100%;display:block}

/* VIDEO BACKGROUND */
.video-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;overflow:hidden}
.video-bg video{width:100%;height:100%;object-fit:cover;opacity:.15}
.video-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(10,12,16,.8),rgba(10,12,16,.95));z-index:-1}



/* HEADER */
header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(10,12,16,.85);
    backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border);
    animation:slideDown .6s ease
}
.nav{
    max-width:1200px;
    margin:0 auto;
    padding:16px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap
}
.logo-area{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:18px;
    font-weight:800;
    letter-spacing:.5px;
    animation:fadeInLeft .8s ease
}
.avatar{
    width:40px;
    height:40px;
    border-radius:50%;
    border:2px solid var(--brand);
    box-shadow:0 0 20px var(--glow);
    object-fit:cover;
    transition:.3s;
    animation:scaleIn .6s ease
}
.avatar:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 0 30px var(--glow)}

.nav-links{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    animation:fadeInDown .8s ease .2s backwards
}
.nav-links a{
    padding:10px 16px;
    border-radius:12px;
    color:var(--muted);
    font-weight:500;
    transition:.2s;
    position:relative;
    overflow:hidden
}
.nav-links a::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(251,191,36,.2),transparent);
    transition:.5s
}
.nav-links a:hover::before{left:100%}
.nav-links a:hover{color:var(--text);background:var(--panel);transform:translateY(-2px)}

.cta-btns{
    display:flex;
    gap:10px;
    align-items:center;
    animation:fadeInRight .8s ease .3s backwards
}
.btn{
    padding:10px 18px;
    border-radius:14px;
    font-weight:600;
    border:1px solid var(--border);
    background:linear-gradient(180deg,var(--panel),#0a0e16);
    box-shadow:var(--shadow);
    cursor:pointer;
    transition:.3s;
    position:relative;
    overflow:hidden;
    display: inline-block;
}
.btn.primary{
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    border:none;
    color:#000;
    font-weight:700
}
.btn:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,0,0,.4)}
.btn.primary:hover{box-shadow:0 20px 40px var(--glow)}

/* CONTAINER */
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* HERO */
.hero{position:relative;padding:120px 5% 80px;overflow:hidden}
.orbs{position:absolute;inset:0;pointer-events:none;filter:blur(80px);opacity:.4}
.orb{
    position:absolute;border-radius:50%;
}
.o1{width:400px;height:400px;background:var(--brand);top:-100px;right:10%;animation:float 20s ease-in-out infinite}
.o2{width:300px;height:300px;background:var(--brand-2);top:100px;right:30%;animation:float 25s ease-in-out infinite reverse}
.o3{width:250px;height:250px;background:var(--accent);top:300px;right:15%;animation:float 30s ease-in-out infinite}

@keyframes float{
    0%,100%{transform:translate(0,0) scale(1)}
    50%{transform:translate(30px,-30px) scale(1.1)}
}
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}}
@keyframes fadeInLeft{from{transform:translateX(-50px);opacity:0}}
@keyframes fadeInRight{from{transform:translateX(50px);opacity:0}}
@keyframes fadeInDown{from{transform:translateY(-30px);opacity:0}}
@keyframes scaleIn{from{transform:scale(0);opacity:0}}

.hero-content{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:60px;
    align-items:center
}

.hero-text h1{
    font-size:35px;
    line-height:1.1;
    margin-bottom:20px;
    background:linear-gradient(135deg,var(--brand),var(--accent));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:textGlow 3s ease-in-out infinite
}
@keyframes textGlow{
    0%,100%{filter:brightness(1)}
    50%{filter:brightness(1.3)}
}

.hero-text .subtitle{
    font-size:20px;
    color:var(--muted);
    margin-bottom:30px
}

.badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:999px;
    border:1px solid var(--brand);
    background:rgba(251,191,36,.1);
    color:var(--brand);
    font-weight:600;
    margin-bottom:20px;
    box-shadow:0 0 20px var(--glow);
    animation:pulse 2s ease infinite
}
@keyframes pulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.03)}
}

.tech-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px
}

.tag{
    padding:10px 16px;
    border-radius:12px;
    background:var(--panel);
    border:1px solid var(--border);
    color:var(--muted);
    font-size:14px;
    transition:.3s;
    cursor:default
}
.tag:hover{
    transform:translateY(-5px) scale(1.05);
    border-color:var(--brand);
    color:var(--brand);
    box-shadow:0 10px 30px var(--glow)
}

.hero-cta{
    display:flex;
    gap:14px;
    margin-top:32px;
    flex-wrap:wrap
}

.profile-card{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:32px;
    box-shadow:var(--shadow);
    position:relative;
    overflow:hidden;
    transition:.3s
}
.profile-card:hover{
    transform:translateY(-10px);
    box-shadow:0 30px 80px rgba(0,0,0,.7)
}
.profile-card::before{
    content:"";
    position:absolute;
    top:-50%;
    right:-50%;
    width:200%;
    height:200%;
    background:conic-gradient(from 0deg,transparent,var(--glow),transparent);
    animation:spin 6s linear infinite;
    opacity:.4
}
@keyframes spin{to{transform:rotate(360deg)}}

.profile-card .inner{position:relative;z-index:1}

.profile-img{
    width:120px;
    height:120px;
    border-radius:50%;
    margin:0 auto 20px;
    border:3px solid var(--brand);
    box-shadow:0 0 30px var(--glow);
    transition:.3s
}
.profile-img:hover{
    transform:scale(1.1) rotate(10deg);
    box-shadow:0 0 50px var(--glow)
}

.profile-card h3{text-align:center;margin-bottom:12px; font-weight: 700; color: var(--text);}
.profile-card p{color:var(--muted);text-align:center}

.profile-card ul{
    list-style:none;
    color:var(--muted);
    line-height:1.8;
    margin-top: 15px;
}
.profile-card ul li{
    transition:.3s;
    padding:4px 0
}
.profile-card ul li:hover{
    color:var(--text);
    transform:translateX(10px)
}
.profile-card ul li::before{
    content:"✓";
    color:var(--brand);
    margin-right:10px;
    font-weight:bold
}

/* SECTIONS */
section{
    padding:100px 0;
    border-top:1px solid var(--border);
    position:relative;
    z-index:1
}
section h2{
    font-size:42px;
    margin-bottom:16px;
    position:relative;
    display:inline-block;
    color:var(--brand)
}
section h2::after{
    content:"";
    position:absolute;
    bottom:-8px;
    left:0;
    width:0;
    height:4px;
    background:linear-gradient(90deg,var(--brand),var(--brand-2));
    border-radius:2px;
    animation:expandWidth 1s ease forwards .5s
}
@keyframes expandWidth{to{width:60px}}

.lead{
    font-size:18px;
    color:var(--muted);
    margin-bottom:40px
}

/* CARDS */
.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:24px;
    margin-top:40px
}
.card{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:28px;
    box-shadow:var(--shadow);
    transition:.4s;
    position:relative;
    overflow:hidden;
    cursor:pointer
}
.card::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(251,191,36,.1),transparent);
    transition:.6s
}
.card:hover::before{left:100%}
.card:hover{
    transform:translateY(-10px) scale(1.02);
    box-shadow:0 30px 70px rgba(0,0,0,.6);
    border-color:var(--brand)
}

.card h3{
    margin-bottom:12px;
    font-size:22px;
    position:relative;
    z-index:1;
    transition:.3s;
    color: var(--text);
}
.card:hover h3{color:var(--brand)}

.card p{
    color:var(--muted);
    margin-bottom:16px;
    position:relative;
    z-index:1
}

.card-label{
    display:inline-block;
    padding:6px 12px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    color:#000;
    font-size:12px;
    font-weight:700;
    margin-bottom:12px;
    position:relative;
    z-index:1
}

.meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
    position:relative;
    z-index:1
}

.pill{
    padding:6px 12px;
    border-radius:999px;
    background:rgba(251,191,36,.1);
    border:1px solid var(--border);
    color:var(--muted);
    font-size:13px;
    transition:.3s
}
.pill:hover{
    background:rgba(251,191,36,.2);
    border-color:var(--brand);
    color:var(--brand);
    transform:translateY(-3px) rotate(2deg)
}

.card-actions{
    display:flex;
    gap:10px;
    margin-top:20px;
    flex-wrap:wrap;
    position:relative;
    z-index:1
}

.btn-sm{
    padding:8px 14px;
    font-size:14px
}

/* TIMELINE */
.timeline{
    position:relative;
    padding-left:30px;
    margin-top:40px
}
.timeline::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    height:100%;
    width:3px;
    background:linear-gradient(180deg,var(--brand),var(--brand-2));
    box-shadow:0 0 10px var(--glow)
}

.tl-item{
    position:relative;
    margin-bottom:50px;
    padding-left:30px;
    transition:.3s;
    opacity:0;
    animation:slideUp 0.8s ease forwards
}
.tl-item:nth-child(1){animation-delay:.2s}
.tl-item:nth-child(2){animation-delay:.4s}
.tl-item:nth-child(3){animation-delay:.6s}

@keyframes slideUp{
    from{opacity:0;transform:translateY(30px)}
    to{opacity:1;transform:translateY(0)}
}

.tl-item:hover{transform:translateX(10px)}
.tl-item::before{
    content:"";
    position:absolute;
    left:-8px;
    top:6px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:var(--brand);
    box-shadow:0 0 0 4px var(--panel),0 0 0 6px var(--brand),0 0 20px var(--glow);
    animation:pulse 2s ease infinite
}

.tl-item h3{
    margin-bottom:8px;
    font-size:20px;
    transition:.3s;
    color:var(--text)
}
.tl-item h4{
    font-size:16px;
    margin-bottom:8px;
    color:var(--brand)
}
.tl-item .date{
    color:var(--brand);
    font-weight:600;
    font-size:14px;
    display:inline-block;
    margin-bottom:8px
}
.tl-item p{color:var(--muted);margin-top:8px}

.tl-item ul{
    margin-top:12px;
    padding-left:20px;
    color:var(--muted);
    list-style:none
}
.tl-item ul li{
    margin-bottom:8px;
    transition:.3s;
    position:relative;
    padding-left:20px
}
.tl-item ul li::before{
    content:"→";
    position:absolute;
    left:0;
    color:var(--brand);
    font-weight:bold
}
/* CONTACT */
.contact-info{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:40px;
    box-shadow:var(--shadow);
    max-width:700px;
    margin:40px auto 0;
    transition:.3s
}
.contact-info:hover{
    box-shadow:0 40px 90px rgba(0,0,0,.8)
}

.contact-info h3{
    margin-bottom:24px;
    font-size:28px;
    color:var(--brand)
}

.contact-item{
    display:flex;
    align-items:center;
    gap:16px;
    padding:20px;
    margin-bottom:16px;
    background:rgba(251,191,36,.05);
    border:1px solid var(--border);
    border-radius:14px;
    transition:.3s;
    cursor:pointer
}

.contact-item:hover{
    transform:translateX(10px) scale(1.02);
    background:rgba(251,191,36,.1);
    border-color:var(--brand);
    box-shadow:0 10px 30px var(--glow)
}

.contact-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    border-radius:12px;
    flex-shrink:0;
    transition:.3s
}

.contact-item:hover .contact-icon{
    transform:rotate(360deg) scale(1.1)
}

.contact-details strong{display:block;margin-bottom:4px;color:var(--text)}
.contact-details a{color:var(--brand)}
.contact-details a:hover{color:var(--accent);text-decoration:underline}

.social-links{
    display:flex;
    gap:12px;
    margin-top:32px;
    flex-wrap:wrap
}
.social-btn{flex:1;min-width:200px; text-align: center;}

/* FOOTER */
footer{
    padding:40px 0;
    border-top:1px solid var(--border);
    color:var(--muted);
    text-align:center
}

/* SCROLL INDICATOR */
.scroll-indicator {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 90;
    opacity: 0;
    transition: opacity 0.5s;
}
.scroll-indicator.visible {
    opacity: 1;
}
.scroll-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--muted);
    cursor: pointer;
    transition: all 0.3s;
}
.scroll-dot.active {
    background: var(--brand);
    transform: scale(1.5);
    box-shadow: 0 0 10px var(--glow);
}

/* REVEAL ANIMATIONS (Needed for JavaScript functionality) */
.reveal {
    opacity: 0;
    transition: opacity 1s ease, transform 1s ease;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0) translateX(0) scale(1) !important;
}
.slide-left { transform: translateX(-50px); }
.slide-right { transform: translateX(50px); }
.slide-up { transform: translateY(30px); }
.scale-up { transform: scale(0.9); }

/* Media Queries for Responsiveness */
@media (max-width: 1024px) {
    .hero-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .profile-card {
        order: -1; /* Move profile card above text on smaller screens */
    }
    .hero-text h1 {
        font-size: 48px;
    }
}

@media (max-width: 768px) {
    section {
        padding: 60px 0;
    }
    section h2 {
        font-size: 36px;
    }
    .nav {
        justify-content: center;
        text-align: center;
    }
    .nav-links {
        order: 1;
        justify-content: center;
        margin-top: 10px;
    }
    .cta-btns {
        margin: 10px auto 0;
    }
    .scroll-indicator {
        display: none; /* Hide scroll indicator on small screens */
    }
    .cards {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 480px) {
        .hero-text h1 {
        font-size: 38px;
    }
}

/* --- SCROLL TO TOP BUTTON --- */
#scrollToTopBtn {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 99;
    border: none;
    outline: none;
    background-color: var(--brand);
    color: #000;
    cursor: pointer;
    padding: 15px;
    border-radius: 50%;
    font-size: 20px;
    box-shadow: 0 0 20px rgba(251,191,36,.5);
    transition: 0.3s;
}

#scrollToTopBtn:hover {
    background-color: var(--brand-2);
    transform: translateY(-5px);
    box-shadow: 0 0 30px var(--glow);
}
