*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    outline: none; border: none;
    text-transform:capitalize;
    transition: all .2s linear;
  }
  html{
    font-size: 62.5%;
    overflow-x: hidden;
    scroll-behavior: smooth;
  }
  body{
    background: #f7f7f7;
    font-family: 'Poppins', sans-serif;
  }
  
  *::selection{
    background: #2b3dda;
    color: #fff;
  }
  
  html::-webkit-scrollbar{
    width: .8rem;
  }
  html::-webkit-scrollbar-track{
    background: rgb(235, 202, 245);
  }
  html::-webkit-scrollbar-thumb{
    background: #420177;
  }

 /* pre loader start */
.loader-container{
  position: fixed;
  top: 0; left: 0;
  z-index: 10000;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.loader-container.fade-out{
  top: -120%;
}
/* pre loader end */
  header{
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.7rem 10%;
    height: 6.5rem;
    background-color: #fff;
    box-shadow: 0 1px 4px rgba(146,161,176,.3);
  }
  header .logo{
    font-size: 1.9rem;
    font-weight: 800;
    text-decoration: none;
    color: #0E2431;
  }
  header .logo i {
    font-size: 2.2rem;
  }
  header .logo:hover {
    color: #0f46a2;
  }
  header .navbar ul{
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  header .navbar li{
    margin-left: 2.5rem;
  }
  header .navbar ul li a{
    font-size: 1.57rem;
    color: #0E2431;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.04rem;
    transition: .2s;
  }
  header .navbar ul li a.active,
  header .navbar ul li a:hover{
    color: #011aff;
    border-bottom: .2rem solid #011aff;
    padding: .6rem 0;
  }
  /* navbar ends */
  

  /* hamburger icon starts*/
 #menu{
  font-size: 3rem;
  cursor: pointer;
  color: rgb(24, 2, 63);
  display: none;
}
#closeMenu{
  font-size: 3rem;
  cursor: pointer;
  color: rgb(24, 2, 63);
  display:none;
}
@media(max-width:768px){
  #menu{
    display: block;
}
#closeMenu{
  display:none;
}
  header .navbar{
    position: fixed; 
    right:-100%;
    top: 6.5rem; 
    width: 75%;
    height: 100%;
    text-align: left;
    align-items: flex-start;
    background-color: #0e0f31;
  }
  header .navbar ul{
    flex-flow: column;
    padding: 1rem;
  }
  header .navbar ul li{
    text-align: center;
    width: 100%;
    margin: 1rem 0;
    border-radius: .5rem;
    width: 26rem;
  }
  header .navbar ul li a{
    display: block;
    padding: 1rem;
    text-align: left;
    color: #fff;
    font-size: 2rem;
  }
  header .navbar ul li a.active,
  header .navbar ul li a:hover{
    padding: 1rem;
    color: #fff;
    border-radius: .5rem;
    border-bottom: .5rem solid #011aff;
  }
  header .navbar.nav-toggle{
    right: 0;
  }
}
  /*hamburger icon ends*/


  /*Section starts*/
  section{
    min-height: 100vh;
    padding: 2rem 9%;
  }
  /*Section Ends */



  /* home section starts*/
  .home{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    min-height: 100vh;
    align-items:center;
  }
  .home #particles-js{
    position: absolute;
    top: 0;left: 0;
    height: 100%;
    width: 100%;
  }
  .home::before{
    content: '';
    position: absolute;
    top: 0;left: 0;
    height: 100%;
    width: 100%;
  }
  
  .home .content{
    flex: 1 1 40rem;
    padding-top: 1rem;
    z-index: 1;
  }
  .home .image{
    flex: 1 1 40rem;
    z-index: 1;
  }
  .home .image img{
    width: 70%;
    margin-left: 6rem;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    cursor: pointer;
  }
  .home .image img:hover{
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .home .content h3{
    font-size: 4rem;
    font-weight: 800;
    color: #002057;
  }
  .home .content h3 span{
    font-size: 4rem;
    font-weight: 800;
    color: #274bff;
  }
  .home .content p{
    font-size: 2.5rem;
    color: #000;
    font-weight: 600;
    padding: 1rem 0;
  }
  .home .content p span{
    font-size: 2.5rem;
    color: #2d00e2;
    font-weight: 600;
    padding: 1rem 0;
  }
  .home .btn {
    margin-top: 1rem;
    position: absolute;
    line-height: 0;
    padding: 1.6rem 3rem;
    border-radius: 4em;
    transition: 0.5s;
    color: #fff;
    background: #1858c7;
    box-shadow: 0px 5px 18px #01030b(145, 136, 12, 0.6);
    font-family: 'Nunito', sans-serif;
  }
  .home .btn span {
    font-weight: 700;
    font-size: 1.7rem;
    letter-spacing: 0.1rem;
  }
  .home .btn i {
    margin-left: 0.3rem;
    font-size: 1.5rem;
    transition: 0.3s;
  }
  .home .btn:hover{
    background: #1a047e;
  }
  .home .btn:hover i {
    transform: translateX(5px);
  }
  /* social icons start */
  .socials{
    position: relative;
    margin-top: 9rem;
  }
  .socials .social-icons {
    padding-left:0;
    margin-bottom:0;
    list-style:none;
  }
  .socials .social-icons li {
    display:inline-block;
    margin-bottom:14px
  }
  .social-icons a {
    font-size:2.3rem;
    display:inline-block;
    line-height:44px;
    color: #f1f2f3;
    background-color: #10319f;
    width:44px;
    height:44px;
    text-align:center;
    margin-right:8px;
    margin-left:5px;
    border-radius:100%;
    -webkit-transition:all .2s linear;
    -o-transition:all .2s linear;
    transition:all .2s linear
  }
  .social-icons a:active,.social-icons a:focus,.social-icons a:hover {
    color:#fff;
    background-color:#0685da
  }
  .social-icons a.github:hover {
    background-color:#0685da
  }
  .social-icons a.linkedin:hover {
    background-color:#007bb6
  }
  .social-icons a.twitter:hover {
    background-color:#007bb6
  }
  /*social icon ends */

  /*home section media Queries*/
  @media(max-width:450px){
    .home .btn
    {
        margin-top:4rem 0;
    }
    .socials
    {
        margin-top:12rem;
    }
    .home .image img{
        margin-top:-12rem;
    }
    .home .content p
    {
        font-size:2.2rem;
    }
    .home .content p span{
        font-size:2.2rem;
    }
  }
/*home section media Queries ends*/

/*home Section ends */

/*about section starts*/
.about{
    background: rgb(255,255,255);
    box-sizing: border-box;
}
.heading
{
    font-size:3.5rem;
    color:rgb(32,32,32);
    font-weight:800;
    text-align:center;
}
.heading span{
    color:rgb(115,3,167);
}
.about .row
{
    display:flex;
    flex-direction:row;
    gap:2rem;
    flex-wrap:wrap;
    padding:4rem;
}
.about .row .image{
    text-align:center;
    flex:1 1 35rem;
}
.about .row .image img{
    margin:4rem;
    width:30rem;
    border-radius:7%;
    filter:brightness(1);
    box-shadow:0 5px 10px rgba(0,0,0,0.6);
    transition:.3s;
    cursor:pointer;
}
.about .row .image img:hover{
    box-shadow:5px 7px 10px rgba(0, 0, 0, 0.6);
}
.about .row .content{
    flex:1 1 45rem;
    padding:3rem;
    flex-wrap:wrap;
}
.about .row .content .tag{
    font-size:1.5rem;
    color:#000000;
    font-weight:600;
    margin-top:1rem;
    letter-spacing: 0.2rem;
    line-height: 3rem;
    padding:1rem;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}
.about .row .image img {
  width: 500px;         /* Adjust width as needed */
  height: 500px;         /* Maintain aspect ratio */
  max-width: 100%;      /* Responsive within container */
  border-radius: 8px;   /* Optional: smooth corners */
  object-fit: cover;    /* Optional: crop if needed */
}
.tag .bold
{
    color:black;
    font-weight:700;
}
.resumebtn
{
    margin-top:6rem;
    margin-left:1.2rem;
}
.resumebtn .btn{
    background:#3a18d2f5;
    color:#fff;
    padding:1.7rem 3rem;
    border-radius:.5em;
    transition:.3s;
    box-shadow:0px 5px 10px rgba(7,7,1,0.6);
    font-family:'Nunito',sans-serif;
}
.resumebtn .btn span{
    font-weight:600;
    font-size:1.8rem;
    letter-spacing:0.1rem;
}
.resumebtn .btn i{
    margin-left:0.3rem;
    font-size:1.3rem;
    transition:.3s;
}
.resumebtn .btn:hover{
    background:#1a047e;
}
.resumebtn .btn:hover i{
    transform:translateX(5px);
}

/*about section media queries starts*/
@media screen and (max-width:600px)
{
    .about .heading h2
    {
        margin-right:20rem;
    }
    .about .row .image{
        margin-top:2rem;
    }
    .about .row .image img{
        margin:0 auto;
        width:80%;
    }
    .about .row{
        padding:.5rem;
        margin-bottom:7rem;
    }
    .about .row .content{
        padding:1rem;
    }
}
/*about section media querie ends */

/*about section ends*/

/*Skills Section starts*/
.skills {
    min-height: 90vh;
    background: linear-gradient(to bottom, #57059e, #4a00e0);
  }
  .skills h2 {
    color: #fff;
  }
  .skills .container {
    background: rgba(0, 0, 22, 0.4);
    color: #fff;
    border-radius: 1rem;
    padding: 2rem;
    width: 90%;
    margin: auto;
    margin-top: 2rem;
  }
  .skills .container .row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    flex-wrap: wrap;
    gap: 1.8rem;
  }
  .skills .container .bar {
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 1rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    background: rgba(0, 0, 22, 0.9);
    transition: 0.2s;
  }
  .skills .container .bar:hover {
    box-shadow: 1px 1px 10px #fff;
    transition:.3s;
  }
  .skills .container .bar .info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
  }
  .bar .info .img{
    background:#fff;
    border-radius:1.5rem;
}
.skills .container .bar .info i {
  font-size: 4rem;
}
  .skills .container .bar .info span {
    font-size: 2rem;
    font-weight: 500;
    font-family: 'Poppins',sans-serif;
    margin-left: 0.5rem;
  }
  /* skills media queries starts*/
  @media screen and (max-width: 600px) {
    .skills .container {
      padding: 0;
      margin: 0;
    }
    .skills .container .row {
      grid-template-columns: repeat(2, 1fr);
      margin: 1rem;
      padding: 2rem 0.2rem 2rem 0.2rem;
      gap: 1rem;
    }
    .skills .container {
      margin-top: 5px;
      width: 100%;
    }
  }
