.Hero {
  overflow: hidden;
  padding-top: 7.5rem;
  padding-bottom: 3.5rem;
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .Hero {
    min-height: 53.4375rem;
    padding-top: 7.1875rem;
    padding-bottom: 10.5rem;
  }
}

.Hero-container {
  z-index: var(--z-base);
  max-width: 90rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .Hero-container {
    min-height: 35.75rem;
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.Hero-meta {
  -ms-flex-pack: justify;
      justify-content: space-between;
  gap: 0;
  margin-bottom: 1.75rem;
  color: var(--color-cream);
}
@media print, screen and (min-width: 48em) {
  .Hero-meta {
    z-index: var(--z-base);
    -ms-flex-pack: start;
        justify-content: flex-start;
    gap: 0.75rem 1.5rem;
    margin-bottom: 2.375rem;
    position: relative;
  }
}

.Hero-title {
  max-width: 25rem;
  margin-top: -37%;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  text-shadow: 2px 1px var(--color-blue-deep);
  color: var(--color-cream);
  position: relative;
}
@media print, screen and (min-width: 34.4375em) {
  .Hero-title {
    max-width: 38.75rem;
  }
}
@media print, screen and (min-width: 48em) {
  .Hero-title {
    z-index: var(--z-base);
    max-width: 46.75rem;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    text-align: left;
    position: relative;
  }
}

.Hero-intro {
  max-width: 26.75rem;
  margin-top: 4rem;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(1rem, 1rem + 0.751vw, 1.5rem);
  line-height: 1.25;
  text-align: center;
  color: var(--color-cream);
}
@media print, screen and (min-width: 48em) {
  .Hero-intro {
    z-index: var(--z-base);
    margin-top: auto;
    margin-right: 0;
    margin-left: 0;
    text-align: left;
    position: relative;
  }
}

.Hero-media {
  overflow: hidden;
  aspect-ratio: 340/446;
  -webkit-clip-path: url("#blueHeroClipMobile");
          clip-path: url("#blueHeroClipMobile");
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .Hero-media {
    top: 0;
    right: 3rem;
    bottom: 0;
    left: 24.14%;
    aspect-ratio: auto;
    -webkit-clip-path: url("#blueHeroClip");
            clip-path: url("#blueHeroClip");
    position: absolute;
  }
}

.Hero-mediaImg,
.Hero-mediaImg img {
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
}

.Hero-mediaVideo {
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}

.Hero-mediaVideo iframe {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  min-height: 100%;
  width: 100%;
  min-width: 177.77vh;
  border: 0;
  position: absolute;
}

.Hero-clipDef {
  height: 0;
  width: 0;
  position: absolute;
}

@media print, screen and (min-width: 48em) {
  .Problem-head {
    -ms-flex-align: start;
        align-items: start;
    row-gap: 1.5rem;
    column-gap: 4rem;
    grid-template-areas: "kicker kicker" "title intro";
  }
}

.Problem-head .Kicker {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48em) {
  .Problem-head .Kicker {
    grid-area: kicker;
  }
}

.Problem-title.Problem-title {
  max-width: 40rem;
  font-size: 2rem;
  line-height: 1.1;
  color: var(--color-blue);
}
@media print, screen and (min-width: 48em) {
  .Problem-title.Problem-title {
    grid-area: title;
  }
}

.Problem-intro {
  max-width: 30rem;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--color-navy);
}
@media print, screen and (min-width: 48em) {
  .Problem-intro {
    grid-area: intro;
  }
}

.Problem-cards {
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .Problem-cards {
    gap: 2.5rem;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
  }
}

.Problem-card {
  min-height: clamp(13.75rem, 13.75rem + 10vw, 18.75rem);
  overflow: hidden;
  display: -ms-grid;
  display: grid;
  gap: clamp(1rem, 1rem + 1vw, 1.5rem);
  -ms-grid-columns: minmax(0, 1fr) minmax(4.5rem, 7.25rem);
      grid-template-columns: minmax(0, 1fr) minmax(4.5rem, 7.25rem);
  padding: clamp(1.5rem, 1.5rem + 3vw, 3rem);
  border-radius: 0.75rem;
  background-color: var(--color-navy);
  color: var(--color-cream);
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .Problem-card {
    -ms-grid-columns: minmax(0, 1fr) minmax(5rem, 7.8125rem);
        grid-template-columns: minmax(0, 1fr) minmax(5rem, 7.8125rem);
  }
}

.Problem-card:before {
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
  background-color: var(--color-blue);
  position: absolute;
}

.Problem-card:hover:before {
  transform: translateY(0);
}

.Problem-cardLeft {
  position: relative;
  z-index: var(--z-base);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}

.Problem-cardBottom {
  position: relative;
  z-index: var(--z-base);
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1;
      flex: 1;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.Problem-cardLabel {
  font-size: 1rem;
}

.Problem-cardLabel .Label-mark {
  height: 1rem;
  width: 1rem;
  color: var(--color-sky);
}

.Problem-cardIconBox {
  position: relative;
  z-index: var(--z-base);
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-item-align: start;
      align-self: start;
  -ms-flex-pack: center;
      justify-content: center;
  aspect-ratio: 1;
}

.Problem-cardIcon {
  height: 100%;
  width: 100%;
  color: var(--color-ice);
}

.Problem-cardTitle {
  margin-bottom: clamp(0.5rem, 0.5rem + 1vw, 1rem);
  font-family: var(--font-heading);
  font-size: clamp(0.9375rem, 0.9375rem + 0.657vw, 1.6875rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-cream);
}

.Problem-cardText {
  max-width: 22.5rem;
  margin: 0;
  font-size: clamp(0.8125rem, 0.8125rem + 0.751vw, 1.5rem);
  line-height: 1.1;
  color: var(--color-cream);
}

.Pillars {
  position: relative;
}

.Pillar {
  position: relative;
  overflow: hidden;
}

.Pillar-inner {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
  -ms-grid-columns: minmax(0, 1fr);
      grid-template-columns: minmax(0, 1fr);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 64em) {
  .Pillar-inner {
    min-height: 26.25rem;
    -ms-flex-align: stretch;
        align-items: stretch;
    gap: 3.5rem;
    -ms-grid-columns: minmax(0, 1fr) minmax(20rem, 26.875rem);
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 26.875rem);
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }
}

@media screen and (min-width: 64em) {
  .Pillar-head {
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
  }
}

.Pillar-kicker {
  display: block;
  margin-bottom: 1rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
}

.Pillar-title {
  display: block;
}

.Pillar-title.Pillar-title {
  font-size: clamp(1.5rem, 1.5rem + 4.883vw, 4.75rem);
  line-height: 1;
  overflow-wrap: break-word;
}
@media print, screen and (min-width: 48em) {
  .Pillar-title.Pillar-title {
    line-height: 1.03;
  }
}

.Pillar-body {
  max-width: 26.875rem;
}
@media screen and (min-width: 64em) {
  .Pillar-body {
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
  }
}

.Pillar-subtitle {
  margin: 0 0 1rem;
  font-weight: 700;
}

.Pillar-subtitle.Pillar-subtitle {
  font-size: clamp(0.875rem, 0.875rem + 0.939vw, 1.5rem);
  line-height: 1.1;
}

.Pillar-intro {
  margin-bottom: 1.75rem;
  font-size: 1rem;
  line-height: 1.25;
}

.Pillar-list {
  gap: 0.75rem;
}

.Pillar--deep {
  background-color: var(--color-blue-deep);
  color: var(--color-cream);
}

.Pillar--blue {
  background-color: var(--color-blue);
  color: var(--color-cream);
}

.Pillar--sky {
  background-color: var(--color-sky);
  color: var(--color-black);
}

.Pillar--sky .DotList-dot {
  color: var(--color-orange);
}

.Pillar--blue:before,
.Pillar--sky:before {
  content: "";
  top: -0.25rem;
  right: 1.125rem;
  z-index: var(--z-base);
  height: 2.8125rem;
  width: 4.0625rem;
  position: absolute;
  -webkit-clip-path: path("M0 0 C6.73 0.52 12.16 1.47 16.52 3 C18.95 4.2 21 5.86 22.71 8.13 C27.05 13.9 29.26 23.44 30.07 38.41 L30.07 44.81 L34.94 44.81 L34.94 38.41 C35.78 23.44 37.98 13.9 42.33 8.13 C44.04 5.86 46.09 4.2 48.48 3 C52.86 1.47 58.31 0.52 65.03 0 Z");
          clip-path: path("M0 0 C6.73 0.52 12.16 1.47 16.52 3 C18.95 4.2 21 5.86 22.71 8.13 C27.05 13.9 29.26 23.44 30.07 38.41 L30.07 44.81 L34.94 44.81 L34.94 38.41 C35.78 23.44 37.98 13.9 42.33 8.13 C44.04 5.86 46.09 4.2 48.48 3 C52.86 1.47 58.31 0.52 65.03 0 Z");
}
@media print, screen and (min-width: 48em) {
  .Pillar--blue:before,
  .Pillar--sky:before {
    right: 3.5rem;
    height: 7.3125rem;
    width: 8.5rem;
    -webkit-clip-path: path("M0 0 C11.19 1.47 20.69 3.61 28.72 6.58 C34.7 9.74 39.76 14.09 43.98 20.02 C54.71 35.13 60.15 60.15 62.15 99.35 L62.15 116.13 L74.18 116.13 L74.18 99.35 C76.25 60.15 81.69 35.13 92.42 20.02 C96.64 14.09 101.7 9.74 107.6 6.58 C115.66 3.61 125.18 1.47 136.39 0 Z");
            clip-path: path("M0 0 C11.19 1.47 20.69 3.61 28.72 6.58 C34.7 9.74 39.76 14.09 43.98 20.02 C54.71 35.13 60.15 60.15 62.15 99.35 L62.15 116.13 L74.18 116.13 L74.18 99.35 C76.25 60.15 81.69 35.13 92.42 20.02 C96.64 14.09 101.7 9.74 107.6 6.58 C115.66 3.61 125.18 1.47 136.39 0 Z");
  }
}

.Pillar--blue:before {
  background-color: var(--color-blue-deep);
}

.Pillar--sky:before {
  background-color: var(--color-blue);
}

.Method-title {
  max-width: 35rem;
  color: var(--color-blue);
}

.Method-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-top: 1.5rem;
}

