    .benefits p {
      color: #0d0d0d;
    }

    .benefits h4 {
      color: #25593B;
      font-size: 1.25rem;
    }

    .benefits img {
      height: 5.5rem;
      border-radius: 1rem;
      box-shadow: 0px 0px 25px -10px #0d0d0d;
      padding: 0.75rem;
      margin-bottom: 1rem;
      aspect-ratio: 1 / 1;
    }

    .benefits {
      text-align: center;
      padding-top: 1rem;
    }


    .benefits .container {
      padding: 0px;
    }

    h2 {
      margin: auto;
      color: #25593B;
      margin-bottom: 1.25rem;
    }

    .row {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
    }

    .core h2, .core p, .core h3, .core h4, .core a {
      color: #fff;
    }

    .core h2 {
      text-align: center;
      margin-bottom: 0.5rem;
    }

    .core h3 {
      border-radius: 1rem;
      box-shadow: 0px 0px 25px -10px #0d0d0d;
      padding: 1rem;
      background-color: #88D18A;
      text-align: center;
    }

    .csabtn2 {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: center;
      border-radius: 1rem;
      border: 4px solid #88D18A;
      padding: 0.5rem 1rem;
      cursor: pointer;
      color: #fff;
      font-weight: 700;
      font-size: 1.25rem;
      height: 95%;
      text-align: center;
      width: 100%;
    }

    .csabtn2:hover {
      background-color: #88D18A;
      text-decoration: none;
      color: #fff !important;
      box-shadow: 0px 0px 25px -10px #0d0d0d;
    }

    .core img {
      background-color: #fff;
      height: 5rem;
      border-radius: 1rem;
      box-shadow: 0px 0px 25px -10px #0d0d0d;
      padding: 0.75rem;
      aspect-ratio: 1 / 1;
    }

    .core .col-1-5, .core .col-6-5, .core .col, .core .col-md-4, .core2 .col-1-5, .core2 .col-6-5, .core2 .col, .core2 .col-md-4 {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: center;
    }

    .core p, .core h4 {
      margin-bottom: 0;
    }

    .col-1-5 {
      flex: 0 0 12.5%;
      max-width: 12.5%;
      position: relative;
      width: 100%;
      padding-right: 15px;
      padding-left: 15px;
    }

    .col-6-5 {
      flex: 0 0 54%;
      max-width: 54%;
      position: relative;
      width: 100%;
      padding-right: 15px;
      padding-left: 15px;
    }

    .csabtn1 {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: center;
      border-radius: 1rem;
      background-color: #67a970;
      padding: 0.75rem 1rem;
      cursor: pointer;
      color: #fff !important;
      font-weight: 700;
      font-size: 1.25rem;
      text-align: center;
      height: 100%;
      width: 100%;
    }

    .csabtn1:hover {
      text-decoration: none;
      color: #fff;
      box-shadow: 0px 0px 25px -10px #0d0d0d;
    }

    .who .col {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: center;
      border-radius: 1rem;
      box-shadow: 0px 0px 25px -10px #0d0d0d;
      padding: 1rem;
      background-color: #88D18A;
      margin: 1rem 2rem;
    }

    .who ul {
      text-align: left;
      margin-bottom: 0;
    }

    .who .row {
      align-content: center;
      justify-content: center;
    }

    .who p {
      margin-bottom: 0;
    }

    .outline {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: center;
      border-radius: 1rem;
      border: 4px solid #88D18A;
      padding: 1.5rem;
      color: #fff;
      margin: 1rem;
      text-align: center;
    }

    .raised {
      border-radius: 1rem;
      box-shadow: 0px 0px 25px -10px #0d0d0d;
      padding: 2rem;
      color: #0d0d0d;
    }

    .raised .col-md-4, .raised .col-md-3 {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: center;
    }

  .raised .col-md-8, .raised .col-md-9 {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: center;
  }

    .raised .col-md-12 {
      text-align: center;
    }

    .raised .col-md-12 p {
      margin-bottom: 0;
    }

    .raised a, .exemption a {
      color: #67A970;
    }

    .raised h4, .exemption h3, .pricing h3, .pricing h4 {
      color: #25593B;
    }

    .exemption h4 {
      color: #88D18A;
      font-weight: 500;
    }

    .exemption p {
      color: #0d0d0d;
      margin-bottom:0;
      text-align: center;
    }

    .exemption .col-md-8 p, .exemption .col-6-5 p, .exemption .col-md-7 p {
      text-align: left;
    }

    .exemption h4, .exemption h2, .exemption h3, .pricing h3, .pricing h4 {
      text-align: center;
      margin-bottom: 0.5rem;
    }

    .outline2 {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: center;
      border-radius: 1rem;
      border: 4px solid #88D18A;
      padding: 0.5rem 1rem;
      cursor: pointer;
      width: 100%;
      margin: 0.5rem 1rem;
    }

    .outline2 h4 {
      color: #25593B;
      margin-bottom:0;
    }

  .htext {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, padding-top 0.4s ease-in-out;
    text-align: center;
  }

  .outline2:hover .htext {
    max-height: 1000px; 
    padding-top: 0.5rem;
  }

  .outline2:hover {
    box-shadow: 0px 0px 25px -10px #0d0d0d;
  }

  .outcomes h2 {
    margin-bottom: 0;
  }

  .outcomes h5, .outcomes p {
    text-align: left;
  }

  .outcomes h5 {
    font-size: 1.15rem; 
  }

  .outcomes .col-md-12 p {
    margin-bottom: 1rem;
  }

  .outcomes2 {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    transition: max-height 0.4s ease-in-out;
  }

  .outcomes:hover .outcomes2 {
    max-height: 1000px; 
  }

  .core2 img {
      height: 5rem;
      padding: 0.5rem 0rem;
      aspect-ratio: 1 / 1;
    }

  .exemption h5 {
      color: #25593B;
      font-weight: 500;
      text-align: left;
    }

  .core2 .col-md-5, .core2 .col-md-7 {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: center;
  }

 .exemption .col-md-5 a {
    color: #25593B;
 }

 .csa .media-body h1 {
  color: #fff;
}

  .expand {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, padding-top 0.4s ease-in-out;
  }

  .trigger:hover .expand {
    max-height: 1500px; 
    padding-top: 0.5rem;
  }

  .pricing a, .pricing th, .pricing .js-price {
    color: #25593B;
  }

  .pricing p, .pricing a {
    font-weight: 600;
    margin-bottom: 0px;
  }

  .pricing h5 {
    margin: 7px auto;
    text-align: center;
  }

  .pricing table {
    border-collapse: collapse;
    margin: auto;
  }

  .pricing th {
    background-color: #25593B;
    color: #fff;
    border: 2px solid #88D18A;
  }

  .pricing td {
    border: 2px solid #88D18A;
    text-align: center;
  }

  .pricing tr:first-child th {
    border-top: 3px solid #25593B;
  }

  .pricing tr:last-child td, 
  .pricing tr:nth-child(15) td:last-child,
  .pricing tr:nth-child(7),
  .pricing tr:nth-child(13) {
    border-bottom: 3px solid #25593B;
  }

  .pricing tr th:first-child,
  .pricing tr td:first-child {
    border-left: 3px solid #25593B;
  }

  .pricing tr th:last-child,
  .pricing tr td:nth-child(2) {
    border-right: 3px solid #25593B;
  }

