@import url('https://fonts.googleapis.com/css2?family=Satisfy&family=Zilla+Slab:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Satisfy&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Square+Peg&display=swap');
.glow-card {
  box-shadow: 0 0 20px 0 rgba(168,85,247,0.25), 0 2px 12px 0 rgba(0,0,0,0.07); /* purple glow + soft shadow */
  transition: box-shadow 0.3s;
}
.glow-card:hover {
  box-shadow: 0 0 35px 0 rgba(168,85,247,0.36), 0 4px 24px 0 rgba(0,0,0,0.14);
}
@media (max-width: 900px) {
  .swiper-container.max-w-3xl {max-width:100vw!important;}
  .swiper-slide .flex.items-center > .w-3\/4, .swiper-slide .flex.items-center > .w-1\/4 {
    width: 100% !important;
    padding-right: 0 !important;
  }
  .swiper-slide .flex.items-center { flex-direction: column; }
  .swiper-slide .flex.items-center img { margin-top: 1rem; width: 100%; }
}
.zilla-slab-light {
  font-family: "Zilla Slab", serif;
  font-weight: 300;
  font-style: normal;
}

.zilla-slab-regular {
  font-family: "Zilla Slab", serif;
  font-weight: 400;
  font-style: normal;
}

.zilla-slab-medium {
  font-family: "Zilla Slab", serif;
  font-weight: 500;
  font-style: normal;
}

.zilla-slab-semibold {
  font-family: "Zilla Slab", serif;
  font-weight: 600;
  font-style: normal;
}

.zilla-slab-bold {
  font-family: "Zilla Slab", serif;
  font-weight: 700;
  font-style: normal;
}

.zilla-slab-light-italic {
  font-family: "Zilla Slab", serif;
  font-weight: 300;
  font-style: italic;
}

.zilla-slab-regular-italic {
  font-family: "Zilla Slab", serif;
  font-weight: 400;
  font-style: italic;
}

.zilla-slab-medium-italic {
  font-family: "Zilla Slab", serif;
  font-weight: 500;
  font-style: italic;
}

.zilla-slab-semibold-italic {
  font-family: "Zilla Slab", serif;
  font-weight: 600;
  font-style: italic;
}

.zilla-slab-bold-italic {
  font-family: "Zilla Slab", serif;
  font-weight: 700;
  font-style: italic;
}

.satisfy-regular {
  font-family: "Satisfy", cursive;
  font-weight: 400;
  font-style: normal;
}
.satisfy-stylish {
  font-family: "Satisfy", cursive;
  font-weight: 300;
  font-style: normal;
}

/* --- Marquee Responsive Testimonials --- */
.overflow-hidden {
  overflow-x: hidden;
  position: relative;
}
.marquee {
  display: flex;
  width: max-content;
  min-width: 100vw;
  will-change: transform;
  animation: marquee-left 22s linear infinite;
}
@keyframes marquee-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.marquee .min-w-max {
  display: flex;
  gap: 1.5rem;
}
/* Responsive card sizing in marquee */
.marquee .flex-col {
  min-width: 220px;
  max-width: 340px;
  width: 80vw;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .marquee .flex-col {
    min-width: 240px;
    max-width: 300px;
    width: 40vw;
  }
}
@media (min-width: 1024px) {
  .marquee .flex-col {
    min-width: 260px;
    max-width: 320px;
    width: 22vw;
  }
}
@media (max-width: 640px) {
  .marquee .flex-col {
    min-width: 85vw;
    max-width: 95vw;
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
  }
  .marquee .min-w-max {
    gap: 1rem;
  }
}
/* --- About Section Image Hover Effect --- */
.about-image-hover {
  transition: transform 0.4s cubic-bezier(0.25,0.8,0.25,1), box-shadow 0.4s cubic-bezier(0.25,0.8,0.25,1);
}
.about-image-hover:hover, .about-image-hover:focus {
  transform: scale(1.045) rotate(-2deg);
  box-shadow: 0 12px 36px 0 rgba(139,92,246,0.18), 0 2px 18px 0 rgba(220,38,38,0.10);
  z-index: 20;
}

.square-peg-regular {
  font-family: "Square Peg", cursive;
  font-weight: 400;
  font-style: normal;
}
