/* =========================================================
   GLOBAL
========================================================= */

:root {
    --bg-primary: #08080d;
    --bg-secondary: #0d0d14;
    --bg-card: #111119;

    --text-primary: #f5f5f7;
    --text-secondary: #a5a5b0;

    --accent: #7c5cff;
    --accent-light: #a98cff;

    --border-color: rgba(255, 255, 255, 0.08);

    --shadow: 0 20px 50px rgba(0, 0, 0, 0.3);

    --container: 1200px;

    --transition: 0.3s ease;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Inter", sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

button,
input,
textarea {
    font-family: inherit;
}

.container {
    width: min(92%, var(--container));
    margin: auto;
}

.section {
    padding: 110px 0;
}

.section-alt {
    background: var(--bg-secondary);
}


/* =========================================================
   PRELOADER
========================================================= */

.preloader {
    position: fixed;
    inset: 0;

    background: #08080d;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    z-index: 9999;

    transition:
        opacity 0.5s ease,
        visibility 0.5s ease;
}

.preloader.hide {
    opacity: 0;
    visibility: hidden;
}

.loader-logo {
    font-family: "Poppins", sans-serif;

    font-size: 2rem;
    font-weight: 800;
}

.loader-logo span {
    color: var(--accent);
}

.loader-line {
    width: 100px;
    height: 3px;

    margin-top: 15px;

    background: var(--accent);

    animation: loader 1.2s infinite;
}

@keyframes loader {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }

    50% {
        transform: scaleX(1);
    }

    100% {
        transform: scaleX(0);
        transform-origin: right;
    }
}


/* =========================================================
   HEADER
========================================================= */

.header {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    padding: 18px 0;

    transition: var(--transition);
}

.header.scrolled {
    background: rgba(8, 8, 13, 0.9);

    backdrop-filter: blur(15px);

    border-bottom: 1px solid var(--border-color);
}


/* Logo */

.logo {
    font-family: "Poppins", sans-serif;

    font-size: 1.55rem;

    font-weight: 800;

    letter-spacing: -1px;
}

.logo span {
    color: var(--text-primary);
}

.logo em {
    color: var(--accent);

    font-style: normal;

    font-size: 0.9em;
}

.nav-container {
    display: flex;

    align-items: center;

    justify-content: space-between;
}

.navbar {
    display: flex;

    align-items: center;

    gap: 32px;
}

.nav-link {
    position: relative;

    color: var(--text-secondary);

    font-size: 0.9rem;

    font-weight: 500;

    transition: var(--transition);
}

.nav-link:hover,
.nav-link.active {
    color: var(--text-primary);
}

.nav-link::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -9px;

    width: 0;
    height: 2px;

    background: var(--accent);

    transition: var(--transition);
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}


/* Theme */

.theme-toggle {
    width: 45px;
    height: 45px;

    border-radius: 50%;

    border: 1px solid var(--border-color);

    background: var(--bg-card);

    color: var(--text-primary);

    cursor: pointer;

    transition: var(--transition);
}

.theme-toggle:hover {
    color: var(--accent);

    border-color: var(--accent);

    transform: rotate(15deg);
}


/* Mobile */

.menu-toggle {
    display: none;

    width: 42px;
    height: 42px;

    border: none;

    background: transparent;

    cursor: pointer;
}

.menu-toggle span {
    display: block;

    width: 25px;
    height: 2px;

    background: var(--text-primary);

    margin: 5px auto;

    transition: var(--transition);
}


/* =========================================================
   HERO
========================================================= */

.hero {
    position: relative;

    min-height: 100vh;

    display: flex;

    align-items: center;

    overflow: hidden;
}


/* Background */

.hero-bg {
    position: absolute;

    inset: 0;

    pointer-events: none;
}

.hero-grid {
    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            rgba(124, 92, 255, 0.055) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(124, 92, 255, 0.055) 1px,
            transparent 1px
        );

    background-size: 65px 65px;
}

.hero-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(120px);
}

.hero-glow-left {
    width: 400px;
    height: 400px;

    left: -250px;
    bottom: -150px;

    background: #00bfff;

    opacity: 0.08;
}

.hero-glow-right {
    width: 600px;
    height: 600px;

    right: -200px;
    top: 80px;

    background: var(--accent);

    opacity: 0.13;
}


/* =========================================================
   HERO LAYOUT
========================================================= */

.hero-container {
    position: relative;

    z-index: 2;

    min-height: 100vh;

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 30px;

    padding-top: 70px;
}


/* =========================================================
   HERO LEFT
========================================================= */

.hero-content {
    position: relative;

    z-index: 10;
}

.hero-greeting {
    color: var(--accent);

    font-size: 1.1rem;

    font-weight: 600;

    margin-bottom: 20px;
}

.hero-content h1 {
    font-family: "Poppins", sans-serif;

    font-size: clamp(4rem, 6vw, 6.2rem);

    line-height: 0.95;

    letter-spacing: -4px;

    font-weight: 800;

    margin-bottom: 30px;
}

.hero-content h1 span {
    color: var(--accent);
}


/* =========================================================
   HERO ROLE
========================================================= */

.hero-role {
    display: flex;

    align-items: center;

    gap: 7px;

    min-height: 40px;

    font-size: 1.55rem;

    font-weight: 600;

    margin-bottom: 22px;
}

.hero-role #typing-text {
    color: var(--accent);
}

.typing-cursor {
    color: var(--accent);

    animation: cursorBlink 0.8s infinite;
}

@keyframes cursorBlink {
    0%,
    50% {
        opacity: 1;
    }

    51%,
    100% {
        opacity: 0;
    }
}


/* =========================================================
   HERO DESCRIPTION
========================================================= */

.hero-description {
    max-width: 650px;

    color: var(--text-secondary);

    font-size: 1rem;

    line-height: 1.8;

    margin-bottom: 32px;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.hero-buttons {
    display: flex;

    gap: 15px;

    margin-bottom: 35px;

    flex-wrap: wrap;
}

.btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    min-height: 55px;

    padding: 0 27px;

    border-radius: 11px;

    font-size: 0.95rem;

    font-weight: 600;

    transition: var(--transition);

    cursor: pointer;
}

.btn-primary {
    background: var(--accent);

    color: white;

    box-shadow:
        0 12px 35px rgba(124, 92, 255, 0.3);
}

.btn-primary:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 45px rgba(124, 92, 255, 0.45);
}

.btn-outline {
    border: 1px solid var(--border-color);

    color: var(--text-primary);

    background: rgba(255, 255, 255, 0.02);
}

.btn-outline:hover {
    border-color: var(--accent);

    color: var(--accent);

    transform: translateY(-4px);
}


/* =========================================================
   HERO SOCIAL
========================================================= */

.hero-social {
    display: flex;

    gap: 12px;
}

.hero-social a {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 10px;

    border: 1px solid var(--border-color);

    color: var(--text-secondary);

    background: rgba(255, 255, 255, 0.02);

    transition: var(--transition);
}

.hero-social a:hover {
    color: white;

    background: var(--accent);

    border-color: var(--accent);

    transform: translateY(-5px);

    box-shadow:
        0 10px 30px rgba(124, 92, 255, 0.4);
}


/* =========================================================
   HERO PHOTO
   BIGGER VERSION
========================================================= */

.hero-visual {
    min-height: 700px;

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;
}


/* Main wrapper */

.photo-wrapper {
    position: relative;

    width: 680px;
    height: 680px;

    display: flex;

    align-items: center;

    justify-content: center;
}


/* =========================================================
   PROFILE IMAGE CONTAINER
========================================================= */

.profile-image-container {
    position: relative;

    /*
       Increased image dimensions
    */

    width: clamp(420px, 40vw, 700px);

    height: clamp(600px, 85vh, 850px);

    display: flex;

    align-items: center;

    justify-content: center;

    background: transparent !important;

    border: none !important;

    border-radius: 0;

    overflow: visible;

    z-index: 5;

    animation: profileFloat 5s ease-in-out infinite;
}


