/* Base styles */
.hamburger {
  display: none;
  cursor: pointer;
  background: none;
  border: none;
  padding: 10px;
  z-index: 1001;
  position: relative;
}

.bar {
  display: block;
  width: 25px;
  height: 3px;
  margin: 5px auto;
  transition: all 0.3s ease-in-out;
  background-color: #000;
}

/* Mobile styles */
@media only screen and (max-width: 768px) {
  /* Completely remove Book Now button */
  .header-actions {
      display: none !important;
  }

  .navbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
  }

  .mobile-menu-wrapper {
      order: 1; /* Move to left side */
  }

  .logo {
      order: 2; /* Move to right side */
      margin-left: auto;
  }

  /* Hamburger always visible on left */
  .hamburger {
      display: block;
  }

  /* Menu items - hidden by default, shown in dropdown column */
  .nav-menu {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background: #fff;
      width: 200px;
      box-shadow: 0 5px 15px rgba(0,0,0,0.1);
      flex-direction: column;
      padding: 15px;
      z-index: 1000;
  }

  .nav-menu.active {
      display: flex;
  }

  .nav-item {
      margin: 5px 0;
      width: 100%;
  }

  .nav-link {
      padding: 8px 0;
      display: rgb(9, 2, 2);
  }

  /* Dropdown styles */
  .dropdown-menu {
      display: none;
      padding-left: 15px;
  }

  .dropdown-menu.active {
      display: block;
  }

  .dropdown-link {
      padding: 6px 0;
      display: block;
      font-size: 0.9rem;
  }

  /* Hamburger animation */
  .hamburger.active .bar:nth-child(1) {
      transform: translateY(8px) rotate(45deg);
  }

  .hamburger.active .bar:nth-child(2) {
      opacity: 0;
  }

  .hamburger.active .bar:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
  }
}
  /* ==================== Hero Section ==================== */
  .hero-section {
    padding: 5rem var(--mobile-section-padding) 3rem;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  
  .hero-title {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: white;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
  }
  
  .hero-subtitle {
    font-size: 1.1rem;
    margin-bottom: 2rem;
    color: var(--accent-color);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .hero-cta {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    max-width: 300px;
    margin: 0 auto;
  }
  
  .primary-btn, .secondary-btn {
    padding: 0.9rem 1.5rem;
    font-size: 1rem;
    border-radius: var(--border-radius);
  }
  
  /* Background Video/Image */
  .hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
  }
  
  /* ==================== Services Section ==================== */
  .services-section {
    padding: var(--mobile-section-padding);
  }
  
  .section-title {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 1.5rem;
  }
  
  .services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  .service-card {
    background: white;
    border-radius: var(--border-radius);
    padding: 1.5rem;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
  }
  
  .service-card:hover {
    transform: translateY(-5px);
  }
  
  .service-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--primary-color), #ff4757);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    color: white;
    font-size: 1.5rem;
  }
  
  .service-title {
    font-size: 1.3rem;
    margin-bottom: 0.75rem;
    text-align: center;
  }
  
  .service-description {
    color: var(--text-color);
    margin-bottom: 1.25rem;
    text-align: center;
  }
  
  .service-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-weight: 600;
    width: 100%;
    padding: 0.5rem;
  }
  
  /* ==================== Video Section ==================== */
  .video-section {
    padding: var(--mobile-section-padding);
  }
  
  .video-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    max-width: 800px;
  }
  
  .video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
  }
  
  .video-wrapper iframe,
  .video-wrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
  }
  
  .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background-color: rgba(229, 9, 20, 0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    transition: var(--transition);
  }
  
  .play-button:hover {
    background-color: var(--primary-color);
    transform: translate(-50%, -50%) scale(1.1);
  }
  
  /* ==================== Testimonials ==================== */
  .testimonials-section {
    padding: var(--mobile-section-padding);
  }
  
  .testimonial-slider {
    max-width: 1000px;
    margin: 0 auto;
  }
  
  .testimonial-card {
    background: white;
    border-radius: var(--border-radius);
    padding: 1.5rem;
    margin: 0 0.75rem;
    box-shadow: var(--box-shadow);
  }
  
  /* ==================== Footer ==================== */
  .footer {
    background: var(--secondary-color);
    color: white;
    padding: var(--mobile-section-padding);
  }
  
  .footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
  }
  
  .footer-logo img {
    height: 40px;
    margin-bottom: 1rem;
  }
  
  .footer-about {
    opacity: 0.8;
    margin-bottom: 1.5rem;
  }
  
  .footer-title {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 0.5rem;
  }
  
  .footer-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--primary-color);
  }
  
  .footer-links li {
    margin-bottom: 0.75rem;
  }
  
  .footer-links a {
    color: white;
    opacity: 0.8;
    transition: var(--transition);
  }
  
  .footer-links a:hover {
    opacity: 1;
    color: var(--primary-color);
  }
  
  .footer-newsletter input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: none;
    border-radius: var(--border-radius) 0 0 var(--border-radius);
  }
  
  .footer-newsletter button {
    background: var(--primary-color);
    color: white;
    border: none;
    padding: 0 1.25rem;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
  }
  
  .social-links {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
  }
  
  .social-links a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
  }
  
  .social-links a:hover {
    background: var(--primary-color);
  }
  
  /* ==================== Spider-Chain Hero ==================== */
  .spider-chain-hero {
    min-height: 500px;
    position: relative;
  }
  
  .spider-content {
    padding: 2rem;
    text-align: center;
  }
  
  .spider-glitch-title {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  
  .dataflow-subtitle {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
  
  .chain-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 2rem;
  }
  
  .stat {
    text-align: center;
    min-width: 120px;
  }
  
  .stat-value {
    font-size: 1.8rem;
    color: #00f7ff;
    margin-bottom: 0.5rem;
  }
  
  /* ==============================================
     Tablet Breakpoint (768px and up)
     ============================================== */
  @media (min-width: 768px) {
    :root {
      --section-padding: 2.5rem;
    }
    
    .header {
      padding: 1rem 2rem;
    }
    
    .hamburger {
      display: none;
    }
    
    .nav-menu {
      position: static;
      width: auto;
      height: auto;
      flex-direction: row;
      padding-top: 0;
      background: transparent;
      display: flex !important;
    }
    
    .nav-item {
      margin: 0 1rem;
    }
    
    .dropdown-menu {
      position: absolute;
      width: 200px;
    }
    
    .hero-section {
      padding: 7rem var(--section-padding) 4rem;
    }
    
    .hero-title {
      font-size: 2.8rem;
    }
    
    .hero-cta {
      flex-direction: row;
      max-width: none;
    }
    
    .services-grid {
      grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
      grid-template-columns: repeat(2, 1fr);
    }
    
    .spider-chain-hero {
      min-height: 600px;
    }
    
    .spider-glitch-title {
      font-size: 3rem;
    }
    
    .chain-stats {
      gap: 3rem;
    }
  }
  
  /* ==============================================
     Desktop Breakpoint (992px and up)
     ============================================== */
  @media (min-width: 992px) {
    :root {
      --section-padding: 3rem;
    }
    
    .services-grid {
      grid-template-columns: repeat(3, 1fr);
    }
    
    .footer-grid {
      grid-template-columns: repeat(4, 1fr);
    }
    
    .spider-chain-hero {
      min-height: 700px;
    }
    
    .spider-glitch-title {
      font-size: 3.5rem;
    }
  }
  
  /* ==============================================
     Large Desktop Breakpoint (1200px and up)
     ============================================== */
  @media (min-width: 1200px) {
    .container {
      max-width: 1200px;
      margin: 0 auto;
    }
    
    .spider-glitch-title {
      font-size: 4rem;
    }
  }
  
  /* Animations */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }