:root {
    --bg-color: #000000;
    --text-color: #EAEAEA;
    --primary-color: #A891D9; /* Lavender from image */
    --subtle-text: #A0A0A0;
    --card-bg: rgba(255, 255, 255, 0.05);
    --card-border: rgba(255, 255, 255, 0.1);
    --control-bg: rgba(255, 255, 255, 0.08);
    --control-hover-bg: rgba(168, 145, 217, 0.2); /* Lavender hover */
    --control-icon-color: #EAEAEA; /* Changed from #b86666 to be more neutral */
    --primary-gradient: linear-gradient(90deg, #A891D9, #8869C4); /* Lavender gradient */
}

.light-theme {
    /* Light mode with elegant gray background and lavender accents */
    --bg-color: #E8E8E8; /* Light gray similar to the screenshot */
    --text-color: #2D2D2D;
    --primary-color: #A891D9; /* Same lavender */
    --subtle-text: #666666;
    --card-bg: rgba(255, 255, 255, 0.25);
    --card-border: rgba(168, 145, 217, 0.2);
    --control-bg: rgba(255, 255, 255, 0.3);
    --control-hover-bg: rgba(168, 145, 217, 0.15);
    --control-icon-color: #2D2D2D;
    --primary-gradient: linear-gradient(90deg, #A891D9, #8869C4);
    --glow-color: rgba(168, 145, 217, 0.3);
    --shadow-light: rgba(168, 145, 217, 0.1);
    --shadow-medium: rgba(168, 145, 217, 0.2);
    --shadow-heavy: rgba(168, 145, 217, 0.3);
    --glass-bg: rgba(255, 255, 255, 0.4);
    --glass-border: rgba(168, 145, 217, 0.3);
    --glass-shadow: 0 8px 32px rgba(168, 145, 217, 0.2);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    background: var(--bg-color);
    scroll-behavior: smooth;
    transition: background-color 0.3s ease;
}

body {
    font-family: 'Poppins', 'Inter', sans-serif;
    background: var(--bg-color) !important;
    color: var(--text-color);
    overflow-x: hidden;
    min-height: 100vh;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Light mode body and html - Higher specificity */
body.light-theme {
    background: #E8E8E8 !important; /* Light gray background */
    background-image: radial-gradient(circle at 20% 80%, rgba(168, 145, 217, 0.08) 0%, transparent 50%),
                      radial-gradient(circle at 80% 20%, rgba(168, 145, 217, 0.08) 0%, transparent 50%),
                      radial-gradient(circle at 40% 40%, rgba(168, 145, 217, 0.05) 0%, transparent 50%);
}

html.light-theme {
    background: #E8E8E8 !important; /* Light gray background */
}

/* ===== GLOWING BALL ===== */
.glowing-ball {
    position: fixed;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(168, 145, 217, 0.4) 0%, rgba(168, 145, 217, 0) 70%); /* Lavender glow */
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: -1;
    transition: left 0.1s ease-out, top 0.1s ease-out;
    filter: blur(50px);
}

/* Light mode glowing ball */
.light-theme .glowing-ball {
    background: radial-gradient(circle, rgba(168, 145, 217, 0.2) 0%, rgba(168, 145, 217, 0) 70%);
    filter: blur(60px);
}

/* ===== FLOATING CONTROLS ===== */
.top-right-controls {
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Single container for both buttons */
.controls-container {
    position: relative;
    background: var(--control-bg);
    border-radius: 50px;
    padding: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    transition: all 0.3s ease;
    border: 2px solid var(--card-border);
    box-shadow: 
        0 4px 20px rgba(0, 0, 0, 0.3),
        0 0 20px rgba(168, 145, 217, 0.4), /* Lavender shadow */
        0 0 40px rgba(168, 145, 217, 0.2); /* Lavender shadow */
    /* Add subtle gradient overlay for premium look */
    background: linear-gradient(135deg, var(--control-bg) 0%, rgba(168, 145, 217, 0.05) 100%); /* Lavender gradient */
}

.controls-container:hover {
    transform: scale(1.05);
    border-color: var(--primary-color);
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.4),
        0 0 30px rgba(168, 145, 217, 0.6), /* Lavender shadow */
        0 0 60px rgba(168, 145, 217, 0.3); /* Lavender shadow */
    /* Enhanced gradient on hover */
    background: linear-gradient(135deg, var(--control-bg) 0%, rgba(168, 145, 217, 0.08) 100%); /* Lavender gradient */
}

/* Light mode controls */
.light-theme .controls-container {
    background: var(--glass-bg);
    border: 2px solid var(--glass-border);
    box-shadow: 
        var(--glass-shadow),
        0 0 20px rgba(168, 145, 217, 0.15),
        0 0 40px rgba(168, 145, 217, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background: linear-gradient(135deg, var(--glass-bg) 0%, rgba(168, 145, 217, 0.08) 100%);
}

.light-theme .controls-container:hover {
    border-color: var(--primary-color);
    box-shadow: 
        0 12px 40px rgba(168, 145, 217, 0.25),
        0 0 30px rgba(168, 145, 217, 0.2),
        0 0 60px rgba(168, 145, 217, 0.15);
    background: linear-gradient(135deg, var(--glass-bg) 0%, rgba(168, 145, 217, 0.12) 100%);
}

.control-btn, .theme-toggle-label {
    position: relative;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1;
    /* Ensure perfect centering */
    flex-shrink: 0;
}

.control-btn:hover, .theme-toggle-label:hover {
    background-color: var(--control-hover-bg);
    transform: scale(1.1);
    /* Add subtle inner glow with new theme */
    box-shadow: inset 0 0 15px rgba(168, 145, 217, 0.3); /* Lavender shadow */
}

.control-btn svg, .theme-toggle-label svg {
    width: 20px;
    height: 20px;
    fill: var(--control-icon-color);
    transition: all 0.3s ease;
    /* Ensure perfect SVG centering */
    display: block;
    margin: auto;
    flex-shrink: 0;
}

.control-btn:hover svg, .theme-toggle-label:hover svg {
    transform: scale(1.1);
    /* Add subtle glow to SVG on hover */
    filter: drop-shadow(0 0 8px rgba(168, 145, 217, 0.5)); /* Lavender shadow */
}

/* Tooltip Styles - Desktop Only */
.tooltip {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    background: linear-gradient(135deg, #1A1A1A 0%, #0D0D0D 100%);
    color: var(--text-color);
    font-size: 12px;
    font-weight: 500;
    padding: 8px 12px;
    border-radius: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    pointer-events: none;
    z-index: 1000;
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.4),
        0 4px 12px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    border: 1px solid var(--card-border);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* Light mode tooltip styles */
.light-theme .tooltip {
    background: linear-gradient(135deg, #FFFFFF 0%, #F5F5F5 100%);
    color: #2D2D2D;
    border: 1px solid rgba(168, 145, 217, 0.3);
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.15),
        0 4px 12px rgba(0, 0, 0, 0.1),
        0 0 20px rgba(168, 145, 217, 0.2),
        inset 0 1px 0 rgba(168, 145, 217, 0.1);
}

.light-theme .tooltip::before {
    border-bottom-color: #FFFFFF;
    filter: drop-shadow(0 -2px 4px rgba(0, 0, 0, 0.1));
}

/* Show tooltip on hover - Desktop only */
@media (hover: hover) and (pointer: fine) {
    .control-btn:hover .tooltip,
    .theme-toggle-label:hover .tooltip {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
        animation: cloudPopBelow 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        box-shadow: 
            0 12px 35px rgba(0, 0, 0, 0.2),
            0 6px 18px rgba(0, 0, 0, 0.15),
            0 0 20px rgba(168, 145, 217, 0.25),
            inset 0 1px 0 rgba(168, 145, 217, 0.15);
    }
}

/* Cloud pop animation for below positioning */
@keyframes cloudPopBelow {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(-15px) scale(0.8);
    }
    50% {
        transform: translateX(-50%) translateY(2px) scale(1.05);
    }
    100% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
}

/* Hide tooltips on mobile/touch devices */
@media (hover: none) or (pointer: coarse) {
    .tooltip {
        display: none !important;
    }
}

.theme-switcher {
    position: relative;
}

.theme-toggle-checkbox {
    display: none;
}

.theme-toggle-label {
    position: relative;
    /* Remove overflow hidden to ensure proper tooltip positioning */
}

.theme-toggle-label .sun,
.theme-toggle-label .moon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
    /* Ensure proper stacking */
    width: 20px;
    height: 20px;
}

.theme-toggle-label .sun {
    opacity: 1;
    z-index: 2;
}

.theme-toggle-label .moon {
    opacity: 0;
    z-index: 1;
}

.theme-toggle-checkbox:checked + .theme-toggle-label .sun {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(180deg) scale(0.8);
}

.theme-toggle-checkbox:checked + .theme-toggle-label .moon {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
}

/* Mobile responsive controls */
@media (max-width: 768px) {
    .top-right-controls {
        top: 20px;
        right: 20px;
    }
    
    .controls-container {
        padding: 6px;
        gap: 6px;
        /* Remove glow effects on mobile */
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    }
    
    .controls-container:hover {
        /* Disable hover effects on mobile */
        transform: none;
        border-color: var(--card-border);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        background: linear-gradient(135deg, var(--control-bg) 0%, rgba(168, 145, 217, 0.05) 100%); /* Lavender gradient */
    }
    
    .control-btn, .theme-toggle-label {
        width: 40px;
        height: 40px;
    }
    
    .control-btn:hover, .theme-toggle-label:hover {
        /* Disable hover effects on mobile */
        background-color: transparent;
        transform: none;
        box-shadow: none;
    }
    
    .control-btn svg, .theme-toggle-label svg {
        width: 18px;
        height: 18px;
    }
    
    .control-btn:hover svg, .theme-toggle-label:hover svg {
        /* Disable hover effects on mobile */
        transform: none;
        filter: none;
    }
}


/* ===== GLOBAL MOBILE OPTIMIZATIONS ===== */

/* Prevent horizontal scrolling on all devices */
html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
}

/* Ensure all sections don't cause horizontal overflow */
.hero, .about, .skills, .projects, .experience, .contact {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
}

/* Touch target optimization - ensure minimum 44px touch targets */
@media (max-width: 768px) {
    .view-code-btn,
    .social-btn,
    .skill-card,
    .experience-card,
    .social-card {
        min-height: 44px;
        min-width: 44px;
    }
    
    .view-code-btn,
    .social-btn {
        padding: 0.75rem 1.5rem;
        touch-action: manipulation;
    }
    
    /* Improve tap targets for interactive elements */
    .skill-card,
    .social-card,
    .experience-card {
        touch-action: manipulation;
        cursor: pointer;
    }
    
    /* Prevent text selection on touch */
    .hero-content,
    .about-title,
    .skills-title,
    .projects-title,
    .experience-title,
    .contact-title {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-touch-callout: none;
    }
    
    /* Smooth scrolling optimization for mobile */
    html {
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }
    
    /* Optimize font rendering for mobile */
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }
}

