/* Keyframe Animations & Mobile Responsive Breakpoints */

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes wavePulse {
  0% {
    height: 12px;
  }
  100% {
    height: 70px;
  }
}

/* Staggered Delay for wave bars */
.wave-bar:nth-child(1) { animation-delay: 0.1s; }
.wave-bar:nth-child(2) { animation-delay: 0.3s; }
.wave-bar:nth-child(3) { animation-delay: 0.2s; }
.wave-bar:nth-child(4) { animation-delay: 0.5s; }
.wave-bar:nth-child(5) { animation-delay: 0.1s; }
.wave-bar:nth-child(6) { animation-delay: 0.4s; }
.wave-bar:nth-child(7) { animation-delay: 0.2s; }
.wave-bar:nth-child(8) { animation-delay: 0.6s; }

/* Responsive Breakpoints */
@media (max-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
    text-align: center;
  }

  .hero-cta-group {
    justify-content: center;
  }

  .modal-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .modal-img {
    height: 220px;
  }

  .lang-display-card {
    grid-template-columns: 1fr;
    padding: 1.8rem;
  }

  .calc-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .navbar {
    width: calc(100% - 1.5rem);
    padding: 0.6rem 1.2rem;
  }

  .nav-links {
    display: none;
  }

  .mobile-menu-btn {
    display: flex;
  }

  .mobile-nav-drawer {
    display: block;
  }

  .hero {
    padding-top: 7.5rem;
    padding-bottom: 3rem;
  }

  .hero-img-frame img {
    height: 300px;
  }

  .floating-badge {
    padding: 0.6rem 0.9rem;
    font-size: 0.8rem;
  }

  .badge-top {
    top: -0.8rem;
    right: -0.5rem;
  }

  .badge-bottom {
    bottom: -0.8rem;
    left: -0.5rem;
  }

  .filter-tags {
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0.5rem 0.2rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .filter-tags::-webkit-scrollbar {
    display: none;
  }

  .section-title {
    font-size: 1.9rem;
  }

  .purr-card, .quiz-card, .modal-card {
    padding: 1.5rem;
  }

  .human-age-num {
    font-size: 3rem;
  }
}

@media (max-width: 480px) {
  .hero-content h1 {
    font-size: 2rem;
  }

  .hero-cta-group {
    flex-direction: column;
    width: 100%;
  }

  .hero-cta-group .btn {
    width: 100%;
  }

  .breeds-grid {
    grid-template-columns: 1fr;
  }

  .myths-grid {
    grid-template-columns: 1fr;
  }
}
