*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Rubik',sans-serif;
    background:#312b2b;
    color:white;
    overflow-x:hidden;
    cursor:none;
}

.cursor-dot{
    width:8px;
    height:8px;
    background:#00d4ff;
    border-radius:50%;
    position:fixed;
    pointer-events:none;
    z-index:9999;
}

.cursor-ring{
    width:40px;
    height:40px;
    border:2px solid #00d4ff;
    border-radius:50%;
    position:fixed;
    pointer-events:none;
    z-index:9998;
    transition:.12s;
} 

/* =========================
   HEADER
========================= */

.header{
    width:100%;
    height:80px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 8%;
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    backdrop-filter:blur(15px);
    background:rgba(0,0,0,.25);
    border-bottom:1px solid rgba(255,255,255,.05);
}

.logo img{
    width:70px;
}

.navbar ul{
    display:flex;
    list-style:none;
    gap:40px;
}

.navbar a{
    color:white;
    text-decoration:none;
    font-size:1rem;
    transition:.3s;
}

.navbar a:hover{

    color:#00d4ff;
}

.header-actions{
    display:flex;
    align-items:center;
    gap:20px;
}

/* .cv-btn{
    padding:12px 24px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:10px;
    color:white;
    text-decoration:none;
    transition:.3s;
}

.cv-btn:hover{

    border-color:#00d4ff;
} */

.cv-btn{
    padding:12px 24px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:10px;
    color:white;
    text-decoration:none;
    transition:.3s;
    display:inline-block;
}

.cv-btn:hover{
    border-color:#00d4ff;
}

.hamburger{
    display:none;
    font-size:2rem;
    cursor:pointer;
}

/* =========================
   HERO SECTION
========================= */



.hero{
    min-height:100vh;
    position:relative;
    display:flex;
    align-items:center;
    padding:120px 8%;
    overflow:hidden;
    background:#050505;
}

/* Dark Overlay */

.hero::before{

    content:"";
    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.92) 0%,
        rgba(0,0,0,.75) 40%,
        rgba(0,0,0,.25) 100%
    );

    z-index:1;
}

/* Background Image */

.hero-image{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
    z-index:0;
}

.hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;

    filter:
    grayscale(100%)
    contrast(120%)
    brightness(.75);
}

.hero-content h1{
    font-width: 400;
}

/* =========================
      ABOUT 
   ========================= */
/* SECTION */
.about{
    padding:80px 8%;
    background:#050b16;
    border-bottom: 1px solid #43a6b9 ;
}

/* ANIMATED TITLE */
.about-title{
    text-align:center;
    font-size:3rem;
    color:#00d4ff;
    font-weight:400;
    margin-bottom:40px;
    min-height:70px;
}

/* GRID */
.about-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
}

/* BOX */
.about-box{
    background:#0b1628;
    border:1px solid rgba(255,255,255,.06);
    border-radius:15px;
    padding:25px;
}

/* TEXT */
.about-text{
    color:#cbd5e1;
    line-height:1.8;
    margin-bottom:25px;
    font-size:15px;
}

/* INFO GRID */
.info-grid{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.info-item{
    display:flex;
    gap:15px;
    align-items:center;
}

.info-item i{
    width:42px;
    height:42px;
    background:#0d2140;
    color:#00d4ff;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
}

.info-item h4{
    color:#fff;
    font-size:14px;
}

.info-item p{
    color:#94a3b8;
    font-size:13px;
}

/* SOCIAL */
.social{
    margin-top:25px;
}

.social h3{
    color:#fff;
    margin-bottom:15px;
}

.social-links{
    display:flex;
    gap:15px;
}

.social-links a{
    width:45px;
    height:45px;
    background:#0d2140;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#00d4ff;
    transition:.3s;
}

.social-links a:hover{
    transform:translateY(-5px);
    background:#00d4ff;
    color:black;
}

/* RIGHT */
.sub-title{
    color:#fff;
    margin-bottom:20px;
}

/* TIMELINE */
.timeline{
    position:relative;
    padding-left:20px;
}

.timeline::before{
    content:"";
    position:absolute;
    left:6px;
    top:0;
    width:2px;
    height:100%;
    background:#00d4ff;
}

.timeline-item{
    position:relative;
    margin-bottom:50px;
}

.dot{
    width:10px;
    height:10px;
    background:#00d4ff;
    border-radius:50%;
    position:absolute;
    left:-18px;
    top:5px;
    /* box-shadow:0 0 10px #00d4ff; */
}

.timeline-item h4{
    color:#fff;
    font-size:14px;
}

.timeline-item p{
    color:#94a3b8;
    font-size:13px;
}

.timeline-item span{
    color:#00d4ff;
    font-size:12px;
}

.moving-line-wrapper {
  width: 100%;
  overflow: hidden;
  padding: 15px 0;
  margin-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.15);
}