/* Actual image */

.profile-image {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;

    object-position: center center;

    background: transparent !important;

    border: none !important;

    border-radius: 0;

    box-shadow: none !important;
}


@keyframes profileFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}


/* =========================================================
   PHOTO GLOW
========================================================= */

.photo-glow {
    position: absolute;

    width: 430px;
    height: 430px;

    border-radius: 50%;

    background: var(--accent);

    filter: blur(110px);

    opacity: 0.24;

    z-index: 1;

    animation: photoGlow 3s ease-in-out infinite;
}

@keyframes photoGlow {
    0%,
    100% {
        transform: scale(0.9);

        opacity: 0.18;
    }

    50% {
        transform: scale(1.12);

        opacity: 0.32;
    }
}


/* =========================================================
   PHOTO RINGS
========================================================= */

.photo-orbit {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}


/* Main ring */

.orbit-one {
    width: 455px;
    height: 455px;

    border: 2px solid rgba(124, 92, 255, 0.8);

    box-shadow:
        0 0 15px rgba(124, 92, 255, 0.5),
        inset 0 0 15px rgba(124, 92, 255, 0.2);

    z-index: 2;

    animation: ringRotate 12s linear infinite;
}


/* Horizontal ring */

.orbit-two {
    width: 570px;
    height: 320px;

    border: 1px solid rgba(176, 132, 255, 0.45);

    transform: rotate(-25deg);

    animation: ringRotateTwo 16s linear infinite;
}


/* Vertical ring */

.orbit-three {
    width: 350px;
    height: 570px;

    border: 1px solid rgba(124, 92, 255, 0.3);

    transform: rotate(30deg);

    animation: ringRotateThree 20s linear infinite;
}


@keyframes ringRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes ringRotateTwo {
    from {
        transform: rotate(-25deg);
    }

    to {
        transform: rotate(335deg);
    }
}

@keyframes ringRotateThree {
    from {
        transform: rotate(30deg);
    }

    to {
        transform: rotate(390deg);
    }
}


/* =========================================================
   TECH CARDS
========================================================= */

.tech-card {
    position: absolute;

    z-index: 10;

    min-width: 105px;

    padding: 12px 15px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    border: 1px solid rgba(124, 92, 255, 0.4);

    border-radius: 13px;

    background: rgba(12, 10, 22, 0.85);

    backdrop-filter: blur(15px);

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.35);

    color: var(--text-primary);

    font-size: 0.78rem;

    font-weight: 600;

    animation: techFloat 4s ease-in-out infinite;
}

.tech-card i {
    font-size: 1.2rem;

    color: var(--accent);
}


/* Positions */

.tech-java {
    top: 45px;
    left: 55px;

    animation-delay: 0s;
}

.tech-python {
    top: 25px;
    right: 45px;

    animation-delay: 0.8s;
}

.tech-react {
    top: 230px;
    left: -5px;

    animation-delay: 1.5s;
}

.tech-node {
    bottom: 70px;
    left: 30px;

    animation-delay: 2.2s;
}

.tech-mysql {
    bottom: 70px;
    right: 25px;

    animation-delay: 2.8s;
}

.tech-html {
    top: 235px;
    right: -15px;

    animation-delay: 3.5s;
}


@keyframes techFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-13px);
    }
}


/* =========================================================
   PARTICLES
========================================================= */

.particle {
    position: absolute;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--accent);

    box-shadow:
        0 0 10px var(--accent),
        0 0 25px var(--accent);

    z-index: 8;

    animation: particleFloat 3s ease-in-out infinite;
}

.particle-one {
    top: 100px;
    right: 150px;
}

.particle-two {
    bottom: 110px;
    left: 140px;

    animation-delay: 1s;
}

.particle-three {
    top: 300px;
    right: 25px;

    animation-delay: 1.8s;
}

.particle-four {
    top: 160px;
    left: 20px;

    animation-delay: 2.5s;
}

@keyframes particleFloat {
    0%,
    100% {
        transform: translateY(0) scale(1);

        opacity: 0.6;
    }

    50% {
        transform: translateY(-15px) scale(1.4);

        opacity: 1;
    }
}


/* =========================================================
   SCROLL DOWN
========================================================= */

.scroll-down {
    position: absolute;

    bottom: 25px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 7px;

    color: var(--text-secondary);

    font-size: 0.75rem;

    z-index: 20;
}

.scroll-down i {
    color: var(--accent);

    animation: scrollBounce 1.5s infinite;
}

@keyframes scrollBounce {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(7px);
    }
}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.section-heading {
    text-align: center;

    max-width: 700px;

    margin: 0 auto 65px;
}

.section-tag {
    display: inline-block;

    color: var(--accent);

    font-size: 0.85rem;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 2px;

    margin-bottom: 12px;
}

.section-heading h2 {
    font-family: "Poppins", sans-serif;

    font-size: clamp(2rem, 4vw, 3.2rem);

    line-height: 1.2;

    margin-bottom: 15px;
}

.section-heading h2 span {
    color: var(--accent);
}

.section-heading p {
    color: var(--text-secondary);
}


/* =========================================================
   ABOUT
========================================================= */

.about-grid {
    display: grid;

    grid-template-columns: 0.8fr 1.2fr;

    gap: 70px;

    align-items: center;
}

.about-image {
    display: flex;

    justify-content: center;
}

.about-card {
    width: 300px;

    padding: 45px 30px;

    text-align: center;

    border: 1px solid var(--border-color);

    border-radius: 20px;

    background: var(--bg-card);

    box-shadow: var(--shadow);
}


/* =========================================================
   ABOUT AVATAR
========================================================= */

.about-avatar {
    position: relative;

    width: 155px;
    height: 155px;

    margin: 0 auto 30px;

    border-radius: 50%;

    padding: 5px;

    background: linear-gradient(
        135deg,
        #7c5cff,
        #9b7cff,
        #6d4aff
    );

    box-shadow:
        0 0 0 5px rgba(124, 92, 255, 0.08),
        0 0 25px rgba(124, 92, 255, 0.35),
        0 0 50px rgba(124, 92, 255, 0.12);

    overflow: visible;

    animation: avatarFloat 4s ease-in-out infinite;
}


/* About photo */

.about-avatar img {
    width: 100%;
    height: 100%;

    display: block;

    border-radius: 50%;

    object-fit: cover;

    object-position: center 28%;

    border: 4px solid #111118;

    background: #111118;
}


/* Purple outer glow */

.about-avatar::before {
    content: "";

    position: absolute;

    inset: -8px;

    border-radius: 50%;

    border: 1px solid rgba(124, 92, 255, 0.45);

    animation: avatarGlow 2.5s ease-in-out infinite;

    pointer-events: none;
}


/* =========================================================
   ABOUT LABEL
========================================================= */

.about-me-label {
    position: absolute;

    left: -105px;
    top: -10px;

    display: flex;

    flex-direction: column;

    align-items: center;

    color: var(--accent);

    z-index: 10;

    animation: aboutLabelFloat 2.5s ease-in-out infinite;
}

.about-me-label span {
    font-family: "Caveat", cursive;

    font-size: 24px;

    font-weight: 700;

    white-space: nowrap;

    transform: rotate(-8deg);
}

.about-me-label i {
    font-size: 25px;

    margin-top: 7px;

    transform: rotate(-20deg);

    animation: arrowMove 1.5s ease-in-out infinite;
}


/* =========================================================
   HELLO ANIMATION
========================================================= */

.hello-animation {
    opacity: 0;

    animation: helloAppear 1s ease forwards;

    animation-delay: 0.25s;
}

.hello-animation span {
    color: var(--accent);
}

