.sponsor-container {
  max-width: 1920px;
}

.container {
  max-width: 1440px;
  margin: 0 auto;
  padding: unset !important;
}

.section.problem-section {
  position: relative;
  margin: auto;
}

.section-title {
  text-align: center;
  font-size: 2.5em;
  font-weight: 900;
  color: #D31F18;
}

section.problem-section p,
.description {
  padding: 1rem 10rem;
  text-align: center;
  font-family: 'Avenir Next';
  font-size: 1.5em;
  font-weight: 500;
}

section .ps-cards {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 3em;
}

section .ps-cards .ps-card {
  padding: 1.5rem;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.4em;
  border-radius: 0.5rem;
  background-color: #FFF0D0;
  border: none;
}

section .ps-cards .ps-card h5 {
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1.5em;
  text-align: center;
}

section .ps-cards .ps-card p {
  padding: unset;
  margin-bottom: 0px;
  font-size: 18px;
  font-weight: 400;
}

.about-program-section .card {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.about-program-section .card-header {
  background-color: #D31F18;
  padding: 0.5rem 0;
  text-align: center;
}

.about-program-section .card-header h3,
.card-header h3,
.criteria-card .criteria-header h3,
.step-card .step-header h3 {
  text-align: center;
  font-size: 2em;
  font-weight: 700;
  color: white;
}

.about-program-section .card-body,
.program-fees-section .fees-card-body {
  padding: 1rem;
}

.about-program-section .highlight-list,
.program-fees-section .fees-sponsor-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.about-program-section .highlight-list li,
.program-fees-section .fees-sponsor-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.about-program-section .highlight-list li .icon,
.program-fees-section .fees-sponsor-list li .icon {
  color: #D31F18;
  font-size: 1.5rem;
  margin-right: 0.75rem;
  line-height: 1;
}

.about-program-section .highlight-list p,
.program-fees-section .fees-sponsor-list p {
  margin: 0;
  font-size: 1.25rem;
  color: #1a1a1a;
}

/* .eligibility-section {
  background-color: white;
} */

.criteria-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 3rem;
}

