@import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
body, html {
  margin: 0;
  padding: 0;
  height: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

::selection {
  color: #fff;
  background: hsl(349deg, 100%, 74%);
}

h1,
h2,
h3,
h4,
h5 p {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  align-self: center;
}

a, a:hover {
  text-decoration: none;
}

.flow-content > * + * {
  margin-top: 2rem;
}

li {
  list-style-type: none;
}

body {
  min-height: 100vh;
  background: #1A1A1A;
  display: grid;
  grid-template-rows: 65px 1fr;
  padding: 1rem;
  color: hsl(300deg, 2%, 72%);
  font-family: Inter;
  font-size: 0.9rem;
  perspective: 18cm;
  transform-style: preserve-3d;
}
@media (min-width: 600px) {
  body {
    padding: 2.5rem 7.5rem;
  }
}

.grid {
  display: grid;
  gap: 1rem;
  width: 100%;
  transition: 500ms all ease;
  transform-origin: left;
  perspective: 18cm;
  transform-style: preserve-3d;
}
@media (min-width: 600px) {
  .grid {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
}
.grid.rotate {
  transform: rotateY(45deg);
}
.grid.rotate > div:hover {
  transform: translate3d(90px, 0, 60px);
  scale: 1.075;
}
.grid.rotate > div.hulu:hover, .grid.rotate > div.dc:hover, .grid.rotate > div.prime:hover, .grid.rotate > div.max:hover {
  transform: translate3d(30px, 0, 60px);
}
.grid > div {
  background: #2A2829;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 1.5rem 1rem;
  align-items: end;
  transition: 1s all ease, background 3s ease, transform 500ms ease, scale 500ms ease;
}
.grid > div:hover {
  scale: 1.15;
  color: transparent;
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}
.grid > div.marvel {
  background-position: center center;
  background-size: 25%;
}
.grid > div.marvel > div {
  width: 25%;
  aspect-ratio: 2;
  background: url("https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Marvel_Logo.svg/800px-Marvel_Logo.svg.png");
  background-repeat: no-repeat;
  background-size: contain;
}
.grid > div.marvel:hover {
  background: #2A2829 url("/images/marvel.jpg");
  background-position: center center;
  background-size: 100%;
}
.grid > div.netflix {
  background-position: center center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.grid > div.netflix > div {
  width: 33%;
  aspect-ratio: 1;
  background: url("/images/netflix.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
.grid > div.netflix:hover {
  background: #2A2829 url("/images/netflix-lines.jpg");
  background-position: center center;
  background-size: 200% 100%;
  background-repeat: no-repeat;
}
.grid > div.hulu {
  background-position: center center;
  background-size: 200% 200%;
  background-repeat: no-repeat;
}
.grid > div.hulu > div {
  width: 33%;
  aspect-ratio: 2;
  background: url("/images/hulu.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
.grid > div.hulu:hover {
  background: #2A2829 url("/images/hulu-intro.png");
  background-position: center center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.grid > div.dc {
  background-position: center center;
  background-size: 50%;
}
.grid > div.dc > div {
  width: 33%;
  aspect-ratio: 1;
  background: url("/images/dc.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
.grid > div.dc:hover {
  background: #2A2829 url("/images/dc-2.png");
  background-position: 103% 180%;
  background-size: 200%;
}
.grid > div.prime {
  background-position: center center;
  background-size: 100% 100%;
}
.grid > div.prime > div {
  width: 33%;
  aspect-ratio: 1.6;
  background: url("/images/prime.png");
  background-repeat: no-repeat;
  background-size: 100%;
}
.grid > div.prime:hover {
  background: #2A2829 url("/images/amazon-bg.png");
  background-position: center 1.3vw;
  background-size: 157% 100%;
}
.grid > div.max {
  background-position: center center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.grid > div.max > div {
  width: 40%;
  aspect-ratio: 3.6;
  background: url("/images/max.png");
  background-repeat: no-repeat;
  background-size: 100%;
  margin-bottom: 0;
}
.grid > div.max:hover {
  background: #2A2829 url("/images/max-bg.jpg");
  background-position: center center;
  background-size: 265% 205%;
  background-repeat: no-repeat;
}
.grid > div.max:hover > div {
  transition: 1s all ease;
  opacity: 0;
}
.grid > div.disney {
  background-position: center bottom;
  background-repeat: no-repeat;
}
.grid > div.disney > div {
  width: 20%;
  aspect-ratio: 1.8;
  background: url("/images/disney.png");
  background-repeat: no-repeat;
  background-size: 100%;
  margin-bottom: 0;
}
.grid > div.disney:hover {
  background: #2A2829 url("/images/disney-bg.jpg");
  background-position: center -7.7vmin;
  background-repeat: no-repeat;
}

p {
  margin: 0;
}

button {
  cursor: pointer;
  font-family: Oswald, sans-serif;
  padding: 0.5rem 1.5rem;
  justify-self: center;
  transition: all 250ms ease-in-out;
  background: #2A2829;
  color: #FFE2C1;
  text-transform: uppercase;
  border-radius: 10px;
  font-family: Oswald, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 1rem;
  align-self: center;
  justify-self: end;
}
button:hover {
  background: #EFADBD;
  color: #000;
  border: 2px solid #000;
}

@media (min-width: 600px) {
  .col-span-2 {
    grid-column: span 2;
  }

  .row-span-2 {
    grid-row: span 2;
  }

  .col-span-3 {
    grid-column: span 3;
  }
}