:root {
  --pink: #f21380;
  --yellow: #ffbf00;
  --blue: #00b2ff;
  --green: #00c88f;
  --purple: #9c27b0;
  --orange: #ff5833;
  --dark-blue: #0c1a40;
  --peach: #ff7180;
  --text-dark: #222;
  --bg-light: #fdfdfd;
  --radius: 16px;
  --primary-color: #f21380;
  --accent-color: #ffbf00;
  --bg-color: #fff4f9;
  --text-color: #282828;
  --light-border: #dee0e5;
  --transition: 0.4s ease;
}

* {
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Poppins', sans-serif;
  background-color: var(--bg-light);
  color: var(--text-dark);
  line-height: 1.6;
  overflow-x: hidden;
}

/* Hero */
.hero-section {
  position: relative;
  background: linear-gradient(135deg, var(--pink), var(--yellow));
  /* height: 768px; */
}

.hero-container {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  padding: 120px 40px 0 40px;
  align-items: center;
  gap: 0;
}

.hero-text {
  max-width: 45%;
  margin: 30px auto 120px auto;
}

.hero-title {
  font-family: "Chewy", Sans-serif;
  font-weight: 100;
  font-size: 3.5rem;
  margin-bottom: 1rem;
  color: #fff;
  line-height: 70px;
}

.text-orange {
  color: var(--dark-blue);
}

.text-underline {
  text-decoration: underline;
  text-decoration-color: #14b8a6;
}

.hero-subtext {
  font-size: 1.125rem;
  color: #f9f9f9;
  margin-bottom: 1.5rem;
}

.hero-buttons {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.btn-container {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.btn-primary {
  width: 175px;
  text-align: center;
  background-color: var(--dark-blue);
  color: white;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  font-size: 1rem;
  border: 2px solid var(--dark-blue);
  border-radius: 0.5rem;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  margin: 0;
}

.btn-primary:hover {
  background-color: var(--primary-color);
  border: 2px solid var(--primary-color);
}

.btn-secondary {
  width: 175px;
  text-align: center;
  background: none;
  color: var(--dark-blue);
  border: 2px solid var(--dark-blue);
  border-radius: 0.5rem;
  text-decoration: none;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  align-items: center;
  margin: 0;
}

.btn-secondary:hover {
  background: var(--dark-blue);
  color: #fff;
}

.hero-image {
  margin: 0;
  padding: 0;
  max-width: 55%;
}

.hero-image img {
  width: 100%;
  /* height: 100%; */
  margin: 0;
  padding: 0;
}

/* Responsive */
@media (max-width: 768px) {

  .hero-section {
    height: 768px;
  }

  .hero-container {
    flex-direction: column;
    gap: 2rem;
    padding: 80px 20px 0 20px;
  }

  .hero-text,
  .hero-image {
    margin-bottom: 0;
    max-width: 100%;
    padding: 0 1rem;
    text-align: center;
  }

  .hero-title {
    font-size: 2.5rem;
    line-height: 50px;
  }

  .hero-subtext {
    font-size: 1rem;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: center;
  }

  .btn-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: center;
  }

  .btn-primary,
  .btn-secondary {
    width: 70%;
    text-align: center;
  }
}

/* === Hero Section Divider === */
.hero-divider {
  position: relative;
  overflow: hidden;
}

.hero-divider::after {
  content: '';
  position: absolute;
  bottom: -0px;
  left: 0px;
  width: 100%;
  height: 100px;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 171% 42px;
  background-position: 81% 0%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 7' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='cutout'%3E%3Crect width='100%25' height='100%25' fill='white'/%3E%3Cpath d='M0 0a1 1 0 007 0 1 1 0 0010 0 1 1 0 008 0 1 1 0 0011 0 1 1 0 0013 0 1 1 0 0010 0 1 1 0 0012 0 1 1 0 0013 0 1 1 0 0011 0 1 1 0 009 0 1 1 0 0012 0 1 1 0 0012 0z' fill='black' opacity='0.6'/%3E%3Cpath d='M0 0a1 1 0 005 0 1 1 0 003 0 1 1 0 004 0 1 1 0 003 0 1 1 0 002 0 1 1 0 005 0 1 1 0 007 0 1 1 0 005 0 1 1 0 0010 0 1 1 0 005 0 1 1 0 008 0 1 1 0 005 0 1 1 0 006 0 1 1 0 005 0 1 1 0 0011 0 1 1 0 005 0 1 1 0 008 0 1 1 0 006 0 1 1 0 008 0 1 1 0 0010 0 1 1 0 007 0z' fill='black'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='white' mask='url(%23cutout)'/%3E%3C/svg%3E");
}

/*Responsive Tweaks */
@media (max-width: 2100px) {
  .hero-divider::after {
    background-size: 120% calc(2vw + 80px);
  }
}

@media (max-width: 1024px) {
  .hero-divider::after {
    background-size: 100% 90px;
    background-position: 50% 0%;
  }
}

@media (max-width: 768px) {
  .hero-divider::after {
    height: 60px;
    background-size: 180% 64px;
    background-position: 20% 0%;
  }
}


/* About Section */
.about {
  position: relative;
  margin: 0 auto;
}

.hanging-panda {
  position: absolute;
  top: 0;
  left: 0;
  width: 25vw;
  max-width: 275px;
  height: auto;
  z-index: 3;
  pointer-events: none;
  transform-origin: left bottom;
  animation: float-rotate 8s ease-in-out infinite;
}

.floating-turtle {
  position: absolute;
  bottom: -10vh;
  right: 10vw;
  width: 15vw;
  max-width: 275px;
  height: auto;
  z-index: 3;
  pointer-events: none;
  transform-origin: 30% 20%;
  transform: rotate(10deg);
  animation: float 4s ease-in-out infinite;
}

.about-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 14rem 7rem 10rem 7rem;
  gap: 2rem;
  background-color: #fff;
}