.hello-animation .wave {
    display: inline-block;

    transform-origin: 70% 70%;

    animation: handWave 2s ease-in-out infinite;

    animation-delay: 1.2s;
}


@keyframes helloAppear {
    0% {
        opacity: 0;

        transform: translateY(25px);
    }

    100% {
        opacity: 1;

        transform: translateY(0);
    }
}


@keyframes handWave {
    0% {
        transform: rotate(0deg);
    }

    10% {
        transform: rotate(15deg);
    }

    20% {
        transform: rotate(-10deg);
    }

    30% {
        transform: rotate(15deg);
    }

    40% {
        transform: rotate(-5deg);
    }

    50% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(0deg);
    }
}


@keyframes avatarFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}


@keyframes avatarGlow {
    0%,
    100% {
        transform: scale(1);

        opacity: 0.45;
    }

    50% {
        transform: scale(1.06);

        opacity: 0.9;
    }
}


@keyframes aboutLabelFloat {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-7px) rotate(2deg);
    }
}


@keyframes arrowMove {
    0%,
    100% {
        transform: rotate(-20deg) translateY(0);
    }

    50% {
        transform: rotate(-20deg) translateY(8px);
    }
}


/* =========================================================
   ABOUT CARD
========================================================= */

.about-card h3 {
    margin-bottom: 5px;
}

.about-card p {
    color: var(--text-secondary);

    margin-bottom: 20px;
}

.available {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--text-secondary);

    font-size: 0.75rem;
}

.available span {
    width: 8px;
    height: 8px;

    background: #4ade80;

    border-radius: 50%;
}

.about-content h3 {
    font-size: 1.7rem;

    margin-bottom: 20px;
}

.about-content > p {
    color: var(--text-secondary);

    margin-bottom: 18px;
}

.about-info {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;

    margin-top: 30px;
}

.about-info div {
    padding: 18px;

    border: 1px solid var(--border-color);

    border-radius: 12px;

    background: var(--bg-card);
}

.about-info span {
    display: block;

    color: var(--text-secondary);

    font-size: 0.75rem;

    margin-bottom: 5px;
}

.about-info strong {
    font-size: 0.9rem;
}


/* =========================================================
   MOVING SKILLS CARDS
========================================================= */

.moving-skills-grid {
    max-width: 1050px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 24px;
}


/* CARD */

.moving-skill-card {
    position: relative;

    min-height: 300px;

    padding: 28px;

    border: 1px solid var(--border-color);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.045),
            rgba(255,255,255,0.012)
        );

    backdrop-filter: blur(18px);

    overflow: hidden;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}


/* GLOW */

.moving-skill-card::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    top: -100px;
    right: -100px;

    border-radius: 50%;

    background: var(--accent);

    opacity: 0.08;

    filter: blur(45px);

    transition: 0.5s ease;
}


.moving-skill-card:hover {
    transform: translateY(-8px);

    border-color: rgba(124, 92, 255, 0.5);

    box-shadow:
        0 20px 50px rgba(0,0,0,0.35),
        0 0 35px rgba(124,92,255,0.12);
}


.moving-skill-card:hover::before {
    opacity: 0.2;

    transform: scale(1.5);
}


/* HEADER */

.moving-card-header {
    position: relative;
    z-index: 2;

    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 25px;
}


.moving-card-icon {
    width: 55px;
    height: 55px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(124,92,255,0.2),
            rgba(124,92,255,0.05)
        );

    border: 1px solid rgba(124,92,255,0.25);

    color: var(--accent);

    font-size: 1.3rem;

    box-shadow:
        0 8px 25px rgba(124,92,255,0.12);
}


.moving-card-header h3 {
    font-family: "Poppins", sans-serif;

    font-size: 1.1rem;

    margin-bottom: 4px;
}


.moving-card-header p {
    color: var(--text-secondary);

    font-size: 0.72rem;
}


/* MOVING SKILL AREA */

.moving-skill-display {
    position: relative;

    height: 145px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    border-radius: 16px;

    background:
        radial-gradient(
            circle at center,
            rgba(124,92,255,0.09),
            transparent 65%
        );

    border: 1px solid rgba(255,255,255,0.04);
}


/* SKILL ITEM */

.moving-skill-item {
    position: absolute;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 12px;

    opacity: 0;

    transform:
        translateX(80px)
        scale(0.8);

    transition:
        opacity 0.5s ease,
        transform 0.6s ease;
}


.moving-skill-item.active {
    opacity: 1;

    transform:
        translateX(0)
        scale(1);
}


.moving-skill-item i {
    font-size: 3.5rem;

    color: var(--accent-light);

    filter:
        drop-shadow(
            0 0 15px
            rgba(124,92,255,0.45)
        );

    animation:
        skillIconFloat 2.5s ease-in-out infinite;
}


.moving-skill-item span {
    color: var(--text-primary);

    font-size: 1rem;

    font-weight: 600;

    letter-spacing: 0.3px;
}


/* FLOATING ICON */

@keyframes skillIconFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}


/* DOTS */

.skill-dots {
    position: relative;
    z-index: 2;

    display: flex;

    justify-content: center;

    gap: 7px;

    margin-top: 18px;
}


.skill-dots span {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: rgba(255,255,255,0.15);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}


.skill-dots span.active {
    width: 20px;

    border-radius: 10px;

    background: var(--accent);

    box-shadow:
        0 0 10px
        rgba(124,92,255,0.6);
}


/* HOVER PAUSE */

.moving-skill-card:hover
.moving-skill-item i {
    animation-play-state: paused;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .moving-skills-grid {
        grid-template-columns: 1fr;

        max-width: 650px;
    }

}


@media (max-width: 600px) {

    .moving-skills-grid {
        gap: 18px;
    }


    .moving-skill-card {
        min-height: 280px;

        padding: 22px;
    }


    .moving-card-icon {
        width: 48px;
        height: 48px;

        font-size: 1.1rem;
    }


    .moving-card-header h3 {
        font-size: 1rem;
    }


    .moving-card-header p {
        font-size: 0.68rem;
    }


    .moving-skill-display {
        height: 135px;
    }


    .moving-skill-item i {
        font-size: 3rem;
    }


    .moving-skill-item span {
        font-size: 0.9rem;
    }

}


@media (max-width: 450px) {

    .moving-skill-card {
        padding: 19px;
    }


    .moving-card-header {
        gap: 11px;
    }


    .moving-card-icon {
        width: 44px;
        height: 44px;
    }


    .moving-skill-display {
        height: 125px;
    }

}
/* =========================================================
   MOVING SKILLS SECTION
========================================================= */

.skills-slider {
    width: 100%;
    max-width: 1100px;

    margin: 45px auto 0;

    position: relative;

    overflow: hidden;

    padding: 15px 0;
}


/* LEFT & RIGHT FADE */

.skills-slider::before,
.skills-slider::after {
    content: "";

    position: absolute;

    top: 0;

    width: 120px;

    height: 100%;

    z-index: 5;

    pointer-events: none;
}

.skills-slider::before {
    left: 0;

    background:
        linear-gradient(
            90deg,
            var(--bg-secondary),
            transparent
        );
}

.skills-slider::after {
    right: 0;

    background:
        linear-gradient(
            270deg,
            var(--bg-secondary),
            transparent
        );
}


/* MOVING TRACK */

.skills-track {
    display: flex;

    width: max-content;

    gap: 22px;

    animation:
        skillsMove 30s linear infinite;
}


/* INDIVIDUAL SKILL */

.skill-slide {
    width: 170px;
    height: 115px;

    flex-shrink: 0;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 10px;

    border-radius: 18px;

    border: 1px solid var(--border-color);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.045),
            rgba(255,255,255,0.01)
        );

    backdrop-filter: blur(12px);

    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;

    cursor: default;
}


/* HOVER */

.skill-slide:hover {
    transform: translateY(-8px) scale(1.04);

    border-color:
        rgba(124,92,255,0.45);

    box-shadow:
        0 15px 35px rgba(0,0,0,0.3),
        0 0 25px rgba(124,92,255,0.1);
}


