 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: 'Inter', sans-serif;
 }

 body {
     background-color: #0a0a0f;
     color: #f8fafc;
     overflow-x: hidden;
 }

 .glass {
     background: rgba(20, 20, 30, 0.6);
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .glass-card {
     background: rgba(20, 20, 30, 0.5);
     backdrop-filter: blur(16px);
     -webkit-backdrop-filter: blur(16px);
     border: 1px solid rgba(255, 255, 255, 0.08);
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
 }

 .glass-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 12px 30px rgba(43, 172, 227, 0.15);
     border-color: rgba(43, 172, 227, 0.3);
 }

 .btn-primary {
     background: linear-gradient(135deg, #2bace3 0%, #1e88e5 100%);
     transition: all 0.3s ease;
 }

 .btn-primary:hover {
     transform: scale(1.03);
     box-shadow: 0 6px 20px rgba(43, 172, 227, 0.4);
 }

 .floating-particle {
     position: absolute;
     background: rgba(43, 172, 227, 0.15);
     border-radius: 50%;
     pointer-events: none;
 }

 .text-link {
     position: relative;
     display: inline-block;
     color: #2bace3;
     text-decoration: none;
 }

 .text-link::after {
     content: '';
     position: absolute;
     width: 100%;
     height: 1px;
     bottom: -2px;
     left: 0;
     background-color: #2bace3;
     transform: scaleX(0);
     transform-origin: center;
     transition: transform 0.3s ease-out;
 }

 .text-link:hover::after {
     transform: scaleX(1);
 }

 .grid-pattern {
     background-image:
         linear-gradient(rgba(43, 172, 227, 0.05) 1px, transparent 1px),
         linear-gradient(90deg, rgba(43, 172, 227, 0.05) 1px, transparent 1px);
     background-size: 40px 40px;
     animation: gridMove 120s linear infinite;
 }

 @keyframes gridMove {
     from {
         background-position: 0 0;
     }

     to {
         background-position: 1000px 1000px;
     }
 }

 .fade-in {
     opacity: 0;
     transform: translateY(20px);
     transition: opacity 0.8s ease, transform 0.8s ease;
 }

 .fade-in.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .stagger-item {
     opacity: 0;
     transform: translateY(15px);
 }

 .progress-bar {
     height: 8px;
     background: rgba(43, 172, 227, 0.2);
     border-radius: 4px;
     overflow: hidden;
     position: relative;
 }

 .progress-fill {
     position: absolute;
     height: 100%;
     background: linear-gradient(90deg, #2bace3, #1e88e5);
     border-radius: 4px;
     width: 0;
 }

 .scroll-indicator {
     width: 30px;
     height: 50px;
     border: 2px solid #2bace3;
     border-radius: 15px;
     position: relative;
 }

 .scroll-indicator::after {
     content: '';
     position: absolute;
     top: 8px;
     left: 50%;
     width: 4px;
     height: 10px;
     background: #2bace3;
     border-radius: 2px;
     transform: translateX(-50%);
     animation: scroll 2s infinite;
 }

 @keyframes scroll {
     0% {
         top: 8px;
         opacity: 0;
     }

     30% {
         opacity: 1;
     }

     70% {
         opacity: 1;
     }

     100% {
         top: 28px;
         opacity: 0;
     }
 }

 .progress-bar-global {
     position: fixed;
     top: 0;
     left: 0;
     height: 3px;
     background: linear-gradient(90deg, #2bace3, #1e88e5);
     z-index: 100;
     width: 0%;
     transition: width 0.3s ease;
 }

 .about-image-container {
     position: relative;
     overflow: hidden;
     border-radius: 16px;
 }

 .about-image-container::before {
     content: '';
     position: absolute;
     inset: 0;
     background: rgba(20, 20, 30, 0.6);
     z-index: 2;
 }

 .about-image {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transform: scale(1.05);
     transition: transform 0.8s ease;
 }

 .about-image-container:hover .about-image {
     transform: scale(1);
 }

 .swiper {
     width: 100%;
     padding: 30px 10px 50px;
 }

 .swiper-slide {
     text-align: center;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .map-container {
     height: 400px;
     border-radius: 16px;
     overflow: hidden;
 }

 .map-container iframe {
     width: 100%;
     height: 100%;
     border: none;
     filter: grayscale(100%) invert(92%) contrast(83%);
 }

 /* Mobile menu styles */
 .mobile-menu {
     position: fixed;
     top: 0;
     right: -100%;
     width: 85%;
     max-width: 320px;
     height: 100vh;
     background: rgba(10, 10, 15, 0.98);
     backdrop-filter: blur(20px);
     -webkit-backdrop-filter: blur(20px);
     z-index: 1000;
     transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     padding: 25px 20px;
     box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
     overflow-y: auto;
 }

 .mobile-menu.active {
     right: 0;
 }

 .mobile-menu-close {
     position: absolute;
     top: 20px;
     right: 20px;
     background: none;
     border: none;
     font-size: 28px;
     color: #fff;
     cursor: pointer;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 50%;
     transition: background-color 0.3s;
 }

 .mobile-menu-close:hover {
     background: rgba(255, 255, 255, 0.1);
 }

 .hamburger {
     display: none;
     flex-direction: column;
     justify-content: space-between;
     width: 24px;
     height: 18px;
     cursor: pointer;
     z-index: 1001;
 }

 .hamburger span {
     display: block;
     height: 2px;
     width: 100%;
     background-color: white;
     transition: all 0.3s ease;
 }

 .hamburger.active span:nth-child(1) {
     transform: rotate(45deg) translate(5px, 5px);
 }

 .hamburger.active span:nth-child(2) {
     opacity: 0;
 }

 .hamburger.active span:nth-child(3) {
     transform: rotate(-45deg) translate(5px, -5px);
 }

 @media (max-width: 768px) {
     .grid-pattern {
         background-size: 20px 20px;
     }

     .map-container {
         height: 300px;
     }

     .hamburger {
         display: flex;
     }

     .desktop-nav {
         display: none;
     }

     .hero-text {
         font-size: 2.5rem;
     }

     .glass-card {
         margin-bottom: 1rem;
     }

     .section-padding {
         padding: 3rem 1.5rem;
     }

     .btn-responsive {
         padding: 0.75rem 1.5rem;
         font-size: 0.9rem;
     }
 }

 @media (max-width: 640px) {
     .hero-text {
         font-size: 2rem;
     }

     .grid-cols-2 {
         grid-template-columns: 1fr;
     }

     .section-padding {
         padding: 2rem 1rem;
     }
 }

 @media (prefers-reduced-motion: reduce) {
     * {
         animation-duration: 0.01ms !important;
         animation-iteration-count: 1 !important;
         transition-duration: 0.01ms !important;
     }
 }