/*
 * Original Design Specifications
 * Target: > 1800px
 * Test Resolution: 1920 x 1080
 */
:root {
  /* Hero Section */
  --home-hero-bottom-offset: 0;
  --home-hero-pre-title-display: block;
  --home-hero-pre-title-font-size: 3.5rem;
  --home-hero-title-font-size: 12rem;
  --home-hero-title-font-weight: 600;
  --home-hero-title-line-height: 1;
  --home-hero-title-max-width: 100rem;
  --home-hero-title-margin-y: 2rem;
  --home-hero-subtitle-max-width: 92rem;
  --home-hero-subtitle-font-size: 2.5rem;
  --home-hero-weave-ribbon-vertical: var(--theme-color-pastel-orange);
  --home-hero-weave-ribbon-horizontal: var(--theme-color-accent);
  --home-hero-weave-shadow: rgba(0, 0, 0, 0.14);
  --home-hero-weave-edge-fade-size: 30rem;
  --home-hero-spotlight-size: 14rem;
  --home-hero-spotlight-feather: 58%;
  --home-hero-endorsement-position: absolute;
  --home-hero-endorsement-top-offset: 0;
  --home-hero-section-endorsement-bottom-offset: 2.5rem;
  --home-hero-section-endorsement-gap: 1.5rem;
  --home-hero-section-endoresement-figure-flex-direction: column;
  --home-hero-section-endorsement-figure-width: 8rem;
  --home-hero-section-endorsement-figure-caption-font-size: 1rem;
  --home-hero-section-endorsement-figure-caption-line-height: 1.3;

  /* Team Snapshot Section */
  --home-team-snapshot-containers-flex-direction: row;
  --home-team-snapshot-member-container-width: 25%;
  --home-team-snapshot-member-container-height: 100%;
  --home-team-snapshot-member-dimensions: 16rem;
  --home-team-snapshot-member-border-radius: 1.4rem;
  --home-team-snapshot-container-max-height: none;

  /* Offsets and Positions in Team Snapshot Container */

  /* Container 1 */
  --home-team-snapshot-container-1-team-snapshot-member-initial-rotation: -6deg;
  --home-team-snapshot-container-1-team-snapshot-member-initial-left-offset: auto;
  --home-team-snapshot-container-1-team-snapshot-member-initial-right-offset: 0;
  --home-team-snapshot-container-1-team-snapshot-member-initial-top-offset: calc(
    50% - (var(--home-team-snapshot-member-dimensions) / 2)
  );
  --home-team-snapshot-container-1-team-snapshot-member-initial-bottom-offset: auto;

  /* Container 2 */
  --home-team-snapshot-container-2-team-snapshot-member-initial-rotation: 6deg;
  --home-team-snapshot-container-2-team-snapshot-member-initial-left-offset: 0;
  --home-team-snapshot-container-2-team-snapshot-member-initial-right-offset: auto;
  --home-team-snapshot-container-2-team-snapshot-member-initial-top-offset: calc(
    50% - (var(--home-team-snapshot-member-dimensions) / 2)
  );
  --home-team-snapshot-container-2-team-snapshot-member-initial-bottom-offset: auto;

  /* Translated Offsets for Each Team Member */
  --home-team-snapshot-member-1-x-offset: 0rem;
  --home-team-snapshot-member-1-y-offset: -18rem;

  --home-team-snapshot-member-2-x-offset: 3rem;
  --home-team-snapshot-member-2-y-offset: -30rem;

  --home-team-snapshot-member-3-x-offset: 0rem;
  --home-team-snapshot-member-3-y-offset: 30rem;

  /* News and Events Section */
  --home-news-and-events-padding-top: 12rem;
  --home-news-and-events-card-3-in-card-list-display: block;

  /* Path Visualisation and Program Features Section */
  --home-about-the-program-padding-top: 25rem;
  --home-about-the-program-padding-bottom: var(--layout-gap-basis);

  --home-program-feature-width: 40%;
  --home-program-feature-max-width: 50rem;

  --home-path-visualisation-padding-top: 30rem;
  --home-path-visualisation-path-width: 228rem;
  --home-path-visualisation-opacity: 1;

  --home-program-feature-group-flex-direction: row;
  --home-program-feature-group-top-position: absolute;

  --home-program-features-group-bottom-margin-top: 130rem;

  --home-program-feature-padding-x: 0;
  --home-program-feature-padding-y: 0;

  --home-program-feature-1-margin-left: 38rem;
  --home-program-feature-2-margin-top: 70rem;
  --home-program-feature-3-margin-top: 0;
  --home-program-feature-4-margin-top: 105rem;
  --home-program-feature-4-margin-right: 6rem;

  --home-program-feature-1-min-height: 0;
  --home-program-feature-2-min-height: 0;
  --home-program-feature-3-min-height: 0;
  --home-program-feature-4-min-height: 0;

  --home-program-feature-image-position: absolute;

  --home-program-feature-image-dimensions: 30rem;
  --home-program-feature-image-align-self: auto;

  --home-program-feature-image-1-x-offset: 50rem;
  --home-program-feature-image-1-y-offset: 15rem;

  --home-program-feature-image-2-x-offset: -10rem;
  --home-program-feature-image-2-y-offset: -50rem;

  --home-program-feature-image-3-x-offset: -22.5rem;
  --home-program-feature-image-3-y-offset: 92.5rem;

  --home-program-feature-heading-font-size: 5.6rem;
  --home-program-feature-heading-line-height: 1.2;
  --home-program-feature-heading-font-weight: 500;
  --home-program-feature-text-margin: 2.5rem 0 3.5rem;
  --home-program-feature-shadow: none;
}