/* Performance optimizations for mobile */
@media (max-width: 768px) {
    /* Reduce transform complexity on mobile */
    .skill-card:hover,
    .social-card:hover,
    .experience-card:hover,
    .project-info:hover {
        transform: translateY(-3px) !important;
    }
    
    /* Simplify gradients on mobile for better performance */
    .name #typing-text,
    .about-title,
    .skills-title,
    .projects-title,
    .experience-title,
    .contact-title {
        background: var(--primary-gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
}

/* Improve mobile input and interaction */
@media (max-width: 768px) {
    /* Better button feedback */
    .view-code-btn:active,
    .social-btn:active {
        transform: translateY(1px);
        opacity: 0.9;
    }
    
    /* Ensure text is readable on all mobile devices */
    p, span, div {
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
    }
    
    /* Optimize animation performance on mobile */
    * {
        will-change: auto;
    }
    
    .project-item,
    .skill-card,
    .timeline-item {
        will-change: transform, opacity;
    }
}

/* Dark and light mode specific mobile optimizations */
@media (max-width: 768px) {
    /* Ensure sufficient contrast on mobile */
    .about-detail,
    .project-desc,
    .job-description,
    .social-desc {
        color: var(--subtle-text);
    }
    
    /* Improve card visibility on mobile */
    .skill-card,
    .experience-card,
    .project-info,
    .social-card {
        background: var(--card-bg);
        border: 1px solid var(--card-border);
    }
}

/* Landscape mobile optimizations */
@media (max-width: 768px) and (orientation: landscape) {
    .hero {
        min-height: 100vh;
        padding: 2rem 1rem;
    }
    
    .about,
    .skills,
    .projects,
    .experience,
    .contact {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    
    .skills-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 480px) and (orientation: landscape) {
    .hero {
        padding: 1.5rem 1rem;
    }
    
    .skills-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Hero Section */
.hero {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 2rem;
    position: relative;
    background: transparent !important;
}

.hero::before {
    display: none;
}

.hero-content {
    text-align: center;
    z-index: 1;
    position: relative;
}

.greeting {
    font-size: clamp(1.2rem, 4vw, 1.8rem);
    font-weight: 400;
    color: var(--text-color);
    margin-bottom: 1rem;
    opacity: 1; /* Make visible by default, GSAP will handle animation */
    transform: translateY(0); /* Reset transform, GSAP will handle animation */
    letter-spacing: 0.5px;
    font-family: 'Space Grotesk', 'Poppins', sans-serif;
    text-transform: none;
}

.name { /* This is the H1 tag */
    font-size: clamp(2.8rem, 8vw, 6rem); /* Adjusted for better balance */
    font-weight: 700; /* Bolder for more impact */
    line-height: 1.1;
    letter-spacing: -0.02em; /* Tighter spacing */
    position: relative;
    margin-bottom: 1rem; /* Reduced margin */
    font-family: 'Inter', 'Helvetica Neue', 'Arial', sans-serif;
    text-transform: uppercase;
    word-break: break-word;
    hyphens: auto;
    max-width: 100%;
    color: var(--primary-color);
}

.tagline {
    font-size: clamp(1.2rem, 3vw, 2rem);
    font-weight: 400;
    color: var(--primary-color);
    margin-top: 1rem;
    min-height: 2.5em; /* Reserve space to prevent layout shift */
    font-family: 'Space Grotesk', sans-serif;
}

#tagline-text::after {
    content: '|';
    animation: blink 0.7s infinite;
    color: var(--primary-color);
}

@keyframes blink {
    50% { opacity: 0; }
}

/* NPX Hint Box */
.npx-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(168, 145, 217, 0.08);
    border: 1px solid rgba(168, 145, 217, 0.35);
    border-radius: 8px;
    padding: 0.55rem 1.1rem;
    font-family: 'Courier New', 'Fira Code', monospace;
    font-size: 0.88rem;
    white-space: nowrap;
    backdrop-filter: blur(12px);
    box-shadow: 0 0 18px rgba(168, 145, 217, 0.18), inset 0 0 12px rgba(168, 145, 217, 0.05);
    cursor: default;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
    margin-top: 2rem;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    z-index: 2;
}

.npx-hint:hover {
    border-color: rgba(168, 145, 217, 0.7);
    box-shadow: 0 0 28px rgba(168, 145, 217, 0.35), inset 0 0 16px rgba(168, 145, 217, 0.08);
}

@media (max-width: 768px) {
    .npx-hint {
        white-space: normal;
        text-align: center;
        flex-wrap: wrap;
        justify-content: center;
        font-size: 0.8rem;
        padding: 0.5rem 0.9rem;
        gap: 0.35rem;
        max-width: calc(100vw - 3rem);
        box-sizing: border-box;
    }
    .npx-hint-label {
        width: 100%;
        text-align: center;
        font-size: 0.72rem;
    }
}

@media (max-width: 480px) {
    .npx-hint {
        font-size: 0.75rem;
        padding: 0.45rem 0.8rem;
        max-width: calc(100vw - 2rem);
    }
    .npx-hint-cmd {
        font-size: 0.75rem;
    }
}

/* Hackathon Badge */
.project-media-wrapper {
    position: relative;
    flex: 1.8;
    max-width: 800px;
    padding-top: 18px;
}

.project-media-wrapper .project-media {
    flex: unset !important;
    max-width: unset !important;
    width: 100%;
    height: 500px !important;
}

.hackathon-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: linear-gradient(135deg, rgba(30, 20, 0, 0.88), rgba(55, 38, 0, 0.85));
    border: 1px solid rgba(255, 193, 7, 0.6);
    border-radius: 20px;
    padding: 0.45rem 1.1rem;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 18px rgba(255, 193, 7, 0.25), 0 0 0 1px rgba(255,193,7,0.1);
    white-space: nowrap;
}

.hackathon-badge-icon {
    font-size: 0.9rem;
    line-height: 1;
}

.hackathon-badge-text {
    font-size: 0.75rem;
    font-weight: 600;
    color: #f5c842;
    letter-spacing: 0.04em;
    font-family: 'Space Grotesk', sans-serif;
    text-transform: uppercase;
}

/* Invadr Image Slider */
.invadr-slider {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 20px;
}

.invadr-slides {
    display: flex;
    height: 100%;
    transition: transform 0.7s cubic-bezier(0.77, 0, 0.175, 1);
    will-change: transform;
}

.invadr-slide {
    min-width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    flex-shrink: 0;
    background: #111;
}

.npx-hint-prompt {
    color: #7ec98a;
    font-weight: 700;
    font-size: 0.95rem;
}

.npx-hint-cmd {
    color: var(--primary-color);
    font-weight: 600;
    letter-spacing: 0.02em;
    background: rgba(168, 145, 217, 0.15);
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
}

.npx-hint-label {
    color: var(--subtle-text);
    font-size: 0.78rem;
    font-family: 'Space Grotesk', sans-serif;
    opacity: 0.8;
}

/* Enhanced Mobile responsiveness for Hero */
@media (max-width: 768px) {
    .hero {
        padding: 3rem 1rem 2rem;
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .hero-content {
        max-width: 100%;
        padding: 0 0.5rem;
        text-align: center;
        width: 100%;
    }
    
    .greeting {
        font-size: clamp(1.1rem, 4vw, 1.4rem);
        margin-bottom: 1rem;
        font-weight: 400;
    }
    
    .name {
        font-size: clamp(2.2rem, 7vw, 3.2rem);
        margin-bottom: 1.5rem;
        line-height: 1.1;
        max-width: 100%;
    }
    
    #typing-text {
        font-size: inherit;
        word-break: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
        white-space: normal;
        max-width: 100%;
        display: inline-block;
    }
    
    .text-reveal {
        overflow: visible;
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .hero {
        padding: 2rem 0.8rem 1.5rem;
        min-height: 100vh;
    }
    
    .hero-content {
        padding: 0 0.3rem;
    }
    
    .greeting {
        font-size: clamp(1rem, 4.5vw, 1.2rem);
        margin-bottom: 0.8rem;
    }
    
    .name {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
        margin-bottom: 1.2rem;
        line-height: 1.15;
    }
    
    #typing-text {
        font-size: inherit;
        word-spacing: normal;
        letter-spacing: normal;
        line-height: 1.2;
    }
    
    /* Allow name to break naturally on small screens */
    .name {
        overflow-wrap: break-word;
        word-wrap: break-word;
        hyphens: auto;
    }
}

@media (max-width: 360px) {
    .hero {
        padding: 1.5rem 0.5rem 1rem;
        min-height: 100vh;
    }
    
    .greeting {
        font-size: 0.95rem;
        margin-bottom: 0.6rem;
    }
    
    .name {
        font-size: clamp(1.6rem, 9vw, 2.2rem);
        margin-bottom: 1rem;
    }
    
    #typing-text {
        font-size: inherit;
        word-spacing: normal;
        letter-spacing: normal;
    }
}

