@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; 
    scroll-behavior: smooth;
    font-family: "Be Vietnam Pro", sans-serif;
}

:root {
    --bgOrange: #e84949;
}

#wrapper {
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.container {
    width: min(1200px, 95%);
    margin: 0 auto;
    padding: 0 1rem;
}

/* ===== NAVBAR STYLES ===== */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    position: relative;
}

.logo-container {
    display: flex;
    align-items: center;
    justify-content: baseline;
    z-index: 1003;
}

.logo {
    width: clamp(40px, 8vw, 61px);
    height: auto;
    aspect-ratio: 61/47;
}

.logo-text {
    margin-left: -0.5rem;
    font-size: clamp(16px, 4vw, 20px);
    letter-spacing: 1.5px;
    color: black;
}

.nav-items {
    display: flex;
    gap: 2rem;
    padding: 0 2rem;
}

.nav-items div {
    font-size: clamp(16px, 3vw, 20px);
    font-weight: 500;
    cursor: pointer;
}

.nav-items div a {
    color: black;
    text-decoration: none;
    transition: all 0.8s;
}

.nav-items div a:hover {
    font-weight: bold;
    color: var(--bgOrange);
}

/* Hamburger Menu */
.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    z-index: 1004;
}

.hamburger span {
    display: block;
    width: 25px;
    height: 3px;
    background: black;
    transition: 0.3s;
}

/* ===== HERO SECTION ===== */
.hero-section {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(2rem, 8vw, 5rem);
    margin: clamp(2rem, 8vw, 5rem) 0;
    padding: 0 1rem clamp(5rem, 15vw, 12rem);
    min-height: 70vh;
}

.faded-text {
    user-select: none;
    font-size: clamp(4em, 12vw, 7em);
    color: rgb(231,231,231);
    position: absolute;
    bottom: -14%;
    left: -5%;
    font-weight: bold;
    transition: all 3s;
    z-index: -1;
}

.hero-section-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(1rem, 4vw, 2rem);
    max-width: 600px;
}

.hero-section-heading {
    font-size: clamp(24px, 6vw, 35px);
    color: #343d68;
    font-weight: 500;
}

.role {
    color: #4e45d5;
    font-weight: 800;
}

.hero-section-sub-heading {
    font-size: clamp(28px, 7vw, 45px);
    line-height: 1.2;
}

.hero-section-description {
    margin-top: 1rem;
    font-weight: 500;
    line-height: 1.6;
    font-size: clamp(14px, 3vw, 16px);
}

.btn-pink {
    background-color: var(--bgOrange);
    width: fit-content;
    color: white;
    padding: clamp(0.6rem, 2vw, 0.8rem) clamp(1.5rem, 4vw, 2.3rem);
    box-shadow: 5px 5px 7px 0px #0000003f;
    font-size: clamp(14px, 3vw, 18px);
    cursor: pointer;
    transition: all 0.5s;
    font-weight: 500;
    border: solid 3px transparent;
    position: relative;
    z-index: 1;
}

.btn-pink::before {
    content: "";
    position: absolute;
    background-color: #fff;
    top: 0px;
    left: 0;
    right: 0;
    bottom: 0px;
    z-index: -1;
    transform: scaleX(0);
    transform-origin: left;
    transition: all 0.8s;
}

.btn-pink:hover::before {
    transform: scaleX(1);
}

.btn-pink:hover {
    border: solid 3px var(--bgOrange);
    color: black;
}

