:root {
  --primary: #3a785b;
  --primary-dark: #2e634a;
  --text-dark: #37364b;
  --text-light: #6d6d6d;
  --bg-light: #eef3f0;
  --border: #d7dfd9;
  --primary-font: "Righteous";
  --secondary-font: "Poppins";
}

body {
  font-family: "Poppins", sans-serif;
  color: var(--text-dark);
  background: #f9fcfd;
  background-color: #f9fcfd;
  font-size: 16px;
  color: #6b6b6b;
}

p {
  font-size: 16px;
  color: #6b6b6b;
  line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--primary-font);
}

/* Common vertical section spacing (100px top & bottom) */
.section-spacing {
  padding: 100px 0;
}

.topbar {
  background: var(--primary);
  color: #fff;
  font-size: 13px;
  padding: 22px 0;

  .top_bar_wrap {
    display: flex;
    gap: 37px;

    &.end {
      justify-content: end;
    }

    .info-item {
      display: flex;
      align-items: center;
      gap: 8px;
      white-space: nowrap;
      font-size: 16px;
      font-weight: 600;
    }
  }
}

.main-header {
  background: #fff;
  padding: 30px 0 20px;
  position: sticky;
  top: 0;
  z-index: 1000;
  /* Only animate the shadow. The header height stays constant whether stuck
     or not, so nothing below it ever moves — no layout shift, no shake. */
  transition: box-shadow 0.3s ease;
  will-change: box-shadow;
}

/* When stuck we ONLY add a shadow. Padding (and therefore height) is left
   unchanged, so the sticky element keeps the exact same footprint in normal
   flow and the page content below never shifts. */
.main-header.is-stuck {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

#mainNav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.stellarnav {
  width: auto;
  background: transparent;
}

.stellarnav ul li a {
  color: #000;
  font-size: 16px;
  font-weight: 400;
  padding: 15px 14px;
}

.stellarnav ul li a:hover {
  color: #3f7d5d;
}

/* Highlight the current/active page in the nav. */
.stellarnav ul li.current-menu-item > a,
.stellarnav ul li.current_page_item > a,
.stellarnav ul li.current-menu-ancestor > a,
.stellarnav ul li.current-menu-parent > a {
  color: #3f7d5d;
  font-weight: 600;
}

.stellarnav.mobile ul {
  background: #fff;
}

/* When the off-canvas mobile menu is open, StellarNav shows a `position: fixed`
   slide-in panel. Because it is fixed, `body { overflow-x: hidden }` can't clip
   it, so it leaves a phantom horizontal scrollbar. Locking scroll on <html>
   while the menu is open removes that scrollbar (and stops the page behind from
   scrolling). Scoped to `.stellarnav.active` so it only applies while the menu
   is open and never interferes with the sticky header during normal scrolling.
   The panel itself keeps its own overflow-y:auto, so it still scrolls. */
html:has(.stellarnav.active) {
  overflow: hidden;
}

.stellarnav .menu-toggle span.bars span {
  background: #3f7d5d;
}

/* Close (X) icon in the mobile menu — match the brand green and enlarge so it
   is clearly visible (default is a faint 12px grey). */
.stellarnav .icon-close {
  width: 18px;
  height: 18px;
  margin-right: 40px;
}
.stellarnav .icon-close:before,
.stellarnav .icon-close:after {
  width: 18px;
  border-bottom-color: #3f7d5d;
}

.navbar-nav .nav-link {
  color: var(--text-dark);
  font-size: 14px;
  font-weight: 500;
  padding: 0 14px !important;
}

.navbar-nav .nav-link:hover {
  color: var(--primary);
}

.contact-btn {
  background: var(--primary);
  color: #fff;
  border-radius: 0;
  padding: 12px 26px;
  font-size: 14px;
  font-weight: 600;
  border: none;
}

.main_btn {
  font-size: 16px;
  font-weight: 700;
  text-transform: capitalize;
  color: #fff;
  padding: 16px 27px;
  text-decoration: none;
  background: linear-gradient(
    93.93deg,
    #3a785b 69.26%,
    rgba(58, 120, 91, 0.59) 80.39%,
    #3a785b 95.95%
  );

  position: relative;
  display: inline-block;
  pointer-events: auto;

  &::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    color: #fff;
    background: linear-gradient(
      93.93deg,
      #3a785b 69.26%,
      rgba(58, 120, 91, 0.59) 80.39%,
      #3a785b 95.95%
    );
    width: 100%;
    height: 100%;
    transform-origin: 0% 50%;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    transition:
      clip-path 0.2s,
      -webkit-clip-path 0.2s;
    transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
  }
}

