* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: hsl(0, 0%, 12%);
  color: hsl(0, 0%, 100%);
  font-family: "Poppins", sans-serif;
  overflow-x: hidden;
}

.section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.image-box {
  height: 800px;
  overflow: hidden;
}

.img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content-box {
  padding-inline: 5em;
}

.title {
  font-size: 4em;
  max-width: max-content;
  margin-block-end: 0.25em;
}

.text {
  opacity: 0.6;
  line-height: 2.25;
}

[data-reveal="left"] {
  clip-path: inset(0 100% 0 0);
}

[data-reveal="left"].revealed {
  animation: reveal-left 1.2s cubic-bezier(0.17, 0.97, 0.38, 1) forwards 300ms;
}

@keyframes reveal-left {
  0% {
    clip-path: inset(0 100% 0 0);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }
}

[data-reveal="right"] {
  clip-path: inset(0 0 0 100%);
}

[data-reveal="right"].revealed {
  animation: reveal-right 1.2s cubic-bezier(0.17, 0.97, 0.38, 1) forwards 300ms;
}


.image-box .img {
  transform: scale(1.5);
  transition: 1.2s cubic-bezier(0.17, 0.97, 0.38, 1);
}

.image-box.revealed .img {
  transform: scale(1.5);
}

@media only screen and (max-width: 768px) {
  .section {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .title {
    font-size: 3em;
  }

  .content-box {
    padding: 2em;
  }
}

@media only screen and (max-width: 480px) {
  .title {
    font-size: 2em;
  }

  .text {
    font-size: 0.8em;
  }
}