.moving-line {
  display: flex;
  width: max-content;
  animation: moveRight 12s linear infinite;
}

.moving-line span {
  white-space: nowrap;
  font-size: 1.2rem;
  font-weight: 600;
  color: #00e5ff;
  padding-right: 50px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

@keyframes moveRight {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .moving-line span {
    font-size: 0.9rem;
    padding-right: 30px;
    letter-spacing: 1px;
  }
}


/* RESPONSIVE */
@media(max-width:900px){
    .about-container{
        grid-template-columns:1fr;
    }

    .about-title{
        font-size:2rem;
    }
}


/* =========================
   CONTENT
========================= */

.hero-content{
    position:relative;
    z-index:5;
    max-width:700px;
    animation:leftEnter 1s ease
}

.hero-intro{
    display:flex;
    align-items:center;
    gap:15px;
    color:#d0d0d0;
    margin-bottom:20px;
    font-size:1.2rem;
}

.intro-line{
    width:60px;
    height:2px;
    background:#00d4ff;
}

.hero-content h1{
    font-size:6.5rem;
    line-height:1;
    margin-bottom:20px;
    font-weight:400;
}

.hero-content h1 span{

    color:#00d4ff;
}

.hero-content h2{
    font-size:2rem;
    color:#d0d0d0;
    font-weight:400;
    margin-bottom:25px;
}

.hero-description{
    max-width:550px;
    color:#a5a5a5;
    line-height:1.8;
    font-size:1.1rem;
}

/* =========================
   BUTTONS
========================= */

.hero-buttons{
    display:flex;
    gap:20px;
    margin-top:40px;
}

.btn-primary{
    padding:16px 35px;
    background:#00d4ff;
    color:#000;
    text-decoration:none;
    border-radius:12px;
    font-weight:400;
    transition:.3s;
}

.btn-primary:hover{

    transform:translateY(-4px);
}

.btn-secondary{
    padding:16px 35px;
    border:1px solid rgba(255,255,255,.2);
    color:white;
    text-decoration:none;
    border-radius:12px;
    transition:.3s;
}

.btn-secondary:hover{
    border-color:#00d4ff;
}

.scroll-indicator{
    position:absolute;
    left:8%;
    bottom:30px;
    z-index:5;
}

.scroll-indicator span{
    display:block;
    width:25px;
    height:45px;
    border:2px solid rgba(255,255,255,.4);
    border-radius:30px;
    margin-bottom:10px;
}

.scroll-indicator p{

    color:#bdbdbd;
}



/* =========================
   FOOTER
========================= */

/* CONTACT */

.contact-section{
    padding:120px 8%;
    background:#031022;
}

.contact-heading{
    text-align:center;
    font-size:3rem;
    color:#00d4ff;
    margin-bottom:60px;
}

.contact-container{
    display:flex;
    gap:40px;
}

.contact-info{
    flex:1;
}

.info-card{
    background:#081527;
    border:1px solid rgba(255,255,255,.08);
    border-radius:15px;
    padding:25px;
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:20px;
    transition:.3s;
}

.info-card:hover{
    transform:translateY(-5px);
    border-color:#00d4ff;
}

.info-card i{
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#0d2140;
    color:#00d4ff;
    font-size:1.4rem;
}

.info-card h3{
    margin-bottom:5px;
}

.info-card p{
    color:#9cb3cc;
}

.social-title{
    margin-top:35px;
    margin-bottom:20px;
}

.social-icons{
    display:flex;
    gap:15px;
}

.social-icons a{
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#0d2140;
    color:white;
    font-size:1.3rem;
    text-decoration:none;
    transition:.3s;
}

.social-icons a:hover{
    background:#00d4ff;
    color:black;
    transform:translateY(-5px);
}


/* CONTACT FORM */

#contact-form{
    width:100%;
    background:#081527;
    border:1px solid rgba(255,255,255,0.08);
    padding:30px;
    border-radius:15px;
    box-sizing:border-box;
}