.main_btn > span {
  overflow: hidden;
  /* mix-blend-mode: difference; */
  color: #fff;
}
.main_btn span {
  display: block;
  position: relative;
}
.main_btn:hover::before {
  transition-duration: 0.3s;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
.main_btn:hover > span > span {
  animation:
    MoveRightInitial 0.2s forwards,
    MoveRightEnd 0.2s forwards 0.2s;
}

/* @keyframes MoveUpInitial {
	to {
		transform: translate3d(0,-105%,0);
	}
}

@keyframes MoveUpEnd {
	from {
		transform: translate3d(0,100%,0);
	}
	to {
		transform: translate3d(0,0,0);
	}
} */
@keyframes MoveRightInitial {
  to {
    transform: translate3d(-105%, 0, 0);
  }
}

@keyframes MoveRightEnd {
  from {
    transform: translate3d(105%, 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.contact-btn:hover {
  background: var(--primary-dark);
  color: #fff;
}

.hero-section {
  background: #3a785b1a;

  padding: 20px 0 0;
  margin-top: 30px;
  /* overflow: hidden; */
}

.header_effect {
  position: relative;

  &::before {
    /* background: linear-gradient(180deg, rgba(255, 255, 255, 0) -61.82%, #E6EFED 100%);
        backdrop-filter: blur(4px); */
   background-image: url(../img/hero-top.png);
        position: absolute;
        height: 50px;
        width: 100%;
        top: -49px;
        left: 0;
        content: "";
    }
  }

.hero-subtitle {
  color: var(--primary);
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;

  &::after {
    content: "";
    width: 87px;
    height: 1px;
    background: var(--primary);
  }
}

.inner-banner {
  background: rgba(58, 120, 91, 0.1);
  min-height: 407px;
  padding: 20px 0 0;
  margin-top: 30px;

  .about-title {
    font-size: 62px;
    line-height: 1;
    color: #33354a;
    margin-bottom: 40px;
    text-shadow:
      -4px -4px 0 #ffffff,
      4px -4px 0 #ffffff,
      -4px 4px 0 #ffffff,
      4px 4px 0 #ffffff;
  }

  .breadcrumb-box {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(58, 120, 91, 0.77);
    color: #fff;
    padding: 15px;
    font-size: 16px;
    font-weight: 600;
  }

  .breadcrumb-box a {
    color: #fff;
    text-decoration: none;
  }

  .breadcrumb-box a:hover {
    text-decoration: underline;
    text-decoration-color: red;
    text-underline-offset: 5px;
  }

  .breadcrumb-arrow {
    width: 47px;
    position: relative;
  }

  .kids-image {
    max-height: 419px;
    width: auto;
    position: relative;
    left: -15px;
    object-fit: contain;
  }
}

.hero-title {
  font-size: 64px;
  line-height: 1.1;
  margin-bottom: 24px;
  color: #33354a;
  -webkit-text-stroke: 1px #f4f4f1;
  text-shadow:
    -3px -3px 0 #f4f4f1,
    3px -3px 0 #f4f4f1,
    -3px 3px 0 #f4f4f1,
    3px 3px 0 #f4f4f1,
    0 4px 8px rgba(0, 0, 0, 0.08);

  .highlight {
    color: var(--primary);
  }
}

.hero-text {
  color: #6b6b6b;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 28px;
}

.btn-outline-custom {
  background: transparent;
  color: var(--primary);
  border: 1px solid var(--primary);
  font-size: 16px;
  padding: 14px 26px;
  font-weight: 700;
  border-radius: 0;
}

.btn-primary-custom:hover {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  color: #fff;
}

.btn-outline-custom:hover {
  background: var(--primary);
  color: #fff;
}

.hero-badges {
  margin-top: 35px;
  margin-bottom: 67px;
  gap: 14px;
  flex-wrap: wrap;
}

.badge-item {
  /* background: #fff; */
  border: 1px solid var(--border);
  border-radius: 30px;
  padding: 10px 18px;
  font-size: 13px;
  color: var(--text-light);
  display: flex;
  align-items: center;
  gap: 8px;

  &:first-child {
    background: #3a785b30;
    border: 1px solid #3a785b59;
  }
}

.badge-item i {
  color: var(--primary);
}

.hero-image img {
  width: 100%;
  max-width: 545px;
}

.footer-section {
  background: #e6efed;
  padding-top: 70px;
  color: #2f2f2f;
  position: relative;
  overflow: hidden;
}

/* Green glow overlay (matches Figma: 348x348, #3A785B @ 18%, blur 104) */
.footer-section::before {
 content: "";
    position: absolute;
    top: 93px;
    left: 53%;
    transform: translateX(-50%);
    width: 335px;
    height: 351px;
    background: rgba(58, 120, 91, 0.28);
    filter: blur(69px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.footer-section > .container,
.footer-section .footer-bottom {
  position: relative;
  z-index: 1;
}

.footer-column {
  height: 100%;
  padding-right: 40px;
}

.border-end-custom {
  border-right: 1px solid rgba(63, 125, 93, 0.18);
}

.footer-logo img {
  max-width: 180px;
}

.footer-text {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  color: #000;
  margin-bottom: 30px;
}

.footer-title {
  color: var(--primary);
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 28px;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 20px;
}

.footer-links a {
  color: #000000;
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  transition: 0.3s;
}

.footer-links a:hover {
  color: #3f7d5d;
}

.social-links {
  display: flex;
  gap: 12px;
}

.social-links a,
.contact-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  background: #3A785B;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.social-links a {
  height: 40px;
  width: 40px;
  flex: 0 0 40px;
}

.contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-list li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 24px;

  a {
    text-decoration: none;
    color: #000000;
    font-size: 20px;
    font-weight: 400;
  }

  p {
    color: #000000;
    font-size: 20px;
    font-weight: 400;
  }
}

.contact-list strong {
  font-size: 20px;
  font-weight: 700;
}

.footer-bottom {
  background: var(--primary);
  color: #fff;
  margin-top: 60px;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

.footer-bottom p {
  margin: 0;
}

.sec_title {
  color: #33354a;
  font-size: 48px;
  font-weight: 400;
  line-height: 62px;

  span {
    color: #33354A;
  }
}

.about-image img {
  border-radius: 0;
  object-fit: cover;
  height: 500px;
}

/* Home "Our Space" image collage.
   Two equal images on the top row and one wider, taller image spanning the
   full width below. Overrides the global `.about-image img` fixed height. */
.about-image .space-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 14px;
}

.about-image .space-collage img {
  width: 100%;
  height: 100%;
  border-radius: 6px;
  object-fit: cover;
  display: block;
}

.about-image .space-collage .collage-1 { grid-column: 1; grid-row: 1; height: 190px; }
.about-image .space-collage .collage-2 { grid-column: 2; grid-row: 1; height: 190px; }
.about-image .space-collage .collage-3 { grid-column: 1 / 3; grid-row: 2; height: 250px; }

@media (max-width: 575.98px) {
  .about-image .space-collage .collage-1,
  .about-image .space-collage .collage-2 { height: 140px; }
  .about-image .space-collage .collage-3 { height: 190px; }
  .about-image .space-collage { gap: 10px; }
}

.section-tag {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.pillars-section .sec_title {
  margin-bottom: 15px;
}

.about-content {
  p {
    color: #6b6b6b;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 15px;
  }

  .hero-subtitle {
    margin-bottom: 0;
    color: #3a785b;
  }
}

.cst_btn {
  margin-top: 15px;
  display: flex;
}

.approach-section {
  .section-subtitle {
    font-size: 16px;
    color: #6b6b6b;
    font-weight: 700;
    max-width: 563px;
    margin: 0 auto;
    line-height: 1.7;
    margin-bottom: 40px;
  }
}

.section-header {
  max-width: 700px;
  margin: 0 auto 50px;
}

.section-tag {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.section-tag::before,
.section-tag::after {
  content: "";
  width: 85px;
  height: 1px;
  background: #000;
}

.section-tag span {
  color: #3a785b;
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0px;
}

.section-title {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.2;
  color: #34344a;
  margin-bottom: 12px;
}

.section-title span {
  color: #3f7d5d;
}

.approach-card {
  background: #edf4ef;
  border: 1px solid #cfe0d5;
  padding: 30px 12px;
  height: 100%;
  transition: all 0.3s ease;
  min-height: 340px;
}

.approach-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
}

.card-icon {
  width: 48px;
  height: 48px;
  background: #25a35a30;
  color: #3f7d5d;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}

.approach-card h3 {
  font-size: 30px;
  line-height: 1.1;
  font-weight: 400;
  color: var(--primary);
  margin-bottom: 14px;
}

.approach-card p {
  font-size: 16px;
  color: #78716c;
  line-height: 1.5;
  margin-bottom: 0;
}

.testimonial-section {
  position: relative;
  z-index: 1;

  &::after {
    position: absolute;
    content: "";
    z-index: -1;
    background-color: #f2f3f0;
    left: 50%;
    top: 50%;
    width: 100%;
    max-width: 95%;
    height: 100%;
    border-radius: 20px;
    transform: translate(-50%, -50%);
  }
}

.testimonial-card {
  padding-block: 42px;

  .testi_img {
    img {
      width: 100%;
      height: auto;
    }
  }
}

.quote-icon {
  position: absolute;
  top: -100px;
  right: 0;
  opacity: 1;
  z-index: 1;
}

.testimonial-section.badge_sec_home .testimonial-content {
  color: #000000;
}

.testimonial-section.badge_sec_home .testimonial-card {
  position: relative;
  border: none;
  background: transparent;
  box-shadow: none;
}

.testimonial-section.badge_sec_home .testimonial-content p {
  font-size: 30px;
  line-height: 1.6;
  margin-bottom: 0;
  font-weight: 400;
  color: #000000;
}

.testimonial-section.badge_sec_home .testimonial-content span {
  color: #4d8f67;
}

.section-header {
  margin-bottom: 35px;
}

.sub-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 8px;
}

.sub-title p {
  margin: 0;
  font-size: 13px;
  color: #8f958d;
}

.sub-title span {
  width: 42px;
  height: 1px;
  background: #8f958d;
}
.approach-section.resource_info .section-subtitle {
  font-weight: 400;
  margin-bottom: 0;
}
.approach-section.resource_info .row.justify-content-between {
  align-items: center;
}
.pillar-card {
  background: #f2f3f0;
  color: #6b6b6b;
  font-size: 16px;
  font-weight: 400;
  height: 100%;
  transition: all 0.3s ease;
  padding: 29px 19px;
  text-align: center;

  &:hover {
    background: #33354aa3;
    color: #fff;
    p{
      color: #fff;
    }

    .quote {
      color: #fff;
    }

    h3 {
      color: #fff;
    }
  }

  h3 {
    font-size: 30px;
    line-height: 62px;
    font-weight: 400;
    margin-bottom: 12px;
    color: #000000;
  }

  .quote {
    font-style: italic;
    margin-bottom: 16px;
    color: #3a785bd4;
  }

  .pillar-content {
    min-height: 310px;
  }
}

/* Active (centered) slide highlighted by default */
.pillarsSwiper .swiper-slide-active .pillar-card {
  background: #33354aa3;
  color: #fff;

  p,
  .quote,
  h3 {
    color: #fff;
  }
}

.pillar-image {
  margin-bottom: 15px;

  img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
  }
}

.swiper-pagination {
  bottom: 0 !important;
}

.swiper-pagination-bullet {
  width: 45px;
  height: 6px;
  border-radius: 40px;
  background: #d9d9d9;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: #3f7a60;
  width: 86px;
}

.pillarsSwiper {
  padding-bottom: 45px;
}

.team-section {
  background: #eef0ef;
  font-family: "Poppins", sans-serif;
}

.team-wrapper {
  background: #f4f4f1;
  padding: 50px 0;
}

.section-tag {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.section-tag p {
  margin: 0;
  font-size: 11px;
  font-weight: 500;
  color: #4b8265;
  letter-spacing: 1px;
}

.team-content p {
  color: #3A785B;
  margin-bottom: 18px;
  max-width: 95%;
}

.team-content span {
  color: #3A785B;
}

.feature_wrap {
  display: grid;
  grid-template-columns: auto auto;
  gap: 20px;
}

.feature-card {
  background: #3a785b14;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 90px;
  transition: all 0.3s ease;
}

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

.icon-box {
  width: 70px;
  height: 72px;
  min-width: 70px;
  background: #d9e6dd;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-card h4 {
  margin: 0;
  color: var(--primary);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  font-family: "Poppins", sans-serif;
}

.family-support-section .section-subtitle {
  max-width: 749px;
  margin: 15px auto 50px;
}

/* .family-support-section {
    background: #edf0ef;
    font-family: 'Poppins', sans-serif;

} */

.section-header {
  max-width: 760px;
  margin: 0 auto;
}

/* .section-tag {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.section-tag span {
    width: 48px;
    height: 1px;
    background: #9aa29d;
} */

.section-tag p {
  margin: 0;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #4d8666;
}

.section-desc {
  max-width: 580px;
  margin: 0 auto;
  color: #767d79;
  font-size: 13px;
  line-height: 1.7;
}

.support-card {
  background: #f5f5f2;
  border: 1px solid rgba(58, 120, 91, 0.39);
  overflow: hidden;
}

.support-image {
  width: 366px;
  height: 366px;
}

.support-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.support-content {
  /* padding: 8px 40px; */
  /* width: 100%;
    max-width: 868px; */

  h3 {
    font-size: 48px;
    line-height: 62px;
    font-weight: 400;
    color: #32394a;
    margin-bottom: 18px;
  }
}

.support-content p {
  margin-bottom: 12px;
  /* max-width: 90%; */

  span {
    font-size: 20px;
  }
}

/* gallery sec */

.gallery-container {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 20px;

  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* LEFT CONTENT */

.gallery-content {
  width: 300px;
  flex-shrink: 0;
  padding-top: 15px;
}

.gallery-label {
  display: flex;
  align-items: center;
  gap: 10px;

  color: #6c7a72;
  font-size: 14px;
  margin-bottom: 18px;
}

.gallery-label::after {
  content: "";
  width: 65px;
  height: 1px;
  background: #9ba39f;
}

.gallery-content h2 {
  font-size: 44px;
  line-height: 1.15;
  font-weight: 700;
  color: #2f3442;
  margin-bottom: 18px;
}

.gallery-content h2 span {
  color: #4d7964;
}

.gallery-content p {
  color: #7b8287;
  line-height: 1.8;
  font-size: 15px;
  margin-bottom: 35px;
  max-width: 280px;
}

.gallery-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 130px;
  height: 48px;

  background: #4d7964;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

/* GALLERY */

.gallery-canvas {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  padding: 0;
  margin: 0;
  list-style: none;
  padding-left: 20px;
}

.home_gallery {
  .gallery-item {
    &.last {
      position: absolute;
      right: 0;
      bottom: -4%;
    }

    &.item-5 {
      left: 25%;
      bottom: -4%;
    }
  }
}

.gallery-canvas .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* exact positioning */

.gallery-canvas .gallery-item.item-1 {
  width: 312px;

  img {
    height: 320px;
  }
}

.gallery-canvas .gallery-item.item-2 {
  width: 312px;

  img {
    height: 223px;
  }
}

.gallery-canvas .gallery-item.item-3 {
  width: 312px;

  img {
    height: 451px;
    position: relative;
    top: -50%;
  }
}

.gallery-canvas .gallery-item.item-4 {
  width: 320px;
  margin-top: -20px;

  img {
    height: 223px;
    padding-right: 10px;
  }
}

.gallery-canvas .gallery-item.item-5 {
  width: 441px;

  img {
    height: 223px;
    padding-left: 12px;
  }
}

.gallery-canvas .gallery-item.item-6 {
  width: 181px;
  left: 60%;

  img {
    height: 223px;
  }
}

.gallery-canvas .gallery-item.item-7 {
  width: 320px;

  img {
    height: 244px;
    padding-right: 12px;
  }
}

.home_gallery_btn {
  position: absolute;
  top: auto;
  bottom: 8%;
  left: 0;
  min-width: 140px;
  padding-left: 20px;

  .main_btn {
    width: 100%;
  }
}

/* RESPONSIVE */

/* galery sec */

.contact-section {
  padding: 90px 0;
}

.contact-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

/* Left */

.contact-info {
  padding-right: 10px;
  padding-left: 20px;
}

.section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  color: #3a785b;
  margin-bottom: 10px;
}

.section-label::after {
  content: "";
  width: 87px;
  height: 1px;
  background: #000;
}

.contact-info p {
  margin-bottom: 25px;
  max-width: 565px;
}

.info-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-section .contact_right h3 {
  font-size: 30px;
  color: #000000;
  line-height: 62px;
  margin-bottom: 0;
}

.contact-section .contact_right p {
  font-size: 16px;
  color: #000000;
}

.info-card {
  display: flex;
  align-items: center;
  border: 1px solid #3a785b;
  background: #f2f3f0;
}

.info-card.active {
  background: #4d7964;
  border-color: #4d7964;
  color: #fff;
}

.icon {
  width: 44px;
  height: 44px;
  border-right: 1px solid rgba(0, 0, 0, 0.08);

  display: flex;
  align-items: center;
  justify-content: center;

  color: inherit;
}

.content {
  padding: 10px 14px;
}

.content h4 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 5px;
  font-family: var(--secondary-font);
  color: #ffffff;
}

.content span {
  font-size: 16px;
  color: #ffffff;
}

.map-wrapper {
  margin-top: 18px;
  height: 445px;
  /* border: 1px solid #d6ddd8; */
  position: relative;
  z-index: 1;
  padding: 0 0 9px 9px;

  &::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 372px;
    background-color: var(--primary);
    left: 0;
    bottom: 0;
    z-index: -1;
  }
}

.map-wrapper iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* Right */
.contact_right {
  background: #f2f3f0;
  padding: 25px;
  padding: 15px 25px 25px 25px;
}

.contact-form {
  h3 {
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 15px;
    line-height: 1.2;
    color: #000000;
    margin-bottom: 10px;
  }

  p {
    color: #6b6b6b;
    font-size: 16px;
    margin-bottom: 28px;
  }

  .main_btn {
    border: none;
    min-width: 222px;
    height: 56px;
  }
}

.option_value label {
  font-size: 16px;
  font-weight: 700;
  color: #33354a;
}

.form-group {
  margin-bottom: 16px;
}

.form-group > label {
  display: block;
  margin-bottom: 12px;
  font-size: 16px;
  color: #000;
  font-weight: 400;
}

.form-group span {
  color: #e15b5b;
}

/* option selector */

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 16px;
  column-gap: 20px;
}

.option-grid input[type="radio"] {
  display: none;
}

.option-card {
  height: 50px;
  border: 1px solid #b0c9bd;
  color: #303030;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: all 0.25s ease;
}

.info-card.active .icon {
  background-color: #488166;
  border: 1px solid #92cbb19c;
}

.contact-section .info-card {
  gap: 10px;
  padding: 0 11px;
  min-height: 80px;
}

.info-card .icon {
  background-color: #3a785b;
  width: 57px;
  height: 57px;
}

.contact-section .info-card.active .content h4 {
  color: #fff;
}

.contact-section .info-card.active .content span,
.contact-section .info-card.active .content span a {
  color: #fff;
}

.support_wrap {
  display: flex;
  align-items: center;
  gap: 35px;

  &.reverse {
    flex-direction: row-reverse;
    padding-left: 50px;
  }

  .support-image {
    width: 366px;
    flex: 0 0 366px;
    height: 366px;
    float: left;
  }
}

.contact-section .info-card .content h4 {
  color: #6b6b6b;
}

.contact-section .info-card .content span a {
  color: #6b6b6b;
  text-decoration: none;
  font-size: 16px;
}

.option-grid input:checked + .option-card {
  background: #47775f;
  color: #fff;
  border-color: #47775f;
}

/* inputs */

.input-wrap {
  position: relative;
}

.input-wrap input,
textarea {
  width: 100%;
  border: 1px solid #999a99;
  background: transparent;
  outline: none;
  font-size: 14px;
}

.input-wrap input {
  height: 50px;
  padding: 0 46px 0 16px;
}

textarea {
  height: 120px;
  resize: none;
  padding: 16px;
}

.input-wrap svg {
  width: 16px;
  height: 16px;
  color: #47775f;

  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

/* button */

.submit-btn {
  width: 160px;
  height: 48px;
  border: 0;
  background: linear-gradient(90deg, #47775f 0%, #47775f 80%, #5d9a7a 100%);

  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

/* Responsive */

.purpose-section .info-card {
  flex-direction: column;
  align-items: start;
}

.testimonial-section.home.about {
  padding-top: 65px;
  margin-bottom: 100px;
}

.title_img {
  height: 62px;
  width: 62px;
  flex: 0 0 62px;
  background: #e8f5f0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.star_listing {
  list-style: none;
  padding: 0;

  li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 18px;
    color: #6b6b6b;
    font-size: 16px;
    line-height: 24px;

    &:last-child {
      margin-bottom: 0;
    }

    &::before {
      left: 0;
      top: 0;
      position: absolute;
      content: url("../img/list-star.svg");
      width: 20px;
      height: 20px;
    }
  }
}

.bg_green {
  background-color: #e9fbf5;
}

.learning_exploration {
  padding: 76px 0;
  .title_img {
    background: #d0fae5;
  }
}

.child_dDev_list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  gap: 30px;

  li {
    width: calc(100% / 3 - 20px);

    .approach-card {
      border: 1px solid #8cbeab;
      background: #f9fcfd;
      padding: 32px;
      min-height: 292px;

      .card-icon {
        height: 56px;
        width: 56px;
        border-radius: 16px;
      }

      h3 {
        color: #1d293d;
        font-size: 20px;
      }

      p {
        color: #45556c;
      }
    }
  }
}

.bg-yellow {
  background: #fef3c6;
}

.bg-pink {
  background: #ffe4e6;
}

.bg-blue {
  background: #dbeafe;
}

.socialDev_listing {
  padding: 0;
  list-style: none;

  li {
    background: #3a785b1a;
    color: #45556c;
    font-size: 16px;
    line-height: 1.5;
    padding: 18px 20px;
    margin-bottom: 20px;
    box-shadow:
      0px 1px 2px -1px rgba(0, 0, 0, 0.1),
      0px 1px 3px 0px rgba(0, 0, 0, 0.1);

    &:last-child {
      margin-bottom: 0;
    }

    span {
      color: #1d293d;
      margin-bottom: 8px;
    }
  }
}

.educational-journey {
  padding: 0;
  overflow: hidden;
}

.educational-journey .section-heading {
  max-width: 520px;
}

.educational-journey .heading-label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.educational-journey .heading-label span {
  width: 72px;
  height: 1px;
  background: #000;
}

.educational-journey .heading-label p {
  margin: 0;
  font-size: 20px;
  color: #8a9e8c;
  line-height: 1;
  text-transform: uppercase;
}

.educational-journey .section-description {
  color: #6c757d;
  margin: 0 auto 0 0;
}

.educational-journey .swiper {
  padding-bottom: 70px;
}

.educational-journey .journey-card {
  position: relative;
  background: #f8f8f5;
  border: 1px solid #ecece6;
  padding: 32px;
  min-height: 376px;
  overflow: hidden;
}

.educational-journey .card-icon {
  width: 44px;
  height: 44px;
  background: #3a785b4a;
  color: #4c8b69;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.educational-journey .card-number {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 112px;
  line-height: 1;
  font-weight: 700;
  color: #2c3a2e0a;
  font-family: var(--primary-font);
}

.educational-journey small {
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  line-height: 17px;
  font-weight: 500;
  color: #8a9e8c;
}

.educational-journey h3 {
  font-size: 25px;
  line-height: 1.1;
  color: #2c3a2e;
  margin-bottom: 16px;
}

.educational-journey .journey-card p {
  margin: 0;
  color: #5a5248;
  font-size: 15px;
  line-height: 1.9;
}

.educational-journey .swiper-pagination {
  bottom: 0 !important;
}

.educational-journey .swiper-pagination-bullet {
  width: 45px;
  height: 6px;
  border-radius: 40px;
  background: #d9d9d9;
  opacity: 1;
}

.educational-journey .swiper-pagination-bullet-active {
  width: 86px;
  background: var(--primary);
}

.prepared-environment .environment-gallery {
  display: grid;
  grid-template-columns: 51% 47.2%;
  gap: 16px;
  align-items: stretch;
}

.prepared-environment .large-image {
  flex: 0 0 55%;
}

.prepared-environment .gallery-right {
  flex: 0 0 45%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.prepared-environment .gallery-image {
  overflow: hidden;
}

.prepared-environment .gallery-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prepared-environment .large-image img {
  min-height: 420px;
}

.prepared-environment .small-image img {
  height: 180px;
}

.prepared-environment .quote-card {
  flex: 1;
  background: #6b7565;
  color: #fff;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.prepared-environment .quote-card i {
  font-size: 22px;
  margin-bottom: 18px;
  color: #d7e3d6;
}

.prepared-environment .quote-card p {
  margin: 0;
  font-size: 24px;
  font-family: var(--primary-font);
  line-height: 34px;
  color: #F6FFF4;
}

.prepared-environment .heading-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.prepared-environment .heading-label span {
  font-size: 12px;
  letter-spacing: 1px;
  color: #8a948d;
  white-space: nowrap;
}

.prepared-environment .heading-label .line {
  width: 90px;
  height: 1px;
  background: #98a69d;
}
.prepared-environment .description {
  font-size: 16px;
  line-height: 1.9;
  color: #6f7781;
  margin-bottom: 28px;
}

.prepared-environment .feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.prepared-environment .feature-list li {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
  color: #5e6670;
  font-size: 16px;
  line-height: 24px;

  i {
    color: #4d6150;
  }

  &:last-child {
    margin-bottom: 0;
  }
}

.purpose-card {
  background: #ecefea;
  border-radius: 12px;
  overflow: hidden;

  .purpose-img {
    height: 192px;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .content {
    padding: 24px;

    h4 {
      color: #3a785b;
      font-size: 18px;
      line-height: 28px;
      margin-bottom: 8px;
    }

    p {
      color: #434843;
      font-size: 14px;
      line-height: 20px;
    }
  }
}

.resource_info {
  .child_dDev_list {
    .approach-card {
      background: #3a785b0a;
      border: none;
      border-radius: 16px;

      .card-icon {
        background: #3a785b3b;
        height: 56px;
        width: 56px;
        border-radius: 0;
        margin-bottom: 16px;
      }

      h3 {
        color: #2d2d2d;
      }

      p {
        color: #666666;
        margin-bottom: 16px;
      }

      a {
        color: #5a7a63;
        text-decoration: none;
        font-size: 16px;
        line-height: 24px;
        font-weight: 500;
      }
    }
  }
}

.community-involvement {
  padding: 80px 0;
  background: #f2f3f0;
}

.community-involvement .heading-label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.community-involvement .heading-label span {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #8d978f;
  text-transform: uppercase;
  white-space: nowrap;
}

.community-involvement .heading-label .line {
  width: 60px;
  height: 1px;
  background: #a7b0aa;
}

.community-involvement .section-description {
  font-size: 18px;
  line-height: 30px;
  color: #666666;
  margin-bottom: 20px;
}

.community-involvement .community-features {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.community-involvement .feature-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.community-involvement .feature-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 0;
  background: #3a785b3b;
  color: #4d8b68;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
}

.community-involvement .feature-content h3 {
  font-size: 18px;
  color: #2d2d2d;
  margin-bottom: 3px;
}

.community-involvement .feature-content p {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #666666;
}

.community-involvement .community-image {
  overflow: hidden;
  box-shadow:
    0 1px 2px -1px rgba(0, 0, 0, 0.1),
    0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.community-involvement .community-image img {
  width: 100%;
  height: 100%;
  min-height: 490px;
  object-fit: cover;
  display: block;
}

.parent-support .support-card {
  height: 100%;
  padding: 32px;
  border: none;
  box-shadow:
    0px 2px 4px -2px #0000001a,
    0px 4px 6px -1px #0000001a;
  transition: all 0.3s ease;
  background: linear-gradient(
    135deg,
    #fafaf9 0%,
    #fcfcfb 33.33%,
    #fdfdfd 66.67%,
    #ffffff 100%
  );
}

.parent-support .support-card:hover {
  transform: translateY(-5px);
}

.parent-support .icon-box {
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 10px;
  background: #5d765f;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  font-size: 18px;
}

.parent-support .support-card h3 {
  font-size: 20px;
  line-height: 1;
  color: #2d2d2d;
  margin-bottom: 20px;
}

.parent-support .support-card ul {
  margin: 0;
  padding-left: 16px;
}

.parent-support .support-card ul li {
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.7;
  color: #666666;
}

.parent-support .support-card ul li::marker {
  color: #4d8b68;
}

.parent-support .support-card ul li:last-child {
  margin-bottom: 0;
}

.contact_page {
  .contact-info {
    p {
      margin-bottom: 0;
    }

    .contact-img {
      margin-top: 25px;
    }
  }
}

.contact_map {
  position: relative;
  padding: 50px 0 110px;

  iframe {
    width: 100%;
    height: 519px;
  }
}

.contact_information {
  padding: 90px 0 58px;
  position: relative;

  ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 30px;

    li {
      width: calc(100% / 4 - 0px);
      background: #c5c8bd4d;
      min-height: 239px;
      display: flex;
      gap: 20px;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      color: #444840;
      font-size: 16px;
      line-height: 24px;
      padding: 30px 20px;
      text-align: center;

      .contacts_ico {
        background: #3a785b3b;
        width: 56px;
        height: 56px;
        justify-content: center;
        align-items: center;
        display: flex;
      }

      h5 {
        color: #47553d;
        margin: 0;
        font-size: 24px;
        line-height: 32px;
      }

      a {
        text-decoration: none;
        color: inherit;
        transition: color 0.3s ease;
      }

      a:hover {
        color: #3a785b;
        text-decoration: underline;
      }
    }
  }
}

/* ==========================================================================
   Inner pages — base styles (moved from innerpage.css)
   ========================================================================== */

.about-banner {
  background: rgba(58, 120, 91, 0.1);
  min-height: 407px;
  padding: 20px 0 0;
  margin-top: 30px;
  /* overflow: hidden; */

  .about-title {
    font-size: 62px;
    line-height: 1;
    color: #33354a;
    margin-bottom: 40px;
    text-shadow:
      -4px -4px 0 #ffffff,
      4px -4px 0 #ffffff,
      -4px 4px 0 #ffffff,
      4px 4px 0 #ffffff;
  }

  .breadcrumb-box {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(58, 120, 91, 0.77);
    color: #fff;
    padding: 15px;
    font-size: 16px;
    font-weight: 600;
  }

  .breadcrumb-box a {
    color: #fff;
    text-decoration: none;
  }

  .breadcrumb-box a:hover {
    text-decoration: underline;
    text-decoration-color: red;
    text-underline-offset: 5px;
  }

  .breadcrumb-arrow {
    width: 47px;
    position: relative;
  }

  .kids-image {
    max-height: 419px;
    width: auto;
    position: relative;
    left: -15px;
    object-fit: contain;
  }
}

.sidegap {
  padding: 0 73px;
}
.purpose-section {
  padding: 80px 0 90px;
  background: #e9fbf5;

  .section-tag{
    justify-content: center;
  }
  /* .section-tag {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-bottom: 20px;
  }

  .section-tag::before,
  .section-tag::after {
    content: "";
    width: 87px;
    height: 1px;
    background: #000;
  } */

  .section-tag span {
    color: var(--primary);
    font-size: 20px;
    font-weight: 400;
  }

  .section-title {
    text-align: center;
    font-size: 48px;
    line-height: 1;
    color: var(--text-dark);
    margin-bottom: 51px;
  }

  .section-title .highlight {
    color: var(--primary);
  }

  .info-card {
    background: #fff;
    padding: 40px;
    min-height: 348px;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
  }

  .icon-box {
    width: 80px;
    height: 80px;
    border-radius: 16px;
    background: #e8f5f0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    -ms-border-radius: 16px;
    -o-border-radius: 16px;
  }

  .icon-box i {
    width: 32px;
  }

  .card-title {
    color: #1a1a1a;
    font-size: 29px;
    margin-bottom: 14px;
  }

  .card-text {
    line-height: 1.8;
    margin: 0;
  }
}

.who-we-are {
  overflow: hidden;
  .section-label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--primary);
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 32px;
  }

  .section-label::after {
    content: "";
    width: 86px;
    height: 1px;
    background: #8da695;
  }

  .main-title {
    font-size: 41px;
    line-height: 1.08;
    letter-spacing: -1px;
    max-width: 520px;
    margin-bottom: 32px;
    color: #1a1a1a;
  }

  .main-title span {
    color: #4a9d7e;
  }

  .description {
    margin-bottom: 32px;
  }

  .feature-box {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    border: 1px solid #8cbeab;
    padding: 18px 22px;
    margin-bottom: 14px;
    background: #f8fdfa;
  }

  .feature-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 16px;
    background: #4a9d7e;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    -ms-border-radius: 16px;
    -o-border-radius: 16px;
  }

  .feature-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
    color: #1a1a1a;
    font-family: var(--secondary-font);
  }

  .feature-text {
    font-size: 14px;
    color: #777777;
    margin: 0;
    line-height: 1.6;
  }

  .image-wrapper {
    position: relative;
    min-height: 650px;
  }

  .main-image {
    width: 448px;
    position: absolute;
    right: 0;
    top: 0;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  }

  .main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .small-image {
    position: absolute;
    left: 0;
    top: -18px;
    width: 273px;
    border: 4px solid #fff;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);
    z-index: 2;
  }

  .small-image img {
    width: 100%;
    display: block;
    object-fit: cover;
  }

  .rating-badge {
    position: absolute;
    top: -18px;
    right: 40px;
    background: #fff;
    display: flex;
    gap: 12px;
    padding: 10px 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    z-index: 3;
  }

  

  .score {
    font-size: 19px;
    color: #1a1a1a;
    font-weight: 600;
  }

  .enrolled-card {
    position: absolute;
        bottom: -54px;
        left: -8px;
        background: #fff;
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 22px 15px 22px 31px;
        max-width: 360px;
        height: 110px;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
        z-index: 3;
  }

  .enrolled-icon {
    width: 62px;
    height: 62px;
    border-radius: 14px;
    background: #e6f4ec;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .enrolled-number {
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    color: #1a1a1a;
  }

  .enrolled-text {
    color: #888888;
    margin-top: 5px;
    font-size: 18px;
  }
}

/* ==========================================================================
   Inner pages — section designs (moved from inner-design.css)
   ========================================================================== */

/* ==========================================================================
   Fees page
   ========================================================================== */

:root {
  --primary: #3a785b;
  --primary-dark: #2e634a;
  --text-dark: #37364b;
  --text-light: #6d6d6d;
  --bg-light: #eef3f0;
  --border: #d7dfd9;
  --primary-font: "Righteous";
  --secondary-font: "Poppins";
}

/* ---- Pricing / Fee Structure ---- */

.fees-pricing .section-header {
  /* max-width: 700px; */
  margin: 0 auto 55px;
}

.fees-pricing .section-tag span {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
}

.fees-pricing .section-title {
  font-size: 48px;
  font-weight: 800;
  margin-bottom: 22px;
}

.fees-pricing .pricing-intro {
  font-size: 16px;
  line-height: 1.8;
  color: #6b6b6b;
  max-width: 560px;
  margin: 0 auto;
}

.price-card {
  background: #faf8f4;
  padding: 40px 35px;
  height: 100%;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
  box-shadow: 0px 1.37px 4.12px 0 #0000002f;
}

.price-card:hover {
  /* transform: translateY(-8px); */
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12);
}