/*Skills Section media Queries ends*/
/*Skills Section ends */


/*Education Section starts*/
.education{
  background:#e5ecfb;
  min-height:80vh;
}
.education .box-container{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  flex-direction:column;
}
.education .box-container .box{
  display:flex;
  flex-direction:row;
  width:80%;
  box-shadow:.2rem .5rem 1rem rgba(0,0,0,.2);
  border-radius:.5rem;
  text-align:center;
  position:relative;
  margin-top:2rem;
  overflow:hidden;
  transition:.3s;
  background: rgb(252,252,252);
}
.education .box-container .box:hover{
  transform:scale(1.03);
  box-shadow:1rem .5rem 1.2rem rgba(0,0,0,.3);
}
.education .box-container .box .image{
  flex:1 1 20rem;
  width:100%;
}
.education .box-container .box img{
  object-fit:cover;
  position:relative;
  width:100%;
  height:100%;
}
.education .box-container .box .content{
  display:flex;
  flex-direction:column;
  padding:1rem;
  flex-wrap:wrap;
  flex:1 1 70rem;
}
.education .box-container .box .content h3{
  font-size:2.5rem;
  color:#062e74;
  padding:.5rem 0;
  font-weight:600;
  text-align:left;
  margin-left:1rem;
}
.education .box-container .box .content p{
  font-size:1.5rem;
  margin-left:1rem;
  text-align:left;
  color:#421cecf5;
}
.education h4{
  color: rgb(24,109,0);
  font-size:2rem;
  text-align:left;
  margin:1rem;
  font-family:'Nunito',san-serif;
  font-weight:700;
}
/*education section media queries start*/
@media screen and (max-width:600px){
  .education .box-container .box{
    flex-direction:column;
    width:100%;
  }
  .education .box-container .box .image{
    width:100%;
    height:25rem;
  }
  .education .box-container .box img{
    width:100%;
  }
  .education .box-container .box .content{
    position:relative;
    display:flex;
    flex-direction:column;
    padding:1rem;    
    flex-wrap:wrap;
    flex:0;
  }
}
/*education section media queries end*/
/*education section ends*/


