/* Background Polygons */
.bg-polygons {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.polygon {
  position: absolute;
  opacity: 0.08;
}

.pentagon {
  width: 150px;
  height: 150px;
  background: #1F7F95;
  clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
  top: 10%;
  left: 5%;
  animation: rotate 35s linear infinite;
}

.hexagon {
  width: 120px;
  height: 120px;
  background: #6EA9F8;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  top: 20%;
  right: 10%;
  animation: rotate 45s linear infinite reverse;
}

.triangle {
  width: 100px;
  height: 100px;
  background: #B3CF6D;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  bottom: 30%;
  left: 15%;
  animation: rotate 25s linear infinite;
}

.octagon {
  width: 130px;
  height: 130px;
  background: #457A00;
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  bottom: 15%;
  right: 20%;
  animation: rotate 55s linear infinite reverse;
}

.heptagon {
  width: 110px;
  height: 110px;
  background: #83C7CE;
  clip-path: polygon(50% 0%, 100% 38%, 80% 100%, 20% 100%, 0% 38%);
  top: 50%;
  left: 25%;
  animation: rotate 40s linear infinite;
}

.square {
  width: 90px;
  height: 90px;
  background: #F1B066;
  top: 35%;
  left: 8%;
  animation: rotate 30s linear infinite reverse;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* To make sure the content stays above polygons */
section,
footer {
  position: relative;
  z-index: 1;
}

/* Hero Animations */
.js-loaded .hero-badge {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s;
}

.hero-badge.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-loaded .hero-content {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}

.hero-content.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-loaded .hero-description {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease 0.5s, transform 0.6s ease 0.5s;
}

.hero-description.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mission Vision Animations */
.js-loaded .mv-item {
  opacity: 0;
}

.mv-item.left {
  transform: translateX(-50px);
}

.mv-item.right {
  transform: translateX(50px);
}

.mv-item.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.mv-item.left.is-visible {
  transition: opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s;
}

.mv-item.right.is-visible {
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}

/* History Animations */
.js-loaded .timeline-header {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.timeline-header.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-loaded .history-description {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s;
}

.history-description.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-loaded .history-content {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease 0.2s, transform 0.6s ease 0.2s;
}

.history-content.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-loaded .timeline-card {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}

.timeline-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Partners Animations */
.js-loaded .all-partners-header {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.all-partners-header.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-loaded .all-partner-feature {
  opacity: 0;
  transform: translateY(30px);
}

.all-partner-feature.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.all-partner-feature:nth-child(1).is-visible {
  transition: opacity 0.5s ease 0.1s, transform 0.5s ease 0.1s;
}

.all-partner-feature:nth-child(2).is-visible {
  transition: opacity 0.5s ease 0.2s, transform 0.5s ease 0.2s;
}

.all-partner-feature:nth-child(3).is-visible {
  transition: opacity 0.5s ease 0.3s, transform 0.5s ease 0.3s;
}

.js-loaded .all-logo-card {
  opacity: 0;
  transform: scale(0.9);
}

.all-logo-card.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* Partner With Us Animations */
.js-loaded .partner-with-us {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.partner-with-us.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* Footer Animations */
.js-loaded .footer-content {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease 0.2s, transform 0.6s ease 0.2s;
}

.footer-content.is-visible {
  opacity: 1;
  transform: translateY(0);
}

h1,
h2,
h3 {
  font-weight: 400;
}

/* Background Shapes */
.background-shapes {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1;
}

.bg-shape {
  position: absolute;
  transform-origin: top left;
}

.shape-blue-rotated {
  width: 339.85px;
  height: 1486.07px;
  background: rgba(110, 169, 248, 0.13);
  left: 540.33px;
  top: -743.03px;
  transform: rotate(77deg);
}

.shape-green-wide {
  width: 1425.07px;
  height: 662.08px;
  background: rgba(179, 207, 109, 0.08);
  left: -2.28px;
  top: -111px;
  transform: rotate(9deg);
}

.shape-orange-wide {
  width: 1378.62px;
  height: 660.53px;
  background: rgba(241, 176, 102, 0.08);
  left: 20.93px;
  top: -176.02px;
  transform: rotate(-14deg);
}

.shape-cyan-rotated {
  width: 1319.78px;
  height: 674.88px;
  background: rgba(131, 199, 206, 0.13);
  left: 70.17px;
  top: -262.68px;
  transform: rotate(158deg);
}

.bg-square {
  position: absolute;
  opacity: 0.05;
  transform-origin: top left;
}

.bg-square.teal {
  width: 331.80px;
  height: 331.80px;
  background: #1F7F95;
  left: -105.90px;
  top: -105.90px;
  transform: rotate(-146deg);
}

.bg-square.blue {
  width: 177.35px;
  height: 177.35px;
  background: #6EA9F8;
  left: 1176.82px;
  top: 126.38px;
  transform: rotate(-168deg);
}

.bg-square.green {
  width: 201.35px;
  height: 201.35px;
  background: #B3CF6D;
  left: -84.70px;
  top: 1397.55px;
  transform: rotate(97deg);
}

.bg-square.cyan {
  width: 216.80px;
  height: 216.80px;
  background: #83C7CE;
  left: 1192.10px;
  top: 3952.48px;
  transform: rotate(-103deg);
}

.bg-square.dark-green {
  width: 127.75px;
  height: 127.75px;
  background: #457A00;
  left: 124.70px;
  top: 3939.75px;
  transform: rotate(-4deg);
}

.bg-square.orange {
  width: 115.18px;
  height: 115.18px;
  background: #F1B066;
  left: 1152.92px;
  top: 2102.85px;
  transform: rotate(99deg);
}

/* Hero Section */
.hero-section {
  position: relative;
  width: 100%;
  height: 400px;
  padding-top: 80px;
  display: flex;
  justify-content: center;
}

.hero-inner {
  position: relative;
  width: 896px;
  height: 100%;
}

.hero-badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 153.15px;
  height: 38px;
  background: rgba(131, 199, 206, 0.19);
  outline: 1px rgba(131, 199, 206, 0.31) solid;
  outline-offset: -1px;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 17px;
}

.badge-icon {
  position: relative;
  width: 16px;
  height: 16px;
  overflow: hidden;
}

.badge-icon::after {
  content: '';
  position: absolute;
  width: 13.86px;
  height: 16px;
  left: 1.07px;
  top: 0;
  background: #1F7F95;
}

.badge-text {
  color: #1F7F95;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.hero-content {
  position: absolute;
  top: 62px;
  left: 0;
  width: 896px;
  text-align: center;
}

.hero-title {
  color: #0A0A0A;
  font-family: 'Inter', sans-serif;
  font-size: 60px;
  font-weight: 400;
  line-height: 60px;
}

.hero-title-highlight {
  color: #457A00;
  font-family: 'Inter', sans-serif;
  font-size: 60px;
  font-weight: 400;
  line-height: 60px;
  display: block;
}

.hero-description {
  position: absolute;
  top: 206px;
  left: 112px;
  width: 672px;
  text-align: center;
  color: #000000;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
}

@media (max-width: 960px) {
  .hero-inner {
    width: 100%;
    max-width: 896px;
  }

  .hero-content {
    width: 100%;
    padding: 0 24px;
  }

  .hero-title,
  .hero-title-highlight {
    font-size: 40px;
    line-height: 48px;
  }

  .hero-description {
    width: 100%;
    left: 0;
    padding: 0 24px;
  }
}

/* Mission Vision Section */
.mission-vision-section {
  padding: 96px 24px;
  max-width: 1200px;
  margin: 0 auto;
}

.mv-container {
  display: flex;
  flex-direction: row;
  gap: 64px;
  justify-content: center;
}

.mv-item {
  position: relative;
  height: 400px;
  flex: 0 0 592px;
}

.mv-bar {
  position: absolute;
  width: 8px;
  height: 400px;
}

.mv-card {
  position: absolute;
  width: 592px;
  height: 400px;
  left: 0;
  background: rgba(255, 255, 255, 0.50);
  border-radius: 16px;
  overflow: hidden;
}

.mv-header {
  position: absolute;
  left: 33px;
  top: 33px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.mv-title {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  color: #0A0A0A;
}

.mv-text {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #000000;
}

.mission-content {
  position: absolute;
  left: 33px;
  right: 33px;
  top: 113px;
}

.vision-content {
  position: absolute;
  left: 33px;
  right: 33px;
  top: 113px;
}

.mv-icon {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mission-bar {
  left: -32px;
  background: linear-gradient(180deg, #1F7F95 0%, #6EA9F8 100%);
}

.mission-card {
  left: 0;
  outline: 1px rgba(31, 127, 149, 0.19) solid;
}

.mission-icon {
  background: rgba(31, 127, 149, 0.13);
}

.mission-icon-shape {
  width: 28px;
  height: 28px;
  border: 2.33px solid #1F7F95;
}

.mission-deco-top {
  position: absolute;
  right: 0;
  top: 0;
  width: 96px;
  height: 96px;
  background: linear-gradient(135deg, transparent 50%, rgba(110, 169, 248, 0.06) 50%);
}

.mission-deco-bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 80px;
  background: linear-gradient(315deg, transparent 50%, rgba(179, 207, 109, 0.06) 50%);
}

.vision-bar {
  right: -32px;
  background: linear-gradient(180deg, #1F7F95 0%, #6EA9F8 100%);
}

.vision-card {
  left: 0;
  outline: 1px rgba(31, 127, 149, 0.19) solid;
}

.vision-icon {
  background: rgba(31, 127, 149, 0.13);
}

.vision-icon-shape {
  width: 14px;
  height: 14px;
  border: 2.33px solid #1F7F95;
}

.vision-deco-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 96px;
  height: 96px;
  background: linear-gradient(45deg, rgba(179, 207, 109, 0.06) 50%, transparent 50%);
}

.vision-deco-bottom {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 80px;
  height: 80px;
  background: linear-gradient(225deg, rgba(179, 207, 109, 0.08) 0%, transparent 70%);
}

@media (max-width: 1100px) {
  .mv-container {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .mv-item {
    flex: 0 0 auto;
    width: 100%;
    max-width: 592px;
  }

  .mv-card {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .mv-item {
    height: auto;
  }

  .mv-bar {
    display: none;
  }

  .mv-card {
    position: relative;
    height: auto;
    padding: 33px;
  }

  .mv-header {
    position: relative;
    top: auto;
    left: auto;
    margin-bottom: 24px;
  }

  .mission-content,
  .vision-content {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
  }
}

.team-section {
  position: relative;
  background: #F5F5F5;
  padding: 80px 24px 96px;
  overflow: hidden;
}

.team-bg-shapes {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.team-bg-shapes>div {
  position: absolute;
  z-index: 0;
}

.bg-shape-left {
  width: 160px;
  height: 320px;
  left: 0;
  top: 300px;
  opacity: 0.49;
  background: #1F7F95;
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

.bg-shape-right {
  width: 144px;
  height: 288px;
  right: 0;
  top: 900px;
  opacity: 0.42;
  background: #F1B066;
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.bg-shape-left-2 {
  width: 176px;
  height: 352px;
  left: 0;
  top: 1500px;
  opacity: 0.32;
  background: #457A00;
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

.bg-shape-right-2 {
  width: 128px;
  height: 256px;
  right: 0;
  top: 1980px;
  opacity: 0.45;
  background: #1F7F95;
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.bg-circle {
  border-radius: 9999px;
  position: absolute;
  z-index: 0;
}

.circle-blue {
  width: 80px;
  height: 80px;
  left: 219px;
  top: 600px;
  opacity: 0.35;
  background: #6EA9F8;
}

.circle-cyan {
  width: 128px;
  height: 128px;
  right: 67px;
  top: 1300px;
  opacity: 0.43;
  background: #83C7CE;
}

.circle-lime {
  width: 96px;
  height: 96px;
  left: 292px;
  top: 1900px;
  opacity: 0.49;
  background: #B3CF6D;
}

.circle-cyan-2 {
  width: 64px;
  height: 64px;
  right: 67px;
  top: 480px;
  opacity: 0.40;
  background: #83C7CE;
}

.circle-green {
  width: 64px;
  height: 64px;
  left: 67px;
  top: 820px;
  opacity: 0.40;
  background: #457A00;
}

.circle-olive {
  width: 64px;
  height: 64px;
  left: 67px;
  top: 1280px;
  opacity: 0.40;
  background: #B3CF6D;
}

.circle-brown {
  width: 64px;
  height: 64px;
  right: 67px;
  top: 1280px;
  opacity: 0.40;
  background: #BF9270;
}

.circle-teal {
  width: 64px;
  height: 64px;
  left: 162px;
  top: 1620px;
  opacity: 0.40;
  background: #5C5F30;
}

.circle-orange {
  width: 64px;
  height: 64px;
  right: 67px;
  top: 1650px;
  opacity: 0.40;
  background: #F1B066;
}

.circle-cyan-3 {
  width: 64px;
  height: 64px;
  left: 67px;
  top: 1950px;
  opacity: 0.40;
  background: #83C7CE;
}

.team-section-header {
  text-align: center;
  margin-bottom: 64px;
  position: relative;
  z-index: 1;
}

.team-title {
  display: inline-block;
  padding: 10px 24px;
  background: white;
  box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.10), 0px 10px 15px -3px rgba(0, 0, 0, 0.10);
  border-radius: 10px;
  color: #101828;
  font-size: 36px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 40px;
  letter-spacing: 0.37px;
  margin-bottom: 20px;
}

.team-subtitle {
  max-width: 672px;
  margin: 0 auto;
  text-align: center;
  color: #717182;
  font-size: 16px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 24px;
}

.team-group {
  max-width: 1280px;
  margin: 0 auto 80px;
  position: relative;
  z-index: 1;
}

.category-label {
  max-width: 448px;
  width: 100%;
  padding: 24px;
  background: white;
  box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.10), 0px 10px 15px -3px rgba(0, 0, 0, 0.10);
  border-radius: 10px;
  text-align: center;
  color: #101828;
  font-size: 30px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.40px;
  margin: 0 auto 48px;
}

.member-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 48px;
}

.member-row:last-child {
  margin-bottom: 0;
}

.member-card {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.member-card.reverse {
  flex-direction: row-reverse;
}

.member-avatar {
  width: 300px;
  min-width: 300px;
  height: 225px;
  background: #E5E7EB;
  box-shadow: 0px 8px 10px -6px rgba(0, 0, 0, 0.10), 0px 20px 25px -5px rgba(0, 0, 0, 0.10);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #99A1AF;
  font-size: 48px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 48px;
  letter-spacing: 0.35px;
  overflow: hidden;
}

.member-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.crop-top {
  object-position: top;
}

.crop-upper {
  object-position: 30% 20%;
}

.member-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 16px;
  min-width: 0;
}

.member-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.member-name {
  color: #101828;
  font-size: 24px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.07px;
}

.member-role {
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 16px;
  letter-spacing: 0.30px;
}

.member-role.role-teal {
  color: #1F7F95;
}

.member-role.role-blue {
  color: #6EA9F8;
}

.member-role.role-lime {
  color: #B3CF6D;
}

.member-role.role-cyan {
  color: #83C7CE;
}

.member-role.role-green {
  color: #457A00;
}

.member-role.role-orange {
  color: #F1B066;
}

.member-role.role-brown {
  color: #BF9270;
}

.member-role.role-teal-2 {
  color: #1F7F95;
}

.member-bio {
  width: 100%;
  padding: 28px 24px;
  background: white;
  box-shadow: 0px 8px 10px -6px rgba(0, 0, 0, 0.10), 0px 20px 25px -5px rgba(0, 0, 0, 0.10);
  border-radius: 10px;
  border-top: 4px solid;
  color: #4A5565;
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 19.50px;
}

.member-bio.bio-teal {
  border-top-color: #1F7F95;
}

.member-bio.bio-blue {
  border-top-color: #6EA9F8;
}

.member-bio.bio-lime {
  border-top-color: #B3CF6D;
}

.member-bio.bio-cyan {
  border-top-color: #83C7CE;
}

.member-bio.bio-green {
  border-top-color: #457A00;
}

.member-bio.bio-orange {
  border-top-color: #F1B066;
}

.member-bio.bio-brown {
  border-top-color: #BF9270;
}

.member-bio.bio-teal-2 {
  border-top-color: #1F7F95;
}

@media (max-width: 900px) {
  .member-row {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .member-card.reverse {
    flex-direction: row;
  }
}

@media (max-width: 600px) {

  .member-card,
  .member-card.reverse {
    flex-direction: column;
  }

  .member-avatar {
    width: 100%;
    min-width: unset;
    height: 180px;
  }
}

/* All Partners Section */
.all-partners-section {
  padding: 96px 24px;
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.all-partners-header {
  text-align: center;
  margin-bottom: 64px;
}

.all-partners-header h2 {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  color: #0A0A0A;
}

.title-underline {
  display: block;
  width: 96px;
  height: 4px;
  margin: 8px auto 0;
  background: linear-gradient(90deg, #1F7F95 0%, #F1B066 100%);
}

.all-partners-subtitle {
  max-width: 672px;
  margin: 24px auto 0;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #717182;
}

.all-partners-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto 64px;
}

.all-partner-feature {
  position: relative;
  background: rgba(255, 255, 255, 0.56);
  border-radius: 16px;
  padding: 25px;
  outline-offset: -1px;
}

.all-partner-feature.teal {
  outline: 1px solid rgba(31, 127, 149, 0.19);
}

.all-partner-feature.green {
  outline: 1px solid rgba(179, 207, 109, 0.19);
}

.all-partner-feature.cyan {
  outline: 1px solid rgba(131, 199, 206, 0.19);
}

.all-feature-content {
  display: flex;
  gap: 16px;
}

.all-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  flex-shrink: 0;
}

.all-icon-box.teal {
  background: rgba(31, 127, 149, 0.13);
}

.all-icon-box.green {
  background: rgba(179, 207, 109, 0.13);
}

.all-icon-box.cyan {
  background: rgba(131, 199, 206, 0.13);
}

.all-partner-feature h3 {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #0A0A0A;
}

.all-partner-feature p {
  margin-top: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #000000;
}

.feature-deco {
  position: absolute;
  width: 72px;
  height: 72px;
  background: rgba(31, 127, 149, 0.14);
  transform: rotate(45deg);
  top: -20px;
  left: -20px;
}

.all-partner-feature.green .feature-deco {
  background: rgba(179, 207, 109, 0.14);
  width: 48px;
  height: 48px;
  top: -12px;
  right: -12px;
  left: auto;
}

.all-partner-feature.cyan .feature-deco {
  background: rgba(131, 199, 206, 0.14);
  width: 48px;
  height: 48px;
  bottom: -12px;
  left: -12px;
  top: auto;
}

/* Partners Logo - Continuous Slow Motion Sliding */
.all-partners-logos-container {
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
}

.all-partners-logos {
  display: flex;
  width: max-content;
  animation: slidePartners 25s linear infinite;
}

.all-partners-logos:hover {
  animation-play-state: paused;
}

@keyframes slidePartners {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.all-logo-card {
  width: 192px;
  height: 128px;
  background: rgba(255, 255, 255, 0.56);
  border-radius: 14px;
  outline: 1px solid rgba(31, 127, 149, 0.19);
  outline-offset: -1px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.all-logo-card .logo {
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 40px;
  letter-spacing: 0.37px;
  color: #1F7F95;
}

.partner-logo-img {
  width: 192px;
  height: 128px;
  background: rgba(255, 255, 255, 0.56);
  border-radius: 14px;
  outline: 1px solid rgba(31, 127, 149, 0.19);
  outline-offset: -1px;
  object-fit: contain;
  padding: 16px;
  box-sizing: border-box;
  flex-shrink: 0;
  margin-right: 24px;
}

.all-logo-card .logo-name {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  color: #717182;
}


@media (max-width: 1024px) {
  .all-partners-features {
    grid-template-columns: 1fr;
    max-width: 500px;
  }
}

/* Partner With Us Section */
.partner-with-us {
  position: relative;
  background: rgba(31, 127, 149, 0.03);
  border-radius: 24px;
  outline: 1px solid rgba(31, 127, 149, 0.19);
  outline-offset: -1px;
  overflow: hidden;
  margin: 96px auto 96px;
  max-width: 800px;
  padding: 49px 64px;
}

.partner-deco-top {
  position: absolute;
  width: 128px;
  height: 128px;
  top: 1px;
  right: 1px;
  background: linear-gradient(135deg, transparent 50%, rgba(110, 169, 248, 0.06) 50%);
}

.partner-deco-bottom {
  position: absolute;
  width: 128px;
  height: 128px;
  bottom: 217px;
  left: 1px;
  background: linear-gradient(315deg, transparent 50%, rgba(179, 207, 109, 0.06) 50%);
}

.partner-content {
  text-align: center;
}

.partner-icon {
  width: 64px;
  height: 64px;
  background: #1F7F95;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.partner-icon svg {
  width: 32px;
  height: 32px;
}

.partner-title {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #0A0A0A;
  margin-bottom: 24px;
}

.partner-description {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  color: #000000;
  margin-bottom: 32px;
}

.partner-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.btn-partner-primary {
  padding: 10px 24px;
  background: #1F7F95;
  color: white;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-partner-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(31, 127, 149, 0.3);
}

.btn-partner-secondary {
  padding: 10px 24px;
  background: white;
  color: #1F7F95;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  border-radius: 8px;
  border: 1px solid #1F7F95;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

.btn-partner-secondary:hover {
  background: rgba(31, 127, 149, 0.05);
  transform: translateY(-2px);
}

@media (max-width: 1024px) {
  .partner-with-us {
    padding: 49px 24px;
  }
}

/* History Section */
.history-section {
  width: 100%;
  padding: 64px 151px;
  background: linear-gradient(90deg, #101828 0%, #1E2939 100%);
}

.history-container {
  width: 100%;
  max-width: 1152px;
  height: 576px;
  margin: 0 auto;
  position: relative;
  display: flex;
}

.history-header-text {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 300px;
  height: 192px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.history-title {
  height: 72px;
  display: flex;
  flex-direction: column;
}

.history-label {
  height: 36px;
  color: #99A1AF;
  font-size: 24px;
  font-family: Inter;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.07px;
}

.history-label-highlight {
  height: 36px;
  color: #6EA9F8;
  font-size: 24px;
  font-family: Inter;
  font-weight: 500;
  line-height: 36px;
  letter-spacing: 0.07px;
}

.history-description {
  height: 104px;
  width: 300px;
  color: #D1D5DC;
  font-size: 16px;
  font-family: Inter;
  font-weight: 400;
  line-height: 26px;
}

.timeline-years {
  position: absolute;
  left: 348px;
  top: 0px;
  width: 64px;
  height: 576px;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  z-index: 2;
}

.year-badge-sm {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Inter;
  font-weight: 500;
  color: white;
  box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.10), 0px 10px 15px -3px rgba(0, 0, 0, 0.10);
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 2;
}

.year-badge-sm:hover {
  transform: scale(1.1);
}

.year-badge-sm.active {
  transform: scale(1.1);
  box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.10), 0px 10px 15px -3px rgba(0, 0, 0, 0.10), 0 0 0 4px white;
}

.year-badge-sm.theme-teal {
  background: #1F7F95;
  font-size: 17.60px;
  line-height: 26.40px;
}

.year-badge-sm.theme-teal.active {
  border-color: #1F7F95;
}

.year-badge-sm.theme-blue {
  background: #6EA9F8;
  font-size: 16px;
  line-height: 24px;
}

.year-badge-sm.theme-blue.active {
  border-color: #6EA9F8;
}

.year-badge-sm.theme-green {
  background: #457A00;
  font-size: 16px;
  line-height: 24px;
}

.year-badge-sm.theme-green.active {
  border-color: #457A00;
}

.year-badge-sm.theme-cyan {
  background: #83C7CE;
  font-size: 16px;
  line-height: 24px;
}

.year-badge-sm.theme-cyan.active {
  border-color: #83C7CE;
}

.year-badge-sm.theme-lime {
  background: #F1B066;
  font-size: 16px;
  line-height: 24px;
}

.year-badge-sm.theme-lime.active {
  border-color: #F1B066;
}

.year-badge-sm.theme-orange {
  background: #B3CF6D;
  font-size: 16px;
  line-height: 24px;
}

.year-badge-sm.theme-orange.active {
  border-color: #B3CF6D;
}

.timeline-line {
  position: absolute;
  left: 380px;
  top: 32px;
  width: 2px;
  height: 512px;
  background: linear-gradient(180deg, #1F7F95 0%, #2D85A3 7%, #3A8BB0 14%, #4591BE 21%, #5097CD 29%, #5A9DDB 36%, #64A3E9 43%, #6EA9F8 50%, #66A4DA 57%, #5F9EBC 64%, #58989E 71%, #529180 79%, #4D8A61 86%, #49823E 93%, #457A00 100%);
  z-index: 1;
}

.timeline-card {
  position: absolute;
  left: 460px;
  top: 0px;
  width: 692px;
  height: 500px;
  padding: 33px;
  background: rgba(30, 41, 57, 0.50);
  border: 1px solid #364153;
  border-radius: 14px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 1;
}

.timeline-card.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
}

.timeline-card.visible {
  opacity: 1;
  transform: translateY(0);
}

.timeline-card-content {
  width: 100%;
  height: 434px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.timeline-card-header {
  height: 154px;
  position: relative;
}

.timeline-year-badge {
  width: 68px;
  height: 40px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 16px;
  font-family: Inter;
  font-weight: 400;
  line-height: 24px;
  position: absolute;
  top: 0;
  left: 0;
}

.timeline-card-header h3 {
  position: absolute;
  top: 56px;
  left: 0;
  color: white;
  font-size: 20px;
  font-family: Inter;
  font-weight: 500;
  line-height: 30px;
}

.timeline-card-header p {
  position: absolute;
  top: 102px;
  left: 0;
  width: 626px;
  color: #D1D5DC;
  font-size: 16px;
  font-family: Inter;
  font-weight: 400;
  line-height: 26px;
}

.timeline-card img {
  width: 100%;
  height: 256px;
  border-radius: 10px;
  box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
  object-fit: cover;
}

@media (max-width: 1200px) {
  .history-section {
    padding: 64px 24px;
  }

  .history-container {
    width: 100%;
    height: auto;
    flex-direction: column;
  }

  .history-header-text {
    position: relative;
    width: 100%;
  }

  .timeline-years {
    position: relative;
    left: 0;
    flex-direction: row;
    width: 100%;
    height: auto;
    padding-top: 24px;
    flex-wrap: wrap;
  }

  .timeline-line {
    display: none;
  }

  .timeline-card {
    position: relative;
    left: 0;
    width: 100%;
    height: auto;
  }

  .timeline-card.hidden {
    display: none;
  }

  .timeline-card:first-of-type {
    opacity: 1;
    pointer-events: auto;
  }
}

@media (max-width: 768px) {
  .history-section {
    padding: 48px 20px;
  }
}

/* Scroll Animations for History Section */
.history-section .history-header-text,
.history-section .timeline-years,
.history-section .timeline-card {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.history-section.animate-in .history-header-text {
  opacity: 1;
  transform: translateY(0);
}

.history-section.animate-in .timeline-years {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}

.history-section.animate-in .timeline-card:not(.hidden) {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.4s;
}