@media (max-width: 1399.98px) {
  .hero-title {
    font-size: 3.1rem;
  }
}

@media (max-width: 1199.98px) {
  .section-padding {
    padding: 85px 0;
  }

  .hero-title {
    font-size: 2.8rem;
  }

  .hero-main-image {
    min-height: 520px;
  }

  .floating-card-1 {
    left: 0;
  }

  .floating-card-2 {
    right: 0;
  }

  .about-main-image img {
    min-height: 480px;
  }
}

@media (max-width: 991.98px) {
  .section-padding {
    padding: 75px 0;
  }

  .section-title h2 {
    font-size: 2rem;
  }

  .main-navbar {
    padding: 12px 0;
  }

  .hero-section .min-vh-100 {
    min-height: auto !important;
  }

  .hero-title {
    font-size: 2.4rem;
  }

  .hero-text {
    max-width: 100%;
  }

  .hero-image-wrapper {
    padding: 10px;
  }

  .hero-main-image {
    min-height: 420px;
  }

  .floating-card {
    position: static;
    margin-top: 14px;
  }

  .emergency-strip {
    margin-top: 0;
    padding-top: 20px;
  }

  .about-images {
    padding-right: 0;
  }

  .about-small-card {
    position: static;
    margin-top: 20px;
    max-width: 100%;
  }

  .about-main-image img {
    min-height: auto;
  }

  .pricing-card.featured {
    transform: none;
  }

  .map-placeholder {
    min-height: 420px;
  }
}

@media (max-width: 767.98px) {
  .section-padding {
    padding: 65px 0;
  }

  .section-title h2 {
    font-size: 1.8rem;
  }

  .section-title p {
    font-size: 0.98rem;
  }

  .logo-circle {
    width: 52px;
    height: 52px;
  }

  .brand-title {
    font-size: 1rem;
  }

  .hero-title {
    font-size: 2rem;
  }

  .hero-badge {
    font-size: 13px;
    padding: 10px 14px;
  }

  .hero-btn {
    width: 100%;
    min-width: auto;
  }

  .hero-feature-card,
  .appointment-info-card {
    padding: 14px;
  }

  .stat-box {
    padding: 16px;
  }

  .service-image img,
  .gallery-card img {
    height: 240px;
  }

  .doctor-image img {
    height: 320px;
  }

  .appointment-form-card {
    padding: 24px 18px;
    border-radius: 24px;
  }

  .map-overlay-content {
    padding: 24px 18px;
  }

  .floating-actions {
    right: 14px;
    bottom: 14px;
  }

  .fab {
    width: 52px;
    height: 52px;
    font-size: 1.2rem;
  }
}

@media (max-width: 575.98px) {
  .section-padding {
    padding: 55px 0;
  }

  .hero-title {
    font-size: 1.75rem;
  }

  .section-title h2 {
    font-size: 1.55rem;
  }

  .hero-main-image {
    min-height: 300px;
  }

  .service-content,
  .doctor-content,
  .pricing-card,
  .testimonial-card,
  .contact-card {
    padding-left: 18px;
    padding-right: 18px;
  }

  .service-icon {
    width: 56px;
    height: 56px;
    font-size: 1.25rem;
  }

  .process-card {
    padding: 24px 16px;
  }

  .process-icon {
    width: 64px;
    height: 64px;
    font-size: 1.4rem;
  }

  .map-placeholder {
    min-height: 340px;
  }
}
.reveal-up,
.reveal-left,
.reveal-right,
.reveal-zoom,
.reveal-rotate,
.reveal-down,
.doctor-slide-left,
.doctor-slide-right,
.doctor-pop-up{
  opacity: 0;
  transition: all .9s cubic-bezier(.2,.65,.2,1);
  will-change: transform, opacity;
}

.reveal-up{ transform: translateY(60px); }
.reveal-down{ transform: translateY(-60px); }
.reveal-left{ transform: translateX(-120px); }
.reveal-right{ transform: translateX(120px); }
.reveal-zoom{ transform: scale(.85); }
.reveal-rotate{ transform: translateY(40px) rotate(4deg); }

.doctor-slide-left{ transform: translateX(-180px) scale(.92); }
.doctor-slide-right{ transform: translateX(180px) scale(.92); }
.doctor-pop-up{ transform: translateY(120px) scale(.82); }

.show{
  opacity: 1 !important;
  transform: translate(0,0) scale(1) rotate(0) !important;
}

.reveal-delay-1{ transition-delay: .08s; }
.reveal-delay-2{ transition-delay: .16s; }
.reveal-delay-3{ transition-delay: .24s; }
.reveal-delay-4{ transition-delay: .32s; }
.reveal-delay-5{ transition-delay: .40s; }