/*
 * 2XL Media Query (1536px)
 * Target: 1799px > 1536px
 * Test Resolution: 1536 x 864
 */
@media screen and (max-width: 1799px) {
  :root {
    /* Hero Section */
    --home-hero-pre-title-font-size: 2rem;
    --home-hero-title-font-size: 8.5rem;
    --home-hero-title-margin-y: 1.5rem;
    --home-hero-title-max-width: 75rem;
    --home-hero-subtitle-max-width: 70rem;
    --home-hero-section-endorsement-figure-width: 6rem;
    --home-hero-subtitle-font-size: 2rem;
    --home-hero-spotlight-size: 12rem;

    /* News and Events Section */
    --home-news-and-events-padding-top: 9rem;

    /* Path Visualisation and Program Features Section */
    --home-about-the-program-padding-top: 15rem;
    --home-path-visualisation-path-width: 200rem;
    --home-program-feature-width: 30%;
    --home-program-feature-heading-font-size: 4rem;
    --home-program-feature-4-margin-top: 80rem;
    --home-program-feature-image-dimensions: 25rem;
    --home-program-feature-image-3-y-offset: 71rem;
  }
}

/*
 * XL Media Query (1280px)
 * Target: 1535px > 1280px
 * Test Resolution: 1280 x 720
 */
@media screen and (max-width: 1535px) {
  :root {
    /* Hero Section */
    --home-hero-section-endorsement-figure-width: 5rem;
    --home-hero-title-font-size: 7.5rem;
    --home-hero-subtitle-max-width: 67.5rem;
    --home-hero-subtitle-font-size: 1.8rem;

    /* Team Snapshot Section */
    --home-team-snapshot-member-dimensions: 14rem;

    /* Translated Offsets for Each Team Member */
    --home-team-snapshot-member-1-x-offset: 0rem;
    --home-team-snapshot-member-1-y-offset: -18rem;

    --home-team-snapshot-member-2-x-offset: 3rem;
    --home-team-snapshot-member-2-y-offset: -20rem;

    --home-team-snapshot-member-3-x-offset: 0rem;
    --home-team-snapshot-member-3-y-offset: 20rem;

    /* Path Visualisation and Program Features Section */
    --home-path-visualisation-path-width: 160rem;
    --home-program-feature-heading-font-size: 3rem;
    --home-program-feature-2-margin-top: 56rem;
    --home-program-features-group-bottom-margin-top: 105rem;
    --home-program-feature-4-margin-top: 70rem;
    --home-program-feature-image-dimensions: 20rem;
    --home-program-feature-image-1-x-offset: 35rem;
    --home-program-feature-image-1-y-offset: 18rem;
    --home-program-feature-image-2-x-offset: -8rem;
    --home-program-feature-image-2-y-offset: -40rem;
    --home-program-feature-image-3-y-offset: 62.5rem;
  }
}

/*
 * L Media Query (1024px)
 * Target: 1279px > 1024px
 * Test Resolution: 1024 x 768
 */