.cursor {
    display: inline-block;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: blink 1s infinite;
    font-weight: 300;
}

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

/* About Section */
.about {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 4rem 2rem;
    background: transparent !important;
    position: relative;
    overflow: hidden;
}

.about::before {
    display: none;
}

.about-content {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 4rem;
    align-items: center;
    max-width: 1200px;
    width: 100%;
    z-index: 1;
}

.about.in-view .about-content {
    opacity: 1;
    transform: translateY(0);
}

.about-title {
    font-size: clamp(3rem, 8vw, 5rem);
    font-weight: 700;
    line-height: 1.1;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: left;
    padding-right: 2rem;
}

.about-text {
    max-width: 600px;
}

.about-text-content .about-detail {
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    color: var(--subtle-text);
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.about-text-content .about-detail:last-child {
    margin-bottom: 0;
}

/* Enhanced Mobile responsiveness for About */
@media (max-width: 768px) {
    .about {
        padding: 3rem 1rem;
        min-height: auto;
        align-items: center;
    }
    
    .about-content {
        display: flex;
        flex-direction: column;
        text-align: center;
        gap: 2rem;
        max-width: 100%;
        padding: 0;
    }
    
    .about-title {
        font-size: clamp(2rem, 6vw, 2.8rem);
        margin-bottom: 1rem;
        text-align: center;
        padding-right: 0;
    }
    
    .about-text {
        max-width: 100%;
        width: 100%;
    }
    
    .about-text-content {
        margin-left: 0;
        max-width: 100%;
        width: 100%;
        text-align: center;
        padding: 0 1rem;
    }
    
    .about-text-content .about-detail {
        font-size: clamp(1rem, 4vw, 1.2rem);
        line-height: 1.6;
        margin-bottom: 1rem;
        padding: 0 0.5rem;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .about {
        padding: 2rem 1rem;
        min-height: auto;
    }
    
    .about-content {
        gap: 1.5rem;
    }
    
    .about-title {
        font-size: clamp(1.8rem, 7vw, 2.2rem);
        margin-bottom: 1rem;
    }
    
    .about-text-content {
        padding: 0 0.5rem;
    }
    
    .about-text-content .about-detail {
        font-size: clamp(0.95rem, 4vw, 1.1rem);
        line-height: 1.6;
        margin-bottom: 0.8rem;
        padding: 0 0.3rem;
    }
}

@media (max-width: 360px) {
    .about {
        padding: 1.5rem 0.5rem;
        min-height: auto;
    }
    
    .about-content {
        gap: 1rem;
    }
    
    .about-title {
        font-size: clamp(1.6rem, 8vw, 1.9rem);
        margin-bottom: 0.8rem;
    }
    
    .about-text-content .about-detail {
        font-size: clamp(0.9rem, 4.5vw, 1rem);
        line-height: 1.5;
        margin-bottom: 0.6rem;
        padding: 0 0.2rem;
    }
}

.about-intro {
    font-size: clamp(1.6rem, 4vw, 2rem);
    font-weight: 500;
    color: var(--text-color);
    line-height: 1.6;
    margin-bottom: 2rem;
    font-family: 'Inter', sans-serif;
    opacity: 1;
    transform: translateY(0);
}

.about-detail {
    font-size: clamp(1.3rem, 3.5vw, 1.6rem);
    font-weight: 400;
    color: var(--subtle-text);
    line-height: 1.7;
    margin-bottom: 1.5rem;
    font-family: 'Inter', sans-serif;
    opacity: 1;
    transform: translateY(0);
}

/* 3D Container */
.about-3d-container {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: 380px;
    height: 380px;
    z-index: 2;
    pointer-events: auto;
}

/* Hide 3D container on mobile devices for performance */
@media (max-width: 768px) {
    .about-3d-container {
        display: none !important;
    }
}

#programmer-canvas,
spline-viewer {
    width: 100% !important;
    height: 100% !important;
    display: block;
    background: transparent !important;
    border: none;
    border-radius: 20px;
    overflow: hidden;
}

/* Spline Viewer Specific Styling */
spline-viewer {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    /* Ensure it's above other elements but below tooltips */
    z-index: 1;
    /* Remove any default margins/padding */
    margin: 0 !important;
    padding: 0 !important;
    /* Remove any box styling */
    box-shadow: none !important;
    outline: none !important;
    /* Smooth loading transition */
    transition: opacity 0.3s ease;
}

/* Loading state for Spline viewer */
spline-viewer:not([loaded]) {
    opacity: 0.7;
}

spline-viewer[loaded] {
    opacity: 1;
}

/* Ensure the container doesn't add unwanted styling */
.about-3d-container {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: 380px;
    height: 380px;
    z-index: 2;
    pointer-events: auto;
    /* Remove any container styling that might create a box */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Mobile optimization for Spline viewer */
@media (max-width: 768px) {
    .about-3d-container {
        /* Hide completely on mobile for performance */
        display: none !important;
    }
}

/* Mobile-specific about section enhancements when 3D model is hidden */
@media (max-width: 768px) {
    .about {
        background: transparent !important;
    }
    
    .about-title {
        position: relative;
    }
    
    .about-title::after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%);
        width: 60px;
        height: 3px;
        background: var(--primary-gradient);
        border-radius: 2px;
    }
    
    .about-intro {
        position: relative;
        padding: 2rem;
        background: rgba(26, 26, 26, 0.3);
        border-radius: 15px;
        border: 1px solid var(--card-border);
        backdrop-filter: blur(10px);
        margin-bottom: 2rem;
    }
    
    .about-detail {
        opacity: 0.9;
        line-height: 1.8;
    }
}

/* Skills Section */
.skills {
    padding: 6rem 2rem;
    background: transparent !important;
    position: relative;
}

.skills-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 700;
    text-align: center;
    margin-bottom: 4rem;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.skills-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 2rem;
    max-width: 1000px;
    margin: 0 auto;
}

