* { box-sizing: border-box }
html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: none;
  background: #000;
  font-family: Helvetica, Arial, sans-serif;
  color: #fff;
}
a {
  color: #ddd;
}
.splash {
  position: relative;
  width: 80%;
  max-width: 60rem;
  aspect-ratio: 1.075;
  margin: 5rem auto 0;
}
.splash .bg {
  position: absolute;
  height: 100%;
  border-radius: 50% 50% 12% 12%;
  overflow: hidden;
}
.splash .bg img {
  object-fit: cover;
  width: 120%;
  height: 100%;
  animation: 90s panleftright linear infinite;
}
@keyframes panleftright {
  0% { transform: translateX(0) }
  50% { transform: translateX(-10%) }
  100% { transform: translateX(0) }
}
#particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: add;
  filter: blur(5px);
  opacity: .3;
}
.key img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;

  z-index: 1;
  animation: fadeup 4s cubic-bezier(0.19, 1, 0.22, 1) .1s forwards;
  filter: brightness(0);
}
@keyframes fadeup {
  from { filter: brightness(0) }
  to { filter: brightness(1) }
}
header {
  width: 100%;
  text-align: center;
}
.logo {
  width: 90%;
  max-width: 30em;
  margin: 1em auto 0;
}
header p {
  margin: 0;
  font-size: .8em;
  letter-spacing: .4px;
}
.latest {
  color: #fff;
  z-index: 2;
  margin: 0 auto;
  max-width: 30em;
}
.episode {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5em;
  padding: 2em;
  background-color: #000;
  align-items: center;
}
.episode h3 {
  margin: 0;
  font-weight: normal;
  font-size: .9em;
  letter-spacing: .1px;
}
.episode h2 {
  font-size: 1.6em;
  font-weight: normal;
  text-transform: uppercase;
  margin: 0;
  letter-spacing: -.8px;
  line-height: .9;
}
.episode p {
  font-size: 1.1em;
  letter-spacing: .5px;
}
.episode img {
  width: 100%;
  max-width: 15em;
}
.play {
  display: inline-block;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  border: 1px solid #fff;
  letter-spacing: .1px;
  padding: .25em 1em .35em;
}
.play:hover {
  background-color: #000;
  color: #fff;
}
.latest .startfrom {
  text-align: center;
  letter-spacing: .3px;
}
.newsletter {
  width: 80%;
  max-width: 60rem;
  margin: 2em auto;
  padding: 2em;
  background: #c5ac5a url('img/promo_photoshoot.png') right / contain no-repeat;
  border-radius: 0 0 1em 1em;
}
.newsletter .inner {
  display: grid;
  max-width: 50rem;
  height: 100%;
  margin: 0 auto;
}
.newsletter h2 {
  grid-template-columns: 1fr;
  margin: 0;
  font-weight: bold;
  font-size: 2em;
  letter-spacing: -.06em;
  line-height: .75;
  max-width: 5em;
  color: #111;
}
.newsletter .cta {
  display: inline-block;
  background-color: #111;
  color: #fff;
  text-decoration: none;
  padding: .25em 1em .35em;
  letter-spacing: -.2px;
  border: 1px solid #000;
}
.newsletter .cta:hover {
  background: none;
  color: #000;
}
@media (max-width: 1000px) {
  .splash, .newsletter {
    width: 95%;
  }
}
@media (max-width: 600px) {
  .splash, .newsletter {
    width: 95%;
    padding-bottom: 65%;
    background-position: bottom;
  }
}