.hero-section-right {
    position: relative;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.user-image {
    position: relative;
    z-index: 2;
}

.user-image img {
    width: clamp(200px, 40vw, 400px);
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    padding: 2.2rem;
    filter: grayscale(1);
    animation: scaleImage 5s linear infinite;
}

@keyframes scaleImage {
    0% {
        filter: grayscale(0);
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
        filter: grayscale(1);
        box-shadow: 3px 3px 10px black;
    }
    100% {
        transform: scale(1);
        filter: grayscale(0);
    }
}

/* Icon animations */
.absolute {
    position: absolute;
}

.icons-dots {
    z-index: 9;    
    bottom: -1rem; 
    right: 0;
    animation: dotsAnimation 5s infinite;
}

.icons-dots img {
    width: clamp(3rem, 8vw, 6rem);
}

@keyframes dotsAnimation {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
}

.icons-cube {
    z-index: 9;
    top: -0.8em;
    right: 1em;
    animation: cubeRotate 3s infinite;
}

.icons-cube img {
    width: clamp(1.5rem, 4vw, 2rem);
}

@keyframes cubeRotate {
    0% { transform: rotateY(0deg) translateY(0px); }
    50% { transform: rotateY(180deg) translateY(-12px); }
    100% { transform: rotateY(360deg) translateY(0px); }
}

.icons-circle {
    z-index: 9;
    left: 0;
    bottom: 0;
    animation: shakeEffect 6s linear infinite;
}

.icons-circle img {
    width: clamp(1em, 3vw, 1.5em);
}

@keyframes shakeEffect {
    50% {
        left: 5%;
        bottom: 10%;
    }
}

.icons-zigzag {
    z-index: 9;
    top: 1.5em;
    left: -0.3em;
    animation: zigzagAnimation 5s ease-in infinite;
}

.icons-zigzag img {
    height: clamp(3em, 8vw, 5em);
}

@keyframes zigzagAnimation {
    50% {
        left: 5%;
        top: 2%;
    }
}

.icons-plus {
    z-index: 9;
    top: -0.8rem;
    left: 50%;
    animation: shakeEffectPlus 5s ease-in infinite;
}

.icons-plus img {
    width: clamp(1em, 3vw, 1.5em);
}

@keyframes shakeEffectPlus {
    50% {
        top: 3%;
        left: 48%;
    }
}

/* ===== PROJECT SECTION ===== */
.project-section {
    background-color: rgb(231,231,231);
    margin-top: -2rem;
    padding: 2rem 0;
}

.page-header {
    color: var(--bgOrange);
    font-size: clamp(40px, 12vw, 90px);
    text-align: center;
    padding: 30px 0;
}

.project-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3rem 1rem;
    display: flex;
    flex-direction: column;
    gap: clamp(60px, 15vw, 120px);
}

.project-card {
    width: 100%;
    max-width: 90%;
    height: clamp(300px, 60vw, 550px);
    background-size: cover;
    background-position: center;
    position: relative;
    box-shadow: 0px 0px 40px #1f1f1f;
    margin: 0 auto;
}

.project-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1f1f1f9a;
    transform: scaleX(1);
    z-index: 0;
}

.project-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, #343d68, #343d68be, #343d687c);
    transform: scaleX(0);
    transform-origin: left;
    transition: all 0.4s;
    z-index: 1;
}

.project-card:hover::before {
    transform: scaleX(1);
}

.project-number {
    position: absolute;
    font-size: clamp(100px, 20vw, 200px);
    font-weight: 600;
    color: white;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.4s;
}

.project-card:hover .project-number {
    opacity: 1;
}

.project-number-right {
    right: -40px;
    top: -45px;
}

.project-number-left {
    left: -40px;
    top: -45px;
}

.project-content {
    position: absolute;
    display: flex;
    flex-direction: column;
    color: white;
    padding: clamp(1em, 4vw, 2em);
    bottom: 10%;
    z-index: 5;
    gap: clamp(0.5em, 2vw, 1em);
    transition: all 0.4s;
    width: clamp(250px, 50vw, 500px);
}

.project-content-left {
    left: 10%;
}

.project-content-right {
    right: 10%;
}

.project-skills-container {
    width: 100%;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.project-skill {
    width: clamp(25px, 6vw, 40px);
    height: auto;
}

.project-heading {
    font-size: clamp(24px, 8vw, 50px);
    font-weight: bold;
    line-height: 1.2;
}

.project-subHeading {
    width: 100%;
    font-size: clamp(12px, 3vw, 16px);
    font-style: italic;
    line-height: 1.4;
}

.btn-grp {
    display: flex;
    gap: 0.9rem;
    align-items: center;
    flex-wrap: wrap;
}

.btn-project:hover {
    border: none;
}

.icon {
    cursor: pointer;
    color: white;
    font-size: clamp(25px, 6vw, 35px);
    transition: all 0.4s;
}

.icon:hover {
    color: var(--bgOrange);
}

.project-card:hover .project-content {
    transform: scale(1.1);
}

/* Project backgrounds */
#project1 {
    background-image: url(./images/projects/ChatAPP.png);
}

#project2 {
    background-image: url(./images/projects/P1.png);
}