.Method-item {
  border-bottom: 3px solid var(--color-border-strong);
}
@media screen and (min-width: 64em) {
  .Method-item {
    display: -ms-grid;
    display: grid;
    -ms-flex-align: start;
        align-items: start;
    gap: 3rem;
    -ms-grid-columns: 1fr 1.37fr;
        grid-template-columns: 1fr 1.37fr;
  }
}

.Method-item:last-child {
  border-bottom: 0;
}

.Method-heading {
  margin: 0;
}

.Method-toggle {
  cursor: pointer;
  transition: color 0.3s ease, opacity 0.3s ease;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  gap: 1rem;
  padding: 1.5rem 0;
  border: 0;
  background-color: transparent;
  text-align: left;
  color: var(--color-blue);
}
@media screen and (min-width: 64em) {
  .Method-toggle {
    cursor: default;
    padding: 2rem 0;
  }
}

.Method-toggle:hover {
  color: var(--color-navy);
}

@media screen and (max-width: 64em) {
  .Method-item.is-open .Method-toggle {
    opacity: 1;
  }
}
.Method-number {
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 1.125rem + 1.315vw, 2rem);
  font-weight: 900;
}

.Method-name.Method-name {
  font-size: clamp(1.125rem, 1.125rem + 1.315vw, 2rem);
}