/* ICON */

.skill-slide i {
    font-size: 2.8rem;

    transition:
        transform 0.3s ease,
        filter 0.3s ease;
}


.skill-slide:hover i {
    transform: scale(1.15);

    filter:
        drop-shadow(
            0 0 10px currentColor
        );
}


/* SKILL NAME */

.skill-slide span {
    font-family: "Poppins", sans-serif;

    color: var(--text-primary);

    font-size: 0.85rem;

    font-weight: 600;

    letter-spacing: 0.2px;
}


/* =========================================================
   BRAND COLORS
========================================================= */

.html-icon {
    color: #E34F26;
}

.css-icon {
    color: #1572B6;
}

.js-icon {
    color: #F7DF1E;
}

.bootstrap-icon {
    color: #7952B3;
}

.java-icon {
    color: #ED8B00;
}

.python-icon {
    color: #3776AB;
}

.sql-icon {
    color: #4479A1;
}

.powerbi-icon {
    color: #F2C811;
}

.postman-icon {
    color: #FF6C37;
}

.git-icon {
    color: #F05032;
}

.github-icon {
    color: #ffffff;
}

.vscode-icon {
    color: #007ACC;
}


/* =========================================================
   MOVING ANIMATION
========================================================= */

@keyframes skillsMove {

    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(
            calc(-50% - 11px)
        );
    }

}


/* =========================================================
   PAUSE ON HOVER
========================================================= */

.skills-slider:hover .skills-track {
    animation-play-state: paused;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .skills-slider {
        margin-top: 35px;
    }

    .skill-slide {
        width: 155px;
        height: 105px;
    }

    .skill-slide i {
        font-size: 2.5rem;
    }

}


@media (max-width: 600px) {

    .skills-slider {
        margin-top: 30px;
    }

    .skills-track {
        gap: 15px;

        animation-duration: 25s;
    }

    .skill-slide {
        width: 140px;
        height: 100px;

        border-radius: 15px;
    }

    .skill-slide i {
        font-size: 2.3rem;
    }

    .skill-slide span {
        font-size: 0.78rem;
    }

    .skills-slider::before,
    .skills-slider::after {
        width: 60px;
    }

}


@media (max-width: 450px) {

    .skill-slide {
        width: 125px;
        height: 95px;
    }

    .skill-slide i {
        font-size: 2.1rem;
    }

    .skill-slide span {
        font-size: 0.72rem;
    }

}

/* =========================================================
   PROJECTS SECTION
========================================================= */

.projects-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 24px;

    max-width: 1150px;

    margin: 0 auto;
}


/* =========================================================
   PROJECT CARD
========================================================= */

.project-card {
    position: relative;

    min-height: 500px;

    padding: 30px;

    display: flex;

    flex-direction: column;

    border: 1px solid var(--border-color);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.045),
            rgba(255, 255, 255, 0.012)
        );

    backdrop-filter: blur(15px);

    overflow: hidden;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}


/* TOP GLOW */

.project-card::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    top: -100px;
    right: -100px;

    border-radius: 50%;

    background: var(--accent);

    opacity: 0.08;

    filter: blur(45px);

    transition: 0.5s ease;

    pointer-events: none;
}


/* BOTTOM GLOW */

.project-card::after {
    content: "";

    position: absolute;

    width: 120px;
    height: 120px;

    bottom: -80px;
    left: -70px;

    border-radius: 50%;

    background: var(--accent);

    opacity: 0.04;

    filter: blur(35px);

    pointer-events: none;
}


/* HOVER */

.project-card:hover {
    transform: translateY(-10px);

    border-color:
        rgba(124, 92, 255, 0.5);

    box-shadow:
        0 25px 55px rgba(0, 0, 0, 0.35),
        0 0 40px rgba(124, 92, 255, 0.1);
}


.project-card:hover::before {
    opacity: 0.18;

    transform: scale(1.4);
}


/* =========================================================
   PROJECT NUMBER
========================================================= */

.project-number {
    position: absolute;

    top: 22px;
    right: 25px;

    font-family: "Poppins", sans-serif;

    font-size: 0.75rem;

    font-weight: 600;

    letter-spacing: 2px;

    color: rgba(255, 255, 255, 0.2);
}


/* =========================================================
   PROJECT ICON
========================================================= */

.project-icon {
    width: 60px;
    height: 60px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            rgba(124, 92, 255, 0.2),
            rgba(124, 92, 255, 0.05)
        );

    border: 1px solid
        rgba(124, 92, 255, 0.25);

    color: var(--accent-light);

    font-size: 1.4rem;

    box-shadow:
        0 8px 25px
        rgba(124, 92, 255, 0.1);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}


.project-card:hover .project-icon {
    transform:
        translateY(-5px)
        rotate(-4deg);

    box-shadow:
        0 12px 30px
        rgba(124, 92, 255, 0.2);
}


/* =========================================================
   PROJECT CONTENT
========================================================= */

.project-content {
    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    flex: 1;
}


.project-content h3 {
    font-family: "Poppins", sans-serif;

    font-size: 1.25rem;

    line-height: 1.4;

    margin-bottom: 14px;

    color: var(--text-primary);
}


.project-content p {
    color: var(--text-secondary);

    font-size: 0.8rem;

    line-height: 1.8;

    margin-bottom: 25px;
}


/* =========================================================
   TECH STACK
========================================================= */

.project-tech {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: auto;

    margin-bottom: 25px;
}


/* TECH BUTTON */

.tech-btn {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 7px 10px;

    border-radius: 8px;

    border: 1px solid
        rgba(255,255,255,0.08);

    background:
        rgba(255,255,255,0.035);

    color: var(--text-secondary);

    font-size: 0.68rem;

    font-weight: 500;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}


.tech-btn i {
    font-size: 0.75rem;
}


/* TECH HOVER */

.tech-btn:hover {
    transform: translateY(-3px);

    background:
        rgba(124, 92, 255, 0.1);

    border-color:
        rgba(124, 92, 255, 0.3);

    color: var(--text-primary);
}


/* =========================================================
   TECHNOLOGY COLORS
========================================================= */

.tech-btn.html i {
    color: #E34F26;
}

.tech-btn.css i {
    color: #1572B6;
}

.tech-btn.javascript i {
    color: #F7DF1E;
}

.tech-btn.bootstrap i {
    color: #7952B3;
}

.tech-btn.java i {
    color: #ED8B00;
}

.tech-btn.python i {
    color: #3776AB;
}

.tech-btn.mysql i {
    color: #4479A1;
}

.tech-btn.opencv i {
    color: #5C3EE8;
}

.tech-btn.easyocr i {
    color: #00A67E;
}

.tech-btn.jdbc i {
    color: #ED8B00;
}


/* =========================================================
   PROJECT ACTIONS
========================================================= */

.project-actions {
    display: flex;

    gap: 10px;
}


/* BUTTON */

.project-btn {
    flex: 1;

    min-height: 42px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding: 9px 12px;

    border-radius: 9px;

    font-size: 0.72rem;

    font-weight: 600;

    text-decoration: none;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}


/* PRIMARY */

.project-btn.primary {
    background: var(--accent);

    color: white;

    border: 1px solid var(--accent);
}


.project-btn.primary:hover {
    transform: translateY(-3px);

    background: var(--accent-light);

    border-color: var(--accent-light);

    box-shadow:
        0 8px 20px
        rgba(124, 92, 255, 0.25);
}


/* SECONDARY */

.project-btn.secondary {
    background:
        rgba(255,255,255,0.035);

    color: var(--text-primary);

    border: 1px solid
        var(--border-color);
}