/*work section starts*/
.work{
  background: black;
}
.work h2{
  color:#fff;
  padding:1rem;
}
.work .heading span{
  color:yellow;
}
.work .box-container{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  margin:2rem;
}
.work .box-container .box{
  border-radius:.5rem;
  box-shadow:0.5rem 1 rem rgba(0,0,0,0.351);
  position:relative;
  overflow:hidden;
  height:40rem;
  width:34rem;
  background: red;
}
.work .box-container .box img{
  height:30rem;
  width:34rem;
  object-fit:cover;
}
.work .box-container .box .content{
  height:100%;
  width:34rem;
  position:absolute;
  top:75%;
  left:0;
  background: rgba(255,255,255,0.9);
  display:flex;
  flex-direction:column;
}
.work .box-container .box .content .tag{
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  height:4.5rem;
  width:34rem;
  overflow:hidden;
  padding-left:1rem;
  background: #0f46a2;
}
.work .box-container .box .content .tag h3{
  font-size:2rem;
  color:white;
}
.work .box-container .box:hover .content{
  top:40%;
  transition:.8s;
}
.work .desc{
  width:30rem;
  margin:2rem;
}
.work .desc p{
  font-size:1.5rem;
  padding-bottom:.7rem;
}
.work .desc .btns{
  display:flex;
  justify-content:space-between;
  width:100%;
  margin-top:2rem;
}
.work .desc .btns .btn{
  line-height:0;
  display:inline;
  padding:1.5rem 2.5rem;
  border-radius:.5rem;
  font-size:1.5rem;
  color:#fff;
  background: rgb(12,12,12);
  margin-right:2rem;
}
.work .desc .btns .btn:hover{
  background: #310ae0f5;
}
/*work section ends */

