/* Future Voices: keep the documentary frame and its caption in separate lanes. */
.future-voices-page .fv-page-nav a { min-width:44px; justify-content:center; }
.future-voices-page .fv-film.film-panel {
  min-height:calc(100svh - 90px);
  display:grid;
  grid-template-rows:minmax(260px,1fr) auto;
  gap:clamp(22px,3vw,36px);
  padding:clamp(24px,4vw,48px) clamp(22px,5vw,80px) clamp(30px,4vw,52px);
  overflow:visible;
  color:#111111;
  background:#FAF8F5;
}
.future-voices-page .fv-film.film-panel::after { display:none; }
.future-voices-page .fv-film-visual {
  isolation:isolate;
  position:relative;
  min-width:0;
  min-height:260px;
  overflow:hidden;
  background:#303030;
  box-shadow:0 22px 58px #1111111a;
}
.future-voices-page .fv-film-visual::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(0deg,#11111142,transparent 45%);
  pointer-events:none;
}
.future-voices-page .fv-film-visual .story-image {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 60%;
  filter:grayscale(1) brightness(.78);
  border-radius:0;
  box-shadow:none;
}
.future-voices-page .fv-film-visual:hover .story-image,
.future-voices-page .fv-film-visual:focus-within .story-image {
  filter:grayscale(0) brightness(.86);
}
.future-voices-page .fv-film .video-stage {
  top:50%;
  width:min(72%,780px,calc((100svh - 200px)*16/9));
  max-width:calc(100% - 36px);
}
.future-voices-page .fv-film .film-caption {
  position:relative;
  z-index:2;
  inset:auto;
  width:min(100%,780px);
  max-width:780px;
  margin:0;
  color:#111111;
}
.future-voices-page .fv-film .film-caption .kicker { margin-bottom:8px; color:#444444; font-size:clamp(13px,1.05vw,15px); }
.future-voices-page .fv-film .film-caption h2 {
  max-width:none;
  margin:0 0 12px;
  color:#111111;
  font-size:clamp(30px,3.2vw,48px);
  line-height:1.05;
}
.future-voices-page .fv-film .film-caption a { display:inline-flex; align-items:center; min-height:44px; color:#111111; font-size:13px; }

/* The same type rhythm carries the explanation, proof and next step. */
.future-voices-page .fv-overview p,
.future-voices-page .fv-section-heading > p,
.future-voices-page .fv-practices p,
.future-voices-page .fv-results .expanded-copy p,
.future-voices-page .fv-cta p { font-size:clamp(16px,1.25vw,19px); line-height:1.58; }
.future-voices-page .fv-context,
.future-voices-page .fv-stat > span { font-size:clamp(13px,1.05vw,15px); line-height:1.5; }
.future-voices-page .fv-stat > span { letter-spacing:.015em; text-transform:none; }
.future-voices-page .fv-stat-note { font-size:16px; line-height:1.55; }
.future-voices-page .fv-results .expanded-copy { max-width:72ch; margin-top:30px; padding-top:24px; border-top:1px solid #D3D0CC; }
.future-voices-page .fv-results .expanded-copy > .kicker { display:none; }
.future-voices-page .fv-cta .outline-button {
  max-width:100%;
  min-height:50px;
  flex-wrap:wrap;
  justify-content:center;
  gap:4px 8px;
  padding:12px 16px;
  line-height:1.4;
  white-space:normal;
}

@media (max-width:700px) {
  .future-voices-page .fv-film.film-panel { grid-template-rows:minmax(250px,1fr) auto; gap:20px; }
  .future-voices-page .fv-film .video-stage { width:min(calc(100% - 36px),calc((100svh - 180px)*16/9)); }
  .future-voices-page .fv-film .film-caption h2 { font-size:clamp(29px,8.2vw,42px); }
  .future-voices-page .fv-stat > span { font-size:14px; }
  .future-voices-page .fv-results .expanded-copy { margin-top:24px; }
}
@media (max-height:540px) and (orientation:landscape) {
  .future-voices-page .fv-film.film-panel { grid-template-rows:minmax(220px,1fr) auto; }
  .future-voices-page .fv-film .video-stage { width:min(72%,calc((100svh - 170px)*16/9)); }
}