.project-btn.secondary:hover {
    transform: translateY(-3px);

    border-color:
        rgba(124,92,255,0.4);

    background:
        rgba(124,92,255,0.08);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1050px) {

    .projects-grid {
        grid-template-columns: repeat(2, 1fr);

        max-width: 760px;
    }

}


@media (max-width: 700px) {

    .projects-grid {
        grid-template-columns: 1fr;

        max-width: 500px;

        gap: 20px;
    }


    .project-card {
        min-height: 470px;

        padding: 25px;
    }

}


@media (max-width: 450px) {

    .project-card {
        min-height: auto;

        padding: 22px;
    }


    .project-icon {
        width: 52px;
        height: 52px;

        font-size: 1.2rem;
    }


    .project-content h3 {
        font-size: 1.1rem;
    }


    .project-content p {
        font-size: 0.76rem;
    }


    .tech-btn {
        padding: 6px 8px;

        font-size: 0.63rem;
    }


    .project-actions {
        flex-direction: column;
    }

}

/* =========================================================
   EXPERIENCE SECTION
========================================================= */

.experience-wrapper {
    position: relative;

    max-width: 1100px;

    margin: 0 auto;

    padding-left: 55px;
}


/* =========================================================
   TIMELINE LINE
========================================================= */

.experience-wrapper::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    left: 18px;

    width: 2px;

    background: linear-gradient(
        to bottom,
        transparent,
        var(--accent) 8%,
        var(--accent) 92%,
        transparent
    );

    opacity: 0.7;
}


/* =========================================================
   EXPERIENCE CARD
========================================================= */

.experience-card {
    position: relative;

    display: grid;

    grid-template-columns: 250px minmax(0, 1fr);

    gap: 45px;

    padding: 38px;

    margin-bottom: 45px;

    border: 1px solid var(--border-color);

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.045),
            rgba(255, 255, 255, 0.01)
        );

    backdrop-filter: blur(18px);

    overflow: visible;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}


/* =========================================================
   CARD BACKGROUND GLOW
========================================================= */

.experience-card {
    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   CARD HOVER
========================================================= */

.experience-card:hover {
    transform: translateY(-8px);

    border-color:
        rgba(124, 92, 255, 0.45);

    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.35),
        0 0 40px rgba(124, 92, 255, 0.08);
}


/* =========================================================
   TIMELINE DOT
========================================================= */

.experience-card::before {
    content: "";

    position: absolute;

    left: -45px;

    top: 38px;

    width: 14px;

    height: 14px;

    border-radius: 50%;

    background: var(--bg-primary);

    border: 3px solid var(--accent);

    box-shadow:
        0 0 0 5px rgba(124, 92, 255, 0.10),
        0 0 20px rgba(124, 92, 255, 0.5);

    z-index: 10;

    transition:
        background 0.3s ease,
        box-shadow 0.3s ease;
}


/* =========================================================
   TIMELINE CONNECTOR
========================================================= */

.experience-card::after {
    content: "";

    position: absolute;

    left: -30px;

    top: 44px;

    width: 30px;

    height: 2px;

    background: var(--accent);

    opacity: 0.5;

    z-index: 5;
}


/* =========================================================
   TIMELINE DOT HOVER
========================================================= */

.experience-card:hover::before {
    background: var(--accent);

    box-shadow:
        0 0 0 7px rgba(124, 92, 255, 0.12),
        0 0 25px rgba(124, 92, 255, 0.8);
}


/* =========================================================
   LEFT SIDE
========================================================= */

.experience-left {
    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: flex-start;

    min-width: 0;
}


/* =========================================================
   COMPANY LOGO
========================================================= */

.company-logo {
    width: 220px;

    height: 95px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;

    padding: 10px 18px;

    background: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.15);

    border-radius: 8px;

    overflow: hidden;

    box-sizing: border-box;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.22);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}


/* =========================================================
   MPHASIS LOGO IMAGE
========================================================= */

.company-logo img {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: contain;

    object-position: center;

    max-width: 100%;

    max-height: 100%;

    margin: 0;

    padding: 0;

    border: none;

    outline: none;

    transform: none;

    transition:
        transform 0.4s ease;
}


/* =========================================================
   LOGO HOVER
========================================================= */

.experience-card:hover .company-logo {
    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.30);
}


.experience-card:hover .company-logo img {
    transform: scale(1.03);
}


/* =========================================================
   COMPANY INFORMATION
========================================================= */

.experience-company {
    width: 100%;
}


.experience-company h3 {
    margin: 0 0 8px;

    font-family: "Poppins", sans-serif;

    color: var(--text-primary);

    font-size: 1.45rem;

    font-weight: 700;

    line-height: 1.3;
}


.experience-company span {
    display: block;

    color: var(--accent-light);

    font-size: 0.78rem;

    font-weight: 500;

    line-height: 1.6;
}


/* =========================================================
   RIGHT SIDE
========================================================= */

.experience-right {
    position: relative;

    z-index: 2;

    min-width: 0;
}


/* =========================================================
   DATE
========================================================= */

.experience-date {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 20px;

    padding: 9px 14px;

    border-radius: 9px;

    background:
        rgba(124, 92, 255, 0.08);

    border: 1px solid
        rgba(124, 92, 255, 0.18);

    color: var(--accent-light);

    font-size: 0.72rem;

    font-weight: 600;

    white-space: nowrap;
}


.experience-date i {
    font-size: 0.75rem;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.experience-description {
    max-width: 720px;

    margin: 0 0 28px;

    color: var(--text-secondary);

    font-size: 0.82rem;

    line-height: 1.85;
}


/* =========================================================
   EXPERIENCE PHASES
========================================================= */

.experience-phases {
    display: flex;

    flex-direction: column;

    gap: 18px;

    margin-bottom: 28px;
}


/* =========================================================
   EXPERIENCE PHASE
========================================================= */

.experience-phase {
    display: flex;

    align-items: flex-start;

    gap: 15px;

    padding: 18px;

    border-radius: 15px;

    background:
        rgba(255, 255, 255, 0.025);

    border: 1px solid
        rgba(255, 255, 255, 0.05);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        background 0.3s ease;
}


.experience-phase:hover {
    transform: translateX(6px);

    border-color:
        rgba(124, 92, 255, 0.25);

    background:
        rgba(124, 92, 255, 0.045);
}


/* =========================================================
   PHASE ICON
========================================================= */

.phase-icon {
    width: 43px;

    height: 43px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 11px;

    background:
        rgba(124, 92, 255, 0.10);

    border: 1px solid
        rgba(124, 92, 255, 0.12);

    color: var(--accent);

    font-size: 0.9rem;
}


/* =========================================================
   PHASE CONTENT
========================================================= */

.phase-content {
    flex: 1;

    min-width: 0;
}


.phase-heading {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 7px;
}


.phase-heading h4 {
    margin: 0;

    font-family: "Poppins", sans-serif;

    color: var(--text-primary);

    font-size: 0.88rem;

    font-weight: 700;
}


.phase-heading span {
    color: var(--accent-light);

    font-size: 0.65rem;

    white-space: nowrap;
}


.phase-content p {
    margin: 0;

    color: var(--text-secondary);

    font-size: 0.72rem;

    line-height: 1.7;
}


/* =========================================================
   TECHNOLOGIES
========================================================= */

.experience-tech {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;
}


.experience-tech span {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    padding: 8px 12px;

    border-radius: 8px;

    background:
        rgba(255, 255, 255, 0.035);

    border: 1px solid
        var(--border-color);

    color: var(--text-secondary);

    font-size: 0.68rem;

    font-weight: 500;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}


.experience-tech span i {
    font-size: 0.8rem;
}


.experience-tech span:hover {
    transform: translateY(-3px);

    background:
        rgba(124, 92, 255, 0.08);

    border-color:
        rgba(124, 92, 255, 0.3);

    color: var(--text-primary);
}


/* =========================================================
   TECHNOLOGY ICON COLORS
========================================================= */

/* Python */
.experience-tech span:nth-child(1) i {
    color: #3776AB;
}


/* Pandas */
.experience-tech span:nth-child(2) i {
    color: #150458;
}


/* NumPy */
.experience-tech span:nth-child(3) i {
    color: #4D77CF;
}


/* SQL */
.experience-tech span:nth-child(4) i {
    color: #4479A1;
}


/* MongoDB */
.experience-tech span:nth-child(5) i {
    color: #47A248;
}


/* Power BI */
.experience-tech span:nth-child(6) i {
    color: #F2C811;
}


/* Azure */
.experience-tech span:nth-child(7) i {
    color: #0089D6;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .experience-wrapper {
        max-width: 950px;

        padding-left: 50px;
    }


    .experience-card {
        grid-template-columns: 210px minmax(0, 1fr);

        gap: 30px;

        padding: 30px;
    }


    .company-logo {
        width: 190px;

        height: 85px;

        padding: 9px 14px;
    }


    .experience-company h3 {
        font-size: 1.3rem;
    }


    .experience-company span {
        font-size: 0.72rem;
    }

}