.skill-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 16px;
    padding: 2rem 1.5rem;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Light mode skill cards */
.light-theme .skill-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.light-theme .skill-card:hover {
    background: rgba(255, 255, 255, 0.5);
    border-color: var(--primary-color);
    box-shadow: 
        0 15px 40px rgba(168, 145, 217, 0.25),
        0 0 30px rgba(168, 145, 217, 0.2);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
}

.skill-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 1.5rem;
}

.skill-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-color);
}

/* Projects Section */
.projects {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 4rem;
    background: transparent !important;
    position: relative;
    /* Add performance optimizations */
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Remove old ::before styles that create visual cuts */
.projects::before {
    display: none !important;
}

.projects-content {
    max-width: 1400px;
    width: 100%;
    text-align: center;
    z-index: 1;
    position: relative;
}

.projects-title {
    font-size: clamp(4rem, 12vw, 7rem);
    font-weight: 700;
    margin-bottom: 6rem;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-family: 'Inter', sans-serif;
    opacity: 0;
    transform: translateY(50px);
}

.projects-container {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 100%;
    margin: 0;
}

.project-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4rem;
    min-height: 100vh;
    padding: 4rem;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.4s ease;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
    will-change: transform, opacity;
    flex-direction: row; /* Ensure side-by-side layout */
}

.project-item:nth-child(even) {
    flex-direction: row-reverse;
}

.project-media {
    flex: 1.8 !important;
    max-width: 800px !important;
    height: 500px !important;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    border: 1px solid var(--card-border);
    transition: all 0.3s ease;
}

.project-media:hover {
    transform: translateY(-5px);
    border-color: var(--primary-color);
    box-shadow: 
        0 10px 30px rgba(168, 145, 217, 0.2),
        0 20px 40px rgba(0, 0, 0, 0.3);
}

.media-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--card-bg);
    color: var(--subtle-text);
    font-size: 1.2rem;
    font-family: 'Inter', sans-serif;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.media-placeholder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(168, 145, 217, 0.05) 0%, rgba(168, 145, 217, 0.05) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.media-placeholder:hover::before {
    opacity: 1;
}

.media-placeholder span {
    z-index: 2;
    position: relative;
}

/* Video specific styling */
.project-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    background: #000;
}

.video-fallback {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    background: #1a1a1a;
}

/* Hide the placeholder text when video is present */
.media-placeholder:has(video) span {
    display: none;
}

/* Ensure media placeholder covers full area */
.media-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--card-bg);
    color: var(--subtle-text);
    font-size: 1.2rem;
    font-family: 'Inter', sans-serif;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

/* Project Info Styles */
.project-info {
    flex: 1;
    max-width: 450px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 1; /* Ensure it's visible */
    visibility: visible; /* Force visibility */
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    height: 400px; /* Make it smaller than video card (500px) */
}

.project-info:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(168, 145, 217, 0.2);
    border-color: rgba(168, 145, 217, 0.3);
}

.light-theme .project-info {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.light-theme .project-info:hover {
    background: rgba(255, 255, 255, 0.5);
    border-color: var(--primary-color);
    box-shadow: 
        0 15px 40px rgba(168, 145, 217, 0.25),
        0 0 30px rgba(168, 145, 217, 0.2);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
}

.project-name {
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1rem;
    font-family: 'Inter', sans-serif;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    opacity: 1;
    visibility: visible;
}

.project-desc {
    font-size: 1.1rem;
    color: var(--subtle-text);
    line-height: 1.6;
    margin-bottom: 1.5rem;
    font-family: 'Inter', sans-serif;
    opacity: 1;
    visibility: visible;
    flex-grow: 1; /* Allow description to take available space */
}

.project-tech {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    flex-grow: 0; /* Don't let tech tags expand too much */
}

.tech-tag {
    background: rgba(168, 145, 217, 0.1);
    color: var(--primary-color);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 500;
    border: 1px solid rgba(168, 145, 217, 0.2);
}

.view-code-btn {
    background: var(--primary-gradient);
    color: var(--text-color);
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
    align-self: center; /* Center the button horizontally */
    margin-top: auto; /* Push button to bottom of the card */
    margin-bottom: 0;
    display: inline-block;
    width: fit-content;
    text-decoration: none; /* Remove underline for anchor tags */
    text-align: center; /* Center text inside button */
}

.project-info:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(168, 145, 217, 0.2);
    border-color: rgba(168, 145, 217, 0.3);
}

.view-code-btn:hover {
    transform: translateY(-2px);
    box-shadow: 
        0 10px 30px rgba(168, 145, 217, 0.3),
        0 0 20px rgba(203, 187, 246, 0.2);
}

/* Media box size updates for all breakpoints */
.project-media {
    flex: 1.8 !important;
    max-width: 800px !important;
    height: 500px !important;
}

/* Ensure project items are centered and have consistent padding */
.project-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4rem;
    min-height: 100vh;
    padding: 4rem;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: all 0.4s ease;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
    will-change: transform, opacity;
    flex-direction: row; /* Keep media and info side by side */
}

.project-item:nth-child(even) {
    flex-direction: row-reverse;
}

/* Hide media placeholder by default, show on hover */
.project-item:hover .media-placeholder {
    display: flex;
}

.project-item:hover .project-info {
    opacity: 1;
    transform: translateY(0);
}