.eligibility-selection {
  background: linear-gradient(#FFE3E2, transparent);
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}

.criteria-card,
.step-card {
  border: 2px solid #D31F18;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  border-radius: 8px;
}

.criteria-card .criteria-header,
.step-card .step-header {
  background: linear-gradient(97deg, #D31F18 0%, #6A100C 100%);
  padding: 1rem;
  text-align: center;
  color: white;
}

.criteria-card .icon-wrapper,
.step-card .icon-wrapper {
  width: 3.5rem;
  height: 3.5rem;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  margin-bottom: 1rem;
}

.criteria-card .icon-wrapper .icon,
.step-card .icon-wrapper .icon {
  height: 2.5rem;
  width: 2.5rem;
  color: white;
}

.criteria-card .criteria-content,
.step-card .step-content {
  padding: 1rem;
  text-align: center;
}

.criteria-card .criteria-content p,
.step-card .step-content p,
.success-zones .success-zones-content p,
.cancellation-card-text {
  font-size: 18px;
  font-weight: 400;
  text-align: center;
}

.expectations-cards {
  display: grid;
  gap: 2rem;
  align-items: stretch;
  justify-content: center;
}


.three-cols {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 2rem auto 0 auto;
}

.two-cols {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 48rem;
  margin: 3rem auto 0 auto;
}

.expectations-cards .card {
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background-color: white;
  width: 100%;
}

.expectations-cards .card-content {
  padding: 1rem;
  text-align: center;
}

.expectations-cards .icon {
  height: 2.5rem;
  width: 2.5rem;
  color: #D31F18;
  font-size: 1.5rem;
  margin: auto;
  margin-bottom: 0.75rem;
}

.expectations-section .card-title,
.cancellation-card-title {
  text-align: center;
  font-size: 1.75em;
  font-weight: 600;
  color: #1f2937;
}

.expectations-section .card-text {
  font-size: 18px;
  font-weight: 400;
}

.success-zones {
  background: linear-gradient(#FFE3E2, transparent);
}

.success-zones .bottom-description {
  padding: 0 10rem;
  text-align: center;
  font-family: 'Avenir Next';
  font-size: 1.5em;
  font-weight: 400;
}

.success-zones-cards {
  max-width: 1024px;
  margin: 2rem auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.success-card {
  border: 2px solid #e5e7eb;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

.success-zones-content {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.range {
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
}

.title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.bg-success {
  background-color: #16a34a;
}

.bg-warning {
  background-color: #facc15;
}

.bg-danger {
  background-color: #dc2626;
}

.text-white {
  color: white;
}

.text-dark {
  color: #000000;
}

.cancellation-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin: 2rem auto;
}

.cancellation-card {
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
  border-radius: 0.5rem;
  text-align: center;
}

.cancellation-card-icon {
  margin-bottom: 1rem;
}

.cancellation-icon {
  width: 2.5rem;
  height: 2.5rem;
}

.danger {
  color: #dc2626;
}

.special-considerations,
.financial-transparency {
  border-radius: 0.5rem;
  padding: 2rem 0 0;
  text-align: center;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  color: #1f2937;
}

.special-title,
.transparency-title {
  font-size: 1.75rem;
  font-weight: bold;
  color: #1f2937;
  margin-bottom: 1rem;
}

.special-text,
.transparency-text {
  font-size: 18px;
  font-weight: 400;
}

.program-fees-section {
  background: linear-gradient(#FFE3E2, transparent);
}

.program-fees-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin: 2rem auto;
  max-width: 1024px;
}

.program-fees-card {
  text-align: center;
  background-color: #fff;
  border-radius: 0.5rem;
  border: 2px solid #D31F18;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  border-radius: 8px;
}

.program-fees-card:last-child {
  border: 2px solid #E5E7EB;
}

.fees-fully-sponsored-header,
.student-contributon-header {
  background: linear-gradient(97deg, #D31F18 0%, #6A100C 100%);
  padding: 1rem;
  text-align: center;
  color: white;
}

.student-contributon-header {
  background: #E5E7EB;
}

.fees-fully-sponsored-header h3,
.student-contributon-header h3 {
  text-align: center;
  font-size: 2em;
  font-weight: 700;
  color: white;
}

.student-contributon-header h3 {
  color: #1f2937;
}


.program-fees-card .fees-card-body {
  padding: 2rem;
}

.program-fees-card .card-body .amount {
  font-size: 1.775rem;
  font-weight: bold;
  text-align: center;
  color: #1F2937;
}

.program-fees-card .card-body .details {
  font-size: 1rem;
  text-align: center;
  color: #1F2937;
}

.program-fees-card .note-line {
  border-top: 1px solid #E5E7EB;
  margin: 1rem 0;
}

.program-fees-card .note .note-text {
  font-size: 18px;
  font-weight: 400;
  text-align: start;
  color: #1F2937;
}

.sponsor-container p {
  margin-bottom: 0 !important;
}

.program-fees-section .financial-transparency {
  background-color: #FFFFFF;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
  padding: 2rem 2.75rem;
}

.about-cq,
.about-school-section {
  max-width: 1200px;
  margin: auto;
}

.content-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.mission,
.impact {
  flex: 1 1 48%;
}

.mission-heading {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2rem;
  margin-bottom: 1rem;
}

.content-wrapper .mission p {
  font-family: 'Avenir Next';
  font-size: 1.2rem;
  font-weight: 400;
  padding-bottom: 1rem;
}

.impact-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem;
}

.impact-heading {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

.impact-item p {
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-bottom: 0.25rem;
}

.impact-item {
  text-align: center;
}

.metric {
  font-size: 2.25rem;
  line-height: 2.5rem;
  margin-bottom: 0.5rem;
  font-weight: 700;
  color: #D31F18;
  margin-bottom: 0.5rem;
}

.impact-footer {
  margin-top: 2rem;
  font-weight: 600;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.school-content {
  background-color: white;
  border-radius: 0.75rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  overflow: hidden;
}

.school-content .school-header {
  background-color: #D31F18;
  padding: 1.5rem;
  text-align: center;
  color: white;
}

.school-content .school-header .school-title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
}

.school-content .school-header .school-subtitle {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-top: 0.5rem;
}

.school-body {
  flex: 1 1 48%;
  background-color: #fff;
  padding: 2rem;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

.school-body .school-description {
  line-height: 1.75rem;
  font-size: 1.2rem;
  padding-bottom: 1.2rem;
}

.about-school-section .features-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

.about-school-section .features-grid .feature-item {
  --tw-border-opacity: 1;
  border: 1px solid rgb(229 231 235 / var(--tw-border-opacity, 1));
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.about-school-section .features-grid .feature-item .feature-title {
  font-size: 1.35rem;
  line-height: 1.85rem;
  margin-bottom: 0.5rem;
}

.about-school-section .features-grid .feature-item {
  font-size: 1.15rem;
  line-height: 1.75rem;
}

.cta-section {
  background: linear-gradient(97deg, #D31F18 0%, #6A100C 100%);
  color: #fff;
}

.cta-section .container {
  max-width: 1024px;
  margin: auto;
}

.cta-section .cta-apply {
  gap: 30px 56px;
}

.cta-footer {
  font-size: 1.25rem;
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .criteria-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .success-zones-cards {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .cancellation-cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .program-fees-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-school-section .features-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 481px) and (max-width: 960px) {
  .cta-section .cta-apply {
    gap: 30px;
  }
}

@media screen and (min-width: 640px) and (max-width: 1200px) {
  .cta-section .cta-apply {
    gap: 4em;
    padding: 4em 2em !important;
  }
}

@media screen and (max-width: 768px) {
  section .ps-cards {
    flex-direction: column;
    align-items: center;
    gap: 3.2em;
    padding: 3em 0px;
    font-size: 1.4em;
  }

  section .ps-cards .ps-card:not(:last-child) {
    width: 100%;
    padding: 1.5rem;
    margin-bottom: 2rem;
  }

  section.problem-section p,
  .description {
    padding: 1rem 5rem;
  }


  .success-zones .bottom-description {
    padding: 1rem 5rem;
  }

  .steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* .three-cols {
    grid-template-columns: repeat(2, minmax(350px, 1fr));
    align-items: center;
  } */

  .two-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media screen and (max-width: 480px) {
  section.problem-section {
    padding: 4em 3em !important;
  }

  section .ps-cards {
    flex-direction: column;
    align-items: center;
    gap: 2em;
    padding: 1.5em 0px;
    font-size: 1.4em;
  }

  .section-title {
    position: relative;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    font-size: 3.2em;
    text-align: left;
  }

  section.problem-section p,
  .description {
    padding: 0.5rem 0px 0px;
    text-align: left;
    font-family: 'Avenir Next';
    font-size: 1.8em;
    font-weight: 600;
  }

  .special-considerations,
  .financial-transparency {
    text-align: start;
  }

  .three-cols {
    grid-template-columns: 1fr;
  }

  .two-cols {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .success-zones .bottom-description {
    padding: 0.5rem 0px 0px;
    font-weight: 400;
    text-align: start;
    font-size: 18px;
  }

  .criteria-grid {
    margin-top: unset;
  }

  .steps-grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .content-wrapper .mission p {
    font-size: 18px;
    padding-bottom: 1rem;
  }

  .school-body .school-description {
    font-size: 18px;
  }

  .sponsor-container p {
    font-size: 18px !important;
  }
}