#project3 {
    background-image: url(./images/projects/P2.png);
}

#project4 {
    background-image: url(./images/projects/P3.png);
}

#project5 {
    background-image: url(./images/projects/Project4.png);
}

/* ===== SKILLS SECTION ===== */
.skills-container {
    position: relative;
    display: flex;
    padding: clamp(2rem, 8vw, 5rem);
    margin: clamp(5rem, 15vw, 10rem) auto;
    gap: clamp(15px, 6vw, 30px);
    align-items: center;
}

.skill-container-left {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.skill-fade-text {
    font-size: clamp(8em, 20vw, 15em);
    font-weight: bold;
    color: rgb(231, 231, 231);
    position: absolute;
    bottom: -38.5%;
    right: -14%;
    user-select: none;
    z-index: -1;
}

.skill-container-right {
    display: flex;
    gap: clamp(1rem, 4vw, 2rem);
    flex-wrap: wrap;
    flex: 1;
    position: relative;
    justify-content: center;
}

.blob-style {
    position: absolute;
    z-index: -5;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: blobAnimate 3s linear infinite;
    width: clamp(200px, 40vw, 400px);
}

@keyframes blobAnimate {
    50% {
        top: 54%;
        left: 46%;
    }
}

.skills-logo {
    width: clamp(40px, 8vw, 75px);
    height: auto;
    transition: all 0.5s;
}

.skills-logo:hover {
    transform: scale(1.2);
}

.skill-heading {
    font-size: clamp(30px, 8vw, 50px);
    color: var(--bgOrange);
    line-height: 1.2;
    font-weight: bold;
}

.caps {
    font-size: clamp(50px, 12vw, 80px);
}

.skill-subHeading {
    margin-top: 1rem;
    width: 100%;
    text-align: justify;
    font-size: clamp(14px, 3vw, 16px);
    line-height: 1.6;
}

.skill-subHeading p {
    margin: 15px 0;
}

/* ===== CONTACT SECTION ===== */
.contactus-form-container {
    width: 100%;
    background-color: rgb(231, 231, 231);
    padding: clamp(2rem, 8vw, 4rem) 0;
}

.contactus-heading {
    font-size: clamp(3rem, 10vw, 5em);
    color: var(--bgOrange);
    text-align: center;
    padding-top: 2rem;
}

.contactus-sub-heading {
    font-size: clamp(1.5rem, 6vw, 3rem);
    color: #343d69aa;
    text-transform: capitalize;
    text-align: center;
    margin-bottom: 2rem;
}

.form {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: min(70%, 600px);
    margin: 2rem auto;
    padding: 0 1rem;
}

.formfield {
    width: 100%;
    height: 42px;
    padding: 0 1.3rem;
    font-size: clamp(14px, 3vw, 16px);
    border-radius: 5px;
    box-shadow: 2px 2px 10px #1f1f1f;
    font-weight: 500;
    border: none;
    margin: 13px 0;
}

.formfield-textarea {
    height: auto;
    min-height: 120px;
    padding-top: 1rem;
    resize: vertical;
}

#submit-btn {
    border: none;
    font-size: clamp(1rem, 3vw, 1.4rem);
    margin: 0.7rem 0;
    align-self: center;
}

#submit-btn:hover {
    transform: scale(0.95);
}

.submit-icon {
    padding: 0 1rem;
    font-size: clamp(1rem, 3vw, 1.5rem);
}

/* ===== FOOTER ===== */
footer {
    position: relative;
    margin-top: -10px;
    background-color: #343d68;
    padding: clamp(2rem, 8vw, 5rem);
}

