* {
        font-family: "Inter", sans-serif;
        margin: 0;
        padding: 0;
      }
      html,
      body {
        overflow-x: hidden;
        scroll-behavior: smooth;
      }
      :root {
        --navy-primary: #0a0f2e;
        --navy-secondary: #111842;
        --navy-light: #1a237e;
        --navy-dark: #050815;
        --navy-accent: #2c3e50;
        --navy-medium: #162447;
        --navy-deep: #070b1a;
        --green-accent: #2e7d32;
        --green-light: #4caf50;
        --blue-light: #e3f2fd;
        --blue-medium: #90caf9;
        --text-primary: #ffffff;
        --text-secondary: #b0bec5;
        --text-muted: #78909c;
        --glass-light: rgba(255, 255, 255, 0.06);
        --glass-medium: rgba(255, 255, 255, 0.1);
        --glass-strong: rgba(255, 255, 255, 0.15);
      }

      .nav-hidden {
        transform: translateY(-100px);
        opacity: 0;
      }

      /* Enhanced animations */
      .fade-in {
        opacity: 0;
        transform: translateY(60px);
        transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
      }
      .fade-in.visible {
        opacity: 1;
        transform: translateY(0);
      }
      .slide-up {
        opacity: 0;
        transform: translateY(100px);
        transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1);
      }
      .slide-up.visible {
        opacity: 1;
        transform: translateY(0);
      }
      .slide-left {
        opacity: 0;
        transform: translateX(-80px);
        transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
      }
      .slide-left.visible {
        opacity: 1;
        transform: translateX(0);
      }
      .slide-right {
        opacity: 0;
        transform: translateX(80px);
        transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
      }
      .slide-right.visible {
        opacity: 1;
        transform: translateX(0);
      }

      /* Typewriter animation */
      .typewriter {
        overflow: visible;
        white-space: nowrap;
        word-wrap: break-word;
        animation-iteration-count: infinite;
      }
      .package-slide img {
        width: 100%;          /* Makes the image fill the width of its container */
        height: auto;         /* Preserves aspect ratio by auto-adjusting height */
        object-fit: cover;    /* Ensures the image covers the area without distortion (crops if needed) */
        display: block;       /* Removes any inline spacing issues */
      }
      @keyframes typing {
        from {
          width: 0;
        }
        to {
          width: 100%;
        }
      }

      @keyframes blink-caret {
        from,
        to {
          border-color: transparent;
        }
        50% {
          border-color: var(--green-light);
        }
      }
      .typewriter-cursor {
        display: inline;
        border-right: 3px solid var(--green-light);
        animation: blink-caret 0.75s step-end infinite;
      }

      /* Professional glassmorphism */
      .glass {
        background: var(--glass-light);
        backdrop-filter: blur(25px);
        border: 1px solid var(--glass-medium);
      }
      .glass-dark {
        background: rgba(10, 15, 46, 0.15);
        backdrop-filter: blur(35px);
        border: 1px solid rgba(26, 35, 126, 0.25);
      }
      .glass-strong {
        background: var(--glass-strong);
        backdrop-filter: blur(30px);
        border: 1px solid rgba(255, 255, 255, 0.2);
      }

      /* Professional navigation */
      .nav-floating {
        background: rgba(5, 8, 21, 0.98);
        backdrop-filter: blur(30px);
        border: 1px solid rgba(26, 35, 126, 0.3);
        border-radius: 18px;
        margin: 1rem;
        transition: all 0.3s ease;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 50;
        box-shadow: 0 10px 40px rgba(5, 8, 21, 0.4);
      }
      .nav-floating:hover {
        background: rgba(5, 8, 21, 1);
        border-color: rgba(26, 35, 126, 0.6);
        box-shadow: 0 15px 50px rgba(5, 8, 21, 0.6);
      }

      /* Professional buttons */
      .btn-primary {
        background: linear-gradient(
          135deg,
          var(--navy-primary),
          var(--navy-secondary)
        );
        position: relative;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        box-shadow: 0 6px 25px rgba(10, 15, 46, 0.5);
        border: 1px solid rgba(26, 35, 126, 0.4);
      }
      .btn-primary::before {
        content: "";
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(255, 255, 255, 0.15),
          transparent
        );
        transition: left 0.6s ease;
      }
      .btn-primary:hover::before {
        left: 100%;
      }
      .btn-primary:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 35px rgba(10, 15, 46, 0.6);
        background: linear-gradient(
          135deg,
          var(--navy-secondary),
          var(--navy-light)
        );
      }

      .btn-whatsapp {
        background: linear-gradient(
          135deg,
          var(--green-accent),
          var(--green-light)
        );
        position: relative;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        box-shadow: 0 6px 25px rgba(46, 125, 50, 0.4);
        border: 1px solid rgba(76, 175, 80, 0.4);
      }
      .btn-whatsapp::before {
        content: "";
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(255, 255, 255, 0.2),
          transparent
        );
        transition: left 0.6s ease;
      }
      .btn-whatsapp:hover::before {
        left: 100%;
      }
      .btn-whatsapp:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 35px rgba(46, 125, 50, 0.6);
      }

      /* Professional backgrounds */
      .bg-navy-primary {
        background-color: var(--navy-primary);
      }
      .bg-navy-secondary {
        background-color: var(--navy-secondary);
      }
      .bg-navy-light {
        background-color: var(--navy-light);
      }
      .bg-navy-dark {
        background-color: var(--navy-dark);
      }
      .bg-navy-deep {
        background-color: var(--navy-deep);
      }

      /* Professional hero section */
      .hero-section {
        background: linear-gradient(
          135deg,
          var(--navy-deep) 0%,
          var(--navy-dark) 30%,
          var(--navy-primary) 70%,
          var(--navy-secondary) 100%
        );
        position: relative;
        min-height: 100vh;
        display: flex;
        align-items: center;
      }
      .hero-section::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(
            circle at 20% 80%,
            rgba(46, 125, 50, 0.08) 0%,
            transparent 50%
          ),
          radial-gradient(
            circle at 80% 20%,
            rgba(26, 35, 126, 0.08) 0%,
            transparent 50%
          ),
          radial-gradient(
            circle at 40% 40%,
            rgba(44, 62, 80, 0.05) 0%,
            transparent 50%
          );
        pointer-events: none;
      }

      /* Professional sections */
      .section-dark {
        background: linear-gradient(180deg, var(--navy-deep) 0%, var(--navy-dark) 100%);
      }
      .section-primary {
        background: linear-gradient(
          180deg,
          var(--navy-dark) 0%,
          var(--navy-primary) 100%
        );
      }
      .section-light {
        background: linear-gradient(
          180deg,
          var(--navy-primary) 0%,
          var(--navy-secondary) 100%
        );
      }

      .contact-section {
        background: linear-gradient(180deg, var(--navy-deep) 0%, var(--navy-dark) 100%);
        position: relative;
      }
      .contact-section::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        z-index: 1;
      }
      

      /* Professional cards */
      .professional-card {
        background: var(--glass-light);
        backdrop-filter: blur(25px);
        border: 1px solid var(--glass-medium);
        transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        box-shadow: 0 6px 25px rgba(5, 8, 21, 0.15);
      }
      .professional-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 15px 50px rgba(5, 8, 21, 0.25);
        background: var(--glass-strong);
        border-color: rgba(26, 35, 126, 0.4);
      }

      

      /* Text colors */
      .text-navy-primary {
        color: var(--navy-primary);
      }
      .text-navy-secondary {
        color: var(--navy-secondary);
      }
      .text-green-accent {
        color: var(--green-accent);
      }
      .text-green-light {
        color: var(--green-light);
      }

      /* Professional text effects */
      .text-professional {
        background: linear-gradient(
          135deg,
          var(--text-primary),
          var(--blue-medium)
        );
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
      }

      .text-premium {
        background: linear-gradient(
          135deg,
          #ffffff,
          #90caf9,
          #4caf50
        );
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
      }

      /* Swiper improvements */
      .packages-section {
        height: 100vh;
        width: 100%;
        position: relative;
        background: var(--navy-deep);
      }
      .packages-swiper {
        height: 100%;
        width: 100%;
      }
      .swiper-button-next,
      .swiper-button-prev {
        color: white !important;
        width: 65px !important;
        height: 65px !important;
        transition: all 0.3s ease;
        z-index: 10;
        /* Removed properties below to make it transparent */
        /* backdrop-filter: none; */
        /* border: none; */
        background: transparent !important;
        
      }
      .swiper-button-next:hover,
      .swiper-button-prev:hover {
        transform: scale(1.15);
      }
      .swiper-button-next::after,
      .swiper-button-prev::after {
        font-size: 20px !important;
        font-weight: bold;
      }
      .swiper-pagination {
        bottom: 10px !important;
        z-index: 10;
      }
      .swiper-pagination-bullet {
        background: rgba(255, 255, 255, 0.4) !important;
        width: 14px !important;
        height: 14px !important;
        margin: 0 10px !important;
        opacity: 1 !important;
        border: 1px solid rgba(255, 255, 255, 0.2);
      }
      .swiper-pagination-bullet-active {
        background: var(--green-light) !important;
        transform: scale(1.4);
        box-shadow: 0 4px 15px rgba(76, 175, 80, 0.4);
      }

      /* Package slide improvements */
      .package-slide {
        position: relative;
        overflow: hidden;     /* Already present; keeps content clipped */
        background: var(--navy-deep);
        width: 100%;          /* Ensure full width */
        height: 100%;         /* Fill the swiper height */
      }
      .package-overlay {
        position: absolute;
          inset: 0;
          background: linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0, 0, 0, 0.05) 30%,
            rgba(5, 8, 21, 0.95) 100%
          );
          display: flex;
          flex-direction: column; /* Use column layout */
          justify-content: flex-end; /* Push content to the bottom */
          padding: 4rem 2rem;
          z-index: 5;
      }

      /* Form improvements */
      input,
      textarea,
      select {
        background: var(--glass-light);
        border: 1px solid var(--glass-medium);
        color: var(--text-primary);
        transition: all 0.3s ease;
      }
      input:focus,
      textarea:focus,
      select:focus {
        box-shadow: 0 0 25px rgba(46, 125, 50, 0.3);
        background: var(--glass-strong);
        border-color: rgba(76, 175, 80, 0.6);
        outline: none;
        transform: translateY(-1px);
      }
      input::placeholder,
      textarea::placeholder {
        color: var(--text-muted);
      }

      /* FAQ improvements */
      .faq-button {
        transition: all 0.3s ease;
      }
      .faq-button.active i {
        transform: rotate(180deg);
      }
      .faq-content {
        transition: max-height 0.5s ease;
        overflow: hidden;
      }

      /* Professional scrollbar */
      ::-webkit-scrollbar {
        width: 8px;
      }
      ::-webkit-scrollbar-track {
        background: var(--navy-deep);
      }
      ::-webkit-scrollbar-thumb {
        background: linear-gradient(var(--navy-primary), var(--green-accent));
        border-radius: 4px;
      }
      ::-webkit-scrollbar-thumb:hover {
        background: linear-gradient(var(--navy-secondary), var(--green-light));
      }

      /* Logo improvements */
      .logo-text {
        font-size: 2rem;
        font-weight: 800;
      }

      .bigger-logo {
        width: 6rem !important;
        height: 6rem !important;
      }

      /* Mobile optimizations */
      @media (max-width: 768px) {
  .packages-section {
    height: auto;       /* Switch to auto height for better mobile scrolling */
    min-height: 60vh;   /* Minimum height to avoid being too small */
  }
  .packages-swiper {
    height: auto;       /* Allow swiper to adapt */
  }
  .package-slide {
    height: 50vh;       /* Shorter slides on mobile for better usability */
  }
  .package-overlay {
    padding: 2rem 1rem; /* Already present; keeps overlay responsive */
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .packages-section {
    height: 80vh;       /* Slightly shorter for tablets */
  }
}

      /* Professional shadows and depth */
      .shadow-professional {
        box-shadow: 0 6px 25px rgba(5, 8, 21, 0.2);
      }
      .shadow-professional-lg {
        box-shadow: 0 12px 50px rgba(5, 8, 21, 0.25);
      }
      .shadow-premium {
        box-shadow: 0 8px 32px rgba(5, 8, 21, 0.3);
      }

      /* Floating elements */
      .float {
        animation: float 6s ease-in-out infinite;
      }
      .float-delayed {
        animation: float 6s ease-in-out infinite;
        animation-delay: 2s;
      }
      .float-delayed-2 {
        animation: float 6s ease-in-out infinite;
        animation-delay: 4s;
      }
      @keyframes float {
        0%,
        100% {
          transform: translateY(0px) rotate(0deg);
        }
        33% {
          transform: translateY(-20px) rotate(1deg);
        }
        66% {
          transform: translateY(-10px) rotate(-1deg);
        }
      }

      /* Enhanced gradient overlays */
      .gradient-overlay {
        background: linear-gradient(
          45deg,
          rgba(10, 15, 46, 0.1),
          rgba(26, 35, 126, 0.1),
          rgba(46, 125, 50, 0.05)
        );
      }

      /* Professional trust indicators */
      .trust-indicator {
        background: var(--glass-light);
        backdrop-filter: blur(20px);
        border: 1px solid var(--glass-medium);
        transition: all 0.3s ease;
      }
      .trust-indicator:hover {
        background: var(--glass-medium);
        transform: translateY(-2px);
      }
      /* Contact Section Styles */
/* Contact Section Styles */
.contact-section {
  background: linear-gradient(180deg, var(--navy-deep) 0%, var(--navy-dark) 100%);
  position: relative;
  width: 100%;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

/* Form and Card Styling */
/* Enhanced professional cards */
      .premium-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(4px);
}

.premium-card input,
.premium-card textarea,
.premium-card select {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}

.premium-card input::placeholder,
.premium-card textarea::placeholder {
  color: #ffffff;
}

.premium-card input:focus,
.premium-card textarea:focus,
.premium-card select:focus {
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.2);
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--green-light);
  outline: none;
  transform: translateY(-1px);
}

/* Custom Select Arrow */
.premium-card select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
  background-position: right 0.75rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Map Styling */
#contact .premium-card iframe {
  filter: grayscale(0.3) contrast(1.1);
  transition: filter 0.3s ease;
}

#contact .premium-card:hover iframe {
  filter: grayscale(0) contrast(1.2);
}

/* Contact Info Hover Effects */
#contact .flex.items-center.gap-4 {
  transition: all 0.3s ease;
}

#contact .flex.items-center.gap-4:hover {
  transform: translateX(4px);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .contact-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .premium-card {
    padding: 1.5rem;
  }
  .premium-card input,
  .premium-card textarea,
  .premium-card select {
    font-size: 0.95rem;
    padding: 0.875rem;
  }
  #contact .text-2xl {
    font-size: 1.5rem;
  }
  #contact .text-4xl {
    font-size: 2.25rem;
  }
  #contact .h-80 {
    height: 200px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .premium-card {
    padding: 2rem;
  }
  #contact .h-80 {
    height: 250px;
  }
}

/* Loading Animation for Form */
@keyframes pulse-glow {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.form-submitting button[type="submit"] {
  animation: pulse-glow 1.5s ease-in-out infinite;
}
