@view-transition {
      navigation: auto;
    }

*,
::before,
::after {
  margin: 0;
  padding: 0;
  text-decoration: none;
  list-style-type: none;
  box-sizing: border-box;
}
    
    * {
      scrollbar-width: thin;
      scrollbar-color: #C59924 #0A0A0A;
    }
    
    .gradient-text {
      background: linear-gradient(135deg, #C59924 0%, #E8C547 50%, #C59924 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .glass {
      background: rgba(197, 153, 36, 0.05);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(197, 153, 36, 0.1);
    }
    
    .testimonial-track {
      display: flex;
      flex-wrap: nowrap;
      width: max-content;
      animation: scroll 30s linear infinite;
    }
    
    .testimonial-track:hover {
      animation-play-state: paused;
    }
    
    @keyframes scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    
    .service-card:hover .service-icon {
      transform: scale(1.1);
    }
    
    .service-icon {
      transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .hero-image {
      mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
      -webkit-mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
    }
    
    .line-reveal {
      overflow: hidden;
    }
    
    .nav-link {
      position: relative;
    }
    
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: #C59924;
      transition: width 0.3s ease;
    }
    
    .nav-link:hover::after {
      width: 100%;
    }
    
    .dropdown {
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.3s ease;
    }
    
    .dropdown-parent:hover .dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    
    .pulse-ring {
      animation: pulse-ring 2s ease-out infinite;
    }
    
    @keyframes pulse-ring {
      0% { transform: scale(0.8); opacity: 1; }
      100% { transform: scale(2); opacity: 0; }
    }
    
    .float {
      animation: float 6s ease-in-out infinite;
    }
    
    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-20px); }
    }
    
    input:focus, textarea:focus, select:focus {
      outline: none;
      border-color: #C59924;
      box-shadow: 0 0 0 2px rgba(197, 153, 36, 0.2);
    }
    
    .realization-card {
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .realization-card:hover {
      transform: translateY(-10px);
    }
    
    .realization-card:hover .realization-overlay {
      opacity: 1;
    }
    
    .mobile-menu {
      transform: translateX(100%);
      transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .mobile-menu.active {
      transform: translateX(0);
    }


/* ===========================================================
REVEAL
==============================================================*/

[class*="reveal-"] {
  opacity: 0;
  transform: translateY(50px);
}

.reveal-visible {
  opacity: 1;
  transform: translateY(0px);
  transition: 1s cubic-bezier(.5, 0, 0, 1);
}

.reveal-1 {
  transition-delay: .04s;
}

.reveal-2 {
  transition-delay: .08s;
}

.reveal-3 {
  transition-delay: .12s;
}

.reveal-4 {
  transition-delay: .16s;
}

.reveal-5 {
  transition-delay: .2s;
}

.reveal-6 {
  transition-delay: .24s;
}

.reveal-7 {
  transition-delay: .28s;
}

.reveal-8 {
  transition-delay: .32s;
}

.reveal-9 {
  transition-delay: .36s;
}

.reveal-10 {
  transition-delay: .4s;
}

.reveal-11 {
  transition-delay: .44s;
}

.reveal-12 {
  transition-delay: .48s;
}

.reveal-13 {
  transition-delay: .52s;
}

.reveal-14 {
  transition-delay: .56s;
}

.reveal-15 {
  transition-delay: .6s;
}

.reveal-16 {
  transition-delay: .64s;
}

.reveal-17 {
  transition-delay: .68s;
}

.reveal-18 {
  transition-delay: .72s;
}

.reveal-19 {
  transition-delay: .76s;
}

.reveal-20 {
  transition-delay: .8s;
}