.price-card.featured,
.price-card.active {
  background: var(--primary);
  /* padding: 58px 35px; */
  box-shadow: 0 20px 45px rgba(58, 120, 91, 0.25);
}

.price-badge {
  display: inline-block;
  background: #ede8e0;
  color: #7a7060;
  font-size: 14.27px;
  font-weight: 600;
  letter-spacing: 1.43px;
  padding: 7px 14px;
  margin-bottom: 26px;
}

.price-card.featured .price-badge,
.price-card.active .price-badge {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.price-card-title {
  font-family: var(--secondary-font);
  font-size: 27.44px;
  font-weight: 700;
  color: #2c2820;
  margin-bottom: 9px;
}

.price-card.featured .price-card-title,
.price-card.active .price-card-title {
  color: #fff;
}

.price-age {
  font-size: 17.56px;
  color: #7a7060;
  margin-bottom: 35px;
}

.price-card.featured .price-age,
.price-card.active .price-age {
  color: rgba(255, 255, 255, 0.85);
}

.price-time {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #EDE8E0;
  padding: 14px 18px;
  font-size: 15px;
  color: #2c2820;
  font-weight: 500;
  margin-bottom: 43px;
}

.price-time i {
  color: #2c2820;
  font-size: 16px;
  font-weight: 600;
}

.price-card.featured .price-time,
.price-card.active .price-time {
  background: #ede8e0;
  color: #fff;
}

.price-card.featured .price-time i,
.price-card.active .price-time i {
  color: #2c2820;
  font-weight: 600;
}

.price-features {
  list-style: none;
  padding: 0;
  margin: 0 0 60px;
}

.price-features li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-size: 16px;
  line-height: 22px;
  color: #000000;
  margin-bottom: 16px;
}

