.problems {
  --gap: 30px;
  position: relative;
  background-color: var(--white);
  padding: 20px var(--container-padding) 1px;
}
.problems .sticky-wrapper {
  display: flex;
  flex-direction: column;
}
.problems .statements-wrapper {
  --size: 23vw;
  --font-size: var(--font-size-md);
  position: sticky;
  margin-top: var(--container-padding);
  top: calc(var(--header-height) + var(--container-padding));
  align-self: flex-end;
  min-width: 50%;
  padding: 0 calc(var(--gap) / 2);
  margin-bottom: calc(var(--size) * -0.15);
}
@media (min-width: 1921px) {
  .problems .statements-wrapper {
    --size: 442px;
  }
}
@media (max-width: 1299px) and (min-width: 568px) {
  .problems .statements-wrapper {
    --size: calc(18vw + 100px);
    --font-size: var(--font-size-sm);
    min-width: calc(var(--size) * 2);
    position: relative;
    top: 2em;
  }
}
@media (max-width: 1299px) and (min-width: 568px) and (orientation: portrait) {
  .problems .statements-wrapper {
    --size: 27vw;
    margin-left: 38%;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .problems .statements-wrapper {
    --size: 44vw;
    --font-size: var(--font-size-sm);
    position: relative;
    align-self: flex-start;
    overflow: visible;
    min-width: 96%;
    padding-left: 0;
    top: 0;
    margin: calc(40px + 3vw) 0 0 0;
  }
}
.problems .statements {
  position: relative;
  display: block;
  list-style: none;
  margin: 0;
  padding: calc(var(--size) + var(--font-size) * 5) 0 0;
}
.problems .statement {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding-right: 0.5em;
}
.problems .statement .number span {
  transform: translate3d(0, 100%, 0);
}
.problems .statement[data-current=true] .number span {
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s var(--ease-out-cubic) var(--delay);
}
.problems .statement[data-current=true] .text {
  opacity: 1;
  filter: blur(0);
  transition: 0.3s ease 0.4s;
}
.problems .statement[data-previous=true] .number span {
  transform: translate3d(0, -100%, 0);
  transition: transform 0.3s var(--ease-out-cubic) var(--delay);
}
.problems .number {
  position: relative;
  display: flex;
  font-weight: 900;
  letter-spacing: 0.01em;
  font-size: var(--size);
  line-height: 0.78;
  color: var(--primary-color-light);
  margin-left: -0.04em;
  overflow: hidden;
}
@media (max-width: 767px) and (orientation: portrait) {
  .problems .number {
    margin-left: -0.055em;
  }
}
.problems .digit, .problems .percent {
  --delay: 0s;
  position: relative;
  flex: 1 1 100%;
  max-width: 33.3333333333%;
}
.problems .digit:nth-child(2) {
  --delay: 0.05s;
}
.problems .percent {
  font-size: calc(var(--size) * 0.6);
  padding-left: 0.06em;
  display: flex;
  align-items: flex-end;
  padding-bottom: 0.02em;
  --delay: 0.1s;
}
.problems .text {
  position: relative;
  display: block;
  font-size: var(--font-size);
  font-weight: 300;
  margin: 1.5em 0;
  line-height: 1.5;
  padding-left: calc(33.3333% + var(--gap) / 2);
  opacity: 0;
  filter: blur(10px);
  transition: 0.3s ease 0.2s;
}
@media (max-width: 767px) and (orientation: portrait) {
  .problems .text {
    padding-left: 0;
    margin-right: -10%;
  }
}
.problems .source {
  display: block;
  font-size: var(--font-size-copy);
  font-weight: 400;
  margin-top: 0.5em;
}
.problems .copy {
  position: relative;
  max-width: 42%;
}
.problems .copy h2 {
  font-size: var(--font-size-xl);
  margin: -2em -0.05em 0.8em;
  line-height: 1.2;
  font-weight: 900;
  color: var(--primary-color-text);
}
@media (max-width: 1299px) {
  .problems .copy {
    max-width: 66%;
    width: 750px;
  }
  .problems .copy h2 {
    margin-top: 1em;
  }
}
@media (max-width: 1299px) and (min-width: 568px) {
  .problems .copy h2 {
    max-width: 80%;
  }
}
@media (max-width: 1299px) and (orientation: portrait) and (min-width: 768px) {
  .problems .copy h2 {
    max-width: 46vw;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .problems .copy {
    max-width: 100%;
  }
  .problems .copy h2 {
    margin-top: 2em;
  }
}
.problems .tiles-wrapper {
  position: relative;
}
.problems .tiles-wrapper .observable {
  position: absolute;
  display: block;
  top: 30%;
  width: 10px;
  height: 10px;
}
.problems .tiles-wrapper[data-inview=true] .observable {
  top: -20px;
}
.problems .tiles-wrapper[data-inview=true] .tile {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  transition: 0.35s var(--ease-out-sine) var(--delay);
  transition-property: transform, opacity, filter;
}
.problems .tiles {
  display: flex;
  margin: 5em 0 3em;
  padding: 0;
  list-style: none;
  gap: var(--gap);
  font-weight: 500;
  counter-reset: problem;
}
@media (max-width: 1199px) and (min-width: 568px) {
  .problems .tiles {
    flex-wrap: wrap;
  }
}
@media (max-width: 567px) {
  .problems .tiles {
    --gap: 20px;
    flex-wrap: wrap;
    hyphens: auto;
    margin-top: 3em;
  }
}
.problems .tile {
  --delay: 0s;
  position: relative;
  counter-increment: problem;
  flex: 1 1 100%;
  background-color: var(--white);
  transform: translate3d(0, 10vw, 0);
  opacity: 0;
}
@media (max-width: 1499px) and (min-width: 1200px) {
  .problems .tile {
    font-size: var(--font-size-xs);
  }
}
@media (max-width: 1199px) and (min-width: 568px) {
  .problems .tile {
    max-width: calc(33.3333333333% - 20px);
    margin-bottom: 1em;
  }
}
@media (max-width: 567px) {
  .problems .tile {
    max-width: calc(50% - 10px);
  }
}
.problems .tile:nth-child(1) {
  --delay: 0.07s;
}
.problems .tile:nth-child(2) {
  --delay: 0.14s;
}
.problems .tile:nth-child(3) {
  --delay: 0.21s;
}
.problems .tile:nth-child(4) {
  --delay: 0.28s;
}
.problems .tile:nth-child(5) {
  --delay: 0.35s;
}
.problems .tile:nth-child(6) {
  --delay: 0.42s;
}
.problems .tile:nth-child(7) {
  --delay: 0.49s;
}
.problems .tile:nth-child(8) {
  --delay: 0.56s;
}
.problems .tile:nth-child(9) {
  --delay: 0.63s;
}
.problems .tile:nth-child(10) {
  --delay: 0.7s;
}
.problems .tile::before {
  position: relative;
  content: "0" counter(problem) ".";
  display: block;
  font-size: 2em;
  font-weight: 900;
  color: var(--primary-color-text);
  margin-bottom: 0.4em;
  margin-left: -0.05em;
}
.problems .tile::after {
  content: "";
  position: absolute;
  left: 0;
  top: -80vh;
  width: 2px;
  bottom: -20vh;
  background: linear-gradient(to bottom, var(--white) 0%, var(--primary-color) 50%, var(--primary-color) 85%, var(--white) 100%);
  opacity: 0.08;
}

/*# sourceMappingURL=problems.css.map */
