/*------------------- GLOBAL STYLES -------------------*/
@font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree-VariableFont_wght.ttf') format('truetype');
}

@font-face {
  font-family: 'GreatFont';
  src: url('../fonts/Sentient-BoldItalic.ttf') format('woff2');
  font-weight: bold;
  font-style: italic;
}

@layer utilities {
  .font-great {
    font-family: 'GreatFont', sans-serif;
  }
}

body {
  background: #2C483C;
  font-family: 'Figtree', sans-serif;
}

.navbar-blur {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/*------------------- SHARED UTILITY -------------------*/
.glow-effect {
  box-shadow: 0 0 30px rgba(102, 126, 234, 0.3);
}

/*------------------- TEXT ANIMATION -------------------*/
.gradient-text {
  background: #618c70;
  background-size: 100% auto;
  background-clip: text;
  -webkit-background-clip: text;
  font-weight: 700;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/*------------------- HERO SECTION -------------------------*/
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
/*------------------- HERO TEXT ANIMATION -------------------*/
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes brand-reveal {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.description {
  animation: fade-in-up 2s ease both;
   will-change: transform;
}

.brand-text {
  opacity: 0;
  animation: brand-reveal 1.5s ease both;
  will-change: transform;
}

.brand-text[data-index="0"] {
  animation-delay: .4s;
}

.brand-text[data-index="1"] {
  animation-delay: .5s;
}

.brand-text[data-index="2"] {
  animation-delay: .6s;
}

.brand-text[data-index="3"] {
  animation-delay: .7s;
}

/*------------------- TITLE TEXT CLIP -------------------*/
@keyframes text-clip {
  from {
    clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
  }

  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

.title-container {
  overflow: hidden;
}

.authentic,
.impact {
  display: block;
  overflow: hidden;
}

.authentic-inner,
.impact-inner {
  display: inline-block;
}

.authentic-inner {
  animation: text-clip 1.5s 0s cubic-bezier(0.5, 0, 0.1, 1) both;
}

.impact-inner {
  animation: text-clip 1.5s 0.2s cubic-bezier(0.5, 0, 0.1, 1) both;
}

/*------------------- CAROUSEL -------------------*/
@keyframes carousel-slide-in {
  from {
    transform: translateX(100px);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.carousel-card {
  position: absolute;
  transition: left 0.5s ease, z-index 0.5s ease;
  animation: carousel-slide-in 1s ease both;
  will-change: transform;
}


.overlay {
  transition: opacity 0.7s ease;
}

.carousel-card:nth-child(1) {
  animation-delay: .4s;
}

.carousel-card:nth-child(2) {
  animation-delay: .5s;
}

.carousel-card:nth-child(3) {
  animation-delay: .6s;
}

.carousel-card:nth-child(4) {
  animation-delay: .7s;
}

@media (max-width: 1024px) {
  .carousel-card {
    position: relative !important;
    margin-bottom: 1rem;
    width: 100% !important;
  }
}

/*------------------- unidentified SECTION -------------------------*/
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/

/*------------------- FLOAT ANIMATION -------------------*/
@keyframes float {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-10px);
  }
}

/*------------------- unidentified SECTION -------------------------*/
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
/*------------------- ROLLING TEXT -------------------*/
@keyframes roll {

  0%,
  20% {
    transform: translateY(0.4rem);
  }

  25%,
  45% {
    transform: translateY(-5.675rem);
  }

  50%,
  70% {
    transform: translateY(-11.675rem);
  }

  75%,
  95% {
    transform: translateY(-17.675rem);
  }

  100% {
    transform: translateY(0);
  }
}

.animate-roll {
  animation: roll 12s ease-in-out infinite;
}

@keyframes roll2 {

  0%,
  10% {
    transform: translateY(0.4rem);
  }

  33.33%,
  43.33% {
    transform: translateY(-5.675rem);
  }

  66.66%,
  76.66% {
    transform: translateY(-11.675rem);
  }

  100% {
    transform: translateY(0.4rem);
  }
}

.animate-roll2 {
  animation: roll2 6s ease-in-out infinite;
}

/*------------------- unidentified SECTION -------------------------*/
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
/*------------------- MARK / BRUSH -------------------*/
@keyframes brush-swipe {
  to {
    background-size: 100% var(--bg-height);
  }
}

mark {
  --color: #cce561;
  --bg-height: 10%;
  all: unset;
  position: relative;
  background: linear-gradient(120deg, transparent 0%, var(--color) 5%, var(--color) 95%, transparent 100%);
  background-size: 0% var(--bg-height);
  background-repeat: no-repeat;
  background-position: 0 100%;
  animation: brush-swipe 1s ease-out forwards;
  animation-play-state: paused;
}

/*------------------- unidentified SECTION -------------------------*/
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
/*------------------- AUTOGRAPH -------------------*/
.autograph__path {
  animation-timing-function: linear;
  animation-fill-mode: forwards;

  .animated & {
    opacity: 1;
    animation-name: line;
  }
}

@keyframes line {
  100% {
    stroke-dashoffset: 0;
  }
}

/*------------------- MARQUEE -------------------*/

@keyframes scroll-marquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.marquee {
  margin: 0 auto;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
}

.marquee__inner {
  display: inline-flex;
  animation: scroll-marquee 20s linear infinite;
}

.marquee__inner span {
  display: inline-block;
  white-space: nowrap;
}

/* 
/*------------------- unidentified SECTION -------------------------*/
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
/*------------------- BRAND ANIMATION -------------------*/
.loading02 span {
  animation: loading02 1.2s infinite alternate;
}

.loading02 span:nth-child(2) {
  animation-delay: 0.2s;
}

.loading02 span:nth-child(3) {
  animation-delay: 0.4s;
}

.loading02 span:nth-child(4) {
  animation-delay: 0.6s;
}

.loading02 span:nth-child(5) {
  animation-delay: 0.8s;
}

.loading02 span:nth-child(6) {
  animation-delay: 1s;
}

.loading02 span:nth-child(7) {
  animation-delay: 1.2s;
}

.loading02 span:nth-child(8) {
  animation-delay: 1.4s;
}

@keyframes loading02 {
  0% {
    filter: blur(5px);
    opacity: 0.2;
  }

  100% {
    filter: blur(0);
    opacity: 1;
  }
}

/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
/*------------------- HAMBURGER ANIMATION -------------------*/
.hamburger-line {
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transform-origin: center;
}

.hamburger-active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(0.275rem, 0.275rem);
}

.hamburger-active .hamburger-line:nth-child(2) {
  opacity: 0;
  transform: scale(0);
}

.hamburger-active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(0.275rem, -0.275rem);
}

/* Mobile menu animation */
.mobile-menu {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(-10px);
}

.mobile-menu.active {
  max-height: 100vh;
  opacity: 1;
  transform: translateY(0);
}

/* Menu items stagger animation */
.menu-item {
  opacity: 0;
  transform: translateX(20px);
  transition: all 0.3s ease;
}

.mobile-menu.active .menu-item {
  opacity: 1;
  transform: translateX(0);
}

.mobile-menu.active .menu-item:nth-child(1) {
  transition-delay: 0.1s;
}

.mobile-menu.active .menu-item:nth-child(2) {
  transition-delay: 0.15s;
}

.mobile-menu.active .menu-item:nth-child(3) {
  transition-delay: 0.2s;
}

.mobile-menu.active .menu-item:nth-child(4) {
  transition-delay: 0.25s;
}

.mobile-menu.active .menu-item:nth-child(5) {
  transition-delay: 0.3s;
}

.mobile-menu.active .menu-item:nth-child(6) {
  transition-delay: 0.35s;
}

/* Button hover effects */
.menu-toggle-btn {
  transition: all 0.2s ease;
}

.menu-toggle-btn:hover {
  transform: scale(1.05);
}

.cta-button {
  transition: all 0.3s ease;
}

.cta-button:hover {
  transform: translateY(-2px);
}

/* Link hover effects */
.nav-link {
  position: relative;
  transition: all 0.2s ease;
}

.nav-link:hover {
  transform: translateX(5px);
  color: #ff9c94;
}

.nav-link::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%) scaleX(0);
  width: 4px;
  height: 4px;
  background-color: #ff9c94;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

.nav-link:hover::before {
  transform: translateY(-50%) scaleX(1);
}