.price-card.featured .price-features li,
.price-card.active .price-features li {
  color: #fff;
}

.price-features .tick {
  width: 20px;
  height: 20px;
  min-width: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  font-size: 15px;
  margin-top: 1px;
}

.price-card.featured .price-features .tick,
.price-card.active .price-features .tick {
  color: #fff;
}

.price-btn {
  display: block;
  text-align: center;
  background: linear-gradient(
    93.93deg,
    #3a785b 69.26%,
    rgba(58, 120, 91, 0.59) 80.39%,
    #3a785b 95.95%
  );
  color: #fff;
  font-size: 18.66px;
  font-weight: 500;
  padding: 16px 20px;
  text-decoration: none;
  transition: all 0.3s ease;
}

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

.price-card.featured .price-btn,
.price-card.active .price-btn {
  background: #fff;
  color: var(--primary);
}

.price-card.featured .price-btn:hover,
.price-card.active .price-btn:hover {
  background: #f0f0f0;
  color: var(--primary);
}

/* ---- Policies & Guidelines ---- */
.fees-policies {
  padding: 0px 0 100px;
}

.policies-text {
  line-height: 1.8;
  color: #7a7060;
  margin-bottom: 22px;
}

.policies-image img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.policies-accordion .accordion-item {
  border: none;
  background: #f4f6f3;
  margin-bottom: 14px;
}

