@import url("https://fonts.googleapis.com/css?family=PT+Serif:700&display=swap");
* {
  box-sizing: border-box;
}

.grid__box {
  font-family: "PT Serif", serif;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background-color: #fff;
}

.grid__box img {
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0 55%;
  filter: grayscale(100%);
}

.grid__box p {
  font-size: 2rem;
  margin: 0;
}

.grid {
  display: grid;
  grid-template-columns: 1fr repeat(2, 3rem) [main-start] repeat(4, minmax(0, 13rem)) [main-end] repeat(2, 3rem) 1fr;
  grid-template-rows: repeat(2, 3rem) [main-start] repeat(4, minmax(0, 7rem)) [main-end] repeat(2, 3rem);
  max-width: 1300px;
  margin: auto;
  background-color: #fff;
}
.grid::before, .grid::after {
  content: "";
  width: 100%;
  height: 100%;
  z-index: 1;
}
.grid::before {
  background-color: #82c9fc;
  grid-column: 5/span 4;
  grid-row: 4/span 4;
  opacity: 0.7;
  mix-blend-mode: multiply;
}
.grid::after {
  content: "";
  background: repeating-linear-gradient(-45deg, #f28071, #f28071 10px, #f28071 15px, transparent 15px, transparent 32px);
  width: 100%;
  height: 100%;
  grid-column: 2/span 4;
  grid-row: span 2/-1;
  opacity: 0.8;
}

.grid__heading {
  grid-column: 2/span 3;
  grid-row: 2/span 5;
  writing-mode: sideways-lr;
  z-index: 1;
  font-size: 10rem;
  line-height: 1;
  text-align: right;
  margin: 0;
}

.grid__img {
  grid-column: 4/span 3;
  grid-row: 3/span 3;
  position: relative;
  z-index: 0;
}
.grid__img::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(45deg, #fc5741, transparent);
}

.grid__body {
  grid-column: 6/span 4;
  grid-row: 5/span 2;
  border-top: 0.5rem solid black;
  padding-top: 1rem;
  z-index: 1;
}