/* FILM PORTAL ONLY — approved Hero and Crew remain untouched. */
[data-review-section="film"]{
  position:relative;
  min-height:980px;
  padding:120px max(6vw,30px) 140px;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
  gap:70px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 83% 32%,rgba(168,134,216,.3),transparent 25%),
    radial-gradient(circle at 14% 72%,rgba(232,163,84,.16),transparent 22%),
    linear-gradient(145deg,#102c21 0%,#173b2d 54%,#0b241b 100%);
}

[data-review-section="film"]::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-20%;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 26%,rgba(246,241,231,.76) 0 1px,transparent 2px),
    radial-gradient(circle at 74% 14%,rgba(232,163,84,.82) 0 1px,transparent 2px),
    radial-gradient(circle at 89% 68%,rgba(168,134,216,.8) 0 1px,transparent 2px);
  background-size:170px 150px,230px 190px,280px 240px;
  opacity:.44;
  animation:film-stars 13s ease-in-out infinite alternate;
}

[data-review-section="film"] .film-intro{
  max-width:none;
  display:grid;
  grid-template-columns:minmax(420px,1.25fr) minmax(300px,.75fr);
  column-gap:clamp(60px,9vw,150px);
  align-items:end;
}

[data-review-section="film"] .film-intro .eyebrow{
  grid-column:1;
  margin-bottom:22px;
  color:var(--orange);
}

[data-review-section="film"] .film-intro h2{
  grid-column:1;
  max-width:800px;
  color:var(--cream);
  font-size:clamp(4.2rem,6.5vw,7rem);
  line-height:.84;
  text-wrap:balance;
}

[data-review-section="film"] .film-intro>p:not(.eyebrow){
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  max-width:460px;
  margin:0;
  color:rgba(246,241,231,.82);
  font-size:1rem;
  line-height:1.75;
}

[data-review-section="film"] .film-intro .arrow-link{
  grid-column:2;
  width:max-content;
  margin-top:24px;
  color:var(--cream);
}

[data-review-section="film"] .portal{
  position:relative;
  width:min(1120px,88vw);
  aspect-ratio:16/9;
  margin:0 auto;
  isolation:isolate;
  border-radius:46px 66px 42px 58px/54px 44px 62px 50px;
  transform:rotate(-.45deg);
}

[data-review-section="film"] .portal::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:-16px;
  border:3px solid rgba(246,241,231,.88);
  border-radius:58px 78px 52px 70px/66px 56px 74px 62px;
  box-shadow:
    0 0 0 8px rgba(168,134,216,.72),
    0 0 0 13px rgba(246,241,231,.12),
    0 0 48px rgba(168,134,216,.75),
    0 0 100px rgba(232,163,84,.34);
  pointer-events:none;
}

[data-review-section="film"] .portal::after{
  content:"WATCH THE TRAILER  ↗";
  position:absolute;
  z-index:5;
  right:24px;
  bottom:22px;
  padding:10px 14px 9px;
  border:1px solid rgba(246,241,231,.7);
  border-radius:999px;
  background:rgba(16,44,33,.76);
  color:var(--cream);
  font:700 .56rem Nunito,Arial,sans-serif;
  letter-spacing:.13em;
  backdrop-filter:blur(10px);
  pointer-events:none;
}

[data-review-section="film"] .portal video{
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border:0;
  border-radius:inherit;
  box-shadow:0 34px 70px rgba(5,18,13,.46);
}

[data-review-section="film"] .portal-glow{
  position:absolute;
  z-index:0;
  inset:-12%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(232,163,84,.45),rgba(168,134,216,.24) 42%,transparent 70%);
  filter:blur(35px);
  opacity:.76;
  animation:film-portal-breathe 5.5s ease-in-out infinite;
}

[data-review-section="film"] .spark{
  z-index:4;
  filter:drop-shadow(0 0 9px currentColor);
  animation:film-spark 4.8s ease-in-out infinite;
}

[data-review-section="film"] .s1{top:-8%;right:8%}
[data-review-section="film"] .s2{bottom:-9%;left:7%;animation-delay:-2.1s}
[data-review-section="film"] .s3{top:30%;left:-7%;animation-delay:-3.4s}

@keyframes film-stars{
  from{translate:-8px -5px;opacity:.28}
  to{translate:10px 7px;opacity:.52}
}

@keyframes film-portal-breathe{
  0%,100%{scale:.96;opacity:.56}
  50%{scale:1.04;opacity:.9}
}

@keyframes film-spark{
  0%,100%{translate:0 0;rotate:-8deg;opacity:.45}
  50%{translate:0 -12px;rotate:10deg;opacity:1}
}

@media(max-width:900px){
  [data-review-section="film"]{min-height:880px;padding:100px 28px 120px;gap:58px}
  [data-review-section="film"] .film-intro{grid-template-columns:1fr;display:block}
  [data-review-section="film"] .film-intro h2{font-size:clamp(3.8rem,10vw,5.7rem)}
  [data-review-section="film"] .film-intro>p:not(.eyebrow){margin:26px 0 0;max-width:620px}
  [data-review-section="film"] .film-intro .arrow-link{margin-top:26px}
  [data-review-section="film"] .portal{width:calc(100% - 18px)}
}

@media(max-width:520px){
  [data-review-section="film"]{min-height:760px;padding:92px 22px 100px;gap:48px}
  [data-review-section="film"] .film-intro h2{font-size:3.7rem}
  [data-review-section="film"] .film-intro>p:not(.eyebrow){font-size:.9rem;line-height:1.65}
  [data-review-section="film"] .portal{width:100%;transform:none;border-radius:24px 30px 22px 28px}
  [data-review-section="film"] .portal::before{inset:-8px;border-radius:30px 36px 28px 34px;box-shadow:0 0 0 4px rgba(168,134,216,.72),0 0 34px rgba(168,134,216,.66)}
  [data-review-section="film"] .portal::after{right:10px;bottom:9px;padding:7px 9px;font-size:.45rem}
  [data-review-section="film"] .spark{font-size:1.8rem}
}

@media(prefers-reduced-motion:reduce){
  [data-review-section="film"]::before,
  [data-review-section="film"] .portal-glow,
  [data-review-section="film"] .spark{animation:none}
}