.policies-accordion .accordion-button {
  background: #f4f6f3;
  box-shadow: none;
  font-family: var(--secondary-font);
  font-size: 16px;
  font-weight: 500;
  color: #2c2820;
  padding: 29px 28px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.policies-accordion .accordion-button:not(.collapsed) {
  background: #eef1ed;
  color: var(--primary);
}

.policies-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

.policies-accordion .acc-icon {
  color: var(--primary);
  font-size: 17px;
  display: inline-flex;
}

.policies-accordion .accordion-button::after {
  margin-left: auto;
}

.policies-accordion .accordion-body {
  padding: 0 22px 22px;
  font-size: 15px;
  line-height: 1.8;
  color: #6b6b6b;
}

/* ---- Payment & Admission ---- */
.fees-admission {
  padding: 0px 0 80px;
}

.admission-text {
  line-height: 1.8;
  margin-bottom: 40px;
}

.admission-steps {
  position: relative;
}

.step-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  position: relative;
  padding-bottom: 30px;
}

.step-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 38px;
  bottom: 0;
  width: 1px;
  background: #d6e0d9;
}

.step-num {
  width: 37px;
  height: 37px;
  min-width: 37px;
  border-radius: 50%;
  background: #d7e7d0;
  /* border: 1px solid #cfe0d5; */
  color: #52604e;
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.step-title {
  font-family: var(--secondary-font);
  font-size: 20px;
  font-weight: 700;
  color: #6b5c4c;
  margin-bottom: 8px;
}

.step-text {
  line-height: 1.7;
  margin: 0;
}

.step-title {
  font-family: var(--primary-font);
  font-size: 20px;
  font-weight: 400;
  color: #444842;
  line-height: 25.6px;
  margin-bottom: 10px;
}

/* ---- CTA Banner ---- */
.fees-cta-section {
  padding: 0 0 90px;
}

.fees-cta {
  background: var(--primary);
  padding: 51px 48px;
  border-radius: 12px;
}

.fees-cta .cta-title {
  font-family: var(--primary-font);
  font-size: 28px;
  font-weight: 400;
  color: #f7fff1;
  margin-bottom: 18px;
}

.fees-cta .cta-text {
  line-height: 1.8;
  color: #f7fff1;
  margin-bottom: 23px;
}

.fees-cta .cta-btn {
  display: inline-block;
  background: #f4f6f3;
  color: #6a7965;
  font-size: 14px;
  letter-spacing: 0.7px;
  font-weight: 600;
  padding: 14px 46px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.fees-cta .cta-btn:hover {
  background: #fff;
}

/* ── Header ─────────────────────────────── */
.gallery-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 10px;
}

.gallery-eyebrow::before,
.gallery-eyebrow::after {
  content: "";
  display: block;
  width: 87px;
  height: 1px;
  background-color: #000;
}

.gallery-eyebrow span {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #3a785b;
}

.gallery-title {
  font-size: 48px;
  font-weight: 800;
  color: #33354a;
  line-height: 1.2;
  margin-bottom: 20px;
}

.gallery-title .accent {
  color: #3a785b;
  font-style: italic;
}

.gallery-subtitle {
  font-size: 16px;
  color: #6b6b6b;
  max-width: 563px;
  padding-bottom: 30px;
}

/* ── Grid ────────────────────────────────── */
.gallery-grid {
  display: grid;
  gap: 29px;
  margin: 20px auto;
}

/* Row 1: 1 wide + 2 narrow */
.row-1 {
  grid-template-columns: 1.45fr 1fr 1fr;
}

/* Row 2: 1 wide + 2 narrow */
.row-2 {
  grid-template-columns: 1.45fr 1fr 1fr;
}

/* Row 3: 2 equal */
.row-3 {
  grid-template-columns: 1fr 1fr;
}

/* Row 4: 4 equal */
.row-4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

/* Row 5: 2 equal */
.row-5 {
  grid-template-columns: 1fr 1fr;
}

.gallery_page .gallery-item {
  overflow: hidden;
  position: relative;
}

.gallery_page .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.gallery_page .gallery-item:hover img {
  transform: scale(1.04);
}

.gallery_page .row-1 .gallery-item,
.gallery_page .row-2 .gallery-item {
  height: 190px;
}

.gallery_page .row-3 .gallery-item {
  height: 210px;
}

.gallery_page .row-4 .gallery-item {
  height: 160px;
}

.gallery_page .row-5 .gallery-item {
  height: 200px;
}

/* ── Lightbox overlay ────────────────────── */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10, 25, 32, 0.92);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.lightbox.active {
  display: flex;
}