@media screen and (max-width: 1279px) {
  :root {
    /* Hero Section */
    --home-hero-title-max-width: 65rem;
    --home-hero-subtitle-max-width: 60rem;

    /* Team Snapshot Section */
    --home-team-snapshot-member-container-width: 27.5%;
    --home-team-snapshot-member-dimensions: 12rem;

    /* Path Visualisation and Program Features Section */
    --home-program-feature-shadow: 0 0 1.5rem var(--theme-color-shadow);
    --home-about-the-program-padding-top: 10rem;
    --home-path-visualisation-path-width: 140rem;
    --home-program-feature-text-margin: 2.5rem 0;
    --home-program-feature-2-margin-top: 53rem;
    --home-program-features-group-bottom-margin-top: 100rem;
    --home-program-feature-4-margin-top: 60rem;
    --home-program-feature-image-dimensions: 18rem;
    --home-program-feature-image-3-x-offset: -18rem;
    --home-program-feature-image-3-y-offset: 50rem;
  }
}

/*
 * M Media Query (768px)
 * Target: 1023px > 768px
 * Test Resolution: 768 x 1024
 */
@media screen and (max-width: 1023px) {
  :root {
    /* Hero Section */
    --home-hero-bottom-offset: var(--header-height);

    /* Team Snapshot Section */
    --home-team-snapshot-member-container-width: 26.5%;
    --home-team-snapshot-container-max-height: 70rem;
    --home-news-and-events-card-3-in-card-list-display: none;
    --home-team-snapshot-member-dimensions: 10rem;

    /* Path Visualisation and Program Features Section */
    --home-about-the-program-padding-top: 15rem;
    --home-about-the-program-padding-bottom: 0;
    --home-program-feature-text-margin: 2rem 0 2.5rem;
    --home-program-feature-width: 45%;
    --home-program-feature-max-width: 50rem;
    --home-path-visualisation-padding-top: 0;
    --home-path-visualisation-path-width: 100rem;
    --home-path-visualisation-opacity: 0.6;
    --home-program-feature-heading-font-size: 2.4rem;
    --home-program-feature-1-margin-left: 5rem;
    --home-program-feature-2-margin-top: 17rem;
    --home-program-feature-4-margin-top: 50rem;
    --home-program-features-group-bottom-margin-top: 45rem;
    --home-program-feature-image-dimensions: 14rem;
    --home-program-feature-image-1-x-offset: 22rem;
    --home-program-feature-image-1-y-offset: -10rem;
    --home-program-feature-image-2-x-offset: -12rem;
    --home-program-feature-image-2-y-offset: -17rem;
    --home-program-feature-image-3-x-offset: -18rem;
    --home-program-feature-image-3-y-offset: 41rem;
  }
}

/*
 * S Media Query (640px)
 * Target: < 767px
 * Test Resolution: 390 x 844
 */