.about-text {
  flex: 1;
  min-width: 280px;
  margin-top: 0;
}

.about-text h2 {
  font-family: "Chewy", Sans-serif;
  font-size: 1.5rem;
  font-weight: 100;
  color: var(--orange);
  margin-bottom: 1rem;
}

.about-text h5 {
  font-family: "Chewy", Sans-serif;
  font-size: 3rem;
  font-weight: 100;
  color: var(--dark-blue);
  margin-bottom: 1rem;
  line-height: 60px;
}

.about-text p {
  margin-bottom: 20px;
}


.icon-boxes {
  display: block;
  background: var(--orange);
  border-radius: 20px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  padding: 20px;
}

.icon-box {
  display: flex;
  border-radius: 16px;
  padding: 10px;
  align-items: center;
  text-align: left;
  gap: 1.2rem;
}


.icon-circle {
  width: 46px;
  height: 46px;
  background-color: #ffff;
  /* soft background */
  border-radius: 50%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-circle img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: contain;
  margin: 0;
}


.icon-box h4 {
  font-size: 18px;
  color: #ffff;
  margin: 0.5rem 0;
}


.about-image {
  position: relative;
  width: 50%;
  height: auto;
  aspect-ratio: 1/1.2;
  margin: 0;
}

.about-image img {
  max-width: 100%;
}

.number {
  position: relative;
  top: 0;
  left: 0;
  width: 15vw;
  /* responsive width */
  max-width: 150px;
  animation: float 4s ease-in-out infinite;
}