@media screen and (max-width: 1000px) {

.core .row, .who .row {
    flex-direction: column;
  align-items: center;
}
  .core .col, .core .col-5, .core .col-6-5, .core2 .col, .core2 .col-5, .core2 .col-6-5 {
    max-width: 100%;
  }

  .core, .core2 {
    text-align: center;
  }

 .core2 h5, .core2 .col-md-7 p {
   text-align: center;
 }

  .core .col, .core2 .col {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  .core .col-5, .core2 .col-5 {
    margin-top: -2rem;
    margin-bottom: -2rem;
  }

  .core .col-md-4 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  #courseImage {
    width: 35%;
    margin-bottom: 2rem;
  }
}

/* =========================================================
   CSA PATHWAY FINDER
   ========================================================= */

/* ---------- Section ---------- */

.csa-pathway {
  width: 100%;
  max-width: 850px;
  margin: 1.5rem auto 2rem auto;
  text-align: center;
}

.csa-pathway .pathway-kicker {
  margin-bottom: 0.5rem;
  color: #67A970;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.csa-pathway .pathway-title {
  margin-bottom: 0.75rem;
  color: #25593B;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

.csa-pathway .pathway-copy {
  max-width: 650px;
  margin: 0 auto 1.5rem auto;
  color: #0d0d0d;
  font-size: 1rem;
  line-height: 1.6;
}


/* ---------- Initial CTA ---------- */

.csa-pathway .launch-area {
  min-height: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.csa-pathway .quiz-launch {
  border: 0;
  border-radius: 1rem;
  background-color: #67A970;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  text-align: center;
  transition:
    background-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out,
    transform 0.2s ease-in-out,
    opacity 0.2s ease-in-out;
}

.csa-pathway .quiz-launch:hover {
  background-color: #25593B;
  color: #fff;
  box-shadow: 0px 0px 25px -10px #0d0d0d;
  transform: translateY(-1px);
}

.csa-pathway .quiz-launch:focus-visible {
  outline: 3px solid rgba(136, 209, 138, 0.5);
  outline-offset: 3px;
}

.csa-pathway .quiz-launch.is-leaving {
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
}

.csa-pathway .launch-note {
  margin-top: 0.6rem;
  margin-bottom: 0;
  color: #6f776f;
  font-size: 0.85rem;
  transition: opacity 0.2s ease-in-out;
}

.csa-pathway .launch-note.is-leaving {
  opacity: 0;
}

/* ---------- Quiz expansion ---------- */

.csa-pathway .quiz-stage {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  margin-top: 0;
  transition:
    grid-template-rows 0.4s ease-in-out,
    opacity 0.3s ease-in-out,
    margin-top 0.4s ease-in-out;
}

.csa-pathway .quiz-stage.open {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 0.5rem;
}

.csa-pathway .quiz-stage-inner {
  overflow: hidden;
}


/* ---------- Progress ---------- */

.csa-pathway .quiz-progress-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 2rem auto;
}

.csa-pathway .quiz-step {
  min-width: 4.5rem;
  color: #6f776f;
  font-size: 0.8rem;
  font-weight: 700;
  text-align: left;
}

.csa-pathway .quiz-progress {
  flex: 1;
  height: 4px;
  overflow: hidden;
  border-radius: 1rem;
  background-color: #e4e9e5;
}

.csa-pathway .quiz-progress span {
  display: block;
  width: 33.333%;
  height: 100%;
  border-radius: 1rem;
  background-color: #67A970;
  transition: width 0.3s ease-in-out;
}

/* ---------- Questions ---------- */

.csa-pathway .question-wrap {
  width: 100%;
  max-width: 700px;
  margin: auto;
  text-align: left;
}

.csa-pathway .question {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.2s ease-in-out,
    transform 0.2s ease-in-out;
}

.csa-pathway .question.entering {
  opacity: 0;
  transform: translateY(8px);
}

.csa-pathway .question.leaving {
  opacity: 0;
  transform: translateY(-8px);
}

.csa-pathway .question-number {
  margin-bottom: 0.4rem;
  color: #67A970;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.csa-pathway .question h3 {
  margin-bottom: 1.25rem;
  color: #25593B;
  font-size: 1.6rem;
  line-height: 1.35;
}

/* ---------- Answers ---------- */

.csa-pathway .answers {
  border-top: 1px solid #dfe6e0;
}

.csa-pathway .answer {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  width: 100%;
  min-height: 4rem;
  padding: 1rem 0.25rem;
  border: 0;
  border-bottom: 1px solid #dfe6e0;
  background-color: transparent;
  color: #0d0d0d;
  text-align: left;
  cursor: pointer;
  transition:
    background-color 0.2s ease-in-out,
    padding-left 0.2s ease-in-out,
    color 0.2s ease-in-out;
}

.csa-pathway .answer:hover {
  padding-left: 0.6rem;
  background-color: rgba(136, 209, 138, 0.1);
  color: #25593B;
}

.csa-pathway .answer:focus-visible {
  outline: 2px solid #67A970;
  outline-offset: -2px;
}

.csa-pathway .answer-dot {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  border: 2px solid #a9b5ab;
  border-radius: 50%;
  background-color: #fff;
  transition:
    border-color 0.2s ease-in-out,
    background-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out;
}

.csa-pathway .answer.selected {
  color: #25593B;
}

.csa-pathway .answer.selected .answer-dot {
  border-color: #67A970;
  background-color: #67A970;
  box-shadow: inset 0 0 0 4px #fff;
}

/* ---------- Between-question reassurance ---------- */

.csa-pathway .quiz-reassurance {
  min-height: 1.5rem;
  margin: 1rem 0 0 0;
  color: #6f776f;
  font-size: 0.85rem;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 0.2s ease-in-out,
    transform 0.2s ease-in-out;
}

.csa-pathway .quiz-reassurance.show {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- Back ---------- */

.csa-pathway .quiz-nav {
  display: flex;
  justify-content: flex-start;
  margin-top: 0.5rem;
}

.csa-pathway .back {
  border: 0;
  background-color: transparent;
  padding: 0.5rem 0;
  color: #67A970;
  font-weight: 700;
  cursor: pointer;
}

.csa-pathway .back:hover {
  color: #25593B;
  text-decoration: underline;
}

.csa-pathway .back[hidden] {
  display: none;
}

/* =========================================================
   RESULT
   ========================================================= */

.csa-pathway .result {
  opacity: 0;
  transform: translateY(8px);
  animation: csaPathwayResultIn 0.35s ease-in-out forwards;
}

.csa-pathway .result-label {
  color: #67A970;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.csa-pathway .result h3 {
  margin: 0.5rem 0 0.75rem 0;
  color: #25593B;
  font-size: 1.9rem;
  line-height: 1.25;
}

.csa-pathway .result-summary {
  margin-bottom: 0;
  color: #0d0d0d;
  font-size: 1rem;
  line-height: 1.65;
}

/* ---------- Connected Core Module pathway ---------- */

.csa-pathway .path-visual {
  margin: 2rem 0 1.5rem 0;
  padding: 0.25rem 0;
}

.csa-pathway .path-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: start;
  gap: 0.75rem;
}

/*
  Connecting line runs behind the square modules.
*/
.csa-pathway .path-line::before {
  content: "";
  position: absolute;
  top: 2.5rem;
  left: 10%;
  right: 10%;
  height: 3px;
  background-color: #88D18A;
  z-index: 0;
}

.csa-pathway .module {
  position: relative;
  z-index: 1;
  text-align: center;
}

.csa-pathway .module-node {
  width: 6rem;
  height: 5rem;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border: 3px solid #88D18A;
  border-radius: 0.35rem;
  background-color: #fff;

  transition:
    background-color 0.2s ease-in-out,
    border-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out,
    transform 0.2s ease-in-out;
}

.csa-pathway .module-code {
  display: block;
  color: #25593B;
  font-size: 0.9rem;
  font-weight: 700;
}

.csa-pathway .module-status {
  display: block;
  margin-top: 0.3rem;
  color: #6f776f;
  font-size: 0.65rem;
  line-height: 1.15;
}


/* Modules likely already covered */

.csa-pathway .module.csa-complete .module-node {
  border-color: #88D18A;
  background-color: #f2faf3;
}

.csa-pathway .module.csa-complete .module-code {
  color: #25593B;
}

.csa-pathway .module.csa-complete .module-status {
  color: #67A970;
}

/* Recommended module */

.csa-pathway .module.csa-start .module-node {
  border-color: #25593B;
  background-color: #67A970;
  box-shadow: 0px 0px 25px -10px #0d0d0d;
  transform: translateY(-3px);
}

.csa-pathway .module.csa-start .module-code,
.csa-pathway .module.csa-start .module-status {
  color: #fff;
}

/* ---------- Recommendation text ---------- */

.csa-pathway .result-path-copy {
  margin: 0;
  padding: 1rem 0;
  border-top: 1px solid #dfe6e0;
  border-bottom: 1px solid #dfe6e0;
  color: #0d0d0d;
  line-height: 1.6;
}

/* ---------- Result CTAs ---------- */

.csa-pathway .result-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.25rem;
  margin-top: 1.5rem;
}