.lightbox img {
  max-width: 90vw;
  max-height: 88vh;
  border-radius: 8px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 28px;
  font-size: 32px;
  color: #fff;
  cursor: pointer;
  line-height: 1;
  user-select: none;
}

.lightbox-close:hover {
  color: #4caf6e;
}

.fees-pricing .section-header.text-center .section-tag-1 {
  margin-bottom: 30px;
}

.fees-pricing .section-header.text-center .section-tag-1 span {
  color: #3a785b;
  font-size: 20px;
  font-weight: 400;
  font-family: var(--secondary-font);
  padding: 0 8px;
  position: relative;
  background-color: #f9fcfd;
}

.fees-pricing .section-header.text-center .section-tag-1 span::after {
  width: 343px;
  position: absolute;
  content: "";
  top: 14px;
  left: -87px;
  right: 0;
  bottom: 0;
  background-color: #000000;
  height: 1px;
  z-index: -1;
}

.fees-pricing .section-header {
  max-width: 100%;
}

.fees-pricing .section-header .section-title {
  font-weight: 400;
  font-family: var(--primary-font);
  line-height: 62px;
  color: #33354a;
  margin-bottom: 30px;
}

.fees-pricing .section-header .section-title span {
  color: #3a785b;
}

.fees-pricing .section-header .pricing-intro {
  color: #6b6b6b;
  font-size: 16px;
}

.fees-pricing .price-card.active .price-time {
  background-color: #ede8e0;
}

.academy-section .section-title {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.2;
  color: #34344a;
  margin-bottom: 27px;
}

.fees-pricing .price-card.active .price-time span {
  color: #2c2820;
}

.fees-pricing .price-card.active .price-features .tick svg path {
  stroke: #ffff;
  fill: #fff;
}

.fees-policies .accordion-item .acc-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #ede8e0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fees-policies .accordion-button.collapsed .acc-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #ede8e0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fees-policies .accordion-button .acc-icon {
  background-color: #3a785b;
}

.fees-policies .accordion-button .acc-icon svg path {
  stroke: #fff;
}

.fees-policies .accordion-button.collapsed .acc-icon svg path {
  stroke: #3d4a3e;
}

.fees-policies .policies-image img {
  height: 344px;
  width: 100%;
  object-fit: cover;
}

.section-title .sub-title p {
  font-size: 13px;
  font-weight: 500;
  color: #5f8d75;
  letter-spacing: 0.5px;
}

.section-title .line {
  width: 87px;
  height: 1px;
  background: #000000;
}

.section-title h2 {
  font-size: 48px;
  font-weight: 400;
  color: #33354a;
  margin-bottom: 16px;
  letter-spacing: 0.32px;
}

.section-title h2 span {
  color: #3a785b;
}

.section-title .description {
  max-width: 680px;
  margin: 0 auto;
  color: #444842;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}

.academy-section .academy-card {
  background: #f5f3f3;
  border: 1px solid #c4c8bf6c;
  padding: 47px 16px;
  height: 100%;
  transition: all 0.35s ease;
  /* min-height: 332px; */
}

.academy-card:hover {
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  background-color: #3a785b;
}

.academy-card:hover .icon-box {
  background-color: #fff;
}

.academy-card:hover h4 {
  color: #fff;
}

.academy-card:hover p {
  color: #fff;
}

.academy-section .icon-box {
  width: 48px;
  height: 48px;
  background: #bfcfc7;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  min-width: 48px;
}

.icon-box i {
  color: #4f8d72;
  font-size: 15px;
}

.academy-card h4 {
  font-size: 24px;
  font-weight: 400;
  color: #1b1c1c;
  letter-spacing: 0.48px;
  line-height: 32px;
  margin-bottom: 16px;
}

.academy-card p {
  font-size: 16px;
  color: #444842;
  line-height: 26px;
  margin-bottom: 0;
}

/* Section */
.career-section {
  background: #f5f5f5;
}

/* Heading */
.heading-top {
  margin-bottom: 20px;
}

.heading-top span {
  font-size: 20px;
  font-weight: 400;
  color: #3a785b;
  white-space: nowrap;
}

.heading-top .line {
  width: 110px;
  height: 1px;
  background: #767676;
  margin-left: 12px;
}

.career-heading p {
  color: #444842;
  margin-bottom: 0;
  line-height: 24px;
}

/* Job Cards */
.job-list {
  margin-top: 30px;
}

.job-card {
  background: #fbf9f8;
  border: 1px solid #c4c8bf;
  padding: 33px 33px;
  margin-bottom: 24px;
  transition: 0.3s ease;
}

.job-card:hover {
  background: #fff;
  transform: translateY(-2px);
}

.department {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 1.2px;
  color: #52604e;
  margin-bottom: 4px;
}

.job-card h3 {
  font-size: 24px;
  line-height: 32px;
  font-weight: 400;
  letter-spacing: 0.48px;
  color: #1b1c1c;
  margin-bottom: 4px;
}

.job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.job-meta span {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  color: #444842;
}

.job-meta i {
  font-size: 12px;
}

.career-section.job {
  padding: 80px 0;
}

/* .testimonial-section {
  background: #f5f8f6;
  overflow: hidden;
} */

.section-heading .sub-title {
  position: relative;
  color: #3a785b;
  font-size: 20px;
  display: inline-block;
  padding: 0 60px;
  margin-bottom: 23px;
}

.section-heading .sub-title::before,
.section-heading .sub-title::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 87px;
  height: 1px;
  background: #000;
}