.input-row{
    display:flex;
    gap:15px;
    margin-bottom:20px;
}

.input-row input{
    flex:1;
    min-width:0;
}

#contact-form input,
#contact-form textarea{
    width:100%;
    padding:15px;
    background:#10203a;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:10px;
    color:#fff;
    outline:none;
    font-size:15px;
    box-sizing:border-box;
    transition:0.3s;
}

#contact-form input{
    margin-bottom:20px;
}

#contact-form textarea{
    margin-bottom:20px;
    resize:none;
}

#contact-form input::placeholder,
#contact-form textarea::placeholder{
    color:rgba(255,255,255,0.6);
}

#contact-form input:focus,
#contact-form textarea:focus{
    border-color:#00d4ff;
    box-shadow:0 0 10px rgba(0,212,255,0.2);
}

#contact-form button{
    width:100%;
    padding:16px;
    border:none;
    border-radius:10px;
    background:#2563eb;
    color:#fff;
    font-size:1rem;
    font-weight:600;
    cursor:pointer;
    transition:0.3s;
}

#contact-form button:hover{
    background:#00d4ff;
    color:#000;
    transform:translateY(-2px);
}

/* Mobile Responsive */

@media (max-width:768px){

    .input-row{
        flex-direction:column;
        gap:0;
    }

    #contact-form{
        padding:20px;
    }

}






.footer{
   height: 30px;
   display: flex;
   align-items: center;      /* Vertical center */
   justify-content: center;  /* Horizontal center */   
}

/*##################
 SKILLS SECTION 
 ###################*/
.skills-section{
    padding:85px 8%;
    background:#050b16;
}

.skills-title{
    text-align:center;
    font-size:3rem;
    color:#00d4ff;
    margin-bottom:15px;
}

.skills-subtitle{
    text-align:center;
    color:#9ca3af;
    margin-bottom:70px;
}

.skill-category{
    margin-bottom:70px;
}

.skill-category h3{
    text-align:center;
    font-size:2rem;
    margin-bottom:40px;
    color:#fff;
}

.skills-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:25px;
}

.skill-card{
    background:#081527;
    border:1px solid rgba(255,255,255,.05);
    border-radius:15px;
    padding:30px;
    text-align:center;
    transition:.4s;
    cursor:pointer;
}

.skill-card i{
    font-size:3rem;
    color:#00d4ff;
    margin-bottom:15px;
}

.skill-card span{
    display:block;
    color:#d1d5db;
}

.skill-card:hover{
    transform:translateY(-10px);
    border-color:#00d4ff;
    box-shadow:0 0 25px rgba(0,212,255,.25);
}

.skill-card{
    animation:float 4s ease-in-out infinite;
}

.skill-card:nth-child(2){
    animation-delay:.5s;
}

.skill-card:nth-child(3){
    animation-delay:1s;
}

.skill-card:nth-child(4){
    animation-delay:1.5s;
}

@keyframes float{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }
}

.skill-card img{
    width:60px;
    height:60px;
    object-fit:contain;
}
.skills-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:25px;
}
.skill-card{
    min-height:110px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}




/* MEDIA QUEARY FOR RESPONSIVE */
/* SKILLS SECTION RESPONSIVE */
@media(max-width:768px){

    .skills-grid{
        grid-template-columns:repeat(3,1fr);
        gap:12px;
    }

    .skill-card{
        padding:15px 8px;
    }

    .skill-card i{
        font-size:35px;
        margin-bottom:8px;
    }

    .skill-card span{
        font-size:12px;
    }

    .skill-category h3{
        font-size:1.4rem;
        margin-bottom:20px;
    }

    .skills-title{
        font-size:2rem;
    }

    .skills-subtitle{
        margin-bottom:40px;
    }
}