/*contact section starts*/
.contact{
  background: #e5ecfb;
  min-height: 60vh;
}
.contact .container{
  max-width: 1050px;
  width: 100%;
  background: #fff;
  border-radius: 1.5rem;
  margin: 2rem 5rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
}
.contact .container .content{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.5rem 2rem;
}
.contact .content .image-box{
  max-width: 60%;
  margin-left: 4rem;
}
.contact .content .image-box img{
  width: 100%;
  height: 40rem;
  position: relative;
}
.contact .content form{
  width: 45%;
  margin-right: 3.5rem;
}
form .form-group{
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.form-group .field{
  height: 50px;
  display: flex;
  position: relative;
  margin: 1rem;
  width: 100%;
}
form i{
  position: absolute;
  top: 50%;
  left: 18px;
  color: rgb(51, 51, 51);
  font-size: 17px;
  pointer-events: none;
  transform: translateY(-50%);
}
form .field input,
form .message textarea{
  width: 100%;
  height: 100%;
  outline: none;
  padding: 0 16px 0 48px;
  font-size: 16px;
  font-family: 'Poppins', sans-serif;
  border-radius: 5px;
  border: 1px solid rgb(51, 51, 51);
  background: #e5ecfb;
}
.field input::placeholder,
.message textarea::placeholder{
  color: rgb(51, 51, 51);
}
.field input:focus,
.message textarea:focus{
  padding-left:47px;
  border:2px solid rgb(115,3,167);
}
.field input:focus ~ i,
.message textarea:focus ~ i{
  color:rgb(115,3,167);
}
form .message{
  position:relative;
  margin:1rem;
  width:100%;
}
form .message i{
  top:25px;
  font-size:20px;
  left:15px;
}
form .message textarea{
  min-height:130px;
  max-height:230px;
  max-width:100%;
  min-width:100%;
  padding:12px 20px 0 48px;
}

form .message textarea::-webkit-scrollbar{
  width:0px;
}

form .button-area{
  display:flex;
  float:right;
  flex-direction:row-reverse;
}
.button-area button{
  color:#fff;
  border:none;
  outline:none;
  font-size:1.8rem;
  cursor:pointer;
  border-radius:5px;
  padding:13px 25px;
  background: #2506ad;
  box-shadow:0px 5px 10px rgba(48,68,247,.6);
  transition:.3s ease;
  font-family:'Nunito',sans-serif;
}
.button-area button:hover{
  background: #421cecf5;
}
.button-area button i{
  position:relative;
  top:6px;
  left:2px;
  font-size:1.5rem;
  color:white;
}
.button-area button:hover i{
  left:8px;
}

/*contact section media queries */
@media (max-width:900px) {
  .contact{
    min-height:70vh;
  }
  .contact .container{
    margin:3rem 0 2rem 0;
  }
  .contact .container .content{
    padding:18px 12px;
  }
  .contact .content .image-box{
    display:none;
  }
  .contact .content form{
    width:100%;
    margin-right:2rem;
  }
}
/*contact section media queries ends */
/*contact section ends */

/*footer section starts*/
.footer{
  min-height:auto;
  padding-top:0;
  background: rgb(0,1,43);
}
.footer .box-container{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}
.footer .box-container .box{
  flex:1 1 25rem;
  margin:2.5rem;
}
.footer .box-container .box h3{
  font-size:2.5rem;
  color:white;
  padding-bottom:1rem;
  font-weight:normal;
}
.footer .box-container .box p{
  font-size:1.5rem;
  color:#ccc;
  padding:.7rem 0;
  text-transform:none;
}
.footer .box-container .box p i{
  padding-right:1rem;
  color:#421cecf5;
}
.footer .box-container .box a{
  font-size:1.5rem;
  color:rgb(238,238,238);
  padding:.3rem 0;
  display:block;
}
.footer .box-container .box a:hover{
  color:#421cecf5;
}
.footer .box-container .box .share{
  display:flex;
  flex-wrap:wrap;
  padding:1rem 0;
}
.footer .box-container .box .share a{
  height:4rem;
  width:4rem;
  padding:1rem;
  text-align:center;
  border-radius:5rem;
  transition:.2s;
  background: rgb(230,230,230);
  color:#02094b;
  font-size:1.7rem;
  margin-right:1rem;
  border:none;
}
.footer .box-container .box .share a:hover{
  background: transparent;
  transform: scale(0.98);
  border: .1rem solid rgb(180, 178, 178);
  color: #421cecf5;
}


@-webkit-keyframes pound{
  to{
    transform: scale(1.1);
  }
}
@keyframes pound{
  to{
    transform: scale(1.1);
}
}

/*footer section media queries starts*/
@media(max-width:450px){
  .footer .box-container .box{
    margin: 1.5rem;
  }
  .footer .box-container .box p{
    padding: 0.7rem;
  }
  .footer .box-container .box .share a{
    padding: 1.2rem;
  }
}
/*footer section medioa queries ends*/

/*footer section ends*/


/* common media queries starts*/
@media(max-width:450px){
  html{
    font-size: 55%;
  }
  body{
    padding-right: 0;
  }
  section{
    padding: 2rem;
  }
}
/* common media queries ends*/

/*scroll top starts*/
#scroll-top{
  position: fixed;
  top:-140%;
  right: 2rem;
  padding: 1rem 1.5rem;
  font-size: 2rem;
  background: #421cecf5;
  color: rgb(232, 229, 239);
  border-radius: 50%;
  transition: 1s linear;
  z-index: 2000;
}
#scroll-top.active{
  top: calc(100% - 12rem);
}
.link_icon > i{
  position: relative;
  bottom: 2px;
}
.link_icon:hover > i{
  color: #fff;
}
.tag h3{
  color:white;
}
/* New Code */
.navbar ul li a.active {
  border-bottom: 3px solid #4f46e5;
  padding-bottom: 4px;
  color: #4f46e5;
  font-weight: 600;
}