.section-heading .sub-title::before {
  left: -43px;
}

.section-heading .sub-title::after {
  right: -43px;
}

.section-heading p {
  font-weight: 700;
  font-size: 16px;
  color: #6b6b6b;
  margin-bottom: 5px;
}

.testimonial-card {
  background: #fff;
  padding: 70px 35px 60px;
  min-height: 260px;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.client-info {
  position: absolute;
  top: -34px;
  left: -18px;
  display: flex;
  align-items: center;
}

.client-info img {
  width: 82px;
  height: 82px;
  object-fit: cover;
}

.testimonial-section .carousel-inner {
  padding-top: 87px;
}

.client-content {
  background: #3a785b;
  min-width: 316px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px 15px;
}

.client-content span {
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

.stars {
  color: #ffd34f;
  font-size: 14px;
  letter-spacing: 2px;
}

.testimonial-card p {
  color: #666;
  line-height: 1.9;
  margin: 0;
}

.quote-icon {
  margin-top: 20px;
}

.custom-indicators {
  position: relative;
  margin-top: 40px;
  z-index: 4;
}

.custom-indicators [data-bs-target] {
  width: 50px;
  height: 4px;
  border: none;
  border-radius: 30px;
  background: #d6d6d6;
  opacity: 1;
}

.custom-indicators .active {
  background: #4a8b67;
}

.testimonial-section .testimonial-card p {
  margin-top: 12px;
  font-size: 16px;
  line-height: 24.4px;
  color: #6b6b6b;
}

.testimonial-section .testimonial-card {
  position: relative;
  border: 1px solid #3a785b5b;
}

.testimonial-section .testimonial-card .quote-icon {
  position: absolute;
  top: auto;
  bottom: -24px;
  left: 28px;
}

.testimonial-section .testimonial-wrap {
  padding-left: 18px;
  padding-bottom: 30px;
}

.testimonial-section.home::after {
  background-color: transparent;
}

.section-title .sub-title p {
  color: #3a785b;
  font-size: 20px;
  font-weight: 400;
}

.section-title .sub-title {
  margin-bottom: 22px;
}

.career-section.job {
  background-color: #f5f3f3;
}

.application-section {
  .form-panel {
    padding: 64px;
    background: rgba(58, 120, 91, 0.06);
    height: 100%;
  }

  .form-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
    text-align: center;
    margin-bottom: 16px;
    line-height: 1;
  }

  .form-subtitle {
    text-align: center;
    font-size: 16px;
    color: #444842;
    margin-bottom: 48px;
  }

  .form-label {
    font-size: 12px;
    font-weight: 500;
    color: #444842;
    margin-bottom: 9px;
  }

  .form-control,
  .form-select {
    height: 60px;
    border-radius: 0;
    border: 1px solid #77777770;
    background-color: #fff;
    font-size: 16px;
    color: #1b1c1c;
    padding: 0px 24px;
    box-shadow: none;
  }

  .form-control::placeholder {
    color: #c4c8bf;
  }

  .form-control:focus,
  .form-select:focus {
    border-color: var(--primary);
    box-shadow: none;
  }

  textarea.form-control {
    height: 128px;
    resize: none;
    padding-top: 14px;
  }

  .upload-box {
    position: relative;
    border: 2px dashed #c4c8bf;
    border-radius: 12px;
    background: transparent;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: pointer;
    transition: 0.3s ease;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
    -o-border-radius: 12px;
  }

  .upload-box:hover {
    border-color: var(--primary);
  }

  .upload-box input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
  }

  .upload-text {
    font-size: 16px;
    color: #444842;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .upload-text svg {
    width: 16px;
    height: 16px;
    fill: #8a8a8a;
  }

  .main_btn {
    padding: 12px 36px;
    font-size: 16px;
    border: none;
    margin-top: 2 8px;
  }

  .image-panel {
    height: 100%;
  }

  .image-panel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .row.g-custom {
    --bs-gutter-x: 0;
  }
}

.our-team-section {
  background: #f9fcfd;
  overflow: hidden;
  padding: 94px 0 106px;

  .team-image img {
    width: 100%;
    border-radius: 0;
    object-fit: cover;
    height: 581px;
  }

  .section-tag::before {
    display: none;
  }
  .section-tag::after {
    background: #000;
    width: 87px;
  }
  .section-tag {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 15px;
  }

  .section-tag span {
    font-size: 14px;
    font-weight: 500;
    color: #3a785b;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .section-tag::after {
    content: "";
    width: 52px;
    height: 1px;
    background: #4f7d68;
  }

  .team-content p {
    color: #6b6b6b;
    margin-bottom: 18px;
  }

  .team-feature {
    background: rgba(58, 120, 91, 0.08);
    backdrop-filter: blur(5px);
    padding: 15px 12px;
    display: flex;
    align-items: center;
    gap: 20px;
    height: 100%;
  }

  .feature-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    /* background: rgba(58, 120, 91, 0.08);  */
    backdrop-filter: blur(80px);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .feature-icon i {
    color: #4f7d68;
    font-size: 22px;
  }

  .feature-content h6 {
    margin: 0;
    font-size: 20px;
    font-family: var(--secondary-font);
    font-weight: 600;
    line-height: 1.4;
    color: #4f7d68;
  }
}

.team-section2 {
  .section-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
  }

  .section-title {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 16px;
  }

  .section-title .highlight {
    color: var(--primary);
  }

  .section-description {
    max-width: 919px;
    font-size: 16px;
    line-height: 1.7;
    color: #444842;
    margin-bottom: 28px;
  }

  /* Filter Buttons */

  .filter-group {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 35px;
  }

  .filter-btn {
    border: 1px solid var(--primary);
    background: #fff;
    color: #444842;
    font-size: 16px;
    padding: 8px 24px;
    transition: 0.3s ease;
    cursor: pointer;
  }

  .filter-btn.active,
  .filter-btn:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
  }

  /* Team Card */

  .team-card {
    background: #fff;
    transition: 0.3s ease;
    margin-bottom: 33px;
    border: rgba(58, 120, 91, 0.15) 1px solid;
  }
  #teamGrid {
    min-height: 400px;
  }
  .team-card img {
    width: 100%;
    height: 389px;
    object-fit: cover;
    display: block;
  }

  .team-content {
    padding: 20px 9px;
  }

  .team-name {
    font-size: 27px;
    font-weight: 500;
    font-family: var(--secondary-font);
    color: var(--text-dark);
    margin-bottom: 4px;
  }

  .team-role {
    font-size: 14px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #475347;
    margin-bottom: 12px;
  }

  .team-description {
    font-size: 17px;
    line-height: 1.7;
    color: #444842;
    margin: 0;
  }

  .team-item {
    transition: all 0.4s ease;
  }

  .team-item.hide {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.9);
    position: absolute;
  }
}

.care-guidance-section {
  .care-content {
  }

  .section-label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
  }

  .section-label::after {
    content: "";
    width: 87px;
    height: 1px;
    background: #000;
  }

  .section-title {
    font-size: 48px;
    line-height: 1.15;
    font-weight: 500;
    color: #33354a;
    margin-bottom: 24px;
    letter-spacing: -1px;
  }

  .section-title span {
    display: block;
    color: var(--primary);
  }

  .care-content p {
    line-height: 1.8;
    margin-bottom: 24px;

    & {
      margin-bottom: 0;
    }
  }

  .care-image img {
    width: 100%;
    height: 438px;
    object-fit: cover;
    display: block;
  }
}
.footer-bottom a {
  color: #fff;
  text-decoration: none;

  &:hover {
    text-decoration: underline;
  }
}
.footer-bottom p {
  color: #ffffff;
}

