 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: 'DM Sans', sans-serif;
     color: #0B1D3A;
     overflow-x: hidden;
 }

 h1,
 h2,
 h3,
 h4,
 h5 {
     font-family: 'Playfair Display', serif;
 }

 .page {
     display: none;
 }

 .page.active {
     display: block;
 }

 .reveal {
     opacity: 0;
     transform: translateY(40px);
     transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .reveal.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .reveal-left {
     opacity: 0;
     transform: translateX(-50px);
     transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .reveal-left.visible {
     opacity: 1;
     transform: translateX(0);
 }

 .reveal-right {
     opacity: 0;
     transform: translateX(50px);
     transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .reveal-right.visible {
     opacity: 1;
     transform: translateX(0);
 }

 .reveal-scale {
     opacity: 0;
     transform: scale(0.9);
     transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .reveal-scale.visible {
     opacity: 1;
     transform: scale(1);
 }

 .navbar {
     transition: all 0.3s ease;
 }

 .navbar.scrolled {
     background: rgba(11, 29, 58, 0.97);
     backdrop-filter: blur(12px);
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
 }

 .gradient-text {
     background: linear-gradient(135deg, #F16570, #3191C1);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }

 @keyframes float {

     0%,
     100% {
         transform: translateY(0);
     }

     50% {
         transform: translateY(-12px);
     }
 }

 .float {
     animation: float 3s ease-in-out infinite;
 }

 @keyframes pulseRing {
     0% {
         transform: scale(1);
         opacity: 1;
     }

     100% {
         transform: scale(1.5);
         opacity: 0;
     }
 }

 .pulse-ring {
     position: relative;
 }

 .pulse-ring::before {
     content: '';
     position: absolute;
     inset: -6px;
     border-radius: 50%;
     border: 2px solid #F16570;
     animation: pulseRing 1.5s ease-out infinite;
 }

 @keyframes marquee {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 .marquee {
     animation: marquee 25s linear infinite;
 }

 .popup-overlay {
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.3s ease;
 }

 .popup-overlay.show {
     opacity: 1;
     pointer-events: all;
 }

 .popup-content {
     transform: scale(0.9) translateY(20px);
     transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .popup-overlay.show .popup-content {
     transform: scale(1) translateY(0);
 }

 .tab-btn.active {
     background: #F16570;
     color: white;
 }

 .tab-btn {
     transition: all 0.3s ease;
 }

 .service-card {
     transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .service-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 20px 60px rgba(49, 145, 193, 0.15);
 }

 .industry-card {
     transition: all 0.4s ease;
 }

 .industry-card:hover {
     transform: translateY(-6px);
 }

 .industry-card:hover .industry-icon {
     background: #F16570;
     color: white;
 }

 .mobile-menu {
     transform: translateX(100%);
     transition: transform 0.3s ease;
 }

 .mobile-menu.open {
     transform: translateX(0);
 }

 .blob {
     border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
 }

 .testimonial-track {
     transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .nav-link {
     position: relative;
 }

 .nav-link::after {
     content: '';
     position: absolute;
     bottom: -2px;
     left: 0;
     width: 0;
     height: 2px;
     background: #F16570;
     transition: width 0.3s ease;
 }

 .nav-link:hover::after,
 .nav-link.active::after {
     width: 100%;
 }

 .img-cover {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 @keyframes slideUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .stagger-1 {
     transition-delay: 0.1s;
 }

 .stagger-2 {
     transition-delay: 0.2s;
 }

 .stagger-3 {
     transition-delay: 0.3s;
 }

 .stagger-4 {
     transition-delay: 0.4s;
 }

 .stagger-5 {
     transition-delay: 0.5s;
 }