/* Home hero section */
.divider {
   width: 100%;
   max-width: 150px;
   height: 2px;
   background-color: var(--secondary-color);
   margin: 1rem 0;
   opacity: 1;
 }
 
 .hero-section {
   position: relative;
   height: 750px;
   max-height: 110vh;
   display: flex;
   align-items: center;
   justify-content: flex-start;
   color: #fff;
   background-size: cover;
   background-position: center center;
   background-repeat: no-repeat;
 }
 
 .hero-swiper {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   height: 100%;
   position: relative;
   z-index: 1;
 }
 
 .hero-slide-container {
   position: relative;
   height: 100%;
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
 }
 
 .hero-slide {
   height: 100%;
   width: 100%;
 }
 
 .hero-slide-image-src {
   height: 100%;
   width: 100%;
   object-fit: cover;
   object-position: center;
   position: absolute;
   inset: 0;
   z-index: 1;
   transition: transform 1s ease-in-out;
   transform: scale(1.2);
 }
 
 .hero-swiper-pagination {
   padding: 0.25rem 1rem !important;
   position: absolute;
   bottom: 2rem !important;
   left: 50% !important;
   transform: translateX(-50%) !important;
   text-align: center;
   z-index: 10;
   background: rgba(255, 255, 255, 0);
   opacity: 1;
   width: auto !important;
   border-radius: 0.5rem !important;
   z-index: 100 !important;
 }
 
 .hero-swiper-pagination .swiper-pagination-bullet {
   width: 14px !important;
   height: 14px !important;
   border-radius: 50% !important;
   background: rgb(255, 255, 255) !important;
   opacity: 0.6 !important;
   transition: all 0.3s ease-in-out !important;
 }
 
 .hero-swiper-pagination .swiper-pagination-bullet-active {
   background: var(--secondary-color) !important;
   opacity: 1 !important;
   width: 50px !important;
 
   border-radius: 0.5rem !important;
 }
 
 @keyframes slides-zoom {
   0% {
     transform: scale(1);
   }
   100% {
     transform: scale(1.2);
   }
 }
 
 .hero-section .swiper-slide-active .hero-slide-image-src {
   animation: slides-zoom 6.5s ease-in-out;
 }
 
 .hero-overlay {
   position: absolute;
   inset: 0;
   background: #07504b;;
   width: 100%;
   height: 100%;
   opacity: 0.9;
   z-index: 1;
 }
 
 .hero-content-wrapper {
   position: relative;
   z-index: 10;
   margin: 0 auto;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
 }
 
 .hero-content {
   position: relative;
   padding: 0;
   padding-top: 4rem;
   max-width: 1200px;
   width: 100%;
   z-index: 1;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
 }
 
 @keyframes hero-content-text-fade-in {
   0% {
     opacity: 0;
     transform: translateY(-200px);
   }
   100% {
     opacity: 1;
     transform: translateY(0) ;
   }
 }
 
 .hero-content-text {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
 }
 
 .hero-section .swiper-slide-active .hero-content-text {
   animation: hero-content-text-fade-in 1.25s ease-in-out;
 }
 
 .hero-badge {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   padding: 0.35rem 0.9rem;
   border-radius: 999px;
   background: rgba(0, 0, 0, 0.35);
   border: 1px solid rgba(255, 255, 255, 0.2);
   margin-bottom: 1.5rem;
 }
 
 .hero-badge-dot {
   width: 8px;
   height: 8px;
   border-radius: 999px;
   background: var(--secondary-color);
 }
 
 .hero-badge-text {
   font-size: 0.75rem;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   color: var(--text-muted);
 }
 
 .hero-title {
   font-family: "Source Serif 4", "Times New Roman", serif;
   font-size: clamp(2.7rem, 4vw, 3.5rem);
   line-height: 1.4;
   margin-bottom: 1.5rem;
   text-transform: uppercase;
 }
 
 .hero-subtitle {
   font-size: 0.98rem;
   line-height: 1.7;
   color: var(--text-muted);
   max-width: 700px;
 }
 
 @keyframes hero-buttos-slide-up {
   0% {
     transform: translateY(200px);
   }
   100% {
     transform: translateY(0);
   }
 }
 
 .hero-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 0.9rem;
   margin-top: 2rem;
 }
 
 .hero-section .swiper-slide-active .hero-actions {
   animation: hero-buttos-slide-up 1.2s ease-in-out;
 }
 
 .hero-actions .btn-primary i {
   font-size: 0.9rem;
 }
 
 .hero-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 1.2rem;
   margin-top: 2.4rem;
 }
 
 .meta-item {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   font-size: 0.85rem;
   color: var(--text-muted);
 }
 
 .meta-item i {
   width: 28px;
   height: 28px;
   border-radius: 999px;
   background: rgba(0, 0, 0, 0.45);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: var(--secondary-color);
   font-size: 0.8rem;
 }
 
 /* About home section */
 
 .about-home-section {
   background-color: #fff;
   padding: 4.5rem 0;
   color: var(--black-color);
 }
 
 .about-home-inner {
   margin: 0 auto;
   display: grid;
   grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
   gap: 3rem;
   align-items: center;
 }
 
 .about-home-text {
   max-width: 100%;
 }
 
 .about-heading {
   font-family: "Source Serif 4", "Times New Roman", serif;
   font-size: clamp(2rem, 3vw + 1rem, 2.8rem);
   line-height: 1.1;
   margin-bottom: 0.5rem;
 }
 
 .about-body {
   font-size: 0.98rem;
   line-height: 1.8;
   color: #333;
   margin-bottom: 1rem;
 }
 
 .about-features {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 1.75rem;
   margin-top: 2.25rem;
 }
 
 .about-feature-item {
   display: flex;
   align-items: flex-start;
   gap: 0.9rem;
 }
 
 .about-feature-icon {
   width: 60px;
   height: 60px;
   border-radius: 12px;
   background-color: rgba(2, 131, 122, 0.08);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: var(--primary-color);
   flex-shrink: 0;
 }
 
 .about-feature-icon i {
   font-size: 1.5rem;
 }
 
 .about-feature-title {
   font-size: 0.98rem;
   font-weight: 600;
   margin-bottom: 0.25rem;
 }
 
 .about-feature-text {
   font-size: 0.88rem;
   line-height: 1.6;
   color: #555;
 }
 
 .about-home-media {
   display: flex;
   justify-content: flex-end;
   height: 100%;
 }
 
 .about-image-wrapper {
   position: relative;
   max-width: 100%;
   width: 100%;
   background-color: #f2f4f3;
   padding: 0.75rem;
   overflow: hidden;
 }
 
 .about-main-image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.3s ease;
 }
 
 .about-main-image:hover {
   transform: scale(1.1);
   transition: transform 0.3s ease;
 }
 
 .about-year-card {
   position: absolute;
   left: 1.25rem;
   bottom: 1.25rem;
   background-color: var(--white-color);
   padding: 0.9rem 1.4rem;
   box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
 }
 
 .about-year-number {
   font-size: 1.6rem;
   font-weight: 600;
   margin-bottom: 0.15rem;
 }
 
 .about-year-label {
   font-size: 0.78rem;
   text-transform: uppercase;
   letter-spacing: 0.12em;
   color: #555;
 }
 
 @media (max-width: 768px) {
   .about-home-text {
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
   }
 
   .about-heading {
     text-align: center;
   }
 }
 
 /* ==========================Partners / certifications slider============================================= */
 
 .partners-section {
   padding: 3.5rem 0;
   background-color: var(--white-color-light);
 }
 
 .swiper-partners {
   margin: 0 auto;
   position: relative;
   overflow: hidden;
 }
 
 .swiper-partners .swiper-wrapper {
   display: flex;
   align-items: center;
 }
 
 .swiper-partners .swiper-slide {
   width: auto;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.75rem;
 }
 
 .swiper-partners .card {
   height: 90px;
   padding: 0;
   background-color: transparent;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.75rem;
   border-radius: 12px;
   padding: 0.5rem;
   background-color: transparent;
 }
 
 .swiper-partners .card img {
   height: 100%;
   width: auto;
   aspect-ratio: 1/1;
   object-fit: contain;
   /* filter: grayscale(100%);
   opacity: 0.85; */
 }
 
 
 
 /* .swiper-partners::before,
 .swiper-partners::after {
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   width: 80px;
   pointer-events: none;
   z-index: 2;
 } */
 
 /* .swiper-partners::before {
   left: 0;
   background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0));
 }
 
 .swiper-partners::after {
   right: 0;
   background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0));
 } */
 
 .partners-text {
   margin-top: 1.75rem;
   text-align: center;
   font-size: 0.9rem;
   color: #7a837a;
 }
 
 /* ====================Promise / sustainability carousel============================================= */
 
 .promise-partners {
   background-color: #e6eae9 !important;
 }
 
 .promise-section {
   /* background: linear-gradient(to top, var(--white-color-light) 0%, #fff 100%); */
   padding: 4.5rem 0 2rem 0;
 }
 
 .promise-inner {
   margin: 0 auto;
 }
 
 .promise-header {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 0rem;
   padding-bottom: 2rem;
   max-width: 700px;
   margin: 0 auto;
 }
 
 .promise-heading {
   font-family: "Source Serif 4", "Times New Roman", serif;
   font-size: clamp(2rem, 3vw + 1rem, 2.7rem);
   line-height: 1.1;
   color: #101410;
 }
 
 .promise-copy {
   font-size: 1.2rem;
   line-height: 1.8;
   color: #3e4a3f;
   text-align: center;
 }
 
 .promise-carousel {
   position: relative;
 }
 
 .promise-swiper {
   padding-bottom: 1.25rem;
 }
 
 .promise-swiper-pagination {
   display: flex;
   justify-content: center;
   gap: 0.6rem;
   padding-top: 0.75rem;
 }
 
 .promise-swiper-pagination .swiper-pagination-bullet {
   width: 10px;
   height: 10px;
   border-radius: 999px;
   background: rgba(2, 131, 122, 0.25);
   opacity: 1;
   transition: all 0.25s ease;
 }
 
 .promise-swiper-pagination .swiper-pagination-bullet-active {
   width: 34px;
   background: var(--primary-color);
 }
 
 .promise-swiper .swiper-wrapper {
   align-items: stretch;
 }
 
 .promise-swiper .swiper-slide {
   height: auto;
 }
 
 .promise-card {
   --card-bg: none;
   position: relative;
   background-color: #1a1a1a;
   background-image: var(--card-bg);
   background-size: cover;
   background-position: center;
   border-radius: 20px 20px 28px 28px;
   display: flex;
   flex-direction: column;
   padding: 2.25rem 1.75rem;
   min-height: 0;
   height: 100%;
   width: 100%;
   box-sizing: border-box;
   overflow: hidden;
   z-index: 1;
   min-height: 350px;
   transition: all 0.3s ease;
 }
 
 .promise-card-overlay {
   position: absolute;
   inset: 0;
   background: var(--herbal-green);
   opacity: 0.75;
   z-index: 2;
 }
 
 .promise-card-overlay-hover {
   position: absolute;
   top: 0;
   left: 0;
   height: 0%;
   width: 0%;
   background: var(--primary-color);
   opacity: 1;
   z-index: 5;
   transition: all 0.6s ease;
 }
 
 .promise-card:hover .promise-card-overlay-hover {
   height: 100%;
   width: 100%;
 }
 
 .promise-card-icon {
   position: absolute;
   top: 1.5rem;
   left: 1.5rem;
   width: 60px;
   height: 60px;
   border-radius: 50%;
   background-color: rgba(2, 131, 122, 0.08);
   backdrop-filter: blur(6px);
   border: 2px solid rgba(255, 255, 255, 0.25);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #ffffff;
   z-index: 5;
 }
 
 .promise-card-icon-image {
   width: 60%;
   height: 60%;
   object-fit: contain;
 }
  
 .promise-card-icon i {
   font-size: 1.5rem;
 }
 
 .promise-card-accent {
   position: absolute;
   top: 1.5rem;
   right: 1.5rem;
   width: 12px;
   height: 12px;
   border-radius: 50%;
   background-color: #e5b84a;
   z-index: 5;
 }
 
 .promise-card-body {
   position: relative;
   display: flex;
   flex-direction: column;
   gap: 0.6rem;
   margin-top: 150px;
   padding-top: 1.5rem;
   padding-bottom: 1rem;
   z-index: 5;
 }
 
 .promise-card-title {
   font-size: clamp(1.35rem, 2.5vw, 1.5rem);
   font-weight: 700;
   color: #ffffff;
   line-height: 1.2;
   text-align: left;
   text-transform: capitalize;
 }
 
 .promise-card-text {
   font-size: 0.95rem;
   line-height: 1.6;
   color: rgba(255, 255, 255, 0.95);
   text-align: left;
 }
 
 .promise-card-cta {
   position: absolute;
   right: 1rem;
   bottom: 1rem;
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background-color: rgba(255, 255, 255, 0.2);
   backdrop-filter: blur(6px);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   text-decoration: none;
   z-index: 6;
   transition: background-color 0.2s ease, transform 0.2s ease;
 }
 
 .promise-card-cta i {
   font-size: 1rem;
   transform: rotate(-45deg);
 }
 
 .promise-card-cta:hover {
   background-color: rgba(255, 255, 255, 0.35);
   transform: scale(1.05);
 }
 
 .promise-card-link {
   margin-top: 0.4rem;
   font-size: 0.9rem;
   font-weight: 600;
   color: var(--primary-color);
   text-decoration: none;
   display: inline-flex;
   align-items: center;
   gap: 0.35rem;
 }
 
 .promise-card-link::after {
   content: "→";
   font-size: 0.9rem;
 }
 
 .promise-nav {
   display: flex;
   justify-content: center;
   gap: 0.75rem;
 }
 
 .promise-nav-btn {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   border: 1px solid #d8e1d8;
   background-color: #ffffff;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   color: #3a453a;
 }
 
 .promise-nav-btn i {
   font-size: 0.9rem;
 }
 
 /* Services section */
 
 .services-section {
   background-color: var(--primary-color);
   padding: 4.5rem 0 5rem;
 }
 
 .services-inner {
   margin: 0 auto;
 }
 
 .services-intro {
   text-align: center;
   max-width: 640px;
   margin: 0 auto 2.75rem;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
 }
 
 .services-tag {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0.25rem 0.8rem;
   border-radius: 999px;
   background-color: var(--white-color);
   color: var(--primary-color);
   font-size: 0.78rem;
   font-weight: 600;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   margin-bottom: 1rem;
 }
 
 .services-heading {
   font-family: "Source Serif 4", "Times New Roman", serif;
   font-size: clamp(2rem, 3vw + 1rem, 2.6rem);
   margin-bottom: 0rem;
   color: var(--white-color);
 }
 
 .services-lead {
   font-size: 0.98rem;
   line-height: 1.7;
   color: var(--white-color);
 }
 
 .services-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1.5rem;
 }
 
 .service-card {
   background-color: #ffffff;
   border-radius: 12px;
   overflow: hidden;
   /* box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06); */
   display: flex;
   flex-direction: column;
   height: 100%;
 }
 
 .service-media-wrapper {
   position: relative;
   height: 250px;
   width: 100%;
   overflow: hidden;
 }
  
 .service-media {
   height: 100%;
   width: 100%;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: transform 0.3s ease;
 }
 
 .service-media img {
   height: 100%;
   width: 100%;
   object-fit: cover;
   object-position: center;
 }
 
 .service-media:hover {
   transform: scale(1.05);
 }
 
 .service-body {
   padding: 1.6rem 1.6rem 1.5rem;
   box-sizing: border-box;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   gap: 0.75rem;
   height: calc(100% - 250px);
 }
 
 .service-title {
   font-size: 1.35rem;
   font-weight: 600;
   color: var(--primary-color);
 }
 
 .service-text {
   font-size: 0.95rem;
   line-height: 1.7;
   color: #4c584c;
   flex-grow: 1;
 }
 
 .service-link {
   width: fit-content;
   margin-top: 0.4rem;
   align-self: flex-start;
   padding: 0.5rem 1.1rem;
   border-radius: 999px;
   border: 1px solid rgba(0, 0, 0, 0.048);
   /* background-color: var(--secondary-color-light); */
   background-color: var(--primary-color);
   backdrop-filter: blur(6px);
   color: var(--white-color);
   font-size: 1rem;
   font-weight: 400;
   text-transform: capitalize;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: space-between;
   gap: 0.4rem;
   font-family: "Josefin Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
   transition: all 0.3s ease;
 }
 
 .service-link i {
   font-size: 0.82rem;
   width: 32px;
   height: 32px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: var(--white-color);
   background-color: var(--secondary-color-light);
   transform: rotate(-45deg);
   transition: all 0.3s ease;
 }
 
 .service-link:hover {
   background-color: var(--secondary-color);
   color: var(--white-color);
 }
 
 .service-link:hover i {
   background-color: var(--secondary-color);
   color: var(--white-color);
   transform: rotate(0deg) !important;
 }
 
 @media (max-width: 768px) {
   .partners-section {
     padding: 0.5rem 0;
   }
 
 .swiper-partners .card {  
     padding-inline: 1rem;
   }
 
   .swiper-partners .card img{
     width: 100%;
     height: auto;
   }
 
   .services-grid {
     grid-template-columns: minmax(0, 1fr);
   }
 }
 
 @media (max-width: 900px) {
   .about-home-inner {
     grid-template-columns: minmax(0, 1fr);
   }
 
   .about-home-media {
     justify-content: flex-start;
   }
 
   .about-image-wrapper {
     max-width: 100%;
   }
 
   .about-features {
     grid-template-columns: minmax(0, 1fr);
   }
 }
 
 @media (max-width: 768px) {
   .header-inner {
     gap: 1rem;
   }
 
   .primary-nav {
     display: none;
   }
 
   .hero-content {
     padding: 0;
     max-width: 100%;
   }
 
   .hero-section {
     height: 680px;
     max-height: none;
   }
 
   .hero-title {
     font-size: clamp(2.05rem, 7vw, 2.6rem);
     line-height: 1.25;
     margin-bottom: 1.1rem;
   }
 
   .hero-subtitle {
     font-size: 0.95rem;
     max-width: 36rem;
   }
 
   .hero-actions {
     width: 100%;
     justify-content: center;
   }
 
   .hero-actions a.btn {
     width: min(420px, 100%);
     justify-content: center;
   }
 
   .hero-meta {
     justify-content: center;
   }
 
   .meta-item {
     width: 100%;
     justify-content: center;
   }
 
   .promise-section {
     padding: 3.5rem 0 1.75rem 0;
   }
 
   .promise-header {
     padding-bottom: 1.5rem;
   }
 
   .promise-copy {
     font-size: 1rem;
     line-height: 1.75;
   }
 
   .promise-card {
     padding: 2rem 1.25rem;
     min-height: 320px;
   }
 
   .promise-card-icon {
     width: 52px;
     height: 52px;
     top: 1.25rem;
     left: 1.25rem;
   }
 
   .promise-card-title {
     text-align: left;
   }
 
   .service-media-wrapper {
     height: 220px;
   }
 
   .service-body {
     padding: 1.4rem 1.25rem 1.25rem;
     height: calc(100% - 220px);
   }
 }
 
 @media (max-width: 520px) {
   .hero-section {
     height: 600px;
   }
 
   .hero-content {
       padding-top: 3rem;
   }
 
   .hero-badge {
     margin-bottom: 1.1rem;
   }
 
   .hero-actions {
     gap: 0.75rem;
   }
 
   .about-home-section {
     padding: 1.75rem 0;
   }
 
   .about-feature-icon {
     width: 52px;
     height: 52px;
   }
 
   .about-year-card {
     left: 0.9rem;
     bottom: 0.9rem;
     padding: 0.75rem 1rem;
   }
 
   .about-year-number {
     font-size: 1.35rem;
   }
 
   .partners-text {
     font-size: 0.85rem;
     padding-inline: 0.25rem;
   }
 
   .home-page .hero-actions a.btn-ghost {
     display: none !important;
   }
 }
 