.Method-arrow {
  transform: rotate(90deg);
  transition: transform 0.3s ease;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: auto;
}
@media screen and (min-width: 64em) {
  .Method-arrow {
    display: none;
  }
}

.Method-arrowIcon {
  height: 1.5rem;
  width: 1.125rem;
}

.Method-item.is-open .Method-arrow {
  transform: rotate(270deg);
}

.Method-panel {
  transition: grid-template-rows 0.4s ease;
  transition: grid-template-rows 0.4s ease, -ms-grid-rows 0.4s ease;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
      grid-template-rows: 0fr;
}
@media screen and (min-width: 64em) {
  .Method-panel {
    -ms-grid-rows: 1fr;
        grid-template-rows: 1fr;
    padding: 2rem 0;
  }
}

.Method-item.is-open .Method-panel {
  -ms-grid-rows: 1fr;
      grid-template-rows: 1fr;
}

.Method-panelInner {
  min-height: 0;
  overflow: hidden;
}
@media screen and (min-width: 64em) {
  .Method-panelInner {
    display: -ms-grid;
    display: grid;
    -ms-flex-align: stretch;
        align-items: stretch;
    gap: 3rem;
    -ms-grid-columns: 0.62fr 1fr;
        grid-template-columns: 0.62fr 1fr;
  }
}

.Method-media {
  overflow: hidden;
  margin: 0 0 1.25rem;
  border-radius: 6px;
  aspect-ratio: 16/10;
}
@media screen and (min-width: 64em) {
  .Method-media {
    height: 100%;
    margin: 0;
    aspect-ratio: auto;
  }
}

.Method-picture {
  height: 100%;
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.Method-detail {
  min-width: 0;
}

.Method-lead {
  margin: 0 0 1rem;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-navy);
}

.Method-text {
  max-width: 27.5rem;
  margin: 0 0 1.25rem;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--color-navy);
}

.Method-tags {
  padding-bottom: 1.5rem;
  color: var(--color-navy);
}
@media screen and (min-width: 64em) {
  .Method-tags {
    padding-bottom: 0;
  }
}

.Operating-inner {
  display: -ms-grid;
  display: grid;
  gap: 2.5rem;
}
@media print, screen and (min-width: 48em) {
  .Operating-inner {
    -ms-flex-align: center;
        align-items: center;
    gap: 4rem;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
  }
}

.Operating-title {
  max-width: 35rem;
  margin-bottom: 1.5rem;
  color: var(--color-cream);
}

.Operating-intro {
  max-width: 32.5rem;
  margin-bottom: 2.5rem;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--color-cream);
}