@media screen and (max-width: 767px) {
  :root {
    /* Hero Section */
    --home-hero-pre-title-display: none;
    --home-hero-title-font-size: 3.6rem;
    --home-hero-subtitle-font-size: 1.4rem;
    --home-hero-spotlight-size: 9rem;
    --home-hero-endorsement-position: static;
    --home-hero-section-endorsement-gap: 1.5rem;
    --home-hero-section-endorsement-figure-width: 4rem;
    --home-hero-section-endorsement-figure-caption-font-size: 1rem;
    --home-hero-section-endorsement-figure-caption-line-height: 1.3;
    --home-hero-endorsement-top-offset: 2rem;
    --home-hero-section-endoresement-figure-flex-direction: row;
    --home-hero-section-endorsement-bottom-offset: 0;
    --home-hero-title-margin-y: 1.3rem;
    --home-hero-bottom-offset: calc(var(--header-height) / 2);

    /* Team Snapshot Section */
    --home-team-snapshot-member-dimensions: 8rem;
    --home-team-snapshot-member-container-width: 100%;
    --home-team-snapshot-member-container-height: 25vh;
    --home-team-snapshot-container-max-height: none;
    --home-team-snapshot-containers-flex-direction: column;

    /* Offsets and Positions in Team Snapshot Container */

    /* Container 1 */
    --home-team-snapshot-container-1-team-snapshot-member-initial-rotation: 0deg;
    --home-team-snapshot-container-1-team-snapshot-member-initial-left-offset: calc(
      50% - (var(--home-team-snapshot-member-dimensions) / 2)
    );
    --home-team-snapshot-container-1-team-snapshot-member-initial-right-offset: auto;
    --home-team-snapshot-container-1-team-snapshot-member-initial-top-offset: auto;
    --home-team-snapshot-container-1-team-snapshot-member-initial-bottom-offset: 0;

    /* Container 2 */
    --home-team-snapshot-container-2-team-snapshot-member-initial-rotation: 0deg;
    --home-team-snapshot-container-2-team-snapshot-member-initial-left-offset: calc(
      50% - (var(--home-team-snapshot-member-dimensions) / 2)
    );
    --home-team-snapshot-container-2-team-snapshot-member-initial-right-offset: auto;
    --home-team-snapshot-container-2-team-snapshot-member-initial-top-offset: 0;
    --home-team-snapshot-container-2-team-snapshot-member-initial-bottom-offset: auto;

    /* Translated Offsets for Each Team Member */
    --home-team-snapshot-member-1-x-offset: -10rem;
    --home-team-snapshot-member-1-y-offset: -4rem;

    --home-team-snapshot-member-2-x-offset: 10rem;
    --home-team-snapshot-member-2-y-offset: -44rem;

    --home-team-snapshot-member-3-x-offset: -8rem;
    --home-team-snapshot-member-3-y-offset: 0rem;

    /* News and Events Section */
    --home-news-and-events-card-3-in-card-list-display: block;

    /* Path Visualisation and Program Features Section */
    --home-about-the-program-padding-top: 0rem;
    --home-about-the-program-padding-bottom: 0rem;

    --home-path-visualisation-padding-top: 20rem;
    --home-path-visualisation-path-width: 175rem;

    --home-program-feature-group-top-position: static;
    --home-program-feature-group-flex-direction: column;

    --home-program-feature-width: none;
    --home-program-feature-max-width: none;

    --home-program-features-group-bottom-margin-top: 0;

    --home-program-feature-padding-x: 3rem;
    --home-program-feature-padding-y: 6rem;

    --home-program-feature-1-margin-left: 0rem;
    --home-program-feature-2-margin-top: 0rem;
    --home-program-feature-3-margin-top: 0rem;
    --home-program-feature-4-margin-top: 0rem;
    --home-program-feature-4-margin-right: 0rem;

    --home-program-feature-1-min-height: 30rem;
    --home-program-feature-2-min-height: 50rem;
    --home-program-feature-3-min-height: 50rem;
    --home-program-feature-4-min-height: 0rem;

    --home-program-feature-image-position: static;
    --home-program-feature-image-align-self: center;
    --home-program-feature-image-dimensions: 17rem;

    --home-program-feature-image-1-x-offset: 0rem;
    --home-program-feature-image-1-y-offset: 0rem;

    --home-program-feature-image-2-x-offset: 0rem;
    --home-program-feature-image-2-y-offset: 0rem;

    --home-program-feature-image-3-x-offset: 0rem;
    --home-program-feature-image-3-y-offset: 0rem;
  }
}

.home-hero {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  padding-top: 0;
  padding-bottom: var(--home-hero-bottom-offset);
  overflow: hidden;
  isolation: isolate;
  background-color: var(--theme-color-secondary);
}

.home-hero-weave {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease;
}

.home-hero.home-hero-weave-active .home-hero-weave {
  opacity: 1;
  visibility: visible;
}

.home-hero-weave-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.home-hero-weave-canvas::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      to right,
      var(--theme-color-secondary) 0,
      transparent var(--home-hero-weave-edge-fade-size),
      transparent calc(100% - var(--home-hero-weave-edge-fade-size)),
      var(--theme-color-secondary) 100%
    ),
    linear-gradient(
      to bottom,
      var(--theme-color-secondary) 0,
      transparent var(--home-hero-weave-edge-fade-size),
      transparent calc(100% - var(--home-hero-weave-edge-fade-size)),
      var(--theme-color-secondary) 100%
    );
}

.home-hero-weave-canvas > canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

.home-hero-spotlight-mask {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-color: var(--theme-color-secondary);
  mask-image: radial-gradient(circle 0px at 50% 50%, transparent 0%, black 0%);
  -webkit-mask-image: radial-gradient(
    circle 0px at 50% 50%,
    transparent 0%,
    black 0%
  );
}

.home-hero > :not(.home-hero-weave) {
  position: relative;
  z-index: 3;
}

.home-hero-pre-title {
  display: var(--home-hero-pre-title-display);
  font-size: var(--home-hero-pre-title-font-size);
}

.home-hero-title {
  text-align: center;
  font-family: var(--typography-header-font-family);
  font-size: var(--home-hero-title-font-size);
  font-weight: var(--home-hero-title-font-weight);
  line-height: var(--home-hero-title-line-height);
  max-width: var(--home-hero-title-max-width);
  margin: 0 0 var(--home-hero-title-margin-y) 0;
  color: var(--theme-color-primary-90);
}