.csa-pathway .result-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background-color: #67A970;
  padding: 0.75rem 1.25rem;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  transition:
    background-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out,
    transform 0.2s ease-in-out;
}

.csa-pathway .result-primary:hover {
  background-color: #25593B;
  color: #fff !important;
  text-decoration: none;
  box-shadow: 0px 0px 25px -10px #0d0d0d;
  transform: translateY(-1px);
}

.csa-pathway .result-secondary {
  color: #67A970;
  font-weight: 700;
  text-decoration: none;
}

.csa-pathway .result-secondary:hover {
  color: #25593B;
  text-decoration: underline;
}

.csa-pathway .result-tertiary {
  width: 100%;
  margin-top: 0;
  color: #6f776f;
  font-size: 0.9rem;
  line-height: 1.5;
}

.csa-pathway .result-tertiary a {
  color: #67A970;
  font-weight: 700;
}

.csa-pathway .result-tertiary a:hover {
  color: #25593B;
}


/* ---------- Disclaimer / Restart ---------- */

.csa-pathway .fine-print {
  margin: 1.1rem 0 0 0;
  color: #777;
  font-size: 0.8rem;
  line-height: 1.5;
}

.csa-pathway .restart {
  margin-top: 0.75rem;
  border: 0;
  background-color: transparent;
  padding: 0.4rem 0;
  color: #67A970;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
}