/* =========================================================
   MOBILE - 900px
========================================================= */

@media (max-width: 900px) {

    .experience-wrapper {
        padding-left: 45px;
    }


    .experience-card {
        grid-template-columns: 1fr;

        gap: 28px;

        padding: 30px;
    }


    .experience-left {
        flex-direction: row;

        align-items: center;

        gap: 20px;
    }


    .company-logo {
        width: 180px;

        height: 78px;

        flex-shrink: 0;

        margin-bottom: 0;
    }


    .experience-company {
        width: auto;
    }


    .experience-company h3 {
        margin-bottom: 6px;
    }

}


/* =========================================================
   MOBILE - 600px
========================================================= */

@media (max-width: 600px) {

    .experience-wrapper {
        padding-left: 35px;
    }


    .experience-wrapper::before {
        left: 12px;
    }


    .experience-card {
        padding: 23px;

        margin-bottom: 30px;

        border-radius: 20px;
    }


    /* Timeline dot */

    .experience-card::before {
        left: -29px;

        top: 30px;

        width: 12px;

        height: 12px;

        border-width: 2px;
    }


    /* Connector */

    .experience-card::after {
        left: -17px;

        top: 35px;

        width: 17px;
    }


    .experience-left {
        gap: 15px;

        align-items: center;
    }


    .company-logo {
        width: 145px;

        height: 65px;

        padding: 8px 12px;

        border-radius: 7px;
    }


    .experience-company h3 {
        font-size: 1.1rem;
    }


    .experience-company span {
        font-size: 0.68rem;

        line-height: 1.5;
    }


    .experience-date {
        margin-bottom: 17px;

        padding: 8px 11px;

        font-size: 0.65rem;
    }


    .experience-description {
        font-size: 0.76rem;

        line-height: 1.75;

        margin-bottom: 23px;
    }


    .experience-phase {
        padding: 15px;

        gap: 12px;
    }


    .phase-icon {
        width: 40px;

        height: 40px;
    }


    .phase-heading {
        flex-direction: column;

        align-items: flex-start;

        gap: 3px;
    }


    .phase-heading h4 {
        font-size: 0.82rem;
    }


    .phase-heading span {
        font-size: 0.62rem;
    }


    .phase-content p {
        font-size: 0.68rem;

        line-height: 1.65;
    }


    .experience-tech {
        gap: 7px;
    }


    .experience-tech span {
        padding: 7px 9px;

        font-size: 0.63rem;
    }


    .experience-tech span i {
        font-size: 0.72rem;
    }

}


/* =========================================================
   SMALL MOBILE - 450px
========================================================= */

@media (max-width: 450px) {

    .experience-wrapper {
        padding-left: 30px;
    }


    .experience-wrapper::before {
        left: 9px;
    }


    .experience-card {
        padding: 19px;

        border-radius: 18px;
    }


    .experience-card::before {
        left: -25px;

        top: 27px;

        width: 11px;

        height: 11px;
    }


    .experience-card::after {
        left: -14px;

        top: 32px;

        width: 14px;
    }


    .experience-left {
        gap: 12px;

        align-items: flex-start;
    }


    .company-logo {
        width: 125px;

        height: 58px;

        padding: 7px 10px;

        border-radius: 6px;
    }


    .experience-company h3 {
        font-size: 1rem;
    }


    .experience-company span {
        font-size: 0.63rem;
    }


    .experience-date {
        font-size: 0.61rem;

        padding: 7px 9px;
    }


    .experience-description {
        font-size: 0.71rem;

        line-height: 1.7;
    }


    .experience-phase {
        padding: 13px;

        gap: 10px;
    }


    .phase-icon {
        width: 37px;

        height: 37px;

        font-size: 0.8rem;
    }


    .phase-heading h4 {
        font-size: 0.78rem;
    }


    .phase-heading span {
        font-size: 0.58rem;
    }


    .phase-content p {
        font-size: 0.64rem;
    }


    .experience-tech span {
        padding: 6px 8px;

        font-size: 0.59rem;
    }

}
/* =========================================================
   EDUCATION
========================================================= */

.education-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.education-card {
    padding: 30px;

    border: 1px solid var(--border-color);

    border-radius: 16px;

    background: var(--bg-card);

    transition: var(--transition);
}

.education-card:hover {
    transform: translateY(-7px);

    border-color: var(--accent);
}

.education-year {
    color: var(--accent);

    font-size: 0.8rem;

    font-weight: 600;
}

.education-card i {
    display: block;

    color: var(--accent);

    font-size: 2rem;

    margin: 20px 0;
}

.education-card h3 {
    font-size: 1.1rem;

    margin-bottom: 8px;
}

.education-card h4 {
    color: var(--text-secondary);

    font-size: 0.85rem;

    font-weight: 500;

    margin-bottom: 15px;
}

.education-card strong {
    color: var(--accent-light);
}

/* =========================================================
   EDUCATION - MARKS
========================================================= */

.education-card strong {
    display: block;
    color: var(--accent);
    font-size: 1rem;
    font-weight: 700;
    margin-top: 15px;
}

.education-percentage {
    margin-top: 6px;
    margin-bottom: 0;

    color: var(--text-secondary);
    font-size: 0.9rem;
    font-weight: 500;
}
/* =========================================================
   ACHIEVEMENTS
========================================================= */

.stats-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.stat-card {
    text-align: center;

    padding: 35px 20px;

    border: 1px solid var(--border-color);

    border-radius: 16px;

    background: var(--bg-card);
}

.stat-card i {
    color: var(--accent);

    font-size: 1.7rem;

    margin-bottom: 15px;
}

.stat-card h3 {
    font-family: "Poppins", sans-serif;

    font-size: 2.3rem;
}

.stat-card p {
    color: var(--text-secondary);

    font-size: 0.8rem;
}

/* =========================================================
   ACHIEVEMENTS SECTION
========================================================= */

#achievements {
    position: relative;
}


/* Section Description */

#achievements .section-heading p {
    max-width: 650px;
    margin: 15px auto 0;
    color: var(--text-secondary);
    line-height: 1.7;
}


/* =========================================================
   ACHIEVEMENT STATS
========================================================= */

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-top: 55px;
}


/* Stat Card */

.stat-card {
    position: relative;

    padding: 35px 25px;

    text-align: center;

    background: var(--bg-card);

    border: 1px solid var(--border);

    border-radius: 18px;

    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;

    overflow: hidden;
}


/* Top Glow */

.stat-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 70px;
    height: 3px;

    transform: translateX(-50%);

    background: var(--accent);

    border-radius: 0 0 10px 10px;
}


/* Hover */

.stat-card:hover {
    transform: translateY(-8px);

    border-color: rgba(124, 92, 255, 0.5);

    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.25),
        0 0 30px rgba(124, 92, 255, 0.08);
}


/* Icon */