.home-hero-subtitle {
  color: var(--theme-color-primary-70);
  text-align: center;
  max-width: var(--home-hero-subtitle-max-width);
  margin: var(--home-hero-title-margin-y) 0;
  font-size: var(--home-hero-subtitle-font-size);
}

.home-hero-cta-button {
  margin-top: var(--home-hero-title-margin-y);
}

.hero-section-endorsement {
  bottom: var(--home-hero-section-endorsement-bottom-offset);
  margin-top: var(--home-hero-endorsement-top-offset);
  right: 0;
}

.home-hero .hero-section-endorsement {
  position: var(--home-hero-endorsement-position);
}

.hero-section-endorsement-figure {
  display: flex;
  flex-direction: var(--home-hero-section-endoresement-figure-flex-direction);
  align-items: center;
  gap: var(--home-hero-section-endorsement-gap);
}

.hero-section-endorsement-figure-logo {
  display: block;
  width: var(--home-hero-section-endorsement-figure-width);
  height: auto;
  object-fit: contain;
}

.hero-section-endorsement-figure-caption {
  font-size: var(--home-hero-section-endorsement-figure-caption-font-size);
  line-height: var(--home-hero-section-endorsement-figure-caption-line-height);
  width: var(--home-hero-section-endorsement-figure-width);
  text-align: center;
}

.home-story-and-call-to-action {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.home-story-and-call-to-action-inner {
  position: relative;
  z-index: 1;
}

.team-snapshot-containers {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  display: flex;
  flex-direction: var(--home-team-snapshot-containers-flex-direction);
  justify-content: space-between;
  align-items: center;
}

.team-snapshot-container {
  position: relative;
  width: var(--home-team-snapshot-member-container-width);
  height: var(--home-team-snapshot-member-container-height);
  max-height: var(--home-team-snapshot-container-max-height);
}

.team-snapshot-member-container {
  position: absolute;
  top: calc(50% - (var(--home-team-snapshot-member-dimensions) / 2));
}

.team-snapshot-member {
  display: block;
  width: var(--home-team-snapshot-member-dimensions);
  height: var(--home-team-snapshot-member-dimensions);
  border-radius: var(--home-team-snapshot-member-border-radius);
  object-fit: cover;
}

.team-snapshot-container-1 .team-snapshot-member-container {
  left: var(
    --home-team-snapshot-container-1-team-snapshot-member-initial-left-offset
  );
  right: var(
    --home-team-snapshot-container-1-team-snapshot-member-initial-right-offset
  );
  top: var(
    --home-team-snapshot-container-1-team-snapshot-member-initial-top-offset
  );
  bottom: var(
    --home-team-snapshot-container-1-team-snapshot-member-initial-bottom-offset
  );
}

.team-snapshot-container-2 .team-snapshot-member-container {
  left: var(
    --home-team-snapshot-container-2-team-snapshot-member-initial-left-offset
  );
  right: var(
    --home-team-snapshot-container-2-team-snapshot-member-initial-right-offset
  );
  top: var(
    --home-team-snapshot-container-2-team-snapshot-member-initial-top-offset
  );
  bottom: var(
    --home-team-snapshot-container-2-team-snapshot-member-initial-bottom-offset
  );
}

.team-snapshot-container-1 .team-snapshot-member {
  transform: rotate(
    var(--home-team-snapshot-container-1-team-snapshot-member-initial-rotation)
  );
}

.team-snapshot-container-2 .team-snapshot-member {
  transform: rotate(
    var(--home-team-snapshot-container-2-team-snapshot-member-initial-rotation)
  );
}

.team-snapshot-member-container.team-member-1 {
  transform: translate(
    var(--home-team-snapshot-member-1-x-offset),
    var(--home-team-snapshot-member-1-y-offset)
  );
}

.team-snapshot-member-container.team-member-2 {
  transform: translate(
    var(--home-team-snapshot-member-2-x-offset),
    var(--home-team-snapshot-member-2-y-offset)
  );
}

.team-snapshot-member-container.team-member-3 {
  transform: translate(
    var(--home-team-snapshot-member-3-x-offset),
    var(--home-team-snapshot-member-3-y-offset)
  );
}

.home-news-and-events {
  padding-top: var(--home-news-and-events-padding-top);
}

.home-news-and-events-card-list > .card:nth-child(3) {
  display: var(--home-news-and-events-card-3-in-card-list-display);
}

.home-news-and-events .content-container {
  display: flex;
  flex-direction: column;
  gap: var(--layout-gap-basis);
}

.home-about-the-program {
  padding-top: var(--home-about-the-program-padding-top);
  padding-bottom: var(--home-about-the-program-padding-bottom);
  position: relative;
}

.path-visualisation-and-program-features {
  position: relative;
}

.path-visualisation-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  overflow: hidden;
}