/* Initially show project info, remove hide on hover behavior */
.project-info {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Ensure tech tags are centered and wrap correctly */
.project-tech {
    justify-content: center;
}

/* Enhanced Mobile responsiveness for Projects */
@media (max-width: 768px) {
    .projects {
        padding: 3rem 1rem;
        min-height: auto;
    }
    
    .projects-content {
        max-width: 100%;
        padding: 0;
    }
    
    .projects-title {
        font-size: clamp(2rem, 6vw, 2.5rem);
        margin-bottom: 3rem;
    }
    
    .project-item {
        flex-direction: column !important;
        gap: 1.5rem !important;
        padding: 2rem 1rem !important;
        min-height: auto !important;
        margin-bottom: 3rem;
        max-width: 100%;
    }
    
    .project-item:nth-child(even) {
        flex-direction: column !important;
    }
    
    .project-media {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
        height: 250px !important;
        margin-bottom: 1.5rem;
        border-radius: 15px;
    }

    .project-media-wrapper {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-top: 22px;
    }

    .project-media-wrapper .project-media {
        height: 250px !important;
        margin-bottom: 1.5rem;
        border-radius: 15px;
    }

    .project-info {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 1.5rem !important;
        height: auto !important;
        margin-top: 0;
        border-radius: 15px;
        min-height: 280px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    
    .project-name {
        font-size: clamp(1.4rem, 5vw, 1.8rem) !important;
        text-align: center;
        margin-bottom: 1rem;
    }
    
    .project-desc {
        font-size: clamp(0.9rem, 4vw, 1rem) !important;
        text-align: center;
        line-height: 1.6;
        margin-bottom: 1.5rem;
        flex-grow: 1;
    }
    
    .project-tech {
        justify-content: center;
        margin-bottom: 1.5rem;
        gap: 0.4rem;
    }
    
    .tech-tag {
        font-size: clamp(0.75rem, 3.5vw, 0.85rem);
        padding: 0.4rem 0.8rem;
    }
    
    .view-code-btn {
        align-self: center !important;
        padding: 0.8rem 1.5rem;
        font-size: clamp(0.85rem, 4vw, 0.95rem);
        margin-top: auto;
    }
}

@media (max-width: 480px) {
    .projects {
        padding: 2rem 0.8rem;
    }
    
    .projects-title {
        font-size: clamp(1.8rem, 7vw, 2.2rem);
        margin-bottom: 2.5rem;
    }
    
    .project-item {
        padding: 1.5rem 0.8rem !important;
        margin-bottom: 2.5rem;
        gap: 1.2rem !important;
    }
    
    .project-media {
        height: 220px !important;
        border-radius: 12px;
    }

    .project-media-wrapper {
        padding-top: 20px;
    }

    .project-media-wrapper .project-media {
        height: 220px !important;
        border-radius: 12px;
    }
    
    .project-name {
        font-size: clamp(1.3rem, 6vw, 1.6rem) !important;
        margin-bottom: 0.8rem;
    }
    
    .project-desc {
        font-size: clamp(0.85rem, 4.5vw, 0.95rem) !important;
        margin-bottom: 1.2rem;
    }
    
    .tech-tag {
        font-size: clamp(0.7rem, 3.8vw, 0.8rem) !important;
        padding: 0.35rem 0.7rem !important;
    }
    
    .view-code-btn {
        padding: 0.7rem 1.3rem;
        font-size: clamp(0.8rem, 4.2vw, 0.9rem);
    }
}

@media (max-width: 360px) {
    .projects {
        padding: 1.5rem 0.5rem;
    }
    
    .projects-title {
        font-size: clamp(1.6rem, 8vw, 1.9rem);
        margin-bottom: 2rem;
    }
    
    .project-item {
        padding: 1.2rem 0.5rem !important;
        margin-bottom: 2rem;
    }
    
    .project-media {
        height: 200px !important;
    }

    .project-media-wrapper {
        padding-top: 18px;
    }

    .project-media-wrapper .project-media {
        height: 200px !important;
    }
    
    .project-name {
        font-size: clamp(1.2rem, 7vw, 1.4rem);
        margin-bottom: 0.6rem;
    }
    
    .project-desc {
        font-size: clamp(0.8rem, 5vw, 0.9rem);
        margin-bottom: 1rem;
    }
    
    .tech-tag {
        font-size: clamp(0.65rem, 4vw, 0.75rem);
        padding: 0.3rem 0.6rem;
    }
    
    .view-code-btn {
        padding: 0.6rem 1.1rem;
        font-size: clamp(0.75rem, 4.5vw, 0.85rem);
    }
}

/* Project Image Styles */
.project-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    background: #1a1a1a;
    transition: transform 0.3s ease;
}

.project-image:hover {
    transform: scale(1.02);
}

/* Hide placeholder when video or image is present */
.project-media:has(.project-video) .media-placeholder,
.project-media:has(.project-image) .media-placeholder {
    display: none;
}

/* Ensure video and image are positioned correctly */
.project-video,
.project-image {
    position: relative;
    z-index: 2;
}

/* Desktop Layout - Ensure side-by-side layout on larger screens */
@media (min-width: 769px) {
    .project-item {
        flex-direction: row !important;
        align-items: center !important;
        gap: 4rem !important;
    }
    
    .project-item:nth-child(even) {
        flex-direction: row-reverse !important;
    }
    
    .project-media {
        flex: 1.8 !important;
        max-width: 800px !important;
        height: 500px !important;
    }
      .project-info {
        flex: 1 !important;
        max-width: 450px !important;
        padding: 2rem !important;
        height: 400px !important;
    }
}

/* Fallback visibility for project items in case JavaScript fails */
.project-item.in-view,
.project-item:hover {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Remove conflicting animation - let GSAP handle all animations */
.project-info,
.project-name,
.project-desc,
.project-tech,
.tech-tag,
.view-code-btn {
    opacity: 1; /* Ensure content is always visible */
    visibility: visible;
}

/* ===== EXPERIENCE SECTION ===== */
.experience {
    min-height: 100vh;
    padding: 6rem 2rem;
    background: transparent !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* Removed background overlays to ensure pure black background */

.experience-content {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
}

.experience-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 3rem;
    font-family: 'Inter', sans-serif;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
}

.experience-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 4px;
    background: var(--primary-gradient);
    border-radius: 2px;
}

/* Timeline Styles */
.timeline {
    position: relative;
    max-width: 1000px;
    margin: 4rem auto;
    padding: 2rem 0;
}

.timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--primary-gradient);
    transform: translateX(-50%);
    border-radius: 2px;
}

.timeline-item {
    position: relative;
    margin: 4rem 0;
    opacity: 0;
    transform: translateY(50px);
    display: flex;
    align-items: center;
    width: 100%;
}

.timeline-item:nth-child(odd) {
    justify-content: flex-end;
    text-align: right;
}

.timeline-item:nth-child(odd) .timeline-content {
    margin-right: calc(50% + 3rem);
    margin-left: 0;
}

.timeline-item:nth-child(even) {
    justify-content: flex-start;
    text-align: left;
}

.timeline-item:nth-child(even) .timeline-content {
    margin-left: calc(50% + 3rem);
    margin-right: 0;
}

.timeline-content {
    max-width: 400px;
    position: relative;
}

.timeline-dot {
    position: absolute;
    left: 50%;
    top: 2rem;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
    background: var(--primary-gradient);
    border-radius: 50%;
    border: 4px solid var(--bg-color);
    z-index: 3;
}

.timeline-date {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: 2;
}

.timeline-date .year {
    background: var(--bg-color);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: 600;
    font-size: 1rem;
    white-space: nowrap;
}

.experience-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    width: 100%;
    max-width: 400px;
}

.experience-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(168, 145, 217, 0.2);
}

/* Light mode experience cards */
.light-theme .experience-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.light-theme .experience-card:hover {
    background: rgba(255, 255, 255, 0.5);
    border-color: var(--primary-color);
    box-shadow: 
        0 15px 40px rgba(168, 145, 217, 0.25),
        0 0 30px rgba(168, 145, 217, 0.2);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
}

.experience-role {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    font-family: 'Inter', sans-serif;
}

.job-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    font-family: 'Inter', sans-serif;
}

.experience-company {
    font-size: 1.1rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-weight: 500;
}

.company {
    font-size: 1.1rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-weight: 500;
}

.experience-desc {
    font-size: 1rem;
    color: var(--subtle-text);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.job-description {
    font-size: 1rem;
    color: var(--subtle-text);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.experience-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.experience-skills .tech-tag,
.experience-skills .skill-tag {
    background: rgba(168, 145, 217, 0.1);
    color: var(--primary-color);
    padding: 0.4rem 0.8rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1px solid rgba(168, 145, 217, 0.2);
}

/* Stats Section */
.stats-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-top: 4rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.stat-item {
    text-align: center;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    transition: all 0.3s ease;
}

.stat-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(168, 145, 217, 0.2);
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-color);
    display: block;
    margin-bottom: 0.5rem;
    font-family: 'Inter', sans-serif;
}

.stat-label {
    font-size: 1rem;
    color: var(--subtle-text);
    font-weight: 500;
}

/* Enhanced Mobile responsiveness for Experience */
@media (max-width: 768px) {
    .experience {
        padding: 3rem 1rem;
        min-height: auto;
    }
    
    .experience-title {
        font-size: clamp(2rem, 6vw, 2.5rem);
        margin-bottom: 2.5rem;
    }
    
    .timeline {
        max-width: 100%;
        margin: 3rem auto;
        padding: 1rem 0;
    }
    
    .timeline-line {
        left: 1.5rem;
        width: 3px;
    }
    
    .timeline-item {
        justify-content: flex-start !important;
        text-align: left !important;
        margin: 3rem 0;
    }
    
    .timeline-item:nth-child(odd) .timeline-content,
    .timeline-item:nth-child(even) .timeline-content {
        margin-left: 3.5rem !important;
        margin-right: 0 !important;
        max-width: calc(100% - 4rem);
    }
    
    .timeline-dot {
        left: 1.5rem !important;
        transform: translateX(-50%);
        width: 16px;
        height: 16px;
        top: 1.5rem;
    }
    
    .timeline-date {
        left: 1.5rem !important;
        transform: translateX(-50%);
        top: -0.5rem;
    }
    
    .experience-card {
        padding: 1.5rem;
        max-width: 100%;
        border-radius: 15px;
    }
    
    .job-title {
        font-size: clamp(1.2rem, 4.5vw, 1.4rem);
        margin-bottom: 0.5rem;
    }
    
    .company {
        font-size: clamp(1rem, 4vw, 1.1rem);
        margin-bottom: 1rem;
    }
    
    .job-description {
        font-size: clamp(0.9rem, 3.8vw, 1rem);
        line-height: 1.6;
        margin-bottom: 1.2rem;
    }
    
    .experience-skills {
        justify-content: flex-start;
        gap: 0.4rem;
    }
    
    .experience-skills .skill-tag {
        font-size: clamp(0.75rem, 3.2vw, 0.8rem);
        padding: 0.3rem 0.6rem;
    }
    
    .stats-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.2rem;
        margin-top: 3rem;
        max-width: 100%;
    }
    
    .stat-item {
        padding: 1.5rem;
        border-radius: 15px;
    }
    
    .stat-number {
        font-size: clamp(1.8rem, 6vw, 2.2rem);
    }
    
    .stat-label {
        font-size: clamp(0.85rem, 3.5vw, 0.95rem);
    }
}

