/* 3 Nov: the full-screen film hero (home + /bgs). The video is the ad; the page only adds the header on top and one slim bar underneath.
   Poster <img> is the LCP element and sits under the video; the video fades in once it is really playing. */
.fv{--fv-top:0px;position:relative;display:flex;flex-direction:column;height:100vh;height:100svh;min-height:480px;background:#07070c;color:#f7f4ef;overflow:hidden;padding-top:var(--fv-top);isolation:isolate}
.fv-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#07070c}
.fv-stage picture,.fv-stage img,.fv-stage video{position:absolute;inset:0;width:100%;height:100%;display:block}
.fv-stage img,.fv-stage video{object-fit:cover;object-position:50% 55%}
.fv-stage video{opacity:0;transition:opacity .6s ease}
.fv-stage video.on{opacity:1}
.fv.is-contain .fv-stage img,.fv.is-contain .fv-stage video{object-fit:contain;object-position:50% 50%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.fv.is-band{height:auto;min-height:0}
.fv.is-band .fv-stage{flex:none;aspect-ratio:16/9}
.fv-scrim{position:absolute;left:0;right:0;top:0;height:140px;background:linear-gradient(#07070ccc,#07070c00);pointer-events:none;z-index:1}
/* header floats over the film (transparent) */
body.has-fv .top{position:absolute;top:0;left:0;right:0;z-index:30;border-bottom:0!important;margin:0 40px!important;background:none}
.fv-play{position:absolute;inset:0;z-index:3;display:none;place-items:center;border:0;background:#07070c55;color:#fff;cursor:pointer;font:inherit}
.fv.needs-play .fv-play{display:grid}
.fv-play span{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:99px;background:#ffffff1f;box-shadow:inset 0 0 0 1.5px #ffffff40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:17px;font-weight:650;letter-spacing:-.01em;transition:transform .25s,background .25s}
.fv-play:hover span,.fv-play:focus-visible span{background:#ffffff33;transform:scale(1.03)}
.fv-play svg{width:20px;height:20px}
.fv-bar{position:relative;z-index:4;flex:none;display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;padding:12px 100px max(12px,env(safe-area-inset-bottom)) 40px;min-height:72px;background:#07070c;border-top:1px solid #ffffff12}
.fv-ctas{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fv-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border-radius:99px;font-size:15px;font-weight:650;letter-spacing:-.012em;text-decoration:none;white-space:nowrap;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,box-shadow .25s}
.fv-btn svg{width:17px;height:17px;flex:none}
.fv-btn.go{background:linear-gradient(135deg,#ff9a6c,#ff6a3c);color:#2b0d05;box-shadow:0 8px 26px -8px #ff6a3caa,inset 0 1px 0 #ffffff66}
.fv-btn.go:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ffa57c,#ff7647);color:#2b0d05}
.fv-btn.ghost{background:#ffffff0f;color:#f7f4ef;box-shadow:inset 0 0 0 1.5px #ffffff30}
.fv-btn.ghost:hover{background:#ffffff1c;color:#fff;transform:translateY(-1px)}
.fv-soon{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:99px;background:#ffffff0c;border:1px dashed #ffffff33;color:#f7f4ef;text-decoration:none;font-weight:600;font-size:13.5px}
.fv-soon svg{width:15px;height:15px;color:#ff8a63}
.fv-soon:hover{background:#ffffff16;color:#fff}
.fv-end{margin-left:auto;display:flex;align-items:center;gap:18px}
.fv-pp{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:#ffffff14;color:#fff;cursor:pointer;box-shadow:inset 0 0 0 1.5px #ffffff2e}
.fv-pp:hover{background:#ffffff26}
.fv-pp svg{width:18px;height:18px}
.fv-pp .i-play{display:none}.fv.is-paused .fv-pp .i-play{display:block}.fv.is-paused .fv-pp .i-pause{display:none}
.fv-scroll{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;font-weight:700;color:#b4aca6;text-decoration:none;min-height:44px}
.fv-scroll:hover{color:#fff}
.fv-scroll i{width:1.5px;height:22px;background:linear-gradient(#ffffff90,transparent);position:relative;display:block}
@media (prefers-reduced-motion:no-preference){.fv-scroll i{animation:fv-nudge 2.2s ease-in-out infinite}@keyframes fv-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}}
.fv .long{display:inline}
@media (max-width:699px){
  body.has-fv .top{margin:0 20px!important}
  .fv-bar{padding:10px 16px max(10px,env(safe-area-inset-bottom)) 16px;gap:8px;flex-wrap:nowrap;min-height:64px}
  .fv-ctas{flex:1 1 auto;gap:8px;flex-wrap:nowrap}
  .fv-btn{padding:0 13px;font-size:13.5px;min-height:44px;gap:6px}
  .fv-btn svg{width:15px;height:15px}
  .fv-ctas{min-width:0}
  .fv-end{flex:none}
  .fv .long,.fv-soon,.fv-scroll{display:none}
  .fv-end{gap:0}
  .fv-bar .fv-btn.go{flex:1 1 auto}
}
@media (max-aspect-ratio:1/1){.fv{padding-top:var(--fv-top)}}
@media (min-aspect-ratio:101/100) and (min-width:700px){.fv{padding-top:0}}
@media (prefers-reduced-motion:reduce){.fv-stage video{transition:none}}
/* the slot under the film: the real h1 and lede */
.fv-after{position:relative}
.landing .ep.ep-intro{min-height:0}
.ep-intro .ep-in{grid-template-columns:minmax(0,1fr);justify-items:start;padding:clamp(56px,9vh,110px) 56px clamp(56px,9vh,110px)}
.ep-intro .ep-bg{-webkit-mask-image:linear-gradient(90deg,transparent 0,#0006 30%,#000 70%);mask-image:linear-gradient(90deg,transparent 0,#0006 30%,#000 70%)}
@media (min-width:700px){.ep-intro .ep-sub{display:none}}
@media (max-width:699px){.ep-intro .ep-in{padding:48px 22px}}
.film-link{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;padding:0}
/* 3 Nov: the film's loader (fv.js): GoAus sign + racing arc + downloaded ring */
.fv-load{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;z-index:3;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(40% 40% at 50% 50%,#0f0d0ccc,#0f0d0c00 70%)}
.fv-load.on{opacity:1}
.fv-load-orb{position:relative;width:120px;height:120px;display:grid;place-items:center;filter:drop-shadow(0 0 28px #ff6a3c66)}
.fv-load-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fv-load-ring circle{fill:none;stroke-width:3}
.fv-load-ring .bg{stroke:#ffffff1f}
.fv-load-ring .fill{stroke:#FFB01C;stroke-linecap:round;transition:stroke-dashoffset .4s ease}
.fv-load-spin.spinner{position:absolute;inset:10px;width:100px;height:100px}
.fv-load-logo{width:54px;height:54px;border-radius:14px;animation:fvpulse 1.6s ease-in-out infinite}
.fv-load-txt{margin:0;font:600 15px/1.3 inherit;color:#f7f4ef;letter-spacing:.01em;text-shadow:0 2px 12px #000}
@keyframes fvpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.fv-load-logo{animation:none}}