.path-visualisation {
  position: absolute;
  padding: var(--home-path-visualisation-padding-top) 0;
  left: calc(50% - (var(--home-path-visualisation-path-width) / 2));
  display: block;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.path-visualisation-image {
  display: block;
  width: var(--home-path-visualisation-path-width);
  max-width: none;
  contain: paint;
  opacity: var(--home-path-visualisation-opacity);
}

.path-visualisation-image > svg > path {
  stroke: var(--theme-color-orange);
}

.program-features-container {
  position: relative;
  display: flex;
  align-items: stretch;
  padding-left: calc(var(--layout-gap-basis) + var(--layout-lightbox-margin));
  padding-right: calc(var(--layout-gap-basis) + var(--layout-lightbox-margin));
}

.program-features {
  flex-basis: 100%;
  position: relative;
}

.program-feature-group {
  display: flex;
  flex-direction: var(--home-program-feature-group-flex-direction);
  justify-content: space-between;
  position: relative;
  align-items: flex-start;
}

.program-feature-group.top {
  position: var(--home-program-feature-group-top-position);
  top: 0;
  left: 0;
  right: 0;
}

.program-feature-group.bottom {
  margin-top: var(--home-program-features-group-bottom-margin-top);
}

.program-feature {
  position: relative;
  padding: var(--home-program-feature-padding-y)
    var(--home-program-feature-padding-x);
  width: var(--home-program-feature-width);
  max-width: var(--home-program-feature-max-width);
  display: flex;
  flex-direction: column;
  color: var(--theme-color-secondary);
  align-items: flex-start;
  z-index: 1;
}

.program-feature-group.top .program-feature:nth-of-type(1) {
  margin-left: var(--home-program-feature-1-margin-left);
  min-height: var(--home-program-feature-1-min-height);
}

.program-feature-group.top .program-feature:nth-of-type(2) {
  margin-top: var(--home-program-feature-2-margin-top);
  min-height: var(--home-program-feature-2-min-height);
}

.program-feature-group.bottom .program-feature:nth-of-type(1) {
  margin-top: var(--home-program-feature-3-margin-top);
  min-height: var(--home-program-feature-3-min-height);
}

.program-feature-group.bottom .program-feature:nth-of-type(2) {
  margin-top: var(--home-program-feature-4-margin-top);
  margin-right: var(--home-program-feature-4-margin-right);
  min-height: var(--home-program-feature-4-min-height);
}

.program-feature-heading {
  font-family: var(--typography-header-font-family);
  font-size: var(--home-program-feature-heading-font-size);
  line-height: var(--home-program-feature-heading-line-height);
  font-weight: var(--home-program-feature-heading-font-weight);
  text-shadow: var(--home-program-feature-shadow);
}

.program-feature-text {
  margin: var(--home-program-feature-text-margin);
  text-shadow: var(--home-program-feature-shadow);
}

.program-feature-cta-button {
  box-shadow: var(--home-program-feature-shadow);
}

.program-feature-image {
  position: var(--home-program-feature-image-position);
  z-index: 0;
  width: var(--home-program-feature-image-dimensions);
  height: var(--home-program-feature-image-dimensions);
  top: 0;
  left: calc(50% - (var(--home-program-feature-image-dimensions) / 2));
  object-fit: cover;
  border-radius: 2.5rem;
  align-self: var(--home-program-feature-image-align-self);
}

.program-feature-image.image-1 {
  transform: translate(
      var(--home-program-feature-image-1-x-offset),
      var(--home-program-feature-image-1-y-offset)
    )
    rotate(7deg);
}

.program-feature-image.image-2 {
  transform: translate(
      var(--home-program-feature-image-2-x-offset),
      var(--home-program-feature-image-2-y-offset)
    )
    rotate(-6deg);
}

.program-feature-image.image-3 {
  transform: translate(
      var(--home-program-feature-image-3-x-offset),
      var(--home-program-feature-image-3-y-offset)
    )
    rotate(-10deg);
}