.csa-pathway .restart:hover {
  color: #25593B;
  text-decoration: underline;
}

/* ---------- Animation ---------- */

@keyframes csaPathwayResultIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 1000px) {

  .csa-pathway {
    max-width: 750px;
  }

}


@media screen and (max-width: 700px) {

  .csa-pathway {
    margin-top: 1.75rem;
  }

  .csa-pathway .pathway-title {
    font-size: 1.75rem;
  }

  .csa-pathway .question h3 {
    font-size: 1.35rem;
  }

  .csa-pathway .quiz-progress-row {
    margin-bottom: 1.5rem;
  }

  .csa-pathway .path-line {
    gap: 0.3rem;
  }

  .csa-pathway .path-line::before {
    top: 2rem;
    left: 9%;
    right: 9%;
  }

  .csa-pathway .module-node {
    width: 4rem;
    height: 4rem;
    border-width: 2px;
  }

  .csa-pathway .module-code {
    font-size: 0.75rem;
  }

  .csa-pathway .module-status {
    font-size: 0.56rem;
  }

  .csa-pathway .result-actions {
    flex-direction: column;
    align-items: flex-start;
  }

}


@media screen and (max-width: 430px) {

  .csa-pathway .path-line {
    gap: 0.2rem;
  }

  .csa-pathway .path-line::before {
    top: 1.75rem;
  }

  .csa-pathway .module-node {
    width: 3.5rem;
    height: 3.5rem;
    padding: 0.25rem;
  }

  .csa-pathway .module-code {
    font-size: 0.7rem;
  }

  .csa-pathway .module-status {
    font-size: 0.5rem;
  }

}


/* ---------- Accessibility ---------- */

@media (prefers-reduced-motion: reduce) {

  .csa-pathway *,
  .csa-pathway *::before,
  .csa-pathway *::after {
    transition: none !important;
    animation: none !important;
  }

}

html {
  scroll-behavior: smooth;
}
