/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.about_our_story {
  position: relative;
}

.about_our_story::before {
  content: '';
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #FAC60A 0%, #0D0B40 100%);
  position: absolute;
  left: 0;
  top: 34px;
}

.faq_accordian .e-n-accordion-item-title-header .e-n-accordion-item-title-text {
  color: #0D0B40;
  font-family: "SF Pro";
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 22.5px;
  /* 150% */
}

.faq_accordian .e-n-accordion-item-title-header .e-n-accordion-item-title-text span {
  color: #6A7282;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.faq_accordian .e-n-accordion-item-title-icon {
  width: 28px;
  height: 28px;
  border-radius: 14px;
  border: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* .faq_accordian .e-n-accordion-item {
	padding-left: 30px;
	position: relative;
}

.faq_accordian .faq_left_icon {
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
} */


/* Our Ecosystem */


.infographic h3,
.infographic p {
  margin: 0;
}



.infographic {
  position: relative;

  width: 100%;
  max-width: 1250px;

  min-height: 1080px;

  margin: auto;
}



.award_main_top {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}


/* =========================================
AWARDS
========================================= */

.awards {

  width: 320px;

  display: flex;
  flex-direction: column;

  gap: 25px;

  z-index: 5;
}

.awards-left {
  left: 0;
  top: 0;
}

.awards-right {
  right: 0;
  top: 45px;
}


.award-card {
  min-height: 82px;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  gap: 18px;
  border-radius: 16px;
  border: 1px solid #FFF;
  background: #EBEDFB;
  box-shadow: 0 14px 34px 0 rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(10px);
}


.award-icon {
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}


.award-card h3 {
  color: #121B4F;
  font-family: "SF Pro", serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 800;
  line-height: 140%;
  letter-spacing: -0.15px;
}


.award-card p {
  margin-top: 4px;
  color: #1A0B6B;
  font-family: "SF Pro", serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.15px;
}

.award-card:last-child {
  padding: 18px 12px;
}


/* =========================================
CENTER CIRCLE
========================================= */

.main-circle {


  width: 450px;
  height: 450px;
  border-radius: 50%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;

  padding-top: 35px;

  background: linear-gradient(0deg, #EBEEF9 0%, #F6F8FC 100%);
  box-shadow: 0 24px 24px 0 rgba(98, 49, 250, 0.20);
}


.main-circle::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  z-index: -1;
  border: 2px solid #FFF;
  background: rgba(255, 255, 255, 0.30);
  box-shadow: 0 4px 14px 0 rgba(20, 12, 99, 0.20);
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  inset: -20px;
}


.tech-logo {
  width: 48px;
  height: 48px;

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

  background: linear-gradient(135deg,
      #ff1c12,
      #111);

  border-radius: 7px;

  color: white;

  font-size: 36px;
  font-weight: bold;

  text-transform: lowercase;

  box-shadow:
    0 5px 15px rgba(0, 0, 0, .15);
}


.main-circle h1 {
  margin-top: 18px;
  color: #121B4F;
  text-align: center;
  font-family: "SF Pro", serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  letter-spacing: -0.15px;
  margin-bottom: 0;
}


.small-line {
  width: 60px;
  height: 4px;
  margin: 15px 0 20px;
  border-radius: 20px;
  background: linear-gradient(90deg, #2158D8 0%, #2517C5 100%);
}


.company-title {
  text-align: center;

  color: #1A0B6B;
  text-align: center;
  font-family: "SF Pro", serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.15px;
}


.company-title span {
  color: #2158D8;
}


.circle-features {
  width: 75%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 20px;
}


.circle-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #C2D2F8;
  padding: 0 10px;
}


.circle-feature:last-child {
  border-right: 0;
}


.feature-icon {
  margin-bottom: 10px;
}

.feature-icon img {
  max-width: 30px;
}


.circle-feature span {
  color: #1A0B6B;
  text-align: center;
  font-family: "SF Pro", serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 135%;
  letter-spacing: -0.15px;
}


/* =========================================
CONNECTION LINES
========================================= */

.connection {
  position: absolute;

  z-index: 1;

  pointer-events: none;
}

.connection img {
  max-width: 100%;
  max-height: 100%;
}


.blue-connection {
  width: 250px;
  height: 170px;

  left: 245px;
  top: 380px;
}


.orange-connection {
  width: 420px;
  height: 600px;
  right: 60px;
  top: 380px;
}


/* =========================================
ACADEMY
========================================= */

.academy {

  width: calc(100% - 120px);

  min-height: 265px;

  padding: 30px;

  display: grid;

  grid-template-columns: 48% 52%;

  margin-top: 70px;

  position: relative;


  border-radius: 20px;
  border: 1px solid #2A1A9A;
  background: #E5E6FA;
  box-shadow: 0 14px 14px 0 rgba(59, 45, 181, 0.10);
}

.academy_users {
  width: 59px;
  height: 59px;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  top: -25px;
  left: 225px;
  border-radius: 50%;
  z-index: 2;
}

.academy_users img {
  max-width: 100%;
}

.academy:before {
  width: 48%;
  height: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url('https://dev-euphoria.twebexponent.in/wp-content/uploads/2026/08/academy-bg.png');
  background-repeat: no-repeat;
  background-position: right center;
}


.academy-left {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  position: relative;
  z-index: 2;
}


.academy-top {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 25px;
}

.academy-icon {
  width: 100px;
  height: 100px;
  flex: 0 0 100px;

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

  border-radius: 50%;

  background: #E7E8F5;

  border: 1px solid #432E98;

  box-shadow: 0 10px 14px rgba(36, 23, 139, 0.20);
}

.academy-icon img {
  width: 100%;
}


.academy-heading h2 {
  font-size: 25px;

  margin-top: 8px;

  color: #101653;
}


.academy-heading p {
  margin-top: 13px;

  font-size: 14px;
  line-height: 1.7;

  color: #191a61;
}


.academy-heading span {
  margin: 0 5px;
}


.academy-description {
  padding-left: 30px;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  color: #25265d;
}


.academy-description p {
  margin-bottom: 5px;
}


/* =========================================
ACADEMY SERVICES
========================================= */

.academy-services {
  width: 100%;
  height: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border-radius: 45px;
  background: #7C73EB;
  padding: 12px 5px;
}


.academy-services .service {
  display: flex;
  align-items: center;

  gap: 10px;

  padding: 0 10px;

  color: white;

  border-right: 1px solid #ADA7F2;
}


.academy-services .service:last-child {
  border-right: 0;
}


.service-icon {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #7B67E8;
}


.academy-services .service span {
  color: #FFF;
  font-family: "SF Pro", serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.15px;
}


/* =========================================
GENX
========================================= */

.genx {

  width: calc(100% - 120px);

  height: 140px;

  padding: 25px 50px 25px 25px;

  margin-top: 35px;

  display: flex;
  align-items: center;

  gap: 20px;

  border-radius: 20px;
  border: 1px solid #FBCECC;
  background: #FDF2EF;
  box-shadow: 0 4px 4px 0 rgba(255, 255, 255, 0.25) inset, 0 14px 14px 0 rgba(59, 45, 181, 0.10);
  position: relative;
  z-index: 2;
}


.genx-brand {
  display: flex;
  align-items: center;
  gap: 25px;
}


.genx-logo {
  width: 85px;
  height: 85px;

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

  border-radius: 50%;

  border: 1px solid #FD843C;

  background: #F5F3EB;

  font-size: 55px;

  color: #f09b2e;

  box-shadow: 0 8px 14px 0 #FFF inset;

}


.genx-brand h2 {
  color: #121B4F;
  font-family: "SF Pro", serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  line-height: 125%;
  letter-spacing: -0.15px;
}


.genx-brand p {
  margin-top: 10px;

  color: #1A0B6B;
  font-family: "SF Pro", serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.15px;
}


/* =========================================
GROWTH GRAPH
========================================= */

.growth-chart {
  position: relative;

  width: 135px;
  height: 95px;

  flex: 0 0 135px;
}

.growth-chart img {
  width: 100%;
}

.person {
  position: absolute;

  right: 5px;
  top: 0;

  font-size: 55px;

  color: #15cbb1;

  transform: rotate(-20deg);
}


/* =========================================
GENX SERVICES
========================================= */

.genx-services {
  flex: 1;

  height: 75px;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  border-radius: 30px;

  background: #17BCA5;

  padding: 15px 5px;
}


.genx-service {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  color: white;
}

.genx-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #09A791;
}


.genx-service span {
  font-size: 9px;
  line-height: 1.4;
}


.genx_up {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: solid 5px #fff;
  background: #5AC8AE;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: -20px;
  top: 0;
  bottom: 0;
  margin: auto;
}


/* faq section */
.faq-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

/* Two independent columns */
.faq-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.faq-column {
  display: flex;
  flex-direction: column;
}

.faq-item {
  padding: 20px 0;
  border-bottom: 1px solid #e0e0e0;
}

.faq-wrapper .faq-item button {
  background-image: none;
  padding: 0px;
}

.faq-question {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  text-align: left;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1A0B6B !important;
  transition: color 0.3s ease;
}

.faq-question:hover {
  color: #f5a623;
}

/* Plus icon */
.faq-icon {
  position: relative;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background: #f5a623;
  border-radius: 2px;

  transition:
    transform 0.35s ease,
    opacity 0.3s ease;
}

/* Horizontal line */
.faq-icon::before {
  width: 100%;
  height: 2.5px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* Vertical line */
.faq-icon::after {
  width: 2.5px;
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

/* Minus animation */
.faq-item.active .faq-icon::after {
  transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}

/* Answer animation */
.faq-answer {
  display: grid;
  grid-template-rows: 0fr;

  opacity: 0;
  transform: translateY(-6px);

  transition:
    grid-template-rows 0.4s ease,
    opacity 0.3s ease,
    transform 0.4s ease,
    margin-top 0.4s ease;
}

.faq-answer-inner {
  min-height: 0;
  overflow: hidden;
  padding-right: 30px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000000;
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
}

.faq-item.active .faq-answer {
  grid-template-rows: 1fr;
  opacity: 1;
  transform: translateY(0);
  margin-top: 12px;
}

.faq-wrapper .faq-item button span {
  display: inline-flex;
  max-width: calc(100% - 50px);
  word-wrap: break-word !important;
  white-space: initial;
}

/* faq section end */



/* =========================================
RESPONSIVE - TABLET
========================================= */


@media screen and (max-width: 1220px) {

  .awards {
    width: 300px;
    gap: 15px;
  }

  .main-circle {
    width: 350px;
    height: 350px;
  }

}




@media screen and (max-width: 1024px) {

  .awards {
    width: 270px;
    gap: 15px;
  }

  .award-card h3 {
    font-size: 15px;
    line-height: 130%;
  }

  .award-card p {
    font-size: 12px;
  }

  .main-circle {
    width: 300px;
    height: 300px;
    padding-top: 10px;
  }

  .main-circle h1 {
    margin-top: 10px;
    font-size: 24px;
  }

  .small-line {
    margin: 10px 0;
  }

  .company-title {
    font-size: 24px;
  }


  .circle-features {
    margin-top: 10px;
  }

  .feature-icon {
    margin-bottom: 5px;
  }

  .circle-feature span {
    font-size: 13px;
  }

  .connection {
    display: none;
  }

  .faq-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }

}

@media screen and (max-width: 840px) {

  .award_main_top {
    flex-direction: column;
    gap: 30px;
  }

  .awards {
    width: 100%;
  }

  .main-circle {
    width: 450px;
    height: 450px;
    padding-top: 10px;
    align-items: center;
    justify-content: center;
  }


  .academy {
    width: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .academy_users {
    display: none;
  }

  .academy:before {
    display: none;
  }

  .academy-left {
    gap: 20px;
  }

  .academy-top {
    gap: 15px;
  }

  .academy-icon {
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    padding: 10px;
  }

  .academy-heading h2 {
    font-size: 20px;
  }

  .academy-heading p {
    font-size: 12px;
  }

  .genx {
    width: 100%;
    height: auto;
    padding: 20px;
    flex-wrap: wrap;
  }

  .genx_up {
    bottom: auto;
    top: 10px;
    right: 10px;
  }

}



@media screen and (max-width: 575px) {

  .main-circle {
    width: 340px;
    height: 340px;
    padding: 0;
  }

  .main-circle::after {
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    inset: -10px;
  }

  .academy {
    gap: 20px;
    margin-top: 30px;
  }

  .academy-services,
  .genx-services {
    flex: 100%;
    width: 100%;
    height: auto;
    gap: 10px;
    grid-template-columns: repeat(1, 1fr);
  }

  .genx-brand {
    flex-wrap: wrap;
    justify-content: center;
  }

  .academy-description {
    padding: 0;
  }

  .growth-chart {
    width: auto;
    height: auto;
    margin: 0 auto;
  }

}



/* diagram section start */
.eco-system-section::before {
  background-position: 100% 100% !important;
}

.main-dyagram {
  padding-top: 1px;
	display: none;
}

.ecosystem {
  width: 100%;
  max-width: 1508px;
  margin: 0 auto;
  margin-top: 240px;
}

.ecosystem-grid {
  display: grid;
  grid-template-columns: minmax(330px, 1fr) minmax(430px, 1.18fr) minmax(330px, 1fr);
  align-items: center;
  gap: 42px;
}

.program-card {
  position: relative;
  z-index: 1;
  min-height: 378px;
  max-width: 421px;
  padding: 30px 28px 25px;
  border: 1.5px solid currentColor;
  border-radius: 18px;
  background: #fff;
}

.program-card.academy-card {
  box-shadow: 0px 14px 14px 0px #3B2DB51A;
}

.program-card.genx-card {
  box-shadow: 0px 14px 14px 0px #01B2AF1A;
}

.academy-card {
  color: #6C3FD1;
}

.genx-card {
  color: #01B2AF;
}
.popular-awards-wrapper {
    margin-top: 40px;
}
.popular-awards-wrapper h2{
  font-family: "SF PRO", Sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 36px;
  color: #000000;
  text-align: center;
}
.program-badge {
  position: relative;
  z-index: 2;
  width: 100px;
  height: 100px;
  display: grid;
  place-items: center;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 20px rgba(21, 30, 84, 0.08);
  margin-top: -84px;
  margin-left: 10px;
}

.academy-card .program-badge {
  box-shadow: 0px 8px 14px 0px #FFFFFF inset;
  box-shadow: 0px 10px 14px 0px #24178B33;

}

.genx-card .program-badge {
  box-shadow: 0px 8px 14px 0px #FFFFFF inset;
  box-shadow: 0px 10px 14px 0px #01B2AF33;
}

.icon-shape {
  line-height: 1;
  filter: saturate(1.05);
}

.program-head {
  margin-top: 0px;
  display: grid;
  grid-template-columns: 60px 1fr;
  align-items: end;
  gap: 16px 30px;
}

.program-number {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  padding-right: 18px;
  border-right: 1px solid currentColor;
  min-height: 39px;
  display: flex;
  align-items: center;
}

.program-title-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}

.program-title-wrap h3 {
  margin: 0;
  color: #121B4F;
  line-height: 1.2;
  font-size: 30px;
  letter-spacing: -0.15px;
  font-weight: 600;
}

.pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 15px;
  border-radius: 10px;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  letter-spacing: -0.15px;
  text-transform: uppercase;
}

.pill.purple {
  background: #6C3FD1;
}

.pill.teal {
  background: #01B2AF;
}

.rule {
  height: 1px;
  background: currentColor;
  opacity: 0.78;
  margin: 18px 0 16px;
}

.program-copy {
  max-width: 380px;
  margin: 0 auto;
  color: #1A0B6B;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.72;
  text-align: center;
}

.mobile-copy {
  display: none;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 16px;
}

.feature-item {
  min-width: 0;
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 0 12px;
  color: currentColor;
}

.feature-item+.feature-item {
  border-left: 1px solid currentColor;
}

.feature-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 5px;
}