.masked {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.masked.oval {
  width: 50%;
  height: auto;
  aspect-ratio: 1/1.5;
  top: 0px;
  right: 0px;
  border-radius: 120px;
}

/* Blob Mask */
.masked.blob {
  bottom: 0px;
  left: 0px;
  width: 350px;
  height: 450px;
  object-fit: cover;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid meet'%3E%3Cpath fill='white' d='M45,-55.3C58.3,-42.6,68.9,-28.3,73.6,-11.5C78.3,5.3,77.2,24.6,69.3,41.7C61.4,58.8,46.8,73.8,29.2,80.3C11.5,86.8,-9.4,84.8,-26.8,77.1C-44.3,69.3,-58.5,55.6,-64,39.9C-69.6,24.2,-66.5,6.5,-64.3,-12.2C-62,-30.9,-60.6,-50.7,-50,-64C-39.4,-77.2,-19.7,-84,-1.9,-81.7C15.9,-79.4,31.8,-68.1,45,-55.3Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid meet'%3E%3Cpath fill='white' d='M45,-55.3C58.3,-42.6,68.9,-28.3,73.6,-11.5C78.3,5.3,77.2,24.6,69.3,41.7C61.4,58.8,46.8,73.8,29.2,80.3C11.5,86.8,-9.4,84.8,-26.8,77.1C-44.3,69.3,-58.5,55.6,-64,39.9C-69.6,24.2,-66.5,6.5,-64.3,-12.2C-62,-30.9,-60.6,-50.7,-50,-64C-39.4,-77.2,-19.7,-84,-1.9,-81.7C15.9,-79.4,31.8,-68.1,45,-55.3Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  mask-size: cover;
  -webkit-mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  margin: 0;
}




/* Responsive */
@media (max-width: 768px) {
  .hanging-panda {
    position: absolute;
    top: 0;
    left: 0;
    width: 44vw;
  }

  .floating-turtle {
    position: absolute;
    bottom: -2vh;
    right: 2vw;
    width: 40vw;
  }

  .about-container {
    flex-direction: column;
    padding: 7rem 1rem;
    text-align: center;
    gap: 5rem;
  }

  .about-text h5 {
    font-size: 2.5rem;
    line-height: 50px;
  }


  .about-image {
    text-align: left;
    width: 100%;
    max-width: 400px;
  }

  .number {
    width: 30vw;
  }

  .masked.oval {
    width: 60%;
  }

  .masked.blob {
    width: 250px;
    height: 300px;
  }
}




/* Enroll Now Section */
.enroll-divider {
  position: relative;
  overflow: hidden;
}

.enroll-divider::before {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100px;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 171% 42px;
  background-position: 81% 0%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 7' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='cutout'%3E%3Crect width='100%25' height='100%25' fill='white'/%3E%3Cpath d='m 0,0 a 3.5,3.5 0 0 0 7,0 5,5 0 0 0 10,0 4,4 0 0 0 8,0 5.5,5.5 0 0 0 11,0 6.5,6.5 0 0 0 13,0 5,5 0 0 0 10,0 6,6 0 0 0 12,0 6.5,6.5 0 0 0 13,0 5.5,5.5 0 0 0 11,0 4.5,4.5 0 0 0 9,0 6,6 0 0 0 12,0 6,6 0 0 0 12,0 z' fill= 'black' opacity='0.6' transform='matrix(1 0 0 -1 0 7)'/%3E%3Cpath d='m 0,0 a 2.5,2.5 0 0 0 5,0 1.5,1.5 0 0 0 3,0 2,2 0 0 0 4,0 1.5,1.5 0 0 0 3,0 1,1 0 0 0 2,0 2.5,2.5 0 0 0 5,0 3.5,3.5 0 0 0 7,0 2.5,2.5 0 0 0 5,0 5,5 0 0 0 10,0 2.5,2.5 0 0 0 5,0 4,4 0 0 0 8,0 2.5,2.5 0 0 0 5,0 3,3 0 0 0 6,0 2.5,2.5 0 0 0 5,0 5.5,5.5 0 0 0 11,0 2.5,2.5 0 0 0 5,0 4,4 0 0 0 8,0 3,3 0 0 0 6,0 4,4 0 0 0 8,0 5,5 0 0 0 10,0 3.5,3.5 0 0 0 7,0 z' fill='black' transform='matrix(1 0 0 -1 0 7)'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='white' mask='url(%23cutout)'/%3E%3C/svg%3E");
}

/*Responsive Tweaks */
@media (max-width: 2100px) {
  .enroll-divider::before {
    background-size: 120% calc(2vw + 80px);
  }
}

@media (max-width: 1024px) {
  .enroll-divider::before {
    background-size: 100% 90px;
    background-position: 50% 0%;
  }
}

@media (max-width: 768px) {
  .enroll-divider::before {
    height: 50px;
    background-size: 200% 46px;
    background-position: 50% 0%;
  }
}


.enroll-now {
  height: 650px;
  padding: 60px 0px;
  background: #fff;
  text-align: center;
  background-color: var(--orange);
}

.enroll-text-container {
  display: flex;
  justify-content: center;
  margin-top: 100px;
  margin-bottom: 40px;
  padding: 10px 120px;
  gap: 3rem;
}

.enroll-now h2 {
  text-align: left;
  width: 45%;
  font-family: "Chewy", Sans-serif;
  font-size: 3rem;
  font-weight: 100;
  color: #fff;
  line-height: 60px;
}

.enroll-now p {
  padding-right: 20%;
  text-align: left;
  font-size: 1.1rem;
  color: #f9f9f9;
}

.enroll-container {
  margin-top: -300px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.enroll-card {
  position: relative;
  width: 350px;
  height: 450px;
  border-radius: 40px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  margin: 0;
}

.enroll-card:hover {
  transform: translateY(-8px);
}

.enroll-card-image {
  height: 50%;
  background-size: cover;
}

.enroll-card-divider {
  height: 100px;
  line-height: 0;
  margin-top: -76px;
}

.enroll-card-divider svg {
  display: block;
  width: 100%;
  height: 100%;
}

.enroll-card.yellow {
  background: var(--yellow);
  border-top: 6px solid var(--yellow);
}

.enroll-card.green {
  background: var(--green);
  border-top: 6px solid var(--green);
}

.enroll-card.peach {
  background: var(--peach);
  border-top: 6px solid var(--peach);
}

.enroll-card-content {
  text-align: center;
  padding: 0 20px 20px 20px;
}

.enroll-card-content h3 {
  font-size: 1.5rem;
  font-family: 'chewy', sans-serif;
  font-weight: 100;
  color: var(--dark-blue);
  margin-bottom: 10px;
}

.enroll-card-content p {
  font-size: 0.95rem;
  color: var(--text-color);
  margin-bottom: 15px;
}

.enroll-card-content a {
  font-weight: bold;
  color: var(--dark-blue);
  text-decoration: underline;
}



/* Responsive */
@media (max-width: 768px) {
  .enroll-now {
    height: 578px;
  }

  .enroll-container {
    margin-top: -250px;
  }

  .enroll-text-container {
    text-align: center;
    flex-direction: column;
    margin: auto;
    padding: 10px;
    gap: 1rem;
  }

  .enroll-now h2 {
    width: 100%;
    text-align: center;
    font-size: 2.5rem;
    line-height: 40px;
  }

  .enroll-now p {
    text-align: center;
    font-size: 1rem;
    padding: 20px;
  }

  .enroll-card {
    width: 100%;
    max-width: 80%;
  }
}


/* Program Section */
.programs-section {
  margin: 100px auto;
  position: relative;
  padding: 60px 20px;
  text-align: center;
  border-radius: 10px;
}

.branch-leaf {
  position: absolute;
  top: 0;
  left: 0;
  width: 25vw;
  max-width: 275px;
  height: auto;
  z-index: 0;
  pointer-events: none;
  transform-origin: left center;
  animation: float-rotate 10s ease-in-out infinite;
}

.snake-tree {
  position: absolute;
  top: 0;
  right: 0;
  /* width: 275px; */
  width: 25vw;
  /* responsive width */
  max-width: 275px;
  height: auto;
  z-index: 0;
  pointer-events: none;
  transform-origin: right center;
  animation: float-rotate 6s ease-in-out infinite;
}

/* Keyframes for gentle up-down floating */
@keyframes float {

  0%,
  100% {
    transform: rotate(6deg) translateY(0);
    /* transform: translateY(0); */
  }

  50% {
    transform: rotate(6deg) translateY(-10px);
    /* transform: translateY(-10px); */
  }
}

@keyframes float-rotate {
  0% {
    transform: rotate(0deg) translateY(0);
  }

  50% {
    transform: rotate(-10deg) translateY(0);
  }

  100% {
    transform: rotate(0deg) translateY(0);
  }
}


.program-text-container h2 {
  font-family: "Chewy", Sans-serif;
  font-size: 3rem;
  font-weight: 100;
  color: var(--dark-blue);
  z-index: 3;
}

.program-text-container p {
  margin-bottom: 60px;
}

@media (max-width: 768px) {
  .program-text-container h2 {
    font-size: 2.5rem;
  }

}

.programs-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.program-card {
  position: relative;
  background: #fff;
  border-radius: 20px;
  width: 350px;
  height: 450px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  text-align: left;
  transition: transform 0.3s ease;
  margin: 0;
}

.program-card:hover {
  transform: translateY(-8px);
}

.program-card-content {
  position: relative;
  z-index: 100;
  padding: 20px 20px 0 20px;
}

.program-card h3 {
  font-size: 1.5rem;
  font-weight: 900;
  color: #222;
  font-family: 'Comic Sans MS', cursive;
  margin-bottom: 10px;
}

.program-card p {
  font-size: 0.95rem;
  color: #444;
  margin-bottom: 20px;
}

.program-tags {
  display: flex;
  justify-content: space-between;
}

.program-tags span {
  flex: 1;
  background-color: #eee;
  padding: 10px;
  border-radius: 12px;
  font-size: 0.85rem;
  text-align: center;
  margin: 0 5px;
  font-weight: 500;
  color: #333;
}

.program-tags strong {
  display: block;
  font-size: 1rem;
  color: #000;
}

.card-image {
  position: relative;
  width: 100%;
}

.card-image img {
  width: 100%;
  object-fit: cover;
  /* border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px; */
}

.card-image svg {
  position: absolute;
  top: -30px;
  left: 0;
  width: 100%;
  height: 80px;
}

/* Themed Border Colors */
.program-card.green {
  border: 2px solid #14c38e;
}

.program-card.pink {
  border: 2px solid #f586b2;
}

.program-card.yellow {
  border: 2px solid #fdb827;
}

/* Matching tag backgrounds */
.program-card.green .program-tags span {
  background: #14c38e20;
}

.program-card.pink .program-tags span {
  background: #f586b220;
}

.program-card.yellow .program-tags span {
  background: #fdb82720;
}

/* Responsive */
@media (max-width: 768px) {
  .program-card {
    width: 100%;
  }


}



/* Features */
.features {
  margin-bottom: 40px;
  padding: 60px 20px;
  background: var(--purple);
  text-align: center;
  position: relative;
}

.features h2 {
  margin-bottom: 40px;
  font-family: "Chewy", Sans-serif;
  font-size: 3rem;
  font-weight: 100;
  color: #fff;
}

.feature-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-bottom: 80px;
}

.feature-card {
  position: relative;
  width: 350px;
  height: 450px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease;
  cursor: pointer;
  margin: 0;
}

.feature-card:hover {
  transform: translateY(-8px);
}

.feature-card-bg {
  height: 70%;
  background-size: cover;
}

.feature-card-content {
  padding: 10px 20px 20px 20px;
  background-color: transparent;
}

.feature-card-content h3 {
  margin-bottom: 10px;
  color: #fefefe;
  font-size: 1.25rem;
}

.feature-card-content p {
  color: #fff;
  font-size: 1rem;
}

.feature-card.pink .feature-card-divider path {
  fill: var(--pink);
}

.feature-card.blue .feature-card-divider path {
  fill: var(--blue);
}

.feature-card.green .feature-card-divider path {
  fill: var(--green);
}

.feature-card-divider {
  height: 80px;
  overflow: hidden;
  line-height: 0;
  position: absolute;
  z-index: 100;
  margin-top: -76px;
}

.feature-card-divider svg {
  display: block;
  width: 100%;
  height: 100%;
}

.feature-card.pink {
  background-color: var(--pink);
  border-top: 6px solid var(--pink);
}

.feature-card.blue {
  background-color: var(--blue);
  border-top: 6px solid var(--blue);
}

.feature-card.green {
  background-color: var(--green);
  border-top: 6px solid var(--green);
}

/* Responsive */
@media (max-width: 768px) {

  .features h2 {
    font-size: 2.5rem;
  }

  .feature-card {
    width: 100%;
    max-width: 90%;
  }
}

.feature-divider {
  position: relative;
  overflow: hidden;
}

.feature-divider::after {
  content: '';
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 106px;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 265% 79px;
  background-position: 31% 0%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 85' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='cutout'%3E%3Crect width='100%25' height='100%25' fill='white'/%3E%3Cpath d='M207 37a1 1 0 00-1 1h2a1 1 0 001 0l-2-1zM209 28a2 2 0 00-1 3c0 1 2 2 3 1a2 2 0 001-2 2 2 0 00-3-2zM215 33a2 2 0 00-1-1c-2 1-2 5-2 7a3 3 0 001 1 2 2 0 002 0 3 3 0 001-1 5 5 0 000-5 3 3 0 00-1-1zM177 27c-3-1-6 1-5 4a4 4 0 006 2 3 3 0 001-2 4 4 0 00-2-4zM119 53c-2-1-4 1-3 3a3 3 0 004 2 2 2 0 001-2 3 3 0 00-2-3zM135 23a1 1 0 000 1c0 1 1 2 2 1a1 1 0 001-1l-3-1zM539 28a2 2 0 00-1 3c0 1 2 2 3 1a2 2 0 001-2 2 2 0 00-3-2zM537 37a1 1 0 00-1 1h2a1 1 0 001 0l-2-1zM545 33a2 2 0 00-1-1c-2 1-2 5-2 7a2 2 0 001 1 2 2 0 002 0 3 3 0 001-1 5 5 0 000-5 3 3 0 00-1-1zM449 53c-2-1-4 1-3 3a3 3 0 004 2 2 2 0 001-2 3 3 0 00-2-3zM507 27c-3-1-6 1-5 4a4 4 0 006 2 3 3 0 001-2 4 4 0 00-2-4zM465 23a1 1 0 000 1c0 1 1 2 2 1a1 1 0 001-1l-3-1zM879 28a2 2 0 00-1 3c0 1 2 2 4 1a2 2 0 000-2 2 2 0 00-3-2zM886 33a2 2 0 00-2-1c-2 1-2 5-2 7a2 2 0 002 1 2 2 0 001 0 3 3 0 001-1 5 5 0 001-5 3 3 0 00-1-1zM877 37a1 1 0 00-1 1h3c0-1-1-2-2-1zM847 27c-3-1-6 1-5 4a4 4 0 006 2 3 3 0 001-2 4 4 0 00-2-4zM789 53c-2-1-4 1-3 3a3 3 0 004 2 2 2 0 001-2 3 3 0 00-2-3z M805 23a1 1 0 000 1c0 1 1 2 2 1a1 1 0 001-1l-3-1z' fill='black' /%3E%3Cpath d='M1914 0H0v25h1c5 1 12 15 12 35 0 5 0 8 3 9h5c4-3 0-9 1-13 1-3 4-7 7-4l3 3c3 1 4-1 4-3 1-4-2-19 3-25 3-5 8-6 12-4 7 3 18 2 23 9 2 4 2 25-1 30-1 2-3 4-3 7 0 5 5 9 10 9a8 8 0 002 0c6-2 9-9 4-15-2-3-5-14-5-21 1-12 7-22 14-30l14 14a12 12 0 013 10c-2 6 0 12 6 12 6-1 8-5 7-9a13 13 0 00-2-5c-3-4 2-13 7-15a13 13 0 0113 3c5 4 4 8 4 12 0 22-3 27-3 33 0 3 3 7 5 7 7 2 11-2 11-9-1-8-4-10-3-28 0-2 2-4 4-3s0 6 1 8a4 4 0 004 3 4 4 0 004-3l-1-10c-1-8 6-15 15-13 8 1 12 8 13 25l-2 6a6 6 0 003 9 9 9 0 006 0c4-1 5-6 3-9a26 26 0 00-2-3 10 10 0 01-1-5c-1-5 0-9 1-12a63 63 0 018-15c8 9 16 12 16 18 0 3-1 6 1 8h6c3-2 1-4 1-6 0-5 2-8 6-8 9 2 7 8 7 13l1 5c1 1 3 0 4-1s2-3 4-2c3 1 2 6 2 8a42 42 0 00-1 7c0 4 5 8 9 8s8-5 8-9l-2-13c1-6 4-8 7-8 7 0 6 6 10 4 4-1 2-6 4-10 2-1 4 0 5 1s0 4 2 4 1-3 2-5c0-2 3-3 6-2 5 0 4 7 3 8a5 5 0 01-1 2c-4 5-2 11 5 11 5 1 11-5 8-10s-3-10-1-16a3 3 0 002 2 9 9 0 003 1c5 1 13 15 13 35 0 5 0 8 3 9h5c4-3 0-10 1-13s4-7 7-4l3 3c3 1 4-1 4-3 1-4-2-19 3-25 3-5 8-6 11-4 7 2 19 1 24 9 2 4 2 25-1 30-1 2-3 4-3 7 0 4 5 9 10 9a8 8 0 002 0c6-2 9-9 4-15-2-3-5-14-5-21 0-12 7-22 14-30l14 14a12 12 0 013 10c-2 6 0 12 6 12 6-1 7-5 7-9a13 13 0 00-2-5c-3-4 1-13 7-15a13 13 0 0113 3c5 4 4 8 4 12 0 22-3 27-3 33 0 3 3 7 5 7 7 2 11-2 11-9-1-8-4-10-3-28 0-2 2-4 4-3s0 6 1 8a4 4 0 004 3 4 4 0 004-3l-1-10c-1-8 6-15 15-13 8 1 12 8 13 25l-2 6a6 6 0 003 9 9 9 0 006 0c4-1 4-6 3-9a27 27 0 00-2-3 10 10 0 01-1-5c-1-5 0-9 1-12a63 63 0 018-15c9 9 16 12 16 18l1 8h6c3-2 1-4 1-6 0-5 2-8 6-8 10 2 7 8 7 13l1 5c1 1 3 0 4-1s2-3 4-2c3 1 2 6 2 8a42 42 0 00-1 7c0 4 5 8 9 8s8-5 8-9c-1-3-2-10-1-13 0-6 3-8 6-8 7 0 6 6 11 4 3-1 1-6 4-10 1-1 3 0 4 1s0 4 2 4 1-3 2-5c0-2 3-3 6-2 5 0 4 7 3 8a5 5 0 01-1 2c-4 5-2 11 5 11 6 1 11-5 8-10-6-10 1-19 7-27l3 7c0 2-1 5 1 6a9 9 0 004 1c5 1 13 15 12 35 0 5 0 8 3 9h5c4-3 0-10 1-13s5-7 7-4c2 0 2 2 4 3s3-1 4-3c0-4-3-19 2-25 3-5 9-6 12-4 7 2 18 1 23 9 2 4 2 25-1 30-1 2-3 4-3 7 0 4 5 9 10 9a8 8 0 002 0c6-2 9-9 4-15-2-3-5-14-5-21 1-12 7-22 14-30l14 14a12 12 0 013 10c-2 6 0 12 7 12 5-1 7-5 6-9a13 13 0 00-2-5c-3-4 2-13 7-15a13 13 0 0113 3c5 4 4 8 4 12 0 22-3 27-3 33 0 3 3 7 5 7 7 2 12-2 11-9-1-8-4-10-3-28 0-2 2-4 4-3s0 6 1 8a4 4 0 004 3 4 4 0 004-3l-1-10c-1-8 6-15 16-13 8 1 12 8 12 25l-2 6a6 6 0 003 9 9 9 0 006 0c4-1 5-6 3-9a27 27 0 00-2-3 10 10 0 01-1-5c-1-5 0-9 1-12a63 63 0 018-15c9 9 16 12 16 18 0 3 0 6 2 8h5c3-2 1-4 1-6 0-5 2-8 6-8 10 2 7 8 7 13l1 5c1 1 3 0 4-1s2-3 4-2c3 1 2 6 2 8a44 44 0 00-1 7c0 4 5 8 9 8s8-5 8-9c-1-3-2-10-1-13 0-6 3-8 6-8 7 0 6 6 11 4 3-1 1-6 4-10 1-1 3 0 4 1s0 4 2 4 1-3 2-5 3-3 7-2c4 0 3 7 3 8a5 5 0 01-1 2c-5 5-2 11 4 11 6 1 11-5 8-10-5-8-1-16 4-23 5 7 9 15 4 23-3 5 3 11 8 10 7 0 9-6 5-11a5 5 0 01-1-2c-1-1-2-8 3-8 3-1 6 0 7 2s-1 5 1 5 2-2 3-4 3-2 4-1c2 4 0 9 4 10 4 2 4-4 10-4 3 0 6 2 7 8l-1 13c-1 4 2 8 7 9s9-4 9-8a44 44 0 00-1-7c0-2-1-7 2-8 2-1 3 1 4 2s3 2 4 1l1-5c0-5-2-11 7-13 5 0 6 3 6 8 0 2-1 4 1 6h6c2-2 1-5 1-8 0-6 8-9 16-18a63 63 0 018 15c2 3 2 7 2 12a10 10 0 01-2 5 27 27 0 00-2 3c-1 3-1 8 3 9a9 9 0 006 0 6 6 0 003-9l-2-6c1-17 5-24 13-25 9-2 16 5 15 13v10a4 4 0 003 3 4 4 0 004-3c1-2-1-7 2-8 1-1 3 1 3 3 1 18-2 20-3 28 0 7 4 11 11 9 3 0 5-4 5-7 0-6-3-11-3-33 0-4 0-8 4-12a13 13 0 0113-3c6 2 10 11 7 15a13 13 0 00-2 5c0 4 1 8 7 9 6 0 8-6 6-12a12 12 0 013-10l14-14c7 8 14 18 14 30 0 7-3 18-5 21-5 6-2 13 4 15a8 8 0 002 0c5 0 10-4 10-9 0-3-2-5-3-7-3-5-3-26-1-30 5-7 16-6 23-9 4-2 9-1 12 4 5 6 2 21 3 25 0 2 1 4 4 3l3-3c3-3 6 1 7 4 1 4-3 10 1 13h5c3-1 3-4 3-9 0-20 7-34 12-35a9 9 0 004-1c2-1 1-4 2-6l3-7c5 8 12 18 6 27-3 5 3 11 8 11 7-1 9-7 5-12a5 5 0 01-1-2c-1-1-2-8 3-8 3-1 6 0 7 2s-1 5 1 5 2-2 3-4 2-2 4-1c2 4 0 9 4 10 4 2 4-4 10-4 3 0 6 2 7 8l-1 13c-1 4 2 8 7 9s9-4 9-8a42 42 0 00-1-6c0-3-1-8 2-9 2-1 3 1 4 2s3 2 4 1l1-5c0-5-2-11 7-13 5 0 6 3 6 8 0 2-1 4 1 6h6c2-2 1-5 1-8 0-6 8-9 16-18a63 63 0 018 15c2 3 2 7 2 12a10 10 0 01-2 5 27 27 0 00-2 3c-1 3-1 8 3 10a9 9 0 006-1 6 6 0 003-9l-2-6c1-17 5-24 13-25 10-2 17 5 15 13v10a4 4 0 003 3 4 4 0 005-3c0-2-1-7 1-8 1-1 3 1 3 3 1 18-2 20-3 28 0 7 4 11 11 9 3 0 5-4 5-7 0-6-2-11-2-33 0-4-1-8 3-12a13 13 0 0113-3c6 2 10 11 7 15a13 13 0 00-1 5c-1 4 1 8 6 9 6 0 8-6 6-12a12 12 0 013-10l14-14c7 8 14 18 14 30 0 7-2 18-5 21-5 6-2 13 4 15a8 8 0 003 0c5 0 9-4 9-9 1-3-1-5-3-7-3-5-3-26-1-30 5-7 17-6 24-9 3-2 8-1 12 4 4 6 1 21 2 25 0 2 2 4 4 3l3-3c3-3 6 1 7 4 1 4-3 10 2 13h5c2-1 2-4 2-9 0-20 8-34 13-35a9 9 0 003-1 3 3 0 002-1c2 5 3 10-1 15-3 6 3 11 8 11 7-1 9-7 5-12a5 5 0 01-1-2c-1-1-2-8 3-8 3-1 6 0 7 2s-1 5 1 5 2-2 3-4 3-2 4-1c2 4 0 9 4 10 4 2 4-4 10-4 3 0 6 2 7 8l-1 13c-1 4 2 8 7 9s9-3 9-8a42 42 0 00-1-6c0-3-1-8 2-9 2-1 3 1 4 2s3 2 4 1l1-5c0-5-2-11 7-13 5 0 6 3 6 8 0 2-1 4 1 6 2 1 4 2 6 0s1-5 1-8c0-6 8-9 16-18a63 63 0 018 15c2 3 2 7 2 12a10 10 0 01-2 5 26 26 0 00-2 3c-1 3-1 8 3 10a9 9 0 006-1 6 6 0 003-9l-2-6c1-17 5-24 13-25 10-2 17 5 15 13v10a4 4 0 003 3 4 4 0 005-3c0-2-1-7 1-8 1-1 3 1 3 3 1 18-2 20-3 28 0 7 4 11 11 9 3 0 5-4 5-7 0-6-2-11-2-33 0-4-1-8 3-12a13 13 0 0113-3c6 2 10 11 7 15a13 13 0 00-1 5c-1 4 1 8 6 9 6 0 8-6 6-12a12 12 0 013-10l14-14c7 8 14 18 14 30 0 7-2 18-5 21-5 6-2 13 4 15a8 8 0 003 0c5 0 9-4 9-9 1-3-1-5-3-7-3-5-3-26-1-30 5-7 17-6 24-9 3-2 8-1 12 4 4 6 1 21 2 25 0 2 2 4 4 3l3-3c3-3 6 1 7 4 1 4-3 10 2 13h5c2-1 2-4 2-9 0-20 8-34 13-35V0z' fill='black' /%3E%3Cpath d='M1794 38a1 1 0 000-1c-1-1-2 0-2 1h2zM1792 31a2 2 0 00-1-3 2 2 0 00-2 2 2 2 0 000 2c1 1 3 0 3-1zM1787 32a2 2 0 00-2 1 3 3 0 00-1 1 5 5 0 000 5 3 3 0 001 1 2 2 0 002 0 3 3 0 001-2c1-1 0-5-1-6zM1865 23l-2 1a1 1 0 001 1c0 1 2 0 1-1a1 1 0 000-1zM1881 53a3 3 0 00-1 3 2 2 0 001 2 3 3 0 004-2c0-2-2-4-4-3zM1824 27a4 4 0 00-3 4 3 3 0 002 2 4 4 0 006-2c1-3-3-5-5-4zM1551 53a3 3 0 00-1 3 2 2 0 001 2 3 3 0 004-2c0-2-2-4-4-3zM1535 23l-2 1a1 1 0 001 1c0 1 2 0 1-1a1 1 0 000-1zM1464 38a1 1 0 000-1c-1-1-2 0-2 1h2zM1457 32a2 2 0 00-2 1 3 3 0 00-1 1 5 5 0 000 5 3 3 0 001 1 2 2 0 002 0 2 2 0 001-2c1-1 0-5-1-6zM1494 27a4 4 0 00-3 4 3 3 0 002 2 4 4 0 006-2c1-3-3-5-5-4zM1462 31a2 2 0 00-1-3 2 2 0 00-2 2 2 2 0 000 2c1 1 3 0 3-1zM1124 38a1 1 0 000-1c-1-1-2 0-2 1h2zM1116 32a2 2 0 00-1 1 3 3 0 00-1 1 5 5 0 000 5 3 3 0 001 1 2 2 0 002 0 2 2 0 001-2c1-1 0-5-2-6zM1122 31a2 2 0 00-1-3 2 2 0 00-3 2 2 2 0 001 2c1 1 3 0 3-1zM1195 23l-3 1a1 1 0 002 1c0 1 2 0 1-1a1 1 0 000-1zM1153 27a4 4 0 00-2 4 3 3 0 001 2 4 4 0 007-2c1-3-3-5-6-4zM1211 53a3 3 0 00-2 3 2 2 0 001 2 3 3 0 005-2c0-2-2-4-4-3z' fill='black' /%3E%3C/mask%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='white' mask='url(%23cutout)' /%3E%3C/svg%3E");

}

/*Responsive Tweaks */
@media (max-width: 2100px) {
  .feature-divider::after {
    background-size: 100% calc(2vw + 80px);
  }
}

@media (max-width: 1024px) {
  .feature-divider::after {
    background-size: 100% 93px;
    background-position: 50% 0%;
  }
}

@media (max-width: 768px) {
  .feature-divider::after {
    height: 70px;
    background-size: 200% 71px;
    background-position: 50% 0%;
  }
}





/* Gallery Section */
.gallery {
  background-color: #fdf1f1;
  padding: 3rem 1rem;
  text-align: center;
}

.gallery h2 {
  font-size: 2rem;
  margin-bottom: 2rem;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  max-width: 1000px;
  margin: 0 auto;
}

.gallery-grid img {
  width: 100%;
  border-radius: var(--radius);
  transition: transform 0.3s;
  cursor: pointer;
}

.gallery-grid img:hover {
  transform: scale(1.05);
}

/* Lightbox Modal */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.lightbox-img {
  max-width: 90%;
  max-height: 80%;
  border-radius: var(--radius);
}

.lightbox .close {
  position: absolute;
  top: 30px;
  right: 40px;
  color: white;
  font-size: 2rem;
  cursor: pointer;
}

.gallery-more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  aspect-ratio: 1 / 1;
  background-color: var(--light-border);
  color: var(--orange);
  font-size: 2.5rem;
  border-radius: 50%;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  cursor: pointer;
}

