@import url("https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@400;500;600&display=swap");

:root { --page-background: #100e0a; --white: #f4f3f1; --red: #ed1c24; }
html { color-scheme: dark; background: var(--page-background); font-family: "Barlow Semi Condensed", "Arial Narrow", Arial, sans-serif; }
body { min-width: 320px; margin: 0; overflow-x: hidden; background: var(--page-background); color: var(--white); }
body.overlay-open { overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }

.splash {
  position: relative; width: 100%; height: 800px; overflow: hidden; isolation: isolate;
  background-color: var(--page-background);
  background-image: url("../img/bgSplashRight.jpg"), url("../img/bgSplashLeftv2.jpg");
  background-repeat: no-repeat, no-repeat;
  background-position: right bottom, left bottom;
  background-size: auto 100%, auto 100%;
}
.site-header { position: absolute; z-index: 5; top: 28px; left: 0; width: 100%; }
.primary-navigation ul { display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; list-style: none; }
.primary-navigation a { display: block; padding-inline: clamp(18px, 2.5vw, 40px); color: var(--white); font-size: clamp(20px, 2vw, 30px); font-weight: 500; line-height: 1; letter-spacing: .015em; text-decoration: none; text-transform: uppercase; white-space: nowrap; text-shadow: 0 2px 8px rgb(0 0 0 / 70%); transition: color 160ms ease; }
.primary-navigation a:hover, .primary-navigation a:focus-visible { color: var(--red); }
.menu-toggle { display: none; }
.release-notice { margin: 0; color: var(--white); font-size: clamp(20px, 2vw, 30px); font-weight: 500; line-height: 1; letter-spacing: .015em; text-align: center; text-transform: uppercase; white-space: nowrap; text-shadow: 0 2px 8px rgb(0 0 0 / 70%); }
.hero-content { position: absolute; z-index: 2; bottom: 135px; left: 70%; width: 600px; transform: translateX(-50%); text-align: center; }
.film-logo-heading, .film-tagline-heading { margin: 0; padding: 0; font-size: 0; line-height: 0; }
.film-logo, .floating-words, .film-tagline { display: block; height: auto; }
.film-logo, .film-tagline { width: 100%; }
.film-tagline { margin-top: 18px; }
.floating-words { position: absolute; z-index: 2; top: 11.8%; right: 2.25%; width: min(8.2vw, 140px); opacity: .58; }

.trailer-button {
  display: inline-flex; align-items: center; justify-content: center; gap: clamp(.65rem, 1.2vw, 1.4rem); min-height: 58px;
  margin-top: 28px; padding: .6em 1.4em; border: 3px solid var(--red); background: rgb(16 14 10 / 76%); color: var(--white);
  cursor: pointer; font-size: clamp(22px, 2vw, 30px); font-weight: 500; line-height: 1; letter-spacing: .075em;
  text-transform: uppercase; text-shadow: 0 2px 5px #000; transition: background-color 160ms ease, color 160ms ease;
}
.trailer-button:hover, .trailer-button:focus-visible { background: var(--red); color: #fff; outline: none; }
.play-icon { width: 0; height: 0; border-top: .34em solid transparent; border-bottom: .34em solid transparent; border-left: .56em solid currentColor; filter: drop-shadow(0 2px 2px #000); }

.modal-backdrop { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgb(0 0 0 / 88%); }
.trailer-modal { position: relative; width: min(100%, 960px); padding: 1.5rem; border: 1px solid rgb(255 255 255 / 20%); background: #080706; box-shadow: 0 1.5rem 5rem #000; }
.trailer-modal h2 { margin: 0 3rem 1rem 0; font-size: 1.75rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.modal-close { position: absolute; top: .25rem; right: .75rem; border: 0; background: transparent; color: #fff; cursor: pointer; font-size: 2.5rem; }
.trailer-placeholder { display: grid; aspect-ratio: 16 / 9; place-items: center; background: #15120e; color: rgb(255 255 255 / 55%); font-size: 1.2rem; letter-spacing: .04em; }

@media (max-width: 1600px) {
  .splash { height: 750px; }
  .hero-content { bottom: 100px; }
}

@media (max-width: 1400px) {
  .splash { height: 700px; }
  .hero-content { width: 560px; bottom: 88px; }
}

@media (max-width: 1200px) {
  .splash { height: 650px; }
  .hero-content { width: 500px; bottom: 92px; }
}

@media (max-width: 992px) {
  .splash { height: 600px; }
  .hero-content { width: 440px; bottom: 35px; }
  .film-tagline { margin-top: 14px; }
  .trailer-button { min-height: 52px; margin-top: 22px; }
}

@media (max-width: 767px) {
  .splash {
    box-sizing: border-box;
    height: auto;
    padding: 485px 0 70px;
    overflow: visible;
    aspect-ratio: auto;
    background-image: url("../img/bgSplashLeftv2.jpg");
    background-position: left top;
    background-size: auto 550px;
  }
  .site-header { z-index: 10; top: 24px; right: 0; left: 0; width: 100%; }
  .release-notice { padding: 0 1rem; font-size: clamp(20px, 5.2vw, 30px); }
  .menu-toggle { position: relative; z-index: 11; display: grid; width: 48px; height: 48px; padding: 7px 2px; border: 0; background: transparent; cursor: pointer; }
  .menu-toggle span { display: block; width: 38px; height: 4px; margin: auto; background: #f5f5f5; transition: transform 180ms ease, opacity 180ms ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(11px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-11px) rotate(-45deg); }
  .primary-navigation { position: fixed; z-index: 10; inset: 0; display: grid; place-items: center; visibility: hidden; background: rgb(16 14 10 / 97%); opacity: 0; transition: visibility 180ms ease, opacity 180ms ease; }
  .primary-navigation.is-open { visibility: visible; opacity: 1; }
  .primary-navigation ul { flex-direction: column; gap: 1.4rem; }
  .primary-navigation a { font-size: clamp(2rem, 9vw, 3rem); }
  .hero-content { position: relative; top: auto; bottom: auto; left: auto; width: 68%; margin: 0 auto; transform: none; }
  .film-logo { width: 100%; }
  .floating-words { top: 130px; right: 5.5%; width: 15.5%; opacity: .58; }
  .film-tagline { width: 100%; margin-top: 20px; }
  .trailer-button { min-width: 44%; min-height: 50px; margin-top: 24px; padding: .7em 1em; font-size: clamp(1.25rem, 6vw, 1.75rem); }
}

@media (max-width: 575px) {
  .splash {
    padding-top: 335px;
    background-size: auto 400px;
  }

  .hero-content {
    width: 57.8%;
  }

  .film-logo,
  .film-tagline {
    width: 132%;
    margin-left: -16%;
  }

  .film-tagline {
    margin-top: 18px;
  }

  .trailer-button {
    min-width: 0;
    min-height: 44px;
    margin-top: 20px;
    padding: .6em 1.05em;
    border-width: 2px;
    gap: .65em;
    font-size: clamp(17px, 4.4vw, 20px);
    letter-spacing: .06em;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Inside pages */
.inside-page {
  min-height: 100vh;
  background-color: var(--page-background);
  background-image: url("../img/bgInsidePage.jpg");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: auto 100vh;
  background-attachment: fixed;
}
.inside-header {
  position: relative;
  z-index: 10;
  width: 100%;
  padding: 30px 0 26px;
  background: rgb(7 6 5 / 76%);
}
.inside-header .primary-navigation a.is-current,
.inside-header .primary-navigation a[aria-current="page"] { color: var(--red); }
.inside-main { width: 100%; }
.inside-row {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 50px;
  width: min(100%, 1600px);
  margin: 0 auto;
  padding: 32px 30px 45px;
}
.inside-poster-column {
  flex: 0 1 616px;
  min-width: 0;
  margin: 0;
}
.inside-poster {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgb(255 255 255 / 35%);
  box-shadow: 0 0 0 3px rgb(0 0 0 / 25%);
}
.download-links {
  margin: 15px 0 0;
  color: var(--white);
  font-size: clamp(16px, 1.25vw, 21px);
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
}
.download-links a { color: inherit; text-decoration: none; }
.download-links a:hover,
.download-links a:focus-visible { color: var(--red); }
.inside-content {
  flex: 1 1 0;
  min-width: 0;
  padding-top: 3px;
}
.inside-content h1 {
  margin: 0;
  color: var(--red);
  font-size: clamp(46px, 4.5vw, 78px);
  font-weight: 600;
  line-height: .92;
  letter-spacing: .015em;
  text-align: center;
  text-transform: uppercase;
}
.inside-heading-divider {
  display: block;
  width: 100%;
  height: auto;
  margin: 20px 0 26px;
}
.film-copy {
  max-width: 760px;
  font-size: clamp(19px, 1.45vw, 25px);
  font-weight: 400;
  line-height: 1.56;
}
.film-copy p {
  position: relative;
  margin: 0 0 27px;
  padding-left: 24px;
}
.film-copy p::before {
  content: "";
  position: absolute;
  top: .05em;
  bottom: .05em;
  left: 0;
  width: 5px;
  background: var(--red);
}
.film-copy strong { font-weight: 600; text-transform: uppercase; }
.film-acts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-top: 15px;
  padding-top: 20px;
  border-top: 2px solid var(--red);
}
.film-act {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  color: var(--white);
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.film-act + .film-act { border-left: 1px solid var(--red); }
.film-act img {
  display: block;
  width: min(74px, 62%);
  height: auto;
  margin-bottom: 5px;
  transition: transform 160ms ease;
}
.film-act:hover img,
.film-act:focus-visible img { transform: translateY(-3px); }
.film-act:hover .act-number,
.film-act:focus-visible .act-number { color: #ff4248; }
.act-number {
  color: var(--red);
  font-size: clamp(20px, 1.55vw, 27px);
  font-weight: 600;
  line-height: 1;
}
.act-title {
  margin-top: 4px;
  font-size: clamp(15px, 1.08vw, 19px);
  font-weight: 500;
  line-height: 1.05;
}
.act-years {
  margin-top: 2px;
  color: rgb(244 243 241 / 60%);
  font-size: clamp(15px, 1.08vw, 19px);
  font-weight: 500;
  line-height: 1.05;
}
.film-disclaimer {
  margin: 26px 0 0;
  font-size: clamp(15px, 1.15vw, 20px);
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

/* Press page */
.press-section { margin-top: 4px; }
.press-section + .press-section { margin-top: 44px; }
.press-section h2 {
  margin: 0 0 22px;
  color: var(--red);
  font-size: clamp(30px, 2.6vw, 44px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.press-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}
.press-video {
  min-width: 0;
  padding-right: 24px;
}
.press-video + .press-video {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid var(--red);
}
.press-video-button {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 24%);
  background: #080706;
  color: #f40009;
  cursor: pointer;
}
.press-video-button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 180ms ease, opacity 180ms ease;
}
.press-video:first-child .press-video-button img { object-position: 18% 20%; }
.press-video:last-child .press-video-button img { object-position: 74% 42%; }
.press-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(62px, 6vw, 84px);
  height: auto;
  filter: drop-shadow(0 4px 8px rgb(0 0 0 / 70%));
  transform: translate(-50%, -50%);
}
.press-video-button:hover img,
.press-video-button:focus-visible img { opacity: .82; transform: scale(1.025); }
.press-video h3,
.press-news-item h3 {
  margin: 13px 0 0;
  color: var(--white);
  font-size: clamp(18px, 1.4vw, 24px);
  font-weight: 600;
  line-height: 1.15;
}
.press-video > p {
  margin: 5px 0 0;
  color: rgb(244 243 241 / 62%);
  font-size: clamp(16px, 1.1vw, 19px);
  font-weight: 500;
  line-height: 1.2;
}
.press-review {
  padding: 26px 0 28px;
  /*background: rgb(0 0 0 / 34%);*/
}
.press-review blockquote { margin: 0; }
.press-review blockquote p {
  margin: 0;
  font-size: clamp(20px, 1.45vw, 25px);
  font-weight: 400;
  line-height: 1.56;
}
.press-byline {
  margin: 20px 0 0;
  color: var(--red);
  font-size: clamp(18px, 1.3vw, 22px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.press-byline::before { content: "— "; }
.press-news-list { display: grid; gap: 0; }
.press-news-item {
  display: block;
  padding: 0 0 24px;
  color: var(--white);
  text-decoration: none;
}
.press-news-item + .press-news-item {
  padding-top: 24px;
  border-top: 1px solid var(--red);
}
.press-news-item h3 { margin-top: 0; transition: color 160ms ease; }
.press-news-item:hover h3,
.press-news-item:focus-visible h3 { color: var(--red); }
.press-news-item > p {
  margin: 9px 0 0;
  color: rgb(244 243 241 / 78%);
  font-size: clamp(17px, 1.2vw, 21px);
  line-height: 1.45;
}
.press-news-item > span {
  display: block;
  margin-top: 9px;
  color: var(--red);
  font-size: clamp(16px, 1.05vw, 18px);
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: uppercase;
}

@media (max-width: 1400px) {
  .inside-row { gap: 42px; }
  .inside-poster-column { flex-basis: 43%; }
  .film-copy { font-size: clamp(18px, 1.55vw, 23px); }
}

@media (max-width: 1199px) {
  .film-copy { font-size: 16px; }
  .film-act {
    box-sizing: border-box;
    padding-right: 10px;
    padding-left: 10px;
  }
  .press-review blockquote p { font-size: 18px; }
  .press-video-grid { grid-template-columns: 1fr; gap: 30px; }
  .press-video,
  .press-video + .press-video {
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 1100px) {
  .inside-row { gap: 32px; }
  .inside-poster-column { flex-basis: 42%; }
  .film-copy p { padding-left: 18px; }
}

@media (max-width: 767px) {
  .inside-page {
    background-size: auto 100vh;
    background-attachment: scroll;
  }
  .inside-header {
    min-height: 72px;
    box-sizing: border-box;
    padding: 12px 22px;
    background: rgb(7 6 5 / 88%);
  }
  .inside-header .menu-toggle {
    display: grid;
    margin-left: auto;
  }
  .inside-header .primary-navigation { position: fixed; }
  .inside-header .primary-navigation a.is-current,
  .inside-header .primary-navigation a[aria-current="page"] { color: var(--red); }
  .inside-row {
    flex-direction: column-reverse;
    gap: 34px;
    padding: 34px 24px 45px;
  }
  .inside-poster-column,
  .inside-content { width: 100%; flex: 0 0 auto; }
  .inside-content h1 { font-size: clamp(48px, 13vw, 72px); }
  .inside-heading-divider { height: auto; margin: 16px 0 23px; }
  .film-copy { max-width: none; font-size: clamp(19px, 4.7vw, 23px); line-height: 1.32; }
  .film-copy p { margin-bottom: 24px; }
  .film-acts { grid-template-columns: repeat(5, minmax(86px, 1fr)); overflow-x: auto; padding-bottom: 8px; }
  .film-act img { width: 64px; }
  .act-number { font-size: 20px; }
  .act-title, .act-years { font-size: 15px; }
  .film-disclaimer { font-size: 16px; }
  .inside-poster { max-width: 620px; margin: 0 auto; }
  .download-links { font-size: 17px; }
  .press-section h2 { font-size: 32px; }
  .press-review { padding: 22px 0 24px; }
  .press-review blockquote p { font-size: 20px; }
}

@media (max-width: 575px) {
  .inside-row { padding-right: 20px; padding-left: 20px; }
  .film-copy { font-size: 19px; }
  .film-copy p { padding-left: 16px; }
  .film-copy p::before { width: 4px; }
  .press-review { padding: 20px 0 22px; }
  .press-review blockquote p { font-size: 19px; }
}