.Operating-grid {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem 1rem;
  -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
}
@media print, screen and (min-width: 34.4375em) {
  .Operating-grid {
    gap: 1.75rem;
  }
}

.Operating-itemTitle {
  -ms-flex-align: start;
      align-items: flex-start;
  margin-bottom: 0.625rem;
  color: var(--color-cream);
}

.Operating-itemTitle .DotList-dot {
  margin-top: 0.125rem;
}

.Operating-itemText {
  max-width: 13.75rem;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: var(--color-cream);
}

.Operating-media {
  margin: 0;
}

.Operating-picture {
  display: block;
  aspect-ratio: 791/419;
}

.Operating-media img,
.Operating-picture img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-clip-path: url("#blueOperatingClip");
          clip-path: url("#blueOperatingClip");
}

.Operating-clipDef {
  height: 0;
  width: 0;
  position: absolute;
}

@media print, screen and (min-width: 48em) {
  .Team-head {
    -ms-flex-align: start;
        align-items: start;
    row-gap: 1.5rem;
    column-gap: 4rem;
    grid-template-areas: "kicker kicker" "title right";
  }
}

.Team-head .Kicker {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48em) {
  .Team-head .Kicker {
    grid-area: kicker;
  }
}

.Team-title {
  color: var(--color-cream);
}
@media print, screen and (min-width: 48em) {
  .Team-title {
    grid-area: title;
  }
}

.Team-title .u-accent {
  color: var(--color-ice);
}

.Team .Kicker-mark {
  color: var(--color-ice);
}

.Team-headRight {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
  gap: 1.5rem;
}
@media print, screen and (min-width: 48em) {
  .Team-headRight {
    grid-area: right;
  }
}

.Team-intro {
  max-width: 26.25rem;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--color-cream);
}

.Team-slider {
  margin: 3rem 0 0;
}

.Team-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.Team-arrow {
  cursor: pointer;
  transition: color 0.2s ease;
  height: 2.75rem;
  width: 3.25rem;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 0.5rem;
  border: 0;
  background-color: transparent;
  color: var(--color-cream);
}
.Team-arrow:hover {
  color: var(--color-accent);
}
.Team-arrow:focus-visible {
  outline: 2px solid var(--color-cream);
  outline-offset: 2px;
}

.Team-arrowIcon {
  height: 1.25rem;
  width: auto;
}

.Team-arrowIcon--next {
  transform: rotate(180deg);
}

.Team-viewport {
  overflow: hidden;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.Team-track {
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
  height: 24.75rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  gap: 0.625rem;
  will-change: transform;
}
@media print, screen and (min-width: 48em) {
  .Team-track {
    height: 31.25rem;
  }
}

.Team-card {
  transition: height 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
  height: 22.25rem;
  width: 17rem;
  overflow: hidden;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  border-radius: var(--radius-card);
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}
.Team-card:focus-visible {
  outline: 2px solid var(--color-cream);
  outline-offset: 3px;
}
@media print, screen and (min-width: 48em) {
  .Team-card {
    height: 28.125rem;
    width: 21.5rem;
  }
}

.Team-card.is-near {
  height: 23.5rem;
}
@media print, screen and (min-width: 48em) {
  .Team-card.is-near {
    height: 29.6875rem;
  }
}

.Team-card.is-active {
  height: 24.75rem;
}
@media print, screen and (min-width: 48em) {
  .Team-card.is-active {
    height: 31.25rem;
  }
}

.Team-cardMedia {
  height: 100%;
  width: 100%;
}

.Team-cardMedia img {
  transition: transform 0.5s ease;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.Team-card:hover .Team-cardMedia img {
  transform: scale(1.05);
}

.Team-cardMeta {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  padding: 3rem 1.5rem 1.5rem;
  background-image: linear-gradient(to top, rgba(4, 10, 67, 0.85), transparent);
  color: var(--color-cream);
}

.Team-cardName {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 1.25rem + 0.376vw, 1.5rem);
  font-weight: 700;
  line-height: 1.1;
}

.Team-cardRole {
  font-size: clamp(0.875rem, 0.875rem + 0.188vw, 1rem);
  line-height: 1.25;
}

.Team-cta {
  padding: 0.375rem 0.375rem 0.375rem 1.125rem;
}

.Team-ctaIcon {
  position: relative;
  z-index: var(--z-base);
  height: 1.5625rem;
  width: 1.5625rem;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  border-radius: var(--radius-pill);
  background-color: var(--color-ice);
}

.Team-ctaStar {
  transition: transform 0.3s ease;
  height: 0.8125rem;
  width: 0.8125rem;
  color: var(--color-navy);
}

.Team-cta:hover .Team-ctaStar {
  transform: rotate(22.5deg) scale(1.2);
}

@media (prefers-reduced-motion: reduce) {
  .Team-track,
  .Team-card,
  .Team-cardMedia img {
    transition: none;
  }
}