* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: #1e1e1e;
  color: #f5f4f1;
  font-family: "Roboto Condensed", "Arial Narrow", sans-serif;
  font-weight: 300;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  font: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
p,
h1,
h2,
h3 {
  margin: 0;
  font-weight: inherit;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid #feaa00;
  outline-offset: 6px;
}
.page {
  width: 100%;
  max-width: none;
  margin: 0;
  container-type: inline-size;
  overflow: clip;
  position: relative;
  background: #1e1e1e;
  isolation: isolate;
}
.page:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("assets/texture.png") center top/160% auto repeat-y;
  mix-blend-mode: overlay;
  opacity: 0.8;
  pointer-events: none;
  z-index: -1;
}
.header {
  padding: 3.33cqw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 9.6cqw;
}
.brand {
  display: flex;
  align-items: center;
  gap: 2cqw;
  font-size: 2cqw;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}
.brand img {
  width: 3.33cqw;
}
.motion-toggle {
  color: #aaa;
  background: none;
  border: 0;
  font-size: 13px;
  cursor: pointer;
  padding: 10px;
}
.motion-toggle span {
  color: #feaa00;
  margin-left: 6px;
}
.intro {
  position: relative;
  padding-top: 0.5cqw;
}
.intro h1 {
  font-size: 9.167cqw;
  line-height: 0.8;
  letter-spacing: -0.06em;
  padding: 0 3.33cqw;
}
.intro h1 span {
  display: block;
}
.intro h1 span:first-child {
  margin-left: 5.5cqw;
}
.intro h1 span:last-child {
  text-align: right;
}
.intro-deck {
  position: absolute;
  left: 64%;
  top: 11.2cqw;
  font-size: 2.167cqw;
  line-height: 1;
  letter-spacing: -0.01em;
}
.muted {
  color: #aaa;
}
.hand {
  font-family: "Gochi Hand Cyrillic", cursive;
  font-weight: 400;
  color: #feaa00;
  font-size: 2.4cqw;
  line-height: 0.95;
  text-transform: uppercase;
}
.intro-note {
  margin: 3.8cqw auto 0;
  text-align: center;
  font-size: 2.15cqw;
  line-height: 0.95;
  position: relative;
  z-index: 2;
}
.intro-arrow {
  position: absolute;
  top: calc(29.4cqw - 120px);
  width: 27cqw;
  pointer-events: none;
}
.intro-arrow.left {
  left: 34%;
  transform: rotate(3deg);
}
.intro-arrow.right {
  right: 32%;
  transform: scaleX(-1);
}
.hero-picture {
  margin-top: 3.8cqw;
  width: 100%;
  height: 50cqw;
  overflow: hidden;
}
.hero-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.characters {
  padding-top: 6.7cqw;
  position: relative;
}
.section-heading {
  position: relative;
  display: flex;
  align-items: flex-end;
  margin: 0 10.25cqw;
  gap: 5cqw;
}
.section-heading h2,
h2 {
  font-size: 9.167cqw;
  line-height: 0.8;
  letter-spacing: -0.06em;
}
.section-heading h2 {
  flex-shrink: 0;
}
.section-heading h2 span {
  margin-left: 11.7cqw;
}
.section-heading > p {
  font-size: 2.167cqw;
  line-height: 1;
  margin-bottom: 0.8cqw;
}
.person {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 1fr;
  min-height: 48cqw;
}
.irina {
  margin-top: 5cqw;
}
.person .portrait {
  width: 35.4cqw;
  justify-self: end;
}
.person-copy {
  font-size: 2.167cqw;
  line-height: 1.12;
  max-width: 40cqw;
}
.person-copy .hand {
  margin-bottom: 2.5cqw;
  line-height: 1;
  transform: rotate(-4deg);
  text-align: center;
}
.irina .person-copy {
  margin-left: 6.7cqw;
  text-align: right;
}
.irina .person-copy .hand {
  margin-left: 25cqw;
  width: 30cqw;
}
.person-arrow {
  position: absolute;
  width: 17cqw;
  left: 52%;
  top: 32%;
  transform: rotate(-9deg);
}
.kostya {
  margin-top: -7cqw;
}
.kostya .portrait {
  justify-self: start;
  width: 33.75cqw;
}
.kostya .person-copy {
  margin-left: 3.25cqw;
}
.kostya .person-copy .hand {
  margin-left: -6cqw;
  width: 30cqw;
  transform: rotate(4deg);
}
.kostya .person-arrow {
  left: 31%;
  top: 38%;
  transform: scaleX(-1);
}
.statement {
  font-size: 5cqw;
  line-height: 0.94;
  letter-spacing: -0.02em;
  text-align: center;
  color: #aaa;
  width: 88%;
  margin: 8.3cqw auto 7cqw;
}
.paper-divider {
  height: 25cqw;
  position: relative;
  margin-bottom: -8.4cqw;
}
.paper-divider img {
  width: 100%;
}
.burnout {
  height: 195.4cqw;
  position: relative;
  padding-top: 6.7cqw;
}
.burnout h2 {
  margin-left: 42.75cqw;
}
.burnout h2 span {
  margin-left: 3cqw;
}
.burnout-lead {
  font-size: 5cqw;
  line-height: 1;
  letter-spacing: -0.015em;
  position: absolute;
  top: 26.5cqw;
  left: 6.7cqw;
}
.stages {
  list-style: none;
  padding: 0;
  margin: 0;
}
.stage {
  position: absolute;
  width: 28.33cqw;
  font-size: 2.167cqw;
  line-height: 1.1;
}
.stage h3 {
  font-size: 2.4cqw;
  line-height: 0.85;
  margin-bottom: 2cqw;
  display: inline-block;
}
.stage.one {
  top: 41.35cqw;
  left: 52.5cqw;
}
.one h3 {
  transform: rotate(-8deg);
}
.stage.two {
  top: 50.6cqw;
  left: 5cqw;
  text-align: right;
}
.two h3 {
  transform: rotate(13deg);
}
.stage.three {
  top: 71.4cqw;
  left: 50.3cqw;
}
.three h3 {
  transform: rotate(-8deg);
  max-width: 16cqw;
}
.stage.four {
  top: 95.6cqw;
  left: 60cqw;
  text-align: right;
}
.four h3 {
  transform: rotate(14deg);
}
.stage-arrow {
  position: absolute;
  width: 37cqw;
}
.a1 {
  left: 27cqw;
  top: 27cqw;
  transform: rotate(0deg);
}
.a2 {
  left: 18cqw;
  top: 51cqw;
  transform: rotate(-130deg);
}
.a3 {
  left: 60cqw;
  top: 63cqw;
  transform: scaleX(-2) rotate(-65deg);
}
.a4 {
  left: 43cqw;
  top: 86cqw;
  transform: rotate(12deg);
}
.boom-label {
  position: absolute;
  top: 111cqw;
  left: 34cqw;
  transform: rotate(-5deg);
  font-size: 5cqw;
  z-index: 1;
}
.explosion {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
}
.explosion img {
  width: 100%;
  transform-origin: center bottom;
  will-change: transform;
}
.hope {
  background: #fff;
  color: #171717;
  position: relative;
  z-index: 2;
  padding: 6.7cqw 3.33cqw 7cqw;
  margin-top: -1px;
}
.hope-edge {
  position: absolute;
  width: 100%;
  left: 0;
  height: 14cqw;
  overflow: hidden;
  pointer-events: none;
}
.hope-edge img {
  width: 100%;
  height: 25cqw;
  max-width: none;
}
.top-edge {
  top: -8cqw;
}
.bottom-edge {
  bottom: -9cqw;
  transform: rotate(180deg);
}
.hope h2 {
  position: relative;
}
.hope h2 span {
  display: block;
}
.hope h2 span:nth-child(2) {
  text-align: right;
}
.hope h2 span:nth-child(3) {
  text-align: center;
}
.hope h2 span:nth-child(4),
.hope h2 span:nth-child(5) {
  margin-left: 12cqw;
}
.answer {
  position: relative;
  margin-top: 6.7cqw;
  width: 100%;
}
.answer > img:first-child {
  width: 100%;
}
.answer .strike {
  position: absolute;
  right: 0;
  top: -1cqw;
  width: 28%;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s ease 0.45s;
}
.answer.visible .strike {
  clip-path: inset(0);
}
.hope-copy {
  margin: 6.7cqw 8cqw 0 40cqw;
  font-size: 2.167cqw;
  line-height: 1.1;
  max-width: 46cqw;
}
.hope-copy p + p {
  margin-top: 3.33cqw;
}
.hope .statement {
  color: #777;
  width: 78%;
  margin: 6.7cqw auto 0;
}
.conversation {
  position: relative;
  padding: 16.7cqw 3.33cqw 0;
  z-index: 3;
}
.conversation h2 {
  margin-left: 3.33cqw;
}
.conversation h2 span {
  display: block;
}
.conversation h2 span:nth-child(3) {
  margin-left: 4.5cqw;
}
.conversation h2 span:last-child {
  margin-left: 17.75cqw;
}
.megaphone {
  position: absolute;
  right: -6cqw;
  top: -12cqw;
  width: 45.6cqw;
  pointer-events: none;
}
.conversation-copy {
  font-size: 2.167cqw;
  line-height: 1.15;
  margin: 7cqw 8cqw 0 40cqw;
  max-width: 46cqw;
}
.article-card {
  display: grid;
  grid-template-columns: 40cqw 1fr;
  gap: 4.2cqw;
  align-items: center;
  margin-top: 8cqw;
}
.article-card > img {
  width: 100%;
  transition: filter 0.4s;
}
.article-card h3 {
  font-size: 2.7cqw;
  line-height: 0.95;
  margin-bottom: 2cqw;
}
.article-card p {
  font-size: 2.167cqw;
  line-height: 1.1;
}
.article-link {
  display: inline-flex;
  align-items: center;
  gap: 2cqw;
  font-size: 2.167cqw;
  margin-top: 3cqw;
  border-bottom: 1px solid #777;
  padding-bottom: 0.4cqw;
}
.article-link > span {
  transition: transform 0.3s;
}
.article-card:hover .article-link > span {
  transform: translate(4px, -4px);
}
.article-card:hover .article-link {
  color: #feaa00;
  border-color: #feaa00;
}
.ending {
  padding: 13cqw 8.2cqw 11cqw;
}
.ending p {
  font-size: 9.167cqw;
  letter-spacing: -0.06em;
  line-height: 0.8;
}
.ending span {
  display: block;
}
.ending span:nth-child(1),
.ending span:nth-child(2) {
  text-align: right;
}
.ending span:last-child {
  margin-left: 3.2cqw;
}
footer {
  position: relative;
  background: white;
  color: #181818;
}
.footer-edge {
  position: absolute;
  height: 10cqw;
  top: -10cqw;
  width: 100%;
  overflow: hidden;
}
.footer-edge img {
  width: 100%;
  height: 20.3cqw;
}
.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3.33cqw;
  gap: 2cqw;
  font-size: 2cqw;
  font-weight: 500;
  text-transform: uppercase;
}
.footer-inner > .brand img {
  filter: invert(1);
}
.footer-inner > span {
  color: #777;
}
.footer-inner > a:last-child {
  font-weight: 500;
}
.reading-progress {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: #feaa00;
  transform: scaleX(0);
  transform-origin: left;
  z-index: 50;
  pointer-events: none;
}
.back-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  border: 1px solid #626262;
  border-radius: 50%;
  background: #1e1e1ee8;
  color: #fff;
  cursor: pointer;
  font-size: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
  z-index: 40;
}
.back-top.shown {
  opacity: 1;
  visibility: visible;
}
.skip {
  position: fixed;
  top: 8px;
  left: 8px;
  background: #feaa00;
  color: black;
  padding: 12px;
  z-index: 100;
  transform: translateY(-200%);
}
.skip:focus {
  transform: none;
}
.motion-enabled .reveal {
  opacity: 0;
  filter: blur(3px);
  transition:
    opacity 0.8s ease,
    filter 0.8s ease;
}
.motion-enabled .reveal.visible {
  opacity: 1;
  filter: none;
}
.motion-enabled .intro h1 span {
  animation: opening 1.1s ease both;
}
.motion-enabled .intro h1 span:nth-child(2) {
  animation-delay: 0.15s;
}
.motion-enabled .intro h1 span:nth-child(3) {
  animation-delay: 0.3s;
}
@keyframes opening {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
body.no-motion * {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.no-motion .reveal {
  opacity: 1;
  filter: none;
}
.no-motion .answer .strike {
  clip-path: none;
}
@media (min-width: 1441px) {
  body {
    background: #151515;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
  .reveal {
    opacity: 1 !important;
    filter: none !important;
  }
  .answer .strike {
    clip-path: none !important;
  }
}

@media (min-width: 641px) {
  .section-heading {
    position: relative;
    margin-right: 5cqw;
    gap: 2cqw;
  }
  .section-heading > p {
    position: absolute;
    left: 48%;
    bottom: 0.8cqw;
    margin: 0;
    flex-shrink: 0;
    width: 36.5cqw;
  }
}
@media (min-width: 769px) {
  .section-heading > p {
    transform: translateX(-12cqw);
  }
}
