/* The film contains the animated typography; every layout preserves its full text. */
.film-hero{padding-top:20px}
.film-hero .hero-visual{
  container-type:inline-size;
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:16/9;
  overflow:hidden;
  isolation:isolate;
  background:var(--paper);
  border:1px solid #d9dfd080;
  border-radius:22px;
}
.film-hero #home-hero-title{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
  animation:none;
}
.film-hero .hero-film-poster,
.film-hero .hero-landscape,
.film-hero .hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  transform:none;
  animation:none;
  pointer-events:none;
}
.film-hero .hero-film-rail{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px 32px;
  padding:22px 3px 0;
  color:var(--forest);
}
.film-hero .hero-film-caption{
  font:9px/1.7 'Courier New',monospace;
  letter-spacing:.085em;
  color:#617356;
}
.film-hero .hero-film-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 18px;
}
.film-hero .hero-film-actions>.button{font-size:12px;min-height:46px}
.film-hero .hero-film-actions>.button:first-child{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.film-hero .hero-film-actions>.button:first-child:hover{background:#34543a;border-color:#34543a}
.film-hero .hero-link{color:var(--forest);background:transparent;border-color:transparent}
.film-hero .hero-link:hover{background:#e6ebdc}
.wave-edge,.wave-scroll-cue{display:none}
@media(min-width:741px){
  /* A wider frame fills the page; the 3:1 limit keeps all embedded type visible. */
  .film-hero{max-width:none;container-type:inline-size}
  .film-hero .hero-visual{aspect-ratio:12/5;max-height:max(33.3334cqw,calc(100svh - 250px))}
  .film-hero .hero-video,.film-hero .hero-landscape{object-fit:cover}
}
@media(max-width:1000px){
  .film-hero .hero-film-caption{max-width:205px;font-size:8px}
  .film-hero .hero-film-actions{gap:8px}
}
@media(max-width:740px){
  .wave-story{position:relative;isolation:isolate;overflow:visible}
  .film-hero{position:sticky;top:var(--wave-header-height,104px);z-index:1;padding-top:12px;padding-bottom:34px;min-height:0;display:flex;flex-direction:column}
  .film-hero .hero-visual{aspect-ratio:1/1;border-radius:18px;flex-shrink:0}
  .film-hero .hero-film-rail{align-items:flex-start;flex-direction:column;justify-content:flex-start;gap:12px;padding:12px 3px 0}
  .film-hero .hero-film-caption{max-width:none;font-size:8px}
  .film-hero .hero-film-actions{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:0}
  .film-hero .hero-film-actions>.button{width:100%;height:100%;min-height:48px;padding:10px 12px;gap:8px;font-size:11px;line-height:1.35;justify-content:space-between;text-align:left;text-wrap:balance}
  .film-hero .hero-film-actions>.button>span{flex:none}
  .wave-story .ux-ecosystem{position:relative;z-index:2;width:100%;max-width:none;margin-inline:0;padding:22px 20px 57px;background:var(--paper);scroll-margin-top:24px}
  .wave-story .ux-ecosystem .eyebrow{min-height:35px;padding-right:65px;margin-bottom:12px;font-size:9px;letter-spacing:.09em}
  .wave-story .wave-edge{display:block;position:absolute;left:0;bottom:calc(100% - 1px);width:100%;height:28px;overflow:visible;pointer-events:none}
  .wave-fill{fill:var(--paper)}
  .wave-contour{fill:none;stroke:#819476;stroke-width:1;vector-effect:non-scaling-stroke}
  .wave-story .wave-scroll-cue{display:flex;position:absolute;top:11px;right:20px;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:48px;min-height:52px;padding:6px 0;border:0;background:transparent;color:var(--forest);border-radius:24px;cursor:pointer}
  .wave-scroll-cue svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;animation:wave-swipe 2.4s cubic-bezier(.22,.68,.34,1) infinite}
  .wave-scroll-cue span{font:6px/1.3 'Courier New',monospace;letter-spacing:.12em;white-space:nowrap}
  .wave-scroll-cue:focus-visible{outline:2px solid #668058;outline-offset:3px}
  .wave-scroll-cue:hover{background:#e8eddf}
  @keyframes wave-swipe{0%,15%,100%{transform:translateY(3px);opacity:.65}60%{transform:translateY(-4px);opacity:1}}
}
@media(prefers-reduced-motion:reduce){
  .wave-scroll-cue svg{animation:none}
  .film-hero .hero-video:not([data-motion="on"]){display:none}
  .film-hero .hero-video[data-motion="on"]{display:block}
}