.footer-wrapper {
    display: flex;
    gap: 1rem;
    padding: 1.2rem 0;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.footer-faded-text {
    position: absolute;
    left: 0;
    bottom: 0;
    color: #535c87;
    user-select: none;
    font-size: clamp(2em, 8vw, 5em);
}

.link-wrapper {
    display: flex;
    gap: 1.2rem;
    flex-wrap: wrap;
}

.link-wrapper div a {
    color: wheat;
    text-decoration: none;
    transition: all 0.6s;
    font-size: clamp(14px, 3vw, 16px);
}

.link-wrapper div a:hover {
    color: var(--bgOrange);
}

.icon-wrapper {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.icon-wrapper .icon {
    font-size: clamp(20px, 5vw, 24px);
    color: wheat;
}

/* ===== RESPONSIVE BREAKPOINTS ===== */

/* Mobile First - Small devices (landscape phones, 576px and up) */
@media (max-width: 576px) {

    .container {
        padding: 0 0.5rem;
    }
    
    .hero-section {
        flex-direction: column;
        text-align: center;
        gap: 2rem;
        padding-bottom: 3rem;
    }
    
    .hero-section-right {
        order: -1;
    }
    
    .faded-text {
        display: none;
    }
    
    .project-card {
        height: 250px;
    }
    
    .project-content {
        bottom: 5%;
        left: 5% !important;
        right: 5% !important;
        width: 90%;
        padding: 1em;
    }
    
    .project-number {
        display: none !important;
    }
    
    .skills-container {
        flex-direction: column;
        text-align: center;
        gap: 2rem;
    }
    
    .skill-fade-text {
        display: none;
    }
    
    .footer-wrapper {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 577px) and (max-width: 768px) {
    .hero-section {
        flex-direction: column;
        text-align: center;
        gap: 3rem;
    }
    
    .project-card {
        height: 400px;
    }
    
    .skills-container {
        flex-direction: column;
        text-align: center;
        gap: 2rem;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 769px) and (max-width: 1024px) {
    .container {
        width: 95%;
    }
    
    .project-container {
        gap: 80px;
    }
    
    .project-card {
        max-width: 95%;
    }
}

/* Hamburger menu for mobile */
@media (max-width: 768px) {
    .hamburger {
        display: flex;
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 1004;
        
    }
    
    .nav-items {
        position: fixed;
        top: 0;
        left: -100%;
        width: 80%;
        height: 100vh;
        background: rgba(17, 17, 17, 0.95);
        backdrop-filter: blur(10px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        transition: left 0.4s ease-in-out;
        z-index: 1003;
    }
    
    .nav-items.active {
        left: 0;
    }
    
    .nav-items div a {
        color: white;
        font-size: 1.2rem;
    }
    
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
        background: black;
    }
    
    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }
    
    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
        background: black;
    }
}

/* Utility classes */
.upt-btn {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
    text-decoration: none;
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .user-image img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Print styles */
@media print {
    .hamburger,
    .icons-dots,
    .icons-cube,
    .icons-circle,
    .icons-zigzag,
    .icons-plus {
        display: none;
    }
}



    .experience-section {
      max-width: 900px;
      margin: auto;
      padding: 2rem 1rem;
    }

    .section-title {
      text-align: center;
      font-size: 4rem;
      font-weight: 700;
      color: #e63946; /* red */
      margin-bottom: 2rem;
    }

    .card {
      background-color: #000000da;
      color: #ffffff;
      border-radius: 12px;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
      overflow: hidden;
      margin-bottom: 2rem;
      transition: transform 0.3s ease;
    }

    .card:hover {
      transform: translateY(-5px);
    }

    .card-content {
      padding: 1.5rem;
    }

    .role-title {
      font-size: 1.5rem;
      font-weight: 600;
      margin-bottom: 0.5rem;
    }

    .company-name {
      font-size: 1rem;
      color: #cccccc;
      margin-bottom: 0.3rem;
    }

    .duration {
      font-size: 0.9rem;
      color: #999999;
      margin-bottom: 1rem;
    }

    .description {
      font-size: 0.95rem;
      line-height: 1.5;
      color: #dddddd;
    }

    .read-more-btn {
      margin-top: 1.5rem;
      display: inline-block;
      background-color: #e63946;
      color: white;
      padding: 0.5rem 1.2rem;
      border-radius: 6px;
      font-weight: 600;
      text-decoration: none;
      transition:    0.3s ease;
    }

    .read-more-btn:hover {
      background-color: #c92c3c;
    }

    /* Horizontal Line */
    .section-end {
      width: 100%;
      height: 1px;
      background-color: #ddd;
      margin-top: 2rem;
    }

    /* End Text Label */
    .end-label {
      text-align: center;
      font-size: 1.1rem;
      color: #555;
      margin-top: 1rem;
    }

    /* Responsive */
    @media (max-width: 600px) {
      .card-content {
        padding: 1rem;
      }


      .section-title {
        font-size: 2.8rem;
      }
    }