@media (max-width: 480px) {
    .experience {
        padding: 2rem 0.8rem;
    }
    
    .experience-title {
        font-size: clamp(1.8rem, 7vw, 2.2rem);
        margin-bottom: 2rem;
    }
    
    .timeline {
        margin: 2rem auto;
        padding: 0.5rem 0;
    }
    
    .timeline-line {
        left: 1.2rem;
        width: 2px;
    }
    
    .timeline-item {
        margin: 2.5rem 0;
    }
    
    .timeline-item:nth-child(odd) .timeline-content,
    .timeline-item:nth-child(even) .timeline-content {
        margin-left: 3rem !important;
        max-width: calc(100% - 3.5rem);
    }
    
    .timeline-dot {
        left: 1.2rem !important;
        width: 14px;
        height: 14px;
        top: 1.2rem;
    }
    
    .timeline-date {
        left: 1.2rem !important;
        top: -0.8rem;
    }
    
    .experience-card {
        padding: 1.2rem;
    }
    
    .job-title {
        font-size: clamp(1.1rem, 5vw, 1.3rem);
    }
    
    .company {
        font-size: clamp(0.9rem, 4.5vw, 1rem);
    }
    
    .job-description {
        font-size: clamp(0.85rem, 4vw, 0.9rem);
        margin-bottom: 1rem;
    }
    
    .experience-skills .skill-tag {
        font-size: clamp(0.7rem, 3.5vw, 0.75rem);
    }
    
    .stats-container {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-top: 2.5rem;
    }
    
    .stat-item {
        padding: 1.2rem;
    }
    
    .stat-number {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }
    
    .stat-label {
        font-size: clamp(0.8rem, 4vw, 0.9rem);
    }
}

@media (max-width: 360px) {
    .experience {
        padding: 1.5rem 0.5rem;
    }
    
    .experience-title {
        font-size: clamp(1.6rem, 8vw, 1.9rem);
    }
    
    .timeline-item:nth-child(odd) .timeline-content,
    .timeline-item:nth-child(even) .timeline-content {
        margin-left: 2.5rem !important;
        max-width: calc(100% - 3rem);
    }
    
    .timeline-dot {
        left: 1rem !important;
        width: 12px;
        height: 12px;
    }
    
    .timeline-date {
        left: 1rem !important;
    }
    
    .timeline-line {
        left: 1rem;
    }
    
    .experience-card {
        padding: 1rem;
    }
    
    .job-title {
        font-size: clamp(1rem, 6vw, 1.2rem);
    }
    
    .company {
        font-size: clamp(0.85rem, 5vw, 0.95rem);
    }
    
    .job-description {
        font-size: clamp(0.8rem, 4.5vw, 0.85rem);
    }
}

/* ===== CONTACT SECTION ===== */
.contact {
    min-height: auto; /* Let content define height */
    padding: 8rem 2rem 4rem; /* Reduced bottom padding from 8rem to 4rem */
    background: transparent !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* Removed contact background overlay to ensure pure black background */

.contact-content {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
}

.contact-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 1.5rem;
    font-family: 'Inter', sans-serif;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
}

.contact-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 4px;
    background: var(--primary-gradient);
    border-radius: 2px;
}

/* Extra bottom space so the underline bar doesn't collide with the icons */
.contact-title {
    padding-bottom: 0.5rem;
}

.contact-subtitle {
    font-size: 1.3rem;
    color: var(--subtle-text);
    margin-bottom: 3rem;
    line-height: 1.6;
    font-family: 'Inter', sans-serif;
}

/* Old contact form styles removed - using social cards layout instead */

/* Social Icons Row */
.social-icons-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    margin: 3.5rem auto 0;
    flex-wrap: wrap;
    padding: 0 1rem;
}

.social-icon-link {
    position: relative;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
    flex-shrink: 0;
}

.social-icon-link svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
    pointer-events: none;
}

.social-icon-link:hover {
    transform: translateY(-6px) scale(1.1);
}