.stat-card > i {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    margin-bottom: 18px;

    color: var(--accent);

    font-size: 1.35rem;

    background: rgba(124, 92, 255, 0.1);

    border: 1px solid rgba(124, 92, 255, 0.2);

    border-radius: 14px;
}


/* Number */

.stat-card h3 {
    margin: 0;

    color: var(--text-primary);

    font-size: 2.3rem;

    font-weight: 800;

    line-height: 1.2;
}


/* Label */

.stat-card p {
    margin: 8px 0 0;

    color: var(--text-secondary);

    font-size: 0.95rem;

    font-weight: 500;
}


/* College Rank / CGPA Text */

.achievement-subtext {
    display: block;

    margin-top: 8px;

    color: var(--text-secondary);

    font-size: 0.78rem;

    line-height: 1.5;
}


/* =========================================================
   PROFILE BUTTON
========================================================= */

.achievement-link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 18px;

    padding: 9px 14px;

    color: var(--accent);

    font-size: 0.78rem;

    font-weight: 600;

    text-decoration: none;

    background: rgba(124, 92, 255, 0.06);

    border: 1px solid rgba(124, 92, 255, 0.3);

    border-radius: 8px;

    transition: all 0.3s ease;
}


.achievement-link i {
    font-size: 0.7rem;
}


.achievement-link:hover {
    color: #fff;

    background: var(--accent);

    border-color: var(--accent);

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(124, 92, 255, 0.25);
}


/* =========================================================
   CODING PROFILES
========================================================= */

.coding-profiles {
    margin-top: 55px;

    padding: 35px;

    background: var(--bg-card);

    border: 1px solid var(--border);

    border-radius: 20px;
}


.coding-profiles h3 {
    display: flex;

    align-items: center;

    gap: 10px;

    margin: 0 0 25px;

    color: var(--text-primary);

    font-size: 1.25rem;
}


.coding-profiles h3 i {
    color: var(--accent);
}


/* Profile Links */

.profile-links {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;
}


/* Profile Card */

.coding-profile {
    display: flex;

    align-items: center;

    gap: 15px;

    padding: 18px 20px;

    color: var(--text-primary);

    text-decoration: none;

    background: rgba(255, 255, 255, 0.02);

    border: 1px solid var(--border);

    border-radius: 14px;

    transition: all 0.3s ease;
}


.coding-profile:hover {
    transform: translateY(-4px);

    border-color: rgba(124, 92, 255, 0.45);

    background: rgba(124, 92, 255, 0.05);
}


/* Main Icon */

.coding-profile > i:first-child {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    color: var(--accent);

    font-size: 1.1rem;

    background: rgba(124, 92, 255, 0.1);

    border-radius: 10px;
}


/* Text */

.coding-profile span {
    display: flex;

    flex-direction: column;

    gap: 4px;

    flex: 1;
}


.coding-profile strong {
    color: var(--text-primary);

    font-size: 0.95rem;
}


.coding-profile small {
    color: var(--text-secondary);

    font-size: 0.78rem;
}


/* Arrow */

.coding-profile .profile-arrow {
    width: auto;
    height: auto;

    color: var(--text-secondary);

    background: transparent;

    font-size: 0.8rem;

    transition: transform 0.3s ease;
}


.coding-profile:hover .profile-arrow {
    color: var(--accent);

    transform: translate(3px, -3px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 700px) {

    .stats-grid {
        grid-template-columns: 1fr 1fr;

        gap: 15px;
    }

    .stat-card {
        padding: 28px 15px;
    }

    .stat-card h3 {
        font-size: 2rem;
    }

    .profile-links {
        grid-template-columns: 1fr;
    }

    .coding-profiles {
        padding: 25px 18px;
    }

}


@media (max-width: 500px) {

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-card {
        padding: 30px 20px;
    }

    .coding-profiles {
        margin-top: 35px;
    }

}

/* =========================================================
   CERTIFICATIONS
========================================================= */

.certifications-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.cert-card {
    padding: 30px;

    border: 1px solid var(--border-color);

    border-radius: 16px;

    background: var(--bg-card);

    transition: var(--transition);
}

.cert-card:hover {
    transform: translateY(-7px);

    border-color: var(--accent);
}

.cert-card i {
    color: var(--accent);

    font-size: 2rem;

    margin-bottom: 18px;
}

.cert-card h3 {
    font-size: 1rem;

    margin-bottom: 7px;
}

.cert-card p {
    color: var(--text-secondary);

    font-size: 0.8rem;
}


/* =========================================================
   CONTACT
========================================================= */

.contact-grid {
    display: grid;

    grid-template-columns: 0.8fr 1.2fr;

    gap: 60px;

    align-items: start;
}

.contact-item {
    display: flex;

    gap: 18px;

    margin-bottom: 25px;
}

.contact-icon {
    flex-shrink: 0;

    width: 50px;
    height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: rgba(124, 92, 255, 0.1);

    color: var(--accent);
}

.contact-item span {
    display: block;

    color: var(--text-secondary);

    font-size: 0.75rem;

    margin-bottom: 3px;
}

.contact-item a,
.contact-item p {
    color: var(--text-primary);

    font-size: 0.9rem;
}

.contact-form {
    padding: 35px;

    border: 1px solid var(--border-color);

    border-radius: 18px;

    background: var(--bg-card);
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;

    font-size: 0.8rem;

    margin-bottom: 8px;
}

.form-group input,
.form-group textarea {
    width: 100%;

    padding: 14px 16px;

    border: 1px solid var(--border-color);

    border-radius: 9px;

    background: var(--bg-secondary);

    color: var(--text-primary);

    outline: none;

    resize: vertical;

    transition: var(--transition);
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--accent);

    box-shadow:
        0 0 0 3px rgba(124, 92, 255, 0.08);
}


/* =========================================================
   FOOTER
========================================================= */

.footer {
    padding: 50px 0 25px;

    border-top: 1px solid var(--border-color);

    background: #07070b;
}

.footer-container {
    text-align: center;
}

.footer-logo {
    font-family: "Poppins", sans-serif;

    font-size: 1.5rem;

    font-weight: 800;

    margin-bottom: 10px;
}

.footer-logo span {
    color: var(--accent);
}

.footer-container > p {
    color: var(--text-secondary);

    font-size: 0.85rem;
}

.footer-social {
    display: flex;

    justify-content: center;

    gap: 10px;

    margin: 20px 0 30px;
}

.footer-social a {
    width: 40px;
    height: 40px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid var(--border-color);

    border-radius: 50%;

    color: var(--text-secondary);

    transition: var(--transition);
}

.footer-social a:hover {
    background: var(--accent);

    color: white;

    border-color: var(--accent);
}

.footer-bottom {
    padding-top: 20px;

    border-top: 1px solid var(--border-color);

    color: var(--text-secondary);

    font-size: 0.75rem;
}


/* =========================================================
   SCROLL TOP
========================================================= */

.scroll-top {
    position: fixed;

    right: 25px;
    bottom: 25px;

    width: 45px;
    height: 45px;

    border: none;

    border-radius: 50%;

    background: var(--accent);

    color: white;

    cursor: pointer;

    opacity: 0;

    visibility: hidden;

    transform: translateY(20px);

    transition: var(--transition);

    z-index: 100;
}

.scroll-top.show {
    opacity: 1;

    visibility: visible;

    transform: translateY(0);
}


/* =========================================================
   REVEAL
========================================================= */

.reveal {
    opacity: 0;

    transform: translateY(30px);

    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}

.reveal.visible {
    opacity: 1;

    transform: translateY(0);
}


/* =========================================================
   LIGHT THEME
========================================================= */

body.light-theme {
    --bg-primary: #f8f8fb;

    --bg-secondary: #eeeef5;

    --bg-card: #ffffff;

    --text-primary: #17171d;

    --text-secondary: #60606b;

    --border-color: rgba(0, 0, 0, 0.08);
}