/* --------------------------- */
/*    PROJECTS SCROLL AREA     */
/* --------------------------- */
/* --------------------------- */
/*      SCROLL CONTAINER       */
/* --------------------------- */
/* --------------------------- */
/*      SCROLL CONTAINER       */
/* --------------------------- */
/* --------------------------- */
/*      SCROLL CONTAINER       */
/* --------------------------- */
.projects-scroll {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 30px 0;
}

/* --------------------------- */
/*        MOVING TRACK         */
/* --------------------------- */
.projects-track {
    display: inline-flex;
    gap: 30px;
    align-items: flex-start;
    /* ping-pong motion: left -> right -> left continuously without disappearing */
    animation: scroll-left-right 10s linear infinite alternate;
    will-change: transform;
}

/* Pause scroll when hovering over any card (or over track) */
.projects-scroll:hover .projects-track,
.projects-track:hover {
    animation-play-state: paused;
}

/* --------------------------- */
/*       SCROLL ANIMATION      */
/* --------------------------- */
@keyframes scroll-left-right {
    0%   { transform: translateX(0); }       /* start fully visible */
    100% { transform: translateX(-30%); }   /* move partially to keep all cards visible */
}

/* --------------------------- */
/*        PROJECT CARD         */
/* --------------------------- */
.project-card {
    width: 360px;                 
    height: 420px;                
    background: #111;
    border-radius: 15px;
    overflow: hidden;
    color: #fff;
    flex-shrink: 0;
    transition: height 0.45s cubic-bezier(.2,.9,.2,1), transform 0.25s ease;
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
    display: flex;
    flex-direction: column;
}