/* Platform colours */
.social-icon-link.linkedin {
    background: linear-gradient(135deg, #0077b5, #00669c);
    box-shadow: 0 4px 20px rgba(0, 119, 181, 0.35);
}
.social-icon-link.linkedin:hover {
    box-shadow: 0 10px 30px rgba(0, 119, 181, 0.55);
}

.social-icon-link.github {
    background: linear-gradient(135deg, #444, #24292e);
    box-shadow: 0 4px 20px rgba(36, 41, 46, 0.5);
}
.social-icon-link.github:hover {
    box-shadow: 0 10px 30px rgba(100, 100, 100, 0.55);
}

.social-icon-link.email {
    background: linear-gradient(135deg, #ea4335, #c5221f);
    box-shadow: 0 4px 20px rgba(234, 67, 53, 0.35);
}
.social-icon-link.email:hover {
    box-shadow: 0 10px 30px rgba(234, 67, 53, 0.55);
}

.social-icon-link.instagram {
    background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    box-shadow: 0 4px 20px rgba(220, 39, 67, 0.35);
}
.social-icon-link.instagram:hover {
    box-shadow: 0 10px 30px rgba(220, 39, 67, 0.55);
}

/* Tooltip */
.social-tooltip {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: rgba(30, 30, 30, 0.9);
    color: #fff;
    font-size: 0.75rem;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    letter-spacing: 0.03em;
    padding: 0.3rem 0.7rem;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.social-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: rgba(30, 30, 30, 0.9);
}

.social-icon-link:hover .social-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Mobile responsiveness for Contact */

/* Tablet (≤1024px) */
@media (max-width: 1024px) {
    .social-icons-row {
        gap: 2rem;
    }
}

/* Mobile (≤768px) */
@media (max-width: 768px) {
    .contact {
        padding: 3.5rem 1.5rem 3rem;
        min-height: auto;
    }

    .contact-content {
        max-width: 100%;
    }

    .contact-title {
        font-size: clamp(1.8rem, 6vw, 2.4rem);
        margin-bottom: 1.2rem;
    }

    .social-icons-row {
        gap: 1.8rem;
        margin-top: 3rem;
        padding: 0 0.5rem;
    }

    .social-icon-link {
        width: 58px;
        height: 58px;
    }

    .social-icon-link svg {
        width: 25px;
        height: 25px;
    }
}

/* Small mobile (≤480px) */
@media (max-width: 480px) {
    .contact {
        padding: 3rem 1rem 2.5rem;
    }

    .contact-title {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }

    .social-icons-row {
        gap: 1.4rem;
        margin-top: 2.5rem;
    }

    .social-icon-link {
        width: 52px;
        height: 52px;
    }

    .social-icon-link svg {
        width: 22px;
        height: 22px;
    }
}

/* Very small screens (≤360px) */
@media (max-width: 360px) {
    .social-icons-row {
        gap: 1.1rem;
    }

    .social-icon-link {
        width: 46px;
        height: 46px;
    }

    .social-icon-link svg {
        width: 20px;
        height: 20px;
    }
}

/* ===== FOOTER NOTE ===== */
.footer-note {
    padding: 2rem;
    text-align: center;
    background: var(--card-bg);
    border-top: 1px solid var(--card-border);
}

.footer-note p {
    color: var(--subtle-text);
    font-size: 0.9rem;
    font-family: 'Inter', sans-serif;
    margin: 0;
       opacity: 0.8;
    font-weight: 400;
}

/* Enhanced Mobile responsiveness for footer */
@media (max-width: 768px) {
    .footer-note {
        padding: 1.5rem 1rem;
    }
    
    .footer-note p {
        font-size: clamp(0.75rem, 3.5vw,  0.85rem);
        line-height: 1.4;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .footer-note {
        padding: 1.2rem 0.8rem;
    }
    
    .footer-note p {
        font-size: clamp(0.7rem, 4vw, 0.8rem);
    }
}

@media (max-width: 360px) {
    .footer-note {
        padding: 1rem 0.5rem;
    }
    
    .footer-note p {
        font-size: clamp(0.65rem, 4.5vw, 0.75rem);
    }
}

/* ===== MOBILE-FIRST RESPONSIVE UTILITIES ===== */

/* Mobile-first approach - base styles are for mobile */
.mobile-only {
    display: block;
}

.desktop-only {
    display: none;
}

@media (min-width: 769px) {
    .mobile-only {
        display: none;
    }
    
    .desktop-only {
        display: block;
    }
}

/* Safe area insets for devices with notches */
@supports (padding: max(0px)) {
    .hero,
    .about,
    .skills,
    .projects,
    .experience,
    .contact {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
    
    .hero {
        padding-top: max(2rem, env(safe-area-inset-top));
    }
    
    .footer-note {
        padding-bottom: max(1rem, env(safe-area-inset-bottom));
    }
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .skill-card:hover,
    .social-card:hover,
    .experience-card:hover,
    .project-info:hover {
        transform: none !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .skill-card,
    .experience-card,
    .project-info,
    .social-card {
        border-width: 2px;
        border-color: #ffffff;
    }
    
    .tech-tag,
    .skill-tag {
        border-width: 2px;
    }
}

/* Mobile-specific print styles */
@media print {
    .about-3d-container,
    .skill-canvas,
    #programmer-canvas {
        display: none !important;
    }
    
    .hero,
    .about,
    .skills,
    .projects,
    .experience,
    .contact {

        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/* ===== EMBEDDED VIDEO SUPPORT ===== */

/* YouTube, Vimeo, and other iframe embeds */
.youtube-container,
.vimeo-container,
.gdrive-container,
.dropbox-container {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

.youtube-container iframe,
.vimeo-container iframe,
.gdrive-container iframe,
.dropbox-container iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 20px;
}

/* Hide placeholder when iframe is present */
.project-media:has(iframe) .media-placeholder {
    display: none;
}

/* Responsive iframe adjustments */
@media (max-width: 768px) {
    .youtube-container,
    .vimeo-container,
    .gdrive-container,
    .dropbox-container {
        border-radius: 15px;
    }
    
    .youtube-container iframe,
    .vimeo-container iframe,
    .gdrive-container iframe,
    .dropbox-container iframe {
        border-radius: 15px;
    }
}

@media (max-width: 480px) {
    .youtube-container,
    .vimeo-container,
    .gdrive-container,
    .dropbox-container {
        border-radius: 12px;
    }
    
    .youtube-container iframe,
    .vimeo-container iframe,
    .gdrive-container iframe,
    .dropbox-container iframe {
        border-radius: 12px;
    }
}

/* Loading state for embedded videos */
.youtube-container::before,

.vimeo-container::before,
.gdrive-container::before,
.dropbox-container::before {
    content: 'Loading video...';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #666;
    font-family: 'Inter', sans-serif;
    z-index: 1;
    pointer-events: none;
}

.youtube-container iframe:not([src=""]) ~ ::before,
.vimeo-container iframe:not([src=""]) ~ ::before,
.gdrive-container iframe:not([src=""]) ~ ::before,
.dropbox-container iframe:not([src=""]) ~ ::before {
    display: none;
}

/* Mobile-specific overrides for performance */
@media (max-width: 768px) {
    /* Keep smooth scrolling disabled for performance on mobile */
    html {
        scroll-behavior: auto !important;
    }

    /* Only disable CSS hover transitions, not all transitions */
    .skill-card,
    .social-card,
    .experience-card,
    .project-info {
        transition: none !important;
    }

    /* Reset hover transforms */
    .skill-card:hover,
    .social-card:hover,
    .experience-card:hover,
    .project-info:hover,
    .view-code-btn:active,
    .social-btn:active {
        transform: none !important;
    }

    /* Remove will-change property */
    .project-item,
    .skill-card,
    .timeline-item {
        will-change: auto !important;
    }

    /* Ensure visibility for elements that were animated in */
    .greeting,
    #typing-text,
    .about-content,
    .project-item,
    .skill-card,
    .timeline-item,
    .social-card {
        opacity: 1 !important;
        transform: none !important;
    }

    /* Remove blur effects */
    .about-title,
    .skills-title,
    .projects-title,
    .experience-title,
    .contact-title {
        filter: none !important;
    }
}

.resume-btn {
    display: inline-block;
    padding: 0.8rem 2rem;
    background: var(--primary-gradient);
    color: var(--text-color);
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.resume-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(168, 145, 217, 0.3);
    background: linear-gradient(135deg, #CBBBF6 0%, #5F4B8B 100%); /* This is a reversed gradient, which is fine for hover */
}

.top-resume-btn {
    margin-top: 2rem;
}

.bottom-resume-btn {
    margin-top: 1.5rem;
    padding: 0.7rem 1.8rem;
    font-size: 1rem;
}

.projects-content {
    max-width: 1400px;
    width: 100%;
    text-align: center;
    z-index: 1;
    position: relative;
}

@media (max-width: 768px) {
    .resume-btn {
        padding: 0.7rem 1.5rem;
        font-size: 1rem;
    }

    .top-resume-btn {
        margin-top: 1.5rem;
    }
}

/* Floating Controls */
.top-right-controls {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
    display: flex;
    gap: 10px;
}

.control-btn {
    width: 44px;
    height: 44px;
    background: var(--control-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--control-icon-color);
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.control-btn:hover {
    background: var(--control-hover-bg);
    transform: translateY(-2px);
}

.control-btn svg {
    width: 22px;
    height: 22px;
}

.theme-switcher {
    position: relative;
}

.theme-toggle-checkbox {
    display: none;
}

.theme-toggle-label {
    width: 44px;
    height: 44px;
    background: var(--control-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.theme-toggle-label:hover {
    background: var(--control-hover-bg);
    transform: translateY(-2px);
}

.theme-toggle-label .sun, .theme-toggle-label .moon {
    color: var(--control-icon-color);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.theme-toggle-checkbox:checked ~ .theme-toggle-label .sun {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(180deg) scale(0.8);
}

.theme-toggle-checkbox:checked ~ .theme-toggle-label .moon {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
}

/* Light mode general button and tag styles */
.light-theme .tech-tag,
.light-theme .skill-tag {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}

.light-theme .tech-tag:hover,
.light-theme .skill-tag:hover {
    background: rgba(168, 145, 217, 0.1);
    border-color: var(--primary-color);
}

.light-theme .social-btn {
    background: var(--primary-gradient);
    color: #FFFFFF;
    border: 1px solid var(--primary-color);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}

.light-theme .social-btn:hover {
    background: rgba(168, 145, 217, 0.9);
    border-color: var(--primary-color);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(168, 145, 217, 0.3);
}

/* Light mode scrollbar */
.light-theme::-webkit-scrollbar {
    width: 8px;
}

.light-theme::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}

.light-theme::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 10px;
}

.light-theme::-webkit-scrollbar-thumb:hover {
    background: #8869C4;
}

/* ================================
   CERTIFICATIONS SECTION STYLES
   ================================ */

.certifications {
    padding: 6rem 0 4rem;
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: var(--bg-color);
    position: relative;
}

.certifications-content {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

.certifications-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 3rem;
    font-family: 'Inter', sans-serif;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
    text-align: center;

}

.certifications-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: var(--primary-color);
    border-radius: 2px;
}

/* Image Slider Container */
.certifications-slider {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background: var(--card-bg);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.light-theme .certifications-slider {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.slider-container {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
}

.slider-track {
    display: flex;
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    width: 500%; /* 5 images * 100% */
    height: 100%;
}

/* Certification Slide */
.certification-slide {
    width: 20%; /* 100% / 5 slides */
    flex-shrink: 0;
    position: relative;
    height: 100%;
}

.certification-image {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.certification-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.certification-slide:hover .certification-image img {
    transform: scale(1.05);
}

/* Image Overlay */
.certification-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    padding: 3rem 2rem 2rem;
    color: white;
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.3s ease;
}

.certification-slide:hover .certification-overlay,
.certification-slide.active .certification-overlay {
    transform: translateY(0);
    opacity: 1;
}

.certification-overlay h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    font-family: 'Space Grotesk', sans-serif;
}

.certification-overlay .issuer {
    font-size: 1.1rem;
    color: #000;
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.certification-overlay .date {
    font-size: 0.9rem;
    opacity: 0.8;
    margin-bottom: 1rem;
}

.certification-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.cert-skill {
    padding: 0.3rem 0.8rem;
    background: rgba(168, 145, 217, 0.9);
    color: white;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.cert-skill:hover {
    background: var(--primary-color);
    transform: translateY(-2px);
}

/* Navigation Buttons */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0.7);
    border: none;
    border-radius: 50%;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.slider-btn:hover {
    background: var(--primary-color);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 12px 35px rgba(168, 145, 217, 0.4);
}

.slider-prev {
    left: 20px;
}

.slider-next {
    right: 20px;
}

.slider-btn svg {
    width: 24px;
    height: 24px;
}

/* Dots Indicator */
.slider-dots {
    display: flex;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    background: var(--card-bg);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.light-theme .slider-dots {
    background: var(--glass-bg);
    border-top: 1px solid var(--glass-border);
}

.slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
}

.slider-dot.active,
.slider-dot:hover {
    background: var(--primary-color);
    transform: scale(1.3);
}

/* Info Panel - Shows current certification details */
.certification-info-panel {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 1.5rem;
    border-radius: 15px;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    max-width: 300px;
    transform: translateX(100%);
    opacity: 0;
    transition: all 0.5s ease;
    z-index: 15;
}

.certification-info-panel.active {
    transform: translateX(0);
    opacity: 1;
}

.certification-info-panel h3 {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--primary-color);
}

.certification-info-panel .issuer {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.certification-info-panel .date {
    font-size: 0.9rem;
    opacity: 0.8;
    margin-bottom: 1rem;
}

.certification-info-panel .skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.certification-info-panel .skill {
    padding: 0.2rem 0.6rem;
    background: var(--primary-color);
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
}

/* Responsive Design */
@media (max-width: 768px) {
    .certifications {
        padding: 4rem 0 2rem;
    }
    
    .certifications-content {
        padding: 0 1rem;
    }
    
    .slider-container {
        height: 400px;
    }
    
    .certification-overlay {
        padding: 2rem 1rem 1rem;
    }
    
    .certification-overlay h3 {
        font-size: 1.3rem;
    }
    
    .slider-btn {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
    
    .slider-prev {
        left: 10px;
    }
    
    .slider-next {
        right: 10px;
    }
    
    .certification-info-panel {
        position: static;
        transform: none;
        opacity: 1;
        margin-top: 1rem;
        max-width: none;
    }
}

@media (max-width: 480px) {
    .slider-container {
        height: 350px;
    }
    
    .certification-overlay {
        padding: 1.5rem 1rem 1rem;
    }
    
    .certification-overlay h3 {
        font-size: 1.1rem;
    }
    
    .certification-overlay .issuer {
        font-size: 1rem;
    }
    
    .cert-skill {
        padding: 0.2rem 0.6rem;
        font-size: 0.7rem;
    }
    
    .slider-dots {
        padding: 1.5rem;
        gap: 0.8rem;
    }
}

/* Loading Animation */
.certification-slide.loading .certification-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
    );
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* Animation classes for GSAP */
.slider-animate {
    opacity: 0;
    transform: translateY(50px);
}

.certification-image-animate {
    opacity: 0;
    transform: scale(0.8);
}

.cert-skill-animate {
    opacity: 0;
    transform: translateY(20px);
}

/* ============================================
   LENIS SMOOTH SCROLL BASE STYLES
   ============================================ */

html.lenis, html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/* ============================================
   SCROLL PROGRESS BAR
   ============================================ */

.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--primary-gradient);
    transform-origin: left center;
    transform: scaleX(0);
    z-index: 9999;
    pointer-events: none;
    box-shadow:
        0 0 10px rgba(168, 145, 217, 0.6),
        0 0 20px rgba(168, 145, 217, 0.3);
}

.light-theme .scroll-progress {
    box-shadow:
        0 0 10px rgba(168, 145, 217, 0.4),
        0 0 20px rgba(168, 145, 217, 0.2);
}

/* ============================================
   SCROLL DOWN INDICATOR
   ============================================ */

.scroll-indicator {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    z-index: 5;
}

.scroll-indicator-mouse {
    width: 26px;
    height: 42px;
    border: 2px solid rgba(168, 145, 217, 0.5);
    border-radius: 20px;
    position: relative;
    display: flex;
    justify-content: center;
}

.scroll-indicator-wheel {
    width: 4px;
    height: 10px;
    background: var(--primary-color);
    border-radius: 4px;
    margin-top: 8px;
    animation: scrollWheel 2s ease-in-out infinite;
}

@keyframes scrollWheel {
    0% { opacity: 1; transform: translateY(0); }
    50% { opacity: 0.5; transform: translateY(12px); }
    100% { opacity: 1; transform: translateY(0); }
}

.scroll-indicator-text {
    font-size: 0.7rem;
    color: var(--subtle-text);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 500;
}

.light-theme .scroll-indicator-mouse {
    border-color: rgba(168, 145, 217, 0.6);
}

@media (max-width: 768px) {
    .scroll-indicator {
        bottom: 2rem;
    }
    .scroll-indicator-mouse {
        width: 22px;
        height: 36px;
    }
    .scroll-indicator-wheel {
        width: 3px;
        height: 8px;
        margin-top: 6px;
    }
    .scroll-indicator-text {
        font-size: 0.6rem;
    }
}

/* ============================================
   HERO BACKGROUND PARALLAX LAYER
   ============================================ */

.hero {
    position: relative;
    overflow: hidden;
}

.hero-bg-layer {
    position: absolute;
    top: -20%;
    left: -10%;
    right: -10%;
    bottom: -20%;
    background: transparent;
    pointer-events: none;
    z-index: 0;
    will-change: transform;
}

.light-theme .hero-bg-layer {
    background: transparent;
}

/* ============================================
   CHARACTER-BY-CHARACTER NAME ANIMATION
   Professional clip-mask text reveal
   ============================================ */

.name {
    overflow: hidden; /* clip boundary for the reveal */
}

.char-wrap {
    display: inline-block;
    will-change: transform, opacity;
    color: #A891D9;
    position: relative;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                color 0.3s ease,
                text-shadow 0.3s ease;
}

.char-wrap:hover {
    color: #CBBBF6;
    transform: translateY(-3px) !important;
    text-shadow: 0 0 25px rgba(168, 145, 217, 0.4);
}

/* ============================================
   ENHANCED SECTION TRANSITIONS
   ============================================ */

[data-scroll-section] {
    position: relative;
}

[data-scroll-reveal] {
    will-change: transform, opacity;
}

/* Smooth section separators */
.about::before,
.skills::before,
.projects::before,
.experience::before,
.certifications::before,
.contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(168, 145, 217, 0.2), transparent);
    pointer-events: none;
}

.hero::before {
    display: none !important;
}

.light-theme .about::before,
.light-theme .skills::before,
.light-theme .projects::before,
.light-theme .experience::before,
.light-theme .certifications::before,
.light-theme .contact::before {
    background: linear-gradient(90deg, transparent, rgba(168, 145, 217, 0.3), transparent);
}

/* ============================================
   CUSTOM SCROLLBAR (Desktop)
   ============================================ */

@media (min-width: 769px) {
    ::-webkit-scrollbar {
        width: 6px;
    }

    ::-webkit-scrollbar-track {
        background: transparent;
    }

    ::-webkit-scrollbar-thumb {
        background: rgba(168, 145, 217, 0.3);
        border-radius: 10px;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: rgba(168, 145, 217, 0.6);
    }

    html {
        scrollbar-width: thin;
        scrollbar-color: rgba(168, 145, 217, 0.3) transparent;
    }
}