/* HEADER Mobile Responsive */
@media(max-width:768px){

    .hamburger{
        display:block;
        z-index:1001;
    }

    .navbar{
        display:none;
        position:absolute;
        top:80px;
        left:0;
        width:100%;
        background:#1f1b1b;
        padding:20px 0;
        border-top:1px solid rgba(255,255,255,.1);
    }

    .navbar.active{
        display:block;
    }

    .navbar ul{
        flex-direction:column;
        align-items:center;
        gap:25px;
    }

    .hero{
        padding:120px 25px 60px;
    }

    .hero-image img{
        object-position:75% center;
    }

    .hero-content{
        text-align:center;
        max-width:100%;
    }

    .hero-intro{
        justify-content:center;
    }

    .hero-content h1{
        font-size:3rem;
    }

    .hero-content h2{
        font-size:1.3rem;
    }

    .hero-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }

    .scroll-indicator{
        display:none;
    }
}

@media (min-width: 768px) and (max-width: 1169px) {

      .hero-image img{
        object-position:70% center;
    }
}


/* FOOTER MOBILE */
@media(max-width:768px){
        body{
        cursor:auto;
    }

    .cursor,
    .cursor-dot,
    .cursor-ring{
        display:none !important;
    }

    .contact-container{
        flex-direction:column;
    }

    .input-row{
        flex-direction:column;
    }

    .contact-heading{
        font-size:2rem;
    }

    .contact-info p{
    overflow-wrap:anywhere;
    word-break:break-word;
    font-size:14px;
}
}






/*##################
 SKILLS SECTION 
 ###################*/
/* ==========================
   CAREER SECTION
========================== */

.career-section{
    width:100%;
    padding:100px 8%;
    background:#061427;
}

.career-title{
    text-align:center;
    color:#00d4ff;
    font-size:2.3rem;
    margin-bottom:60px;
    font-weight:500;
}

/* TIMELINE */

.career-timeline{
    position:relative;
    max-width:1100px;
    margin:0 auto 100px;
}

.career-timeline::after{
    content:"";
    position:absolute;
    width:2px;
    background:#00d4ff;
    top:0;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
}

/* ITEM */

.career-item{
    position:relative;
    width:50%;
    padding:20px 40px;
}

.career-item.left{
    left:0;
}

.career-item.right{
    left:50%;
}

/* DOT */

.career-item::before{
    content:"";
    position:absolute;
    width:16px;
    height:16px;
    background:#00d4ff;
    border-radius:50%;
    top:35px;
    z-index:5;
    box-shadow:0 0 15px #00d4ff;
}

.career-item.left::before{
    right:-8px;
}

.career-item.right::before{
    left:-8px;
}

/* CARD */

.career-card{
    background:#081527;
    border:1px solid rgba(0,212,255,.15);
    border-radius:15px;
    padding:25px;
    transition:.4s;
}

.career-card:hover{
    transform:translateY(-8px);
    border-color:#00d4ff;
    box-shadow:0 0 25px rgba(0,212,255,.25);
}

.career-card h3{
    color:#fff;
    font-size:1.1rem;
    margin-bottom:12px;
}

.career-card p{
    color:#aeb7c4;
    line-height:1.7;
    margin-bottom:15px;
    font-size:.95rem;
}

.career-card span{
    display:inline-block;
    padding:6px 14px;
    border-radius:30px;
    background:#00d4ff;
    color:#000;
    font-size:.8rem;
    font-weight:600;
}

/* ACHIEVEMENT CARD */

.achievement-card{
    border-color:rgba(255,193,7,.25);
}

.achievement-card span{
    background:#ffc107;
    color:#000;
}

/* CERTIFICATIONS */

.certificate-wrapper{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.certificate-box{
    background:#081527;
    border:1px solid rgba(255,255,255,.08);
    border-radius:15px;
    padding:30px;
    text-align:center;
    transition:.4s;
}

.certificate-box:hover{
    transform:translateY(-6px);
    border-color:#00d4ff;
    box-shadow:0 0 20px rgba(0,212,255,.2);
}

.certificate-box h3{
    color:#fff;
    margin-bottom:10px;
}

.certificate-box p{
    color:#9ca3af;
}

/* ==========================
   MOBILE RESPONSIVE
========================== */

@media(max-width:768px){

    .career-title{
        font-size:1.8rem;
        margin-bottom:40px;
    }

    .career-timeline::after{
        left:20px;
    }

    .career-item{
        width:100%;
        left:0 !important;
        padding-left:55px;
        padding-right:0;
        margin-bottom:25px;
    }

    .career-item::before{
        left:12px !important;
    }

    .certificate-wrapper{
        grid-template-columns:1fr;
    }
}