body.light-theme .header.scrolled {
    background: rgba(248, 248, 251, 0.9);
}

body.light-theme .hero-glow-right {
    opacity: 0.08;
}


/* =========================================================
   RESPONSIVE - 1200
========================================================= */

@media (max-width: 1200px) {

    .profile-image-container {
        width: 500px;
        height: 680px;
    }

    .photo-wrapper {
        width: 620px;
        height: 620px;
    }
}


/* =========================================================
   RESPONSIVE - 1100
========================================================= */

@media (max-width: 1100px) {

    .navbar {
        gap: 20px;
    }

    .hero-content h1 {
        font-size: 4.6rem;
    }

    .photo-wrapper {
        transform: scale(0.92);
    }

    .profile-image-container {
        width: 480px;
        height: 650px;
    }
}


/* =========================================================
   RESPONSIVE - 900
========================================================= */

@media (max-width: 900px) {

    .navbar {
        position: fixed;

        top: 75px;
        left: 0;

        width: 100%;

        padding: 25px;

        flex-direction: column;

        background: var(--bg-secondary);

        border-bottom: 1px solid var(--border-color);

        transform: translateY(-150%);

        opacity: 0;

        visibility: hidden;

        transition: var(--transition);
    }

    .navbar.active {
        transform: translateY(0);

        opacity: 1;

        visibility: visible;
    }

    .menu-toggle {
        display: block;
    }


    /* Hero becomes single column */

    .hero-container {
        grid-template-columns: 1fr;

        text-align: center;

        padding-top: 120px;

        padding-bottom: 100px;
    }

    .hero-content {
        display: flex;

        flex-direction: column;

        align-items: center;
    }

    .hero-role {
        justify-content: center;
    }

    .hero-description {
        margin-left: auto;

        margin-right: auto;
    }


    /* Hero image */

    .hero-visual {
        min-height: 650px;

        margin-top: 20px;
    }

    .photo-wrapper {
        width: 620px;

        height: 620px;

        transform: scale(0.9);
    }

    .profile-image-container {
        width: 460px;

        height: 640px;
    }


    /* Other sections */

    .about-grid,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .skills-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .education-grid {
        grid-template-columns: 1fr;
    }

    .certifications-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   RESPONSIVE - 600
========================================================= */

@media (max-width: 600px) {

    .section {
        padding: 80px 0;
    }

    .hero-content h1 {
        font-size: 3.5rem;

        letter-spacing: -2px;
    }

    .hero-role {
        font-size: 1.1rem;

        flex-wrap: wrap;
    }

    .hero-description {
        font-size: 0.9rem;
    }

    .hero-buttons {
        flex-direction: column;

        align-items: center;

        width: 100%;
    }

    .hero-buttons .btn {
        width: 100%;

        max-width: 280px;
    }


    /* Bigger mobile hero image */

    .hero-visual {
        min-height: 500px;
    }

    .photo-wrapper {
        width: 470px;

        height: 470px;

        transform: scale(0.82);
    }

    .profile-image-container {
        width: 400px;

        height: 560px;
    }


    /* Other sections */

    .skills-grid,
    .projects-grid,
    .stats-grid,
    .certifications-grid {
        grid-template-columns: 1fr;
    }

    .about-info {
        grid-template-columns: 1fr;
    }

    .project-card {
        min-height: auto;
    }

    .contact-form {
        padding: 25px;
    }
}


/* =========================================================
   RESPONSIVE - 450
========================================================= */

@media (max-width: 450px) {

    .logo {
        font-size: 1.3rem;
    }

    .theme-toggle {
        margin-left: auto;

        margin-right: 8px;
    }

    .hero-content h1 {
        font-size: 3rem;
    }


    /* Mobile image */

    .photo-wrapper {
        width: 430px;

        height: 430px;

        transform: scale(0.72);
    }

    .profile-image-container {
        width: 360px;

        height: 500px;
    }

    .hero-visual {
        min-height: 430px;
    }

    .scroll-down {
        display: none;
    }
}
/* =========================================================
   PROJECT UNDER DEVELOPMENT MODAL
========================================================= */

.project-modal {
    position: fixed;

    inset: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 20px;

    visibility: hidden;

    opacity: 0;

    z-index: 99999;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}


/* SHOW MODAL */

.project-modal.show {
    visibility: visible;

    opacity: 1;
}


/* =========================================================
   MODAL OVERLAY
========================================================= */

.project-modal-overlay {
    position: absolute;

    inset: 0;

    background:
        rgba(0, 0, 0, 0.72);

    backdrop-filter: blur(7px);
}


/* =========================================================
   MODAL BOX
========================================================= */

.project-modal-box {
    position: relative;

    width: 100%;

    max-width: 430px;

    padding: 40px 32px;

    text-align: center;

    border-radius: 22px;

    border: 1px solid
        rgba(124, 92, 255, 0.28);

    background:
        linear-gradient(
            145deg,
            #15151e,
            #0d0d14
        );

    box-shadow:
        0 30px 80px
        rgba(0, 0, 0, 0.55),

        0 0 50px
        rgba(124, 92, 255, 0.12);

    transform:
        translateY(25px)
        scale(0.95);

    transition:
        transform 0.3s ease;
}


/* MODAL SHOW ANIMATION */

.project-modal.show .project-modal-box {

    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.project-modal-close {

    position: absolute;

    top: 15px;

    right: 15px;

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid
        var(--border-color);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.04);

    color:
        var(--text-secondary);

    cursor: pointer;

    transition:
        all 0.3s ease;
}


.project-modal-close:hover {

    color: white;

    background:
        var(--accent);

    border-color:
        var(--accent);

    transform:
        rotate(90deg);
}


/* =========================================================
   MODAL ICON
========================================================= */

.project-modal-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 22px;

    border-radius: 20px;

    background:
        rgba(124, 92, 255, 0.12);

    border: 1px solid
        rgba(124, 92, 255, 0.22);

    color:
        var(--accent);

    font-size: 1.6rem;

    box-shadow:
        0 10px 30px
        rgba(124, 92, 255, 0.12);
}


/* =========================================================
   MODAL TITLE
========================================================= */

.project-modal-box h3 {

    margin: 0 0 12px;

    font-family:
        "Poppins",
        sans-serif;

    color:
        var(--text-primary);

    font-size: 1.25rem;

    font-weight: 700;
}


/* =========================================================
   MODAL MESSAGE
========================================================= */

.project-modal-box p {

    margin: 0 auto 25px;

    max-width: 340px;

    color:
        var(--text-secondary);

    font-size: 0.82rem;

    line-height: 1.8;
}


/* =========================================================
   MODAL BUTTON
========================================================= */

.project-modal-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    min-width: 120px;

    padding: 11px 20px;

    border: 1px solid
        var(--accent);

    border-radius: 10px;

    background:
        var(--accent);

    color: white;

    font-size: 0.78rem;

    font-weight: 600;

    cursor: pointer;

    transition:
        all 0.3s ease;
}


.project-modal-button:hover {

    transform:
        translateY(-3px);

    background:
        var(--accent-light);

    border-color:
        var(--accent-light);

    box-shadow:
        0 10px 25px
        rgba(124, 92, 255, 0.28);
}


/* =========================================================
   PROJECT BUTTON - BUTTON RESET
========================================================= */

.project-btn {

    font-family: inherit;

    cursor: pointer;

    appearance: none;

    -webkit-appearance: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .project-modal {

        padding: 18px;
    }


    .project-modal-box {

        max-width: 360px;

        padding: 35px 24px;
    }


    .project-modal-icon {

        width: 60px;

        height: 60px;

        font-size: 1.35rem;

        border-radius: 17px;
    }


    .project-modal-box h3 {

        font-size: 1.1rem;
    }


    .project-modal-box p {

        font-size: 0.76rem;
    }

}