.gallery-more:hover {
  color: var(--dark-blue);
}

@media(max-width: 768px) {
  .gallery-more {
    margin-top: 20px;
    width: 50%;
    font-size: 3.5rem;
  }
}


/* Testimonials Section */
.testimonials {
  background: #fff;
  padding: 3rem 1rem;
  text-align: center;
}

.testimonials h2 {
  font-size: 2rem;
  margin-bottom: 2rem;
}

.carousel-container {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.carousel-track-wrapper {
  overflow: hidden;
  padding: 0;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease;
  will-change: transform;
}

.testimonial-cards {
  display: flex;
}

.testimonial-card {
  flex: 0 0 20%;
  /* 5 cards = 100% / 5 = 20% */
  box-sizing: border-box;
  margin: 0 0.5rem;
  padding: 1.5rem;
  background: #fff;
  border-left: 6px solid;
  border-radius: var(--radius);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s, box-shadow 0.3s;
  text-align: left;
  min-width: 220px;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  z-index: 1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  padding: 0.3rem 0.6rem;
}

.carousel-btn.prev {
  left: 10px;
}

.carousel-btn.next {
  right: 10px;
}

/* Card Colors */
.testimonial-card.orange {
  border-color: #ff7a00;
}

.testimonial-card.orange-yellow {
  border-color: #ffc107;
}

.testimonial-card.green {
  border-color: #4caf50;
}

.testimonial-card.pink {
  border-color: #e91e63;
}

.testimonial-card.purple {
  border-color: #9c27b0;
}

.testimonial-card.blue {
  border-color: #2196f3;
}

/* Responsive */
@media (max-width: 768px) {
  .testimonials {
    display: none;
  }

  .testimonial-card {
    flex: 0 0 80%;
  }
}


/* Animations */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}