/* raise & slightly scale on hover for emphasis */
.project-card:hover {
    transform: translateY(-6px) scale(1.02);
    height: 540px; 
}

/* --------------------------- */
/*           IMAGE             */
/* --------------------------- */
.project-img {
    width: 100%;
    height: 280px;                
    overflow: hidden;
    background: #111;
    display: block;
}

/* image covers full width & height up to card border */
.project-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;            
    display: block;
    transition: transform 0.6s ease;
}

/* slight zoom on image when hovering card */
.project-card:hover .project-img img {
    transform: scale(1.04);
}

/* --------------------------- */
/*          TITLE BAR          */
/* --------------------------- */
.project-title {
    background: #0d47a1;
    text-align: center;
    padding: 12px 14px;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

/* --------------------------- */
/*      HOVER / DESCRIPTION    */
/* --------------------------- */
.project-hover-panel {
    background: rgba(255, 255, 255, 0.97);
    color: #111;
    padding: 20px;
    box-sizing: border-box;

    max-height: 0;
    opacity: 0;
    transform: translateY(20px);
    overflow: hidden;

    transition:
        max-height 0.45s cubic-bezier(.2,.9,.2,1),
        opacity 0.35s ease,
        transform 0.38s cubic-bezier(.2,.9,.2,1);

    margin-top: 0;
}

/* on hover — expand container fully and slide up into place */
.project-card:hover .project-hover-panel {
    max-height: 400px;   
    opacity: 1;
    transform: translateY(0);
}

/* Description text */
.project-text {
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 18px 0;
    color: #0b0b0b;
}

/* --------------------------- */
/*          BUTTONS            */
/* --------------------------- */
.project-buttons {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
}

/* button style */
.proj-btn {
    background: #000;
    padding: 12px 18px;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: transform 0.18s ease, background 0.18s ease;
}

/* hover for buttons */
.proj-btn:hover {
    transform: translateY(-3px) scale(1.05);
    background: #222;
}

/* --------------------------- */
/*    SMALL / RESPONSIVE TWEAKS */
/* --------------------------- */
@media (max-width: 900px) {
    .project-card { width: 300px; height: 390px; }
    .project-card:hover { height: 520px; }
    .project-img { height: 240px; }
}

@media (max-width: 600px) {
    .projects-track { gap: 16px; animation-duration: 16s; }
    .project-card { width: 260px; height: 340px; }
    .project-card:hover { height: 460px; }
    .project-img { height: 200px; }
}
