body{margin:0 auto;padding:0;
}
:root{--bs-body-font-family: "Montserrat", sans-serif;
}
.bodoni-font{font-family:"Bodoni Moda", serif;letter-spacing: 1px;
}
.bg-dark{background-color:rgb(0, 0, 0) !important;
}
.navbar {
  width: 100vw;
  overflow: visible;
}
.custom-toggler {
  border: none;
  background: transparent;
  width: 30px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1100;
  padding: 0;
  margin-left: auto;
  overflow: visible;
}
.custom-toggler span {
  display: block;
  height: 1px;
  width: 100%;
  background-color: white;
  margin-bottom: 6px;
  border-radius: 3px;
  transition: 0.4s;
  transform-origin: center;
}
.custom-toggler span:last-child {
  margin-bottom: 0;
}
.custom-toggler.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.custom-toggler.open span:nth-child(2) {
  opacity: 0;
}
.custom-toggler.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}
.navbar-nav .nav-link {
  position: relative;
  margin-right: 1.5rem;
  padding-bottom: 4px;
}
.navbar-nav .nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 0%;
  background-color: #af89fc;
  transition: width 0.3s ease-in-out;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
  width: 100%;
}

@media (max-width: 991.98px) {
  .custom-toggler {
    margin-left: auto;
  }
}
html {scroll-behavior: smooth;
}
.hero-number{line-height:4.5rem;
}
.char, .lines {display: inline-block;transform: translateY(30px);opacity: 0;animation: rise-up 1s ease-out forwards;animation-delay: calc(var(--char-index) * 50ms);
}@keyframes rise-up {to {transform: translateY(0);opacity: 1;}
}
@media (min-width: 300px) {  .home-heading{font-optical-sizing: auto;font-weight:400;font-size:60px;line-height:4.5rem;margin:35px 0 15px 0;}.home-exp-copy{font-size:12px;}.hero-number{margin:10px 0 3px 0;}.hero-intro-copy{font-size:12px;margin-top:20px;}
}
@media (max-width:576px){#svg-letter-y{width: 130%;position:absolute;top:50px;left:-15%;}
}
@media (min-width: 576px) {  .home-heading{font-optical-sizing: auto;font-weight:400;font-size:80px;line-height:6rem;}.home-exp-copy{font-size:16px;}.hero-number{margin:0 0 20 0;}.hero-intro-copy{font-size:16px;}
}
@media (min-width: 768px){  #home, #work, #about, #contact{min-height:100vh;}.home-heading{font-optical-sizing: auto;font-weight:400;font-size:110px;line-height:8rem;margin:55px 0 55px 0;}#svg-letter-y{width: 100%;position:absolute;top:70px;}
}
@media (min-width: 992px) {  .home-heading{font-optical-sizing: auto;font-weight:400;font-size:150px;line-height:10rem;}
}
svg{width: 100%;max-width: 1920px;height: auto;
}
#svg-letter-y{position:absolute;z-index:-10;
}
#path-letter-y{fill: none;stroke: url(#stroke-gradient); stroke-width: 2.4;stroke-linecap: round;stroke-linejoin: round;
}
#work{padding:50px 0 30px 0;
}#work a{text-decoration: none;
}.carousel-container {overflow: hidden;padding: 55px 0;position: relative;text-align: center;
}.carousel-track {display: flex;transition: transform 0.8s ease;will-change: transform;
}.carousel-slide {flex: 0 0 50%; opacity: 0.4;transform: scale(0.9);transition: all 0.6s ease;margin: 0 10px;
}.carousel-slide.active {opacity: 1;transform: scale(1);z-index: 2;
}.carousel-slide img {width: 100%;border-radius: 5px;max-height: 500px;object-fit: cover;
}.carousel-caption {margin-top: 16px;text-align: center;opacity: 0;transform: translateY(10px);transition: all 0.4s ease;pointer-events: none;position: static; /* IMPORTANT: allow it to appear under image */
}.carousel-slide.active .carousel-caption {opacity: 1;transform: translateY(0);pointer-events: auto;
}
.carousel-caption h2 {font-size: 2.4rem;margin-bottom: 5px;color: white;border-bottom: 1px solid #af89fc;display: inline-block;
}
.carousel-caption p {font-size: 0.9rem;color: #ccc;letter-spacing: 1px;
}
.carousel-indicators {display: flex;justify-content: center;gap: 10px;margin: 10px 0 30px; 
}.carousel-indicators div {height: 1px;width: 20px;background-color: #666;opacity: 0.5;transition: all 0.3s ease;cursor: pointer;
}.carousel-indicators div.active {background-color: #af89fc;opacity: 1;width: 40px; 
}
.carousel-controls {display: flex;justify-content: center;gap: 20px;margin-top: 10px;
}.circle-btn {width: 50px;height: 50px;border-radius: 50%;background-color: transparent;border: 1px solid #af89fc;cursor: pointer;padding: 0;margin: 0 3px; display: flex;align-items: center;justify-content: center;
}.arrow-icon {width: 24px;height: 24px;
}.flipped {transform: scaleX(-1);
}
.arrow-icon {width: 20px;height: 20px;stroke: #af89fc;display: block; animation-duration: 1s;animation-timing-function: linear;animation-iteration-count: infinite;animation-play-state: paused; animation-fill-mode: forwards;transform-origin: center;
}
.circle-btn:hover .arrow-icon:not(.flipped) {animation-name: arrow-move-right;animation-play-state: running; 
}
.circle-btn:hover .arrow-icon.flipped {animation-name: arrow-move-left;animation-play-state: running; 
}@keyframes arrow-move-right {0% {transform: translateX(-10px);opacity: 1;}50% {opacity: 1;}100% {transform: translateX(15px);opacity: 0;}
}@keyframes arrow-move-left {0% {transform: translateX(10) scaleX(-1);opacity: 1;}50% {opacity: 1;}100% {transform: translateX(-15px) scaleX(-1);opacity: 0;}
}
#about{padding:70px 0 30px 0;
}
.portrait{height:170px;margin:0 auto;
}
.about-me-heading{text-align:center;margin:0;
}
.short-line{width: 60px; border: none;border-top: 1px solid #af89fc; margin: 10px auto; opacity:1;
}
.skill-container{margin-top:10px;
}
#contact{padding:150px 0 30px 0;
}
.email-icon{width:20px;height:20px;
}
@media (max-width: 767.98px) {#work {padding-top: 20px;padding-bottom: 20px;}#about {padding-top: 40px;padding-bottom: 20px;}#contact {padding-top: 40px;padding-bottom: 20px;}
}
.footer-divider{width:100%;
}
.footer-notes{font-size:12px;
}.email-icon-footer{width:15px;height:15px;
}
.project-hero-section{padding:100px 30px;
}
.project-heading-divider{width: 120px; border: none;border-top: 1px solid #af89fc; margin: 10px 0 50px 0;opacity:1;
}
.project-subheading{font-size:18px;font-weight:400;color:#7a7a7a;
}
.project-hero-image{width:100%;
}
.project-hero-section ul{margin-left:15px;
}.rounded-video {border-radius: 8px;width: 100%;display: block;
}.project-process{width:100%;background-color: #ffffff;padding:50px 30px;
}.process-heading-dark, .list-dark, .paragraph-dark{color:#000000;
}.project-process .row, .project-showcase .row{padding:50px 0px;
}.project-process ul, .project-showcase ul{margin-left:-15px;
}
.project-process-img{width:100%;
}.project-showcase{padding:50px 30px;
}.button-text{color:#ffffff;font-size:12px;
}