#testimonialSlider{
  padding-top: 50px;
}
@media (max-width: 1199.98px) {
  .contact_map,
  .contact_information,
  .career-section.job {
    padding: 40px 0 !important;
  }
  .fees-admission {
    padding: 0px 0 40px;
  }
  .fees-cta-section {
    padding: 0 0 40px;
  }
  .fees-policies {
    padding: 0 0 40px;
  }
  .team-section2 {
    .filter-group {
      display: flex;
      flex-wrap: nowrap;
    }
  }
  .team-section2 {
    .filter-btn {
      text-wrap: nowrap;
    }
  }
  .team-section2 {
    .filter-group {
      overflow-x: scroll;
      padding-bottom: 10px;
    }
  }
}
@media (max-width: 1024px) {
  .inner-banner {
    .about-title {
      font-size: 45px;
    }
  }
  .contact_information {
    & ul {
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      li {
        width: calc(100% / 2 - 11px);
      }
    }
  }
}
@media (max-width: 991.98px) {
  .gallery-title {
    font-size: 35px;
    line-height: 1.4;
  }
  .application-section {
    .form-panel {
      padding: 30px 10px;
    }
  }
  .team-image {
    margin-bottom: 20px;
  }

  .team-section2 {
    .section-title {
      font-size: 35px;
      line-height: 1;
    }
  }

  .application-section {
    .form-subtitle {
        margin-bottom: 20px;
    }
}
  
}
/* Make the job page render at 768px the same as it does at 767px
   (Bootstrap's md breakpoint fixes .container to 720px at exactly 768px,
   which makes the layout jump; keep it fluid so 768px matches the mobile view). */
@media (min-width: 768px) and (max-width: 768px) {
  .single-job .container,
  .page-template-template-jobs .container,
  .post-type-archive-job .container {
    max-width: 100%;
  }

  /* Our Approach: keep the text/image rows side-by-side at 768px (matches the
     desktop screenshot) instead of stacking via reverse-mobile. */
  .page-template-template-our-approach .about-section .row.reverse-mobile {
    flex-direction: row;
  }
  .page-template-template-our-approach .about-section .row.reverse-mobile > [class*="col-lg-"] {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (max-width: 767px) {
  .contact-list li {
    a {
      font-size: 16px;
    }
  }
  .footer-section {
    padding-top: 40px;
  }
  .border-end-custom {
    padding-bottom: 0px !important;
    margin-bottom: 10px;
  }
  .contact-list strong {
    font-size: 16px;
  }
  .contact-list li {
    margin-bottom: 24px;
  }
  .contact-list li {
    p {
      font-size: 16px;
    }
  }
  .footer-bottom {
    margin-top: 15px;
    text-align: center;
  }
  .heading-top span {
    font-size: 15px;
  }
  .our-team-section {
    .g-3,
    .gy-3 {
      --bs-gutter-y: 1rem;
    }
  }
  .our-team-section {
    .feature-content h6 {
      font-size: 16px;
    }
  }
}

@media (max-width: 575px) {
  .main-header {
    padding: 15px 0 20px;
  }
  .contact_information {
    & ul {
      li {
        width: 100%;
        flex: 0 0 100%;
      }
    }
  }

  .contact-section .contact-info {
    text-align: left;
  }
  .contact-form {
    padding: 0px !important;
  }
  .inner-banner {
    .about-title {
      font-size: 35px;
    }
  }
}
@media (max-width: 430px) {
  .main-header .navbar-brand img {
    width: 154px;
  }
  .main_btn {
    padding: 12px 18px;
  }
}

.kids-masonry-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 50px;
}
.kids-masonry-gallery .gallery-item {
  height: 365px;
}

.kids-masonry-gallery .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Row 1 */
.kids-masonry-gallery .gallery-item:nth-child(1) {
  grid-column: span 2;
}

/* Row 2 */
.kids-masonry-gallery .gallery-item:nth-child(4) {
  grid-column: span 2;
}

/* Row 3 */
.kids-masonry-gallery .gallery-item:nth-child(7),
.kids-masonry-gallery .gallery-item:nth-child(8) {
  grid-column: span 2;
}

/* Row 4 */
.kids-masonry-gallery .gallery-item:nth-child(9),
.kids-masonry-gallery .gallery-item:nth-child(10),
.kids-masonry-gallery .gallery-item:nth-child(11),
.kids-masonry-gallery .gallery-item:nth-child(12) {
  grid-column: span 1;
}

/* Row 5 */
.kids-masonry-gallery .gallery-item:nth-child(13),
.kids-masonry-gallery .gallery-item:nth-child(14) {
  grid-column: span 2;
}

@media (max-width: 991px) {
  .kids-masonry-gallery {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 20px;
  }

  .kids-masonry-gallery .gallery-item {
    grid-column: span 1 !important;
  }
  .kids-masonry-gallery .gallery-item {
    height: 300px;
  }
}

/* =========================================================================
   Theme additions (WordPress conversion)
   - Single Job Details layout
   - AJAX form validation feedback
   These classes are new to the WP theme; the original page designs are
   untouched. Brand colours: primary #3A785B, dark #17324D.
   ========================================================================= */

/* ----- Job listing card as a link (jobs page + archive) ----- */
a.job-card { text-decoration: none; color: inherit; display: block; }
a.job-card:hover { text-decoration: none; }
.career-section .no-jobs { padding: 24px 0; color: #5a6b5f; }

/* ----- Single Job Details ----- */
.job-detail-banner .job-detail-dept {
    display: inline-block;
    background: rgba(255, 255, 255, .25);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 30px;
    margin-bottom: 14px;
}
.job-detail-thumb { margin-bottom: 28px; border-radius: 18px; overflow: hidden; }
.job-detail-thumb img { border-radius: 18px; }
.job-detail-summary {
    font-size: 18px;
    line-height: 1.7;
    color: #17324D;
    font-weight: 500;
    margin-bottom: 28px;
}
.job-detail-main .sec_title { font-size: 26px; margin-bottom: 16px; }
.job-detail-block { margin-top: 32px; }
.job-detail-overview { margin-top: 8px; }
.job-detail-overview p { margin-bottom: 16px; line-height: 1.8; }

.job-detail-sidebar {
    background: #f5f8f5;
    border: 1px solid #e3ece5;
    border-radius: 18px;
    padding: 30px;
    position: sticky;
    top: 110px;
}
.job-detail-sidebar h4 {
    font-size: 20px;
    color: #17324D;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e3ece5;
}
.job-meta-list { list-style: none; margin: 0 0 24px; padding: 0; }
.job-meta-list li { display: flex; align-items: flex-start; gap: 14px; padding: 12px 0; }
.job-meta-list .ico {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #3A785B;
    color: #fff;
    border-radius: 10px;
    font-size: 18px;
}
.job-meta-list li span:last-child { display: flex; flex-direction: column; }
.job-meta-list strong {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #8a988d;
    font-weight: 600;
}
.job-meta-list li span:last-child { color: #17324D; font-weight: 500; }
.job-detail-sidebar .main_btn.w-100 { display: block; text-align: center; }

/* ----- AJAX form validation feedback ----- */
.gm-ajax-form .field-error {
    display: none;
    color: #c0392b;
    font-size: 13px;
    margin-top: 6px;
}
.gm-ajax-form .field-error.show { display: block; }
.gm-ajax-form input.input-error,
.gm-ajax-form textarea.input-error,
.gm-ajax-form select.input-error { border-color: #c0392b !important; }
.gm-ajax-form .input-wrap.has-error input { border-color: #c0392b !important; }

.form-response { margin-top: 16px; font-weight: 500; display: none; }
.form-response.show { display: block; }
.form-response.success {
    color: #1e7d4f;
    background: #e6f4ee;
    border: 1px solid #bfe3d0;
    border-radius: 10px;
    padding: 12px 16px;
}
.form-response.error {
    color: #c0392b;
    background: #fdecea;
    border: 1px solid #f5c6c0;
    border-radius: 10px;
    padding: 12px 16px;
}
.gm-ajax-form.is-sending button[type="submit"] { opacity: .65; pointer-events: none; }
.upload-box .upload-label.has-file { color: #1e7d4f; font-weight: 600; }
@media (width: 768px) {
    .application-section .image-panel img {
        height: 990px !important;
    }
}
.sec_title span {
  color: #3A785B;
}
.educational-journey span {
  color:#3A785B ;
}
.info-item a {
  color: white !important;
}
.section-tag::before {
    content: "";
    width: 75px !important;
    height: 1px;
    background: #000;
   
}
 .section-tag::after {
    content: "";
    width: 95px !important;
    height: 1px;
    background: #000;
    
}
.myimage {
  border-radius: 0 !important;
    object-fit: cover !important;
    height: 600px !important;
}
.parent {
  color: #33354A !important;
}
.emotion {
  border-radius: 0 !important;
    object-fit: cover !important;
    height: 715px !important;
}
.intro {
  border-radius: 0 !important;
    object-fit: cover !important;
    height: 628px !important;
}