.feature-item span:last-child {
  color: #1A0B6B;
  font-size: 14px;
  line-height: 1.48;
  font-weight: 500;
}

.company-card {
  position: relative;
  z-index: 0;
  aspect-ratio: 1 / 1;
  margin-top: -380px;
  width: min(100%, 440px);
  justify-self: center;
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 66px 56px 54px;
  border: 2px solid transparent;
  border-radius: 50%;
  background: linear-gradient(0deg, #EBEEF9 0%, #F6F8FC 100%);
  box-shadow: 0 24px 24px 0 rgba(98, 49, 250, 0.20);
}

.company-card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  z-index: -1;
  border: 2px solid #FFF;
  background: rgba(255, 255, 255, 0.30);
  box-shadow: 0 4px 14px 0 rgba(20, 12, 99, 0.20);
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  inset: -20px;
}

.company-card>* {
  position: relative;
  z-index: 1;
}

.company-logo {
  width: 55px;
  height: 55px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
}

.company-card h3 {
  margin: 0;
  font-size: 30px;
  color: #121B4F;
  line-height: 1.15;
  font-weight: 800;
}

.company-underline {
  width: 62px;
  height: 4px;
  margin: 16px 0 22px;
  border-radius: 2px;
  background: linear-gradient(90deg, #2158D8 0%, #2517C5 100%);
}

.company-card>p {
  margin: 0;
  text-align: center;
  font-size: 30px;
  color: #1A0B6B;
  line-height: 1.42;
  font-weight: 500;
}

.company-card>p strong {
  color: #2158D8;
  font-weight: 500;
}

.company-features {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 22px;
}

.company-features>div {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 8px;
  padding: 0 10px;
}

.company-features>div+div {
  border-left: 1px solid #cfd7f4;
}

.company-icon {
  min-height: 30px;
  display: grid;
  place-items: center;
}

.company-features span:last-child {
  font-size: 14px;
  line-height: 1.35;
}

.awards-panel {
  margin-top: 25px;
  padding: 30px 20px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  border: 1.5px solid #F8801E;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0px 14px 14px 0px #F8801E1A;
}
.awards-panel .award-item:not(:last-child) {
    border-right: 1px solid #6C3ED0;
    padding-right: 6px;
    margin-right: 6px;
}
.award-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.award-logo {
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #f9f9f9;
  color: #111;
  text-align: center;
}

.text-logo {
  font-size: 22px;
}

.serif-logo {
  font-size: 15px;
  line-height: .9;
  font-weight: 700;
}

.serif-logo small {
  font-size: 11px;
  letter-spacing: 1px;
}

.asia-logo {
  width: 76px;
  height: 76px;
  justify-self: center;
  border-radius: 50%;
  background: #ff6508;
  color: #111;
  font-size: 22px;
  line-height: .8;
  font-weight: 800;
}

.award-item h4 {
  margin: 0 0 5px;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  color: #1A0B6B;
}

.award-item p {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: #595088;
}


@media (min-width: 901px) {
  .academy-card {
    transform: translateX(0px);
  }

  .genx-card {
    transform: translateX(4px);
  }

  .company-card {
    margin-top: -410px;
    min-width: min(100%, 419px);
    aspect-ratio: 1 / 1;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .academy-card::after {
    right: -118px;
    width: 360px;
    height: 104px;
  }

  .genx-card::before {
    left: -118px;
    width: 164px;
    height: 105px;
  }
}

@media (min-width:1299px) {

  .company-card::before,
  .academy-card::after,
  .genx-card::before {
    content: "";
    position: absolute;
    pointer-events: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  .company-card::before {
    top: -10px;
    left: 50%;
    width: 466px;
    aspect-ratio: 453 / 344;
    background-image: url(/wp-content/uploads/2026/08/outline-company.png);
    transform: translateX(-50%);
  }

  .academy-card::after {
    top: -34px;
    right: -122px;
    width: 417px;
    height: 141px;
    background-image: url(/wp-content/uploads/2026/08/outline-academy.png);
    z-index: 0;
  }

  .genx-card::before {
    top: -34px;
    left: -129px;
    width: 185px;
    height: 141px;
    background-image: url(/wp-content/uploads/2026/08/outline-genx.png);
  }

  .program-card.genx-card {
    margin-left: auto;
  }
}


@media (max-width: 1200px) and (min-width: 901px) {
  .ecosystem-grid {
    grid-template-columns: minmax(280px, 1fr) minmax(370px, .95fr) minmax(280px, 1fr);
    gap: 26px;
  }

  .company-card {
    width: min(100%, 410px);
    padding: 55px 44px 45px;
  }

  .company-card>p {
    font-size: 25px;
  }

  .program-title-wrap h3 {
    font-size: 23px;
  }

  .pill {
    font-size: 14px;
    min-height: 36px;
  }

  .program-card {
    padding-inline: 22px;
  }

  

  .award-item {
    grid-template-columns: 72px 1fr;
    gap: 10px;
  }

  .award-logo {
    height: 76px;
  }

}

@media (max-width:1530px) {
  .program-title-wrap h3 {
    font-size: 23px;
  }

  .company-card {
    position: relative;
    z-index: 3;
  }
}

@media (max-width:1540px) {
  .academy-card::after {
    right: -134px;
    width: 489px;
    height: 138px;

  }

  .genx-card::before {
    top: -31px;
    left: -141px;
    width: 236px;
    height: 134px;
  }
}

@media (max-width:1399px) {
  .academy-card::after {
    right: -118px;
    width: 429px;
  }

  .genx-card::before {
    top: -31px;
    left: -141px;
    width: 256px;
  }
}

@media (max-width: 1024px) {

  .awards-panel .award-item:not(:last-child){
    border: 0px;
    padding: 0px;
    margin-right: 0px;
  }
  .ecosystem {
    max-width: 430px;
    margin-top: 20px;
    padding: 0px 16px 0px;
    background: transparent;
  }

  .ecosystem-grid {
    display: flex;
    flex-direction: column;
    gap: 34px;
  }

  .company-card {
    order: 1;
    width: calc(100% - 20px);
    min-width: auto;
    aspect-ratio: auto;
    margin-top: 0px;
    min-height: 366px;
    border: 2px solid transparent;
    border-radius: 16px;

    background:
      linear-gradient(#fff, #fff) padding-box,
      linear-gradient(180deg,
        #D7D7D7 6.51%,
        #6639D0 92.26%) border-box;
    border-radius: 16px;
    padding: 38px 28px 34px;
  }

  .company-logo {
    width: 50px;
    height: 50px;
    margin-bottom: 17px;
  }

  .company-card h3 {
    font-size: 24px;
  }

  .company-underline {
    margin: 16px 0 20px;
    height: 3px;
    width: 57px;
  }

  .company-card>p {
    font-size: 25px;
    line-height: 1.4;
  }
  .popular-awards-wrapper h2 {
      font-size: 30px;
  }
  .company-features {
    margin-top: 28px;
  }

  .company-features span:last-child {
    font-size: 12px;
  }

  .program-card {
    width: 100%;
    min-height: 448px;
    padding: 18px 30px 26px;
    border-radius: 16px;
    box-shadow: 0 10px 22px rgba(21, 30, 84, 0.08);
  }

  .academy-card {
    order: 2;
  }

  .genx-card {
    order: 3;
  }

  .program-badge {
    width: 92px;
    height: 92px;
    margin: -2px auto 12px;
    transform: translateY(-2px);
  }

  .icon-shape {
    font-size: 39px;
  }

  .program-head {
    width: fit-content;
    margin: 0 auto;
    grid-template-columns: 54px 1fr;
    gap: 12px;
  }

  .program-number {
    font-size: 27px;
    padding-right: 10px;
    display: flex;
    height: 100%;
    align-items: center;
  }

  .program-title-wrap {
    display: grid;
    gap: 8px;
  }

  .program-number .program-title-wrap h3 {
    font-size: 17px;
  }

  .pill {
    width: fit-content;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 5px;
    font-size: 12px;
  }

  .rule {
    margin: 17px 0 13px;
  }

  .program-copy {
    font-size: 13px;
    line-height: 1.85;
    max-width: 315px;
  }

  .desktop-copy {
    display: none;
  }

  .mobile-copy {
    display: block;
  }

  .feature-grid {
    margin-top: 24px;
  }

  .feature-item {
    padding: 0 9px;
  }

  .feature-icon {
    width: 44px;
    height: 44px;
    font-size: 34px;
    margin-bottom: 7px;
  }

  .feature-item span:last-child {
    font-size: 11px;
    line-height: 1.35;
  }

  .academy-card,
  .genx-card,
  .awards-panel {
    position: relative;
  }


  .academy-card::before,
  .genx-card::before,
  .awards-panel::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -35px;
    width: 1.5px;
    height: 35px;
    background: currentColor;
    transform: translateX(-50%);
  }

  .academy-card::after,
  .genx-card::after,
  .awards-panel::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -5px;
    width: 10px;
    height: 10px;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
  }

  .awards-panel {
    color: var(--orange);
    margin-top: 18px;
    padding: 24px 16px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    border-radius: 16px;
    box-shadow: 0 12px 24px rgba(255, 121, 45, .10);
  }

  .awards-panel::before {
    background: orange;
    display: none;
  }

  .awards-panel::after {
    border-color: orange;
    display: none;
  }

  .award-item {
    grid-template-columns: 88px 1fr;
    gap: 13px;
    min-height: 92px;
    color: var(--ink);
  }

  .company-card::after {
    width: calc(100% + 20px);
    border-radius: 16px;
    height: calc(100% + 20px);
    top: -10px;
    left: -12px;
  }

  .award-logo {
    height: 86px;
  }

  .asia-logo {
    width: 68px;
    height: 68px;
  }

  .award-item h4 {
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 4px;
  }

  .award-item p {
    font-size: 12px;
  }
}

@media (max-width:991px) {
  .program-title-wrap h3 {
    font-size: 20px;
  }
}

@media (max-width: 370px) {
  .program-card {
    padding-inline: 20px;
  }

  .program-copy {
    font-size: 12px;
  }

  .award-item {
    grid-template-columns: 76px 1fr;
  }

  .award-logo {
    height: 74px;
